标识一个配置项变更(如:设计修改)的最好方法就是版本。版本不仅记录了配置项的当前状态,为后续开发提供依据;而且还可以根据版本追溯以前的状态。
版本标识规则 :
<配置标识>V<主版本号>·<版本号>·<次版本号>
主版本号、版本号和次版本号都可以由 1至2位的整数组成。通常,<次版本号>可省,因为二个层次的版本号就足以表示一个配置项的变化了;对于大型软件项目,其版本标识可以扩大到三层或更多的层次。
当配置项出现大的变化时(如:因需求变化,导致《功能规格书》需要增加新功能时)主版本号升级(如:从 1.**升级为2.**);当配置项出现小的变化(如:局部的完善和修改等,一般在阶段结束时,经过评审确认后)主版本号不动,次版本号升级 (如:从**.0升级为**.1)。
版本管理是指对软件生存期内各种软件实体、文档等的修改和变化的管理。它的主要的功能就是记录和追踪文件的变更,如:记录文件更改的内容、时间和更改 -审批人员等。此外,版本管理的另一个功能是并行开发,它能有效地解决版本的同步以及不同开发者之间的沟通问题,从而减少错误、保证质量、提高了效率。
根据经验,在软件开发过程中,经常需要保存多个版本。因为有时可能会发生这样的情况,即:在修改一个软件后,却发现是改错了,需要恢复到修改前的一个老版本。如果不保留多个版本,没有版本管理,会给工作带来很大的麻烦,也会浪费很多时间。
对于大型软件公司,为顺利解决用户在使用某个版本时发现的问题,须要借助版本管理工具的支持,否则要解决这类问题是很国难的。因为不是旧版软件找不到,就是原开发人员已离开了公司。但是,如果按版本管理要求,将文件的不同版本形成一条链,并将它们存储起来。那么就能解决前面提到的找不到旧版软件的问提。
5. 基本概念
在配置管理中有几个常用的基本概念是需要弄清楚它们之间的联系和区别的。这些概念是配置项、里程碑、基线、受控库、基线库、产品库等。
· 软件配置项是软件生存期内,能相对独立开发的一个程序实体或文档。
· 里程碑即通常所说的软件开发过程中的“阶段”,如果说它们之间有 区别的话,那么“阶段”强调的是过程,而“里程碑”则强调过程的终点和终点的标识。这些阶段可以是需求分析阶段、概要设计阶段、详细设计阶段等等。
· 基线 是软件开发过程中最重要的里程碑,不过基线更强调的是一个开发阶段到达里程碑时的结果及其内容,如:功能基线是 经过评审和批准的需求规格说明书;产品基线是经集成和确认测试后,经正式审批可交付客户的软件产品的全部配置项(包括:软件实体和所有的文档)。
正如清华大学郑仁杰教授所说: 在一个开发阶段结束后,要对相应的配 置项进行基线化并形成各类基线。基线就是一个配置项(或一组配置项)在其生命期的不同阶段完成时,通过评审而进入受控状态的一组文档和程序实体,这个过程被称为 “基线化”。每个基线都是其下一步开发的基点和参考 点;它们都将接受配置管理的严格控制。因此,基线必须通过评审过程建立;基线存在于基线库中,接受更高权限的控制;基线是进一步开发和修改的基准和出发点。
· 受控库 是软件开发过程中,其修改权限受到控制的文档库和程序库,其中基线库和产品库,特别是产品库的修改权限将受到严格的控制,即使是授权修改的人,在修改前还必须得到批准。
· 基线库 是受控库中一些特别重要的库,如:需求(基线)库和产品(基线)库。
· 产品库 是存放软件最终产品(即:产品基线)的库,基于它的重要性,对它的修改将受到特别的控制。 产品基线是最初批准的产品配置标识。
6. 配置标识 方法与实例
6.1文档标识
通常,可把一个软件项目的文档分成 3类,即:项目的管理文档、设计文档和客户文档。管理文档是项目管理过程中形成的文档,如:项目的立项书、开发计划、质量计划、成本计划、配置管理计划、测试计划、设计评审报告、测试验证报告、验收确认报告、项目总结报告和维护服务报告等。设计文档是设计过程中产生的文档,如:需求规格说明书、概要设计说明书、详细设计说明书、源程序、可执行程序等。客户文档是供客户使用的文档,如:用户操作手册、系统安装手册、系统维护手册等。
6.1.1 项目管理文档标识规则:(PM代表项目管理)