跳到主要内容

项目配置管理

配置管理基础知识

配置管理是为了系统地控制配置变更,在系统的整个生命周期中维持配置的完整性和可跟踪性,而标识系统在不同时间点上配置的学科。

配置管理包括 6 个主要活动:

  1. 制订配置管理计划
  2. 配置标识
  3. 配置控制
  4. 配置状态报告
  5. 配置审计
  6. 发布管理和交付

典型的配置项包括项目计划书、需求文档、设计文档、源代码、可执行代码、测试用例、运行软件所需的各种数据,它们经评审和检查通过后进入配置管理。配置项可以分为基线配置项和非基线配置项两类,基线配置项可能包括所有的设计文档和源程序等,非基线配置项可能包括项目的各类计划和报告等。

所有配置项的操作权限应由 CMO(Configuration Management Officer,配置管理员)严格管理,基本原则是:基线配置项向开发人员开放读取的权限,非基线配置项向 PM(Project Manager,项目经理)、CCB(Change Control Board,变更控制委员会)及相关人员开放。

配置项的状态可分为“草稿”、“正式”和“修改”三种。配置项刚建立时,其状态为“草稿”;配置项经过评审后,其状态变为“正式”;此后若更改配置项,则其状态变为“修改”。当配置项修改完毕并重新通过评审时,其状态又变为“正式”。

配置项版本号

处于“草稿”状态的配置项的版本号格式为 0.YZ,YZ 的数字范围为 01~99。随着草稿的修正,YZ 的取值应递增。YZ 的初始值和增幅由用户自己把握。

处于“正式”状态的配置项的版本号格式为 X.Y,其中 X 表示主版本号,取值范围为 19;Y 表示次版本号,取值范围为 09。当配置项第一次成为“正式”文件时,版本号应修改为 1.0。

如果配置项升级幅度比较小,可以将变动部分制作成配置项的附件,附件版本依次为 1.0、1.1、1.2 ... 当附件的变动积累到一定程度时,配置项的 Y 值可适量增加,Y 值增加一定程度时,X 值将适量增加。当配置项升级幅度比较大时,才允许直接增大 X 值。

配置项版本管理

一个产品可以有多条基线,也可以只有一条基线。交付给外部顾客的基线一般称为发行基线,内部开发使用的基线一般称为构造基线。

配置库存放配置项并记录与配置项相关的所有信息,是配置管理的有力工具。配置库可以分为开发库、受控库、产品库三种类型。

  • 开发库:也称为动态库、程序员库或者工作库,用于保存开发人员当前正在开发的配置实体,如新模块、文档、数据元素或进行修改的已有元素。
  • 受控库:也称为主库,包含当前的基线加上对基线的变更。
  • 产品库:也称为静态库、发行库、软件仓库,包含已发布使用的各种基线的存档,被置于完全的配置管理之下。

在开发的产品一旦完成系统测试,就会作为最终产品存入产品库,等待交付用户或现场安装。产品库一般不再修改,真要修改的话需要走变更流程。

配置管理目标和方针

软件配置管理是在贯穿整个软件生命周期中建立和维护项目产品的完整性。软件配置管理工作应该享有足够的资金支持,这需要在客户、管理层和具体项目主管之间协商。

软件配置管理应该实施于对外交付的软件产品,以及那些被选定的在项目中使用的支持类工具等。

配置管理日常活动

配置管理常用工具

SVN

SVN 服务器有两种运行方式:独立服务器和借助 Apache 运行,两种方式各有利弊,用户可以自行选择。

ClearCase

ClearCase(简称 CC)是 IBM Rational 公司的旗舰产品之一,是全球领先的软件配置管理工具,它广泛应用于众多企业级软件工程实践之中。CC 提供 C/S 和 B/S 两种架构的配置管理解决方案,提供了全面的软件配置管理功能。

Git

Git 与常用的版本控制工具 CVS、SVN 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。