软件配置管理定义及规范
软件配置管理定义
SCM(Software Configuration Management,软件配置管理)是一种标识、组织和控制修改的技术。它应用于整个软件生存期。在软件建立时会经常产生变更,而变更加剧了项目中软件人员之间的混乱。之所以产生混乱,是因为在进行变更前没有仔细分析,或没有进行变更控制。因为变更在任何时刻都可能发生,因此软件配置管理活动的目标就是为了标识变更,控制变更,确保变更正确地实现,向其他有关的人报告变更。软件配置管理是一组追踪和控制活动,它们开始于软件开发项目开始之时,结束于软件被淘汰之时。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
软件配置管理(Software Configuration Management,SCM)作为CMM2级的一个关键域(Key Practice Area,KPA),在整个软件的开发活动中占有很重要的位置。正如Pressman所说的:“软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计来
(1)标识变化,
(2)控制变化,
(3)保证变化被适当的发现
(4)向其他可能有兴趣的人员报告变化。
所以,我们必须为软件配置管理活动设计一个能够融合于现有的软件开发流程的管理过程,甚至直接以这个软件配置管理过程为框架,来再造组织的软件开发流程。
软件配置管理规范
软件研发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,他们都应当妥善地保管起来,以便查阅和修改。如果把所有文件一股脑的塞进计算机里,那么使用起来很麻烦。
凡是纳入配置管理范畴的工作成果统称为配置项,配置项主要有两大类:一类是属于产品的组成部分,例如需求文档、设计文档、源代码、测试用例等等;另一类是在管理过程中产生的文档,例如各种计划、报告等。
每个配置项的主要属性有名称、标识符、文件状态、版本、作者、日期等。配置项及历史纪录反映了软件的演化过程。
基线由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被冻结后,不能再被任何人随意更改。基线通常对应于开发过程中的里程碑。通常将交付该客户的基线称为一个Release,为内部开发用的基线称为一个Build。
版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混乱等现象。配置项的状态有三种:“草稿”、“正式发布”和“正在修改” 。
配置项的版本号与配置项的状态紧密相关:
(1) 处于“草稿”状态的配置项的版本号格式为:0.YZ
(2) 处于“正式发布”状态的配置项的版本号格式为:X.Y。
一般只是Y值递增,当Y值到达一定的范围时X值才发生变化。
(3) 处于“正在修改”状态的配置项的版本号格式为:X.YZ。
一般只增大Z值,当配置项修改完毕,状态重新变成“正式发布”时,将Z值变为0,增加X.Y值。
暂无评论