通过技术与行政手段对产品及其开发过程和生命周期进行控制、规范的一系列措施和过程。
核心概念 重点
配置项(SCI)
- 产品生命周期各阶段产生的各种文档、程序、部件和数据的集合
- 如:系统规格说明书、软件需求规格说明书、源代码等
基线(Baseline)
- 提供了软件生存期中各开发阶段的一个特定点
- 配置项形成并通过审核即形成基线
- 标志开发过程一个阶段的结束和里程碑
- 基线修改需按正式程序执行
- 常见基线包括 需求管理 形成的需求基线、进度计划 形成的进度基线、成本计划 形成的成本基线和产品交付前的产品基线。
配置控制委员会(SCCB)
- 评估变更、批准变更申请
- 是决策机构,不是作业机构
- 决定是否变更,不提出变更方案
基线类型 重点
| 基线 | 说明 |
|---|---|
| 功能基线 | 描述系统功能特性和证实功能已实现的文档 |
| 需求基线(指派基线) | 描述待开发软件所要实现功能的文档 |
| 开发配置 | 设计、编码和测试任一阶段的配置 |
| 产品基线 | 经批准的全部功能和物理特性的文档 |
配置管理过程
- 配置项标识、跟踪:建立唯一标识和跟踪机制
- 配置管理环境建立:建立配置管理库(开发库、受控库、产品库)
- 基线变更管理:变更请求(CR)→ 变更评价 → 变更处置 → 变更实施 → 变更验证
- 基线审核:确保基线化软件产品的完整性和一致性
- 配置状态统计:记录和报告配置项状况
变更控制过程 重点
- 提出变更请求(CR)
- 接受变更请求并确认
- 变更评价:技术影响、接口影响、成本影响、进度影响分析
- SCCB 评审并决策(批准/不批准/推迟决定)
- 变更实施:检出(check out)→ 实施变更 → 验证 → 检入(check in)
- 变更验证与结束:审查/评审/测试,必要时建立新基线
变更评价必须同时分析对 任务分解结构WBS、进度计划、成本计划、质量计划 和 风险计划 的影响,避免只批准技术变更而忽略管理后果。
配置管理工具
- 面向文件:CVS、SVN、VSS、Git(以单个文件为处理对象)
- 面向变更集:ClearCase 等(将代码修改任务与版本自动关联)
- 面向开发流程:支持变更控制和项目管理
配置管理建议
- 小项目:制定规则 + 版本管理
- 中项目:制定规则 + 版本管理工具
- 大项目/异地开发:制定规则 + 配置管理工具 + 专门配置管理人员
缺乏配置管理的影响
- 不能准确界定项目需求
- 不能有效管理源文件版本
- 多版本并行开发困难
- 无法有效管理和跟踪变更
- 无法及时了解项目进展
- 无法开展规范化测试
- 软件复用率低下
- 对 核心计划执行与控制 而言,缺乏配置管理会导致基线不清,进而使范围确认、挣值分析和质量控制失去可靠依据。