IT公司软件配置管理_第1页
IT公司软件配置管理_第2页
IT公司软件配置管理_第3页
IT公司软件配置管理_第4页
IT公司软件配置管理_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件配置管理,尹继刚 2007-4-5,软件配置管理什么是软件配置管理,软件配置管理(Software Configuration Management, SCM)是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。,软件配置管理(SCM)是贯穿于整个软件过程中的保护性活动。 SCM目的是保证软件项目生成的产品在软件生命周期中的完整性和一致性. 因为变化可能发生在任意时间,SCM 活动被设计来: (1)标识变化; (2)控制变化; (3)保证变化被适当地实现; (4)向其他可能有兴趣的人员报告变化。,软件配置

2、管理使改进变化可以更容易地被适应,并减少当变化必须发生时所需花费的工作量。 明确地区分软件维护和软件配置管理是很重要的。 维护是发生在软件已经被交付给客户,并投入运行后的一系列软件工程活动,而软件配置管理则是当软件项目开始时就开始,并且仅当软件退出运行后才终止的一组跟踪和控制活动。,配置管理与任何一位项目成员都有关系,因为每个人都会产生工作成果。 配置管理是否有成效取决于三个要素:人、规范、工具,随着计算机软件的发展,软件开发已由最初的“程序设计阶段”经历了“软件系统阶段”进而演变为后来的“软件工程阶段”,软件的复杂性日益增大。此时,如果仍然把软件看成一个单一的个体,就无法解决所面临的问题,于

3、是配置的概念逐渐引入软件领域,人们越来越重视软件配置的管理工作。 不懂软件项目的配置管理,就不懂软件开发管理 不对软件项目进行配置管理,就没有进行软件项目开发管理,软件配置管理是CMM2中6个关键过程域的第6个关键域。CMM2认为,SCM 的目的是为了建立和维护软件开发过程中各种制品的完整性和一致性,包括以下内容: 对软件产品配置的标志和识别 系统地控制对处于配置管理下的各种软件制品的修改和更新 维护软件开发过程中的各种制品的一致性和可跟踪性,CMM2的配置管理概念,SCM 的目标,目标1: 软件配置管理活动被定义和计划 目标2: 软件开发过程中的制品被识别、控制和管理 目标3: 对于处于配置

4、管理下的软件制品的修改被控制 目标4: 与软件制品相关的项目组和成员应该被通知制品的目前状态和被修改的信息,SCM 的目标,从对配置目的的定义可以看出,CMM2的配置管理应包括这样一些活动:标识给定时间点的软件配置(即所选择的工作产品及其描述),系统地控制这些配置的更改,并在软件生命周期中保持这些配置的完整性和可跟踪性。 CMM2认为,受控于配置管理的工作产品,包括交付给用户的软件产品(如:代码等),以及生成软件产品所需要的有关项(如:项目管理文件)。 CMM2的配置管理活动最主要的内容是:建立软件基线库,该库存储开发的软件基线。通过软件配置管理的更改控制和配置审核功能,系统地控制基线变更和由

5、软件基线库生成的软件产品版本。,要达到 CMM 规定的 SCM要求所需具备的能力: 具有对软件基线产品有管理权限的组织已经建立,例如:软件配置管理委员会; 协调和实现软件配置管理的组织已经建立; 为进行软件配置管理所需要的各项资源已经分配; 软件配置管理组织里的成员已经接受了软件配置目标、流程、方法方面的培训; 软件项目组或是其他的相关的部门经过培训,可以执行他们的软件配置管理活动;,CMM 中对SCM 规定的活动,根据文档化的流程,项目软件配置管理计划已准备完毕; 文档化的已获批准的软件配置管理计划可用作以后软件配置管理活动的基础; 软件配置管理库已经创建,并可用作进入基线的软件制品的存贮库

6、; 处于软件配置管理下的软件制品被标志和识别; 对于配置项的变更请求和问题报告被初始化、计划、评审、批准并根据文化化的流程对其进行跟踪;,对于进入基线的制品的修改必须遵循文档化的流程; 发布的产品必须从软件配置库中取出,并且产品发布的流程须依照文档化的流程和规定; 根据文档化的流程和规定,软件配置项的状态被记录和跟踪; 记录软件配置管理活动和软件基线内容的报告被建立,并通知受到影响的项目组和个人; 根据文档化的流程进行软件制品基线的评审;,CMM 中对SCM 规定的活动,组织规定和相关责任,项目级配置管理 项目配置经理(Project Configuration Manager) 与软件配置管

7、理计划 变更控制委员会(Change Control Board) 组织级配置管理 组织配置管理库(Organizational Configuration Management Cell) 负责项目完成后的软件配置管理活动 管理组织级的文档,IEEE标准729-1983就配置管理的内容进行了规范的定义:(1)标识:识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。(2)控制:通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。例如,它将解决哪些修改会在该产品的最新版本中实现的问题。(3)状态统计:记录并报告构件和修改请求的状态,并

8、收集关于产品构件的重要统计信息。例如,它将解决修改这个错误会影响多少个文件的问题。(4)审计和审查:确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合。例如,它将解决目前发布的产品所用的文件的版本是否正确的问题。(5)生产:对产品的生产进行优化管理。它将解决最新发布的产品应由哪些版本的文件和工具来生成的问题。(6)过程管理:确保软件组织的规程、方针和软件周期得以正确贯彻执行。它将解决要交付给用户的产品是否经过测试和质量检查的问题。(7)小组协作:控制开发统一产品的多个开发人员之间的协作。例如,它将解决是否所有本地程序员所做的修改都已被加入到新版本的产品中的问题。,IEEE

9、的配置管理定义,CMM2的定义比较抽象,IEEE的定义比较具体。结合各体系的定义和要求,我们下面具体来讨论配置管理的概念。,配置管理功能概述,配置标识或者又称为配置需求,包括标识软件系统的结构,标识独立部件,并使它们是可访问的。配置标识的目的,是在整个生命周期中标识系统各部件并提供对软件过程及其软件产品的跟踪能力。它回答:什么是受控的? 配置变更控制包括在软件生命周期中控制软件产品的发布和变更,目的是建立确保软件产品质量的机制。它回答:受控产品怎样变更?谁控制变更?何时接受,恢复,验证变更? 配置状态统计包括记录和报告变更过程,目标是不间断记录所有基线项的状态和历史,并进行维护,它解决以下问题

10、:系统已经做了什么变更?此问题将会对多少个文件产生影响?配置变更控制是针对软件产品,状态统计针对软件过程。因此,二者的统一就是对软件开发(产品、过程)的变更控制。 配置审核将验证软件产品的构造是否符合需求、标准、或合同的要求,目的是根据SCM的过程和程序,验证所有的软件产品已经产生并有正确标识和描述,所有的变更需求都已解决。它回答:系统和需求是否吻合?是否所有变更都是在版本控制下?,SCM的四大功能领域,SCM从应用层次上可以从低到高分为三级:版本控制、以开发者为中心、过程驱动。 版本控制主要应用于个人独立开发或小组开发,它可以控制任何文件的版本、实现分支和归并功能、进行文本比较、标记注释和版

11、本报告信息,主要工具有MS的Visual SourceSafe及Intersolv PVCS。 以开发者为中心主要应用于部门级开发,它可用于软件维护、不断增加的开发任务、并行开发、QA及测试,它面向大型团队、利于交流、能最大限度地利用人力资源,主要工具为Rational ClearCase及MKS Source Integrity。 过程驱动主要使用于企业级开发,着重解决新的工具引入、IT审核、管理报告、复杂的生命周期、应用工具包、集成解决方案、资料库等问题,实现真正规范的团队开发,主要工具为Platinum Technology CCC/Harvest。,SCM的三个应用层次,SCM 中的专

12、业术语,配置(Configuration)与配置项(Configuration Item) 在软件开发过程中生成各种制品的总和叫做这个项目的软件配置 Roger S. Pressman, 1997 计算机程序,包括源代码和可执行程序 与计算机程序相对应的各种文档 计算机数据,包括计算机程序中包含的数据和系统初始化数据,基线 项目开发过程的制品经过正式评审并被相关人员一致同意,可以作为以后项目开发的基础。对已经确定为基线的制品的修改必须要通过正式的变更控制流程。 在软件工程环境中,基线是指在软件开发过程中的里程碑,这些里程碑的标志是一项或多项经过正式的技术评审并一致认同的软件制品的提交。,配置数

13、据库(软件制品基线库) 项目建立和访问软件制品库,这个制品库主要用来对保存配置项和一些与软件配置管理相关的记录。 目前比较好的配置管理工具:Clearcase (Rational), Notes/Domino (Lotus), PVCS (Merant) and VSS (Microsoft).,配置管理的商业理念 企业的商业需求决定了配置管理的力度,我们不必追求完美无缺的配置管理,而是让开发团队恰好够用就行,并将为配置管理所付出的代价控制在预算之内。,富有成效的配置管理的特征: 任何项目成员都要对其工作成果进行配置管理,应当养成良好的习惯。不必付出过多的精力,最低要求是保证重要工作成果不发生

14、混乱。 配置管理规范应当清晰明了,便于执行,不必在细节方面要求太多,不给项目人员添加过多的负担,不使人厌烦。,最大的麻烦是工作成果被覆盖。 如果不采用配置管理软件来保存工作成果的历史版本的话,人们在同一个文件上修改内容,保存之后,那么新的内容覆盖了老的内容。,如果没有软件配置管理,将有什么坏处?,多数情况下新的内容比老的内容好,覆盖了也没关系。但是总有不少意外,例如程序员修改了老程序员之后,突然发现新程序是错误的,而老程序却是对的,可是老程序被新程序覆盖了,再也无法恢复。,怎么办呢?还能怎么办,只好重新写老程序再覆盖新程序,可是过一阵子又发现新程序也又可取之处,这时却无法恢复新程序了,只好重新

15、写新程序再覆盖老程序,如果你经常碰到这样的事情,你会发疯的。,为了避免成果被覆盖,很多人采用最原始的手工管理版本的方式,例如给文件加后缀“-01”、“-02”以表示版本。天长日久,工作目录下就会有一堆带数字后缀的文件,而且你自己也忘记了数字后缀代表什么内容,管理起来非常麻烦。,最直接的好处是工作成果的所有版本都被保留着,不会丢失也不会被覆盖,你不会气得发疯了。,使用软件配置管理,将有什么好处?,如今硬盘的存储空间价格低廉,用于保存历史版本的存储空间的成本可以忽略不计。 如果你保存了工作成果的100个历史版本,哪怕99版本都是“垃圾”,只有一个版本里有“黄金”,那也值了。 所以你尽管放心保存历史

16、版本好了,累的是计算机又不是你,你怕什么。,间接的好处是,项目的所有工作成果被完整地保留下来,这是企业的知识财富,可以被人们很好地分享利用。而且减少了人员辞职造成的损失,企业老板可以放心很多了。 因为如果没有配置管理的话,人走了,即使他把成果刻录成光盘交给接收者,别人也搞不清楚那些成果的演化过程。,事在人为 配置管理的方法是成熟的,而且相应的软件工具也是成熟的,基本上不存在看不懂、不会用的问题。 配置管理的执行效果如何,完全应了中国的一句老话“事在人为”啊。 妨碍配置管理的主要问题是人们“嫌麻烦”(还有侥幸心理)。,在没有出乱子的情况下,执行版本控制看起来有些麻烦。 每次修改工作成果的时候,总

17、是先check out,然后再修改,最后还要check in,多了前后两步。,其实check out和check in两步操作只需花费几秒钟,而且不费脑子,凭良心说根本没有添加麻烦,仅仅是个人感觉不爽快而已。 然而不执行版本控制的话,万一发生工作成果被覆盖或丢失等问题,那么麻烦就大了。,配置项 软件研发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,它们都应当被妥善地保管起来,以便查阅和修改。 如果把所有文件一股脑地塞进计算机里,那么使用起来肯定很麻烦。 毫无疑问,人们应当将文件分门别类、有条理地保存起来。,凡是纳入配置管理范畴的工作成果统称为配置项(Configuration

18、Item,CI)。 软件配置项(Software Configuration Items,SCI) 配置项主要有两大类: 属于产品组成部分的工作成果,例如源代码、需求文档、设计文档、测试用例等等 在管理过程中产生的文档例如各种计划、监控报告等等,这些文档虽然不是产品的组成部分,但是值得保存。,标识软件配置项,软件配置项分为基本对象和复合对象: 基本对象:分析设计编码测试时所建立的”文档单元”,如,需求规格说明中的一节、一个模块的源代码、一组测试用例。 复合对象:基本对象或其他复合对象的一个集合。如,“设计规格说明书”是一个复合对象、一些基本对象,如“数据模型”、“模块N”的集合。 每个配置项可

19、用一组信息来唯一地标识它。,每个配置项的主要属性有: 名称、标识符、文件状态、版本、作者、日期等。 所有配置项都被保存在配置库里,确保不会混淆、丢失。 配置项及其历史记录反映了软件的演化过程。,基线 由正式技术评审而得到的软件配置项的正式文本构成了基线。 基线(Baseline)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。 基线中的配置项被“冻结”了,不能再被任何人随意修改(见变更控制规程)。 其作用是使连续的工作在这些点上断开,以便于检查和肯定阶段成果。 基线需要定期审核,以验证与文档的一致性。,基线通常对应于开发过程中的里程碑(Milestone),一个产品可以有多个基线,也

20、可以只有一个基线。 基线的主要属性有: 名称、标识符、版本、日期等。 通常将交付给客户的基线称为一个“Release”,为内部开发用的基线则称为一个“Build”。,以下的SCI 成为配置管理技术的目标并形成一组基线: 1.系统规约 2.软件项目计划 3.软件需求规约: a.图形分析模型; b.处理规约;c.原型;d.数学规约 4.初步的用户手册 5.设计规约: a.数据设计描述; b.体系结构设计描述; c.模块设计描述; d.界面设计描述 e.对象描述(如果使用面向对象技术) 6.源代码清单 7.测试规约 a.测试计划和过程 b.测试用例和结果记录,8.操作和安装手册 9.可执行程序 a.

21、模块的可执行代码 b.链接的模块 10.数据库描述 a.模式和文件结构 b.初始内容 11.联机用户手册 12.维护文档 a.软件问题报告 b.维护请求 c.工程变化命令 13.软件工程的标准和规程 14.特定版本的编辑器、编译器和其他CASE 工具等,角色 为了提高配置管理的效率和安全性,项目应当设有配置管理员这个角色。 配置管理员的主要工作是为项目制定配置管理计划,创建和维护配置库等。,对于大型的项目,鉴于配置管理的重要性和复杂性,机构应当设立配置控制委员会(Configuration Control Board,CCB)。 CCB是个虚拟小组,对配置管理各项活动拥有决策权(例如审批计划,

22、审批变更请求等)。 对于配置管理而言,CCB是决策者,而配置管理员是执行者。,对于普通的小型软件项目而言,CCB这个概念难以落实,我们就不要玩虚的了,让项目经理或者配置管理员做决定就行了。,流程,RUP描述的配置管理的主要活动如下图所示:,对于一个软件项目组来说,开展一个项目组的配置管理,大致可以分为以下步骤:,对于一个软件项目组来说,开展一个项目组的配置管理,大致可以分为以下步骤: (1)拟订项目的配置管理计划;(2)创建项目的配置管理环境;(3)进行项目的配置管理活动,包括:标识配置项;管理基线和发布活动;监测与报告配置状态;管理变更请求。 (1)和(2)可以看成配置管理的准备,(3)是配

23、置管理的具体实施。配置管理的具体实施,在RUP定义为四个管理活动。,配置项的标识和控制,所有配置项都应按照相关规定统一编号,按照相应的模板生成,并在文档中的规定章节(部分)记录对象的标识信息。在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。 所有配置项的操作权限应由配置管理员严格管理,基本原则是:基线配置项向软件开发人员开放读取权限;非基线配置项向项目经理、配置控制委员会及相关人员开放。,工作空间管理,在引入了软件配置管理工具之后,所有开发人员都会被要求把工作成果存放到由软件配置管理工具所管理的配置库(存储池)中去,或是直接工作在软件配置管理工具提供的环境之下(

24、根据配置管理构架提供的控制方式不同而不同)。 每个开发人员按照任务的要求,在不同的开发阶段,工作在不同的工作空间上。 比较理想的情况是把整个配置库视为一个统一的工作空间,然后再根据需要把它划分为个人(私有)、团队(集成)和全组(公共)这三类工作空间(分支),从而更好的支持将来可能出现的并行开发的需求。,版本控制,版本控制是软件配置管理的核心功能。所有置于配置库中的元素都应自动予以版本的标识,并保证版本命名的唯一性。版本在生成过程中,自动依照设定的使用模型自动分支、演进。除了系统自动记录的版本信息以外,为了配合软件开发流程的各个阶段,我们还需要定义、收集一些元数据来记录版本的辅助信息和规范开发流

25、程,并为今后对软件过程的度量做好准备。当然如果选用的工具支持的话,这些辅助数据将能直接统计出过程数据,从而方便我们软件过程改进(Software Process Improvement,SPI)活动的进行。 对于配置库中的各个基线控制项,应该根据其基线的位置和状态来设置相应的访问权限。一般来说,对于基线版本之前的各个版本都应处于被锁定的状态,如需要对它们进行变更,则应按照变更控制的流程来进行操作。,变更控制,变更管理的一般流程是: (1)(获得)提出变更请求; (2)由CCB审核并决定是否批准; (3)(被接受)分配请求,修改人员提取配置项,进行修改; (4)复审变化; (5)提交修改后的配置

26、项; (6)建立测试基线并测试; (7)重建软件的适当版本; (8)复审(审计)所有配置项的变化; (9)发布新版本。 在这样的流程中,配置管理员通过软件配置管理工具来进行访问控制和同步控制,而这两种控制则是建立在前面所描述的版本控制和分支策略的基础上的。,状态报告,配置状态报告应该包括下列主要内容: (1)配置库结构和相关说明; (2)开发起始基线的构成; (3)当前基线位置及状态; (4)各基线配置项集成分支的情况; (5)各私有开发分支类型的分布情况; (6)关键元素的版本演进记录; (7)其它应报告的事项。,配置审计,配置审计的主要作用是作为变更控制的补充手段,来确保某一变更需求已被切

27、实实现。在某些情况下,它被作为正式的技术复审的一部分,但当软件配置管理是一个正式的活动时,该活动由SQA人员单独执行。 总之,软件配置管理的对象是软件研发活动中的全部开发资产。所有这一切都应作为配置项纳入管理计划统一进行管理,从而能够保证及时的对所有软件开发资源进行维护和集成。因此,软件配置管理的主要任务也就归结为以下几条: (1)制定项目的配置计划; (2)对配置项进行标识; (3)对配置项进行版本控制; (4)对配置项进行变更控制; (5)定期进行配置审计; (6)向相关人员报告配置的状态。,项目经理的配置管理流程,项目经理的工作是: (1)确定项目配置管理策略 (2)确定用于控制产品变更

28、的策略和流程 (3)在配置管理计划(是软件开发计划的一部分)中记录此信息,配置管理策略,软件配置管理策略是指能够确定、保护和报告已经批准用于项目中的工件的能力。通过正确的标注来实现确定操作。对项目工件的保护是通过归档、建立基线和报告等操作而得以实现的。 使用标准的、已记录下来的变更控制流程的目的是:确保项目中所做的变更保持一致,并将产品的状态、对其所做的变更以及这些变更所耗费的成本及对时间表的影响通知给有关的涉众。 软件配置管理计划说明在产品/项目生命周期中要执行的所有与配置管理相关的活动。它记录如何计划、实施、控制和组织与产品相关的配置管理活动。,配备人员,配置管理人员的选择和配备,是软件项

29、目经理最主要的工作。在一个比较理想的软件开发团队中,需要哪些角色呢? 负责软件项目组的项目经理 负责SCM计划和策略的配置经理 负责软件产品开发与维护的软件工程人员 负责验证产品正确性的测试人员 负责确保产品高质量的质量保证经理 使用产品的用户。,配置经理,配置经理的目标是确保用来建立、变更及编码测试的计划和策略得以贯彻执行,同时使有关项目的信息容易获得。 为了对编码更改形成控制,配置经理引入规范的请求变更的机制,评估更改的机制(通过变更控制机构CCB,由它负责批准对软件系统的变更),和批准变更的机制。 配置经理负责为工程人员创建任务单,交由项目经理对任务进行分配,创建项目的框架。同时,配置经

30、理还收集软件系统中构件的相关数据,比如说用以判断系统中出现问题的构件的信息。,配置管理计划,配置管理员根据本项目的特征,起草配置管理计划,由CCB负责人(通常是项目经理)审批。,配置管理计划的主要内容: 1. 人员与职责 2. 软件硬件资源 3. 配置项计划 4. 基线计划 5. 配置库备份计划 6. 版本控制规则 7. 变更控制规则 8. 审批,角色职责,项目经理(Project Manager,PM) 配置控制委员会(Configuration Control Board,CCB) 配置管理员(Configuration Management Officer,CMO) 系统集成员(Syst

31、em Integration Officer,SIO) 开发人员(Developer,DEV),配置管理计划,肩负对项目成功负责的重要职责 评估开发团队当前配置管理现状 定义实施的范围 计划资源要素,项目经理的阶段工作要点,概念 软件的每一版本都是软件基线库的配置项(源代码、文档、数据)的一个集合。 版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。 所有项目成员都必须遵照版本控制规程操作配置库。,版本控制规则,配置项的状态有三种: “草稿”(Draft)、 “正式发布”(Released)、 “正在修改”(Changi

32、ng)。,配置项状态变迁: 配置项刚建立时其状态为“草稿”。 配置项通过评审(或审批)后,其状态变为“正式发布”。 此后若更改配置项,必须依照“变更控制规程”执行,其状态变为“正在修改”。 当配置项修改完毕并重新通过评审(或审批)时,其状态又变为“正式发布”,如此循环。,版本号 (1)处于“草稿”状态的配置项的版本号格式为:0.YZ YZ数字范围为01-99。 随着草稿的不断完善,“YZ”的取值应递增。 “YZ”的初值和增幅由用户自己把握。,(2)处于“正式发布”状态的配置项的版本号格式为:X.Y X为主版本号,取值范围为1-9。Y为次版本号,取值范围为1-9。 配置项第一次“正式发布”时,版

33、本号为1.0 如果配置项的版本升级幅度比较小,一般只增大Y值,X值保持不变。只有当配置项版本升级幅度比较大时,才允许增大X值。,(3)处于“正在修改”状态的配置项的版本号格式为:X.YZ 配置项正在修改时,一般只增大Z值,X.Y值保持不变。 当配置项修改完毕,状态重新成为“正式发布”时,将Z值设置为0,增加X.Y值。参见规则(2)。,版本控制的好处,使混乱的开发状态变得有序!,SCM 的主要技术版本控制,变更控制的目的是防止配置项被随意修改而导致混乱。 为了提高效率,对于处于“草稿状态”的配置项,不必进行变更控制,因为它们本来就是草稿,本来就是要被不断地修改的。,变更控制,当配置项状态为“正式

34、发布”,或者该配置项已经成为某个基线的一部分(即被“冻结”)时,如果要修改配置项的话,那么按照变更控制规则执行。,步骤: 第一步 变更申请。变更申请人向CCB提交变更申请,重点说明“变更内容”和“变更原因”。 第二步 审批变更申请。CCB负责人(或项目经理)审批该申请,分析此变更对项目造成的影响。如果同意变更的话,则转向第三步,否则终止。,第三步 安排变更任务。 CCB指定变更执行人,安排他们的任务。CCB需要和变更执行人就变更内容达成共识。 第四步 执行变更任务。 变更执行人根据CCB安排的任务,修改配置项。CCB监督变更任务的执行,如检查变更内容是否正确、是否按时完成工作等。,第五步 对更

35、改后的配置项重新进行技术评审(或审批)。 第六步 结束变更。 当所有变更后的配置项都通过了技术评审或领导审批,这些配置项的状态从“正在修改”变迁为“正式发布”,本次变更结束。,在实际操作中,审批变更申请并非总是“客观公正”的,人们并不在乎变更申请是否合理,关键看是谁提出变更申请。官儿越大的人提出的变更申请总是优先处理的。,配置库操作,所有人员都依照配置管理规范和计划来操作配置库。 配置管理员的主要操作有: 创建配置库,并且至少创建配置库的所有第一级目录。,为每个项目成员分配操作权限。一般地,项目成员拥有Add, Check in, Check out, Download等权限,但是不要轻易拥有

36、“删除”权限。 配置管理员的权限最高。具体操作视所采用的配置管理软件而定。 根据“基线计划”创建与维护基线,“冻结”配置项,控制变更。 定期清除配置库里的垃圾文件。 定期备份配置库。,其他项目成员根据自己的权限操作配置库里的工作成果, 例如 : Add, Check in, Check out, Download等。,配置审计的目的就是要保证所有人员(包括配置管理员、CCB、和普通项目成员)都遵守配置管理规范。所以配置审计是质量人员的工作职责之一,可以归类为“过程检查活动”。,配置审计,人们对配置审计最大的误解是“对配置库中的每个配置项都检查一遍”,配置库里的配置项非常多,这样做无疑非常劳累,

37、却没有多少价值。,配置审计的对象是项目的主要配置项,如果主要配置项符合“版本控制规则”和“变更控制规则”,并且定期备份了配置库,那么就可以认为配置管理符合既定的规范。 反之,如果质量人员在审计的时候发现主要配置项比较混乱,那么应当告知当事人及时更正,这样就起到了审计的作用。 总之,由于每个人都已经在配置管理上付出了时间,切勿再在配置审计方面化很多时间。,可以不必去熟悉过程,也不必知道团队开发的模式 可以延续你一贯的工作程序和处理办法 将变更流程化 自动处理业务,SCM 的过程驱动,SCM的过程改进,SCM为变更和过程改进提供基本结构 第一步,了解产品是怎样生产的 第二步,培养一个好的变更环境,

38、改进要构造的也就是改进怎样构造 - SEI 1998年,过程驱动的好处,真正规范团队开发!,1 Visual SourceSafe Visual SourceSafe是Microsoft公司推出的配置管理工具,是Visual Studio的套件之一。SourceSafe是国内最流行的配置管理工具,用户量绝对是第一位。,常用配置管理工具,VSS的简单工作原理,将项目所有的源文件(包括各种文件类型)以特有的方式存入数据库; 客户端将程序拷贝到各自的工作目录下进行调试修改,然后进行Checkin到服务器,进行综合更新; 支持多个项目之间文件快速高效的共享; 每个成员对项目文件所作的修改将被记录到数据

39、库中; VSS可以很容易地与Microsoft Access、 Visual Basic、 Visual C+、Visual FoxPro和其他的开发工具集成在一起.,SourceSafe长得很象早先土气的文件管理器,的确难看。但是难看不碍事,SourceSafe的优点可以用8个字来概括“简单易用,一学就会”。,虽然SourceSafe并不是免费的,但是在国内人们以接近于零的成本得到它,网上到处可以下载。 当然Microsoft也不在乎这个小不点的软件,它属于“买大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免费的SourceSafe。,SourceSafe的主要局限性: 只能在Windows下运行,不能在Unix, Linux下运行。SourceSafe不支持异构环境下的配置管理,对用户而言是个麻烦事。这不是技术问题,是微软公

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论