优点
对项目产品单元进行统一的版本变更管理,统筹安排系统的修改、发布以及系统资源的使用,预防开发的进程混乱,保证系统版本的完整和一致。
支持并行开发与维护。软件开发过程时常要求多个开发人员同时在同一个软件模块或项目文档上工作,同时对同一个代码或文档部分作不同的修改,配置管理能满足这样的要求,同时使跨平台、跨地域的并行开发成为可能。
使项目管理人员能掌握项目开发进度。配置管理系统可以提供配置状态报告,对每日变更完成的工作量、开发中存在的问题等会有详尽的反映。
减少人员变动对项目带来的影响。项目的变更轨迹可跟踪,文档的增删、代码的修改、参数的改变、配置项的状态、基线之间的差异等都有案可查。参照变更的原因、内容描述等内容,我们便可对项目的开发进程有详细而完整的把握,从而避免对相关人员的过分依赖。
配置管理的重点工作描述
1) 配置项识别
配置项识别就是将配置项按规定统一编号,将其划分为基线配置项和非基线配置项,按一定的结构保存在配置库中,然后赋予不同人员不同的权限来使用它们。
那么,“基线”又是什么呢?
基线是由一组具有唯一标识号的配置项组成的。这些配置项构成一个相对稳定的逻辑实体,它们处于“冻结”状态,不能被任何人随意修改。
基线通常与项目开发过程中的里程碑点相对应。在项目里程碑阶段,项目通常会进行阶段成果评审,经过正式评审并获得批准的阶段性项目成果的统一标识便标志着项目的不同基线。根据使用对象的不同,基线被分为建造基线(对内使用)以及放行基线(对用户使用)。
对基线及其集成系统的任何修改,都必须按照特定的规程来评估和验证。
2) 变更控制
随着项目的进展,需求、开发资源及环境都可能会发生变更,变更控制便是对这些变更进行跟踪和规划,目的是便于变更的有效管理和追溯,避免工作的混乱。
变更控制使配置项真正处于受控状态,并保障配置项在任何情况下都能迅速恢复到任一历史状态。
上图是一个较典型的变更控制流程,它的重点在于变更申请审批、变更方案审核、变更结果评估等环节。通过这种审批、审核,来保证变更的合理性,降低变更风险。
3) 版本管理
这里的版本包括各种文件、技术文档和程序版本。这些配置项均属于版本管理的范畴。
版本管理的目的是按照一定的命名规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并确保能快速而准确地查找到配置项。
版本管理对存取软件资源采取加锁等控制策略,保证了多人同时开发时软件资源的内容一致性和正确性。
配置项的状态通常有三种:“草稿”、“正式发布”、“正在修改”。 配置项的不同状态由多种版本号所组成。随着状态流程的变迁,版本号发生变化,新的版本出现,版本管理就是对配置项各种版本的进行存储、登记、索引、权限分配等一系列管理活动。
4) 配置状态报告
根据配置库的记录情况,我们可以总结出不同角度的配置状态报告。它可以由CASE工具自动生成,如:《配置项的状态》、《基线之间的差别描述》、《变更日志》、《变更结果记录》等。
通过配置状态报告,我们可以了解基线配置项的状态、当前的工作进度、变更对项目进展的影响等情况。从而为开发决策提供参考依据。