配置管理
配置管理(Configuration Management,CM)是应用技术的和管理的指导和监控方法,标识和说明配置项的功能和物理特征,并控制这些特征的变更,记录和报告变更处理和实现状态并验证与规定需求的遵循性。
配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。
配置管理有关概念:(GB/T 11457-2006《信息技术 软件工程术语》)
(1)配置项:为配置管理设计的硬件、软件或二者的集合,在配置管理过程中作为一个单个实体来对待。
每个配置项的属性有:名称、标识符文件状态、版本、作者、日期等。
配置项主要有两类:①属于产品组成部分的工作成果②项目管理和机构支撑过程产生的文档。它们经过评审和检查通过后进入配置管理。
典型的配置项包括:项目计划书;需求文档,设计文档;源代码,可执行代码;测试用例,运行软件所需的各种数据;外部交付的软件产品和数据;指定的内部软件和数据;指定的用于创建和支持软件产品的支持工具;供应商、客户提供的软件和设备。
基线配置项:所有的设计文档和源程序;
非基线配置项:项目的各类计划和报告等。
配置项状态:草稿(Draft)状态的配置项版本号格式为0.YZ,YZ的数字为01-99;正式(Released)状态的配置项版本号为X.Y,X为主版本号,取值范围为1-9,Y为次版本号,取值范围为0-9;修改(Changing)状态的配置项的版本号为X.YZ。
(2)配置基线:简称基线,由一组配置项组成,这些配置项构成一个相对稳定的逻辑实体。一组拥有标识号的需求、设计、源代码文卷以及相应的可执行代码、构造文卷和用户文档构成一条基线。
发行基线(Release):交付给客户的基线;构造基线(Build):内部开发使用的基线。
基线中的配置项被“冻结”了,不能随意修改,对基线的变更必须遵循正式的变更程序
(3)配置库:存放配置项并记录与配置项相关的所有信息,是配置管理的有力工具。分为:动态库(开发库)、受控库(主库)和静态库(产品库)。
(4)配置控制委员会(CCB)。负责对配置变更做出评估、审批以及监督已批准变更的实施。(小项目的CCB可以只有一个人,甚至是兼职人员)。
(5)配置管理员(CMO)。负责在整个项目生命周期中进行配置管理活动。主要工作包括:编制配置管理计划;建立、维护配置管理系统;建立维护配置库;识别配置项;建立管理基线;版本管理、配置控制;配置状态报告;配置审计;发布管理、交付。
(6)配置管理系统。是进行配置管理的软件系统。如:VSS、CVS、SVN(Subversion集中式版本控制)、CC(ClearCase 集中式版本控制)、GIT(分布式版本控制)。
(7)配置管理活动(CMO职责)包括:制定配置管理计划、配置项标识、配置控制、配置状态报告、配置审计、发布管理和交付。
1.1 制定配置管理计划
配置管理计划是对如何开展项目配置管理工作的规划,是配置管理过程的基础,该文件应在整个项目生命周期内处于受控状态。由配置控制委员会负责审批该计划。主要内容包括:
(1)应当开展的配置管理活动;
(2)实施这些活动的规范和流程;
(3)实施这些活动的进度安排;
(4)负责实施这些活动的人员或组织,以及他们和其他组织的关系。
1.2 配置标识
配置标识(Configuration Identification)也称配置识别。包括为系统选项配置项并在技术文档中记录配置项的功能和物理特征。
配置标识是配置管理员的职能,包括:识别需要受控的软件配置项,给每个配置项指定唯一的标识号,定义每个配置项的重要特征,确定每个配置项的其所有者及其责任,确定配置项进入配置管理的时间和条件,建立和控制基线,维护文档和组件的修订与产品版本之间的关系。
1.3 配置控制
即配置项和基线的变更控制。包括:
(1)标识和记录变更申请。
(2)分析和评价变更。
(3)批准或否决变更。
(4)实现、验证和发布已修改的配置项
1.4 配置状态报告
也称为配置状态统计。其任务是有效地记录和报告管理配置所需要的信息,目的是及时、准确地给出配置荐的当前状态。配置状态报告可以包括:
(1)每个受控配置项的状态。
(2)每个变更申请的状态和已批准变更申请的实施状态。
(3)每个基线的当前和过去版本的状态及以各版本的比较。
(4)其他配置管理过程活动的记录。如:发布信息(发布版本、计划发布时间、实际发布时间、说明等)、配置管理工具状态等。
不包括:备份信息(备份日期、介质、备份存放位置)、设备故障信息。※
1.5 配置审计
配置审计就是验证配置项与配置标识(需求、标准、流程)的一致性,也就是对配置项的完整性、安全性、介质完好性等方面进行检查,其作用是作为变更控制的补充手段,用来确保某一变更需求已被切实实现并被完整记录。
(1)功能配置审计。
①配置项的开发已经圆满完成
②配置项已达到配置标识中规定的性能和功能特性
③配置项的操作和支持文档已经完成并且是符合要求的
(2)物理配置审计。
①要交付的配置项是否存在。
②配置项中是否包含了所有必需的项目。
1.6 发布管理和交付
主要任务是有效控制软件产品和文档的发行和交付,在软件产品的生存期内妥善保存代码和文档的母拷贝。
包括存储、复制、打包、交付、重建。