浅谈软件配置管理

发表于:2009-02-26来源:作者:点击数: 标签:管理软件
软件 配置管理 软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的 技术 。软件配置管理应用于整个 软件工程 过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件 开发 者之间的混乱。SCM活动的目标就
软件配置管理

  软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。

  软件配置管理(Software Configuration Management,SCM)作为CMM 2级的一个关键域(Key Practice Area,KPA),在整个软件的开发活动中占有很重要的位置。正如Pressman所说的:“软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计来(1)标识变化,(2)控制变化,(3)保证变化被适当的发现,以及(4)向其他可能有兴趣的人员报告变化。” 所以,我们必须为软件配置管理活动设计一个能够融合于现有的软件开发流程的管理过程,甚至直接以这个软件配置管理过程为框架,来再造组织的软件开发流程。

  一、迅速发展的软件配置管理

  配置管理的概念源于美国空军,为了规范设备的设计与制造,美国空军1962年制定并发布了第一个配置管理的标准“AFSCM375-1,CM During the Development & Acquisition Phases”。

  而软件配置管理概念的提出则在20世纪60年代末70年代初。当时加利福利亚大学圣巴巴拉分校的 Leon Presser教授在承担美国海军的航空发动机研制合同期间,撰写了一篇名为“Change and Configuration Control”的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。

  Leon Presser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:Change and Configuration Control(CCC),这是最早的配置管理工具之一。

  随着软件工程的发展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如:最著名的ClearCase;开源产品CVS;入门级工具Microsoft VSS;新秀Hansky Firefly。

  在国外已经有30多年历史的软件配置管理,但在国内的发展却是在21世纪这几年的事。但是通过专家们的介绍,我们感受到,国内的软件配置管理已经取得了迅速发展,并得到了软件公司的普遍认可。

  二、软件配置管理的基本目标

  软件配置管理是在贯穿整个软件生命周期中建立和维护项目产品的完整性。它的基本目标包括:

  目标 1: 软件配置管理的各项工作是有计划进行的。

  目标 2: 被选择的项目产品得到识别,控制并且可以被相关人员获取。

  目标 3: 已识别出的项目产品的更改得到控制。

  目标 4: 使相关组别和个人及时了解软件基准的状态和内容。

  三、XSSC有关软件配置管理的方针

  为了达到上述目标, 如下的方针应该得到贯彻执行:

  技术部门经理和具体项目主管应该使用和遵循XSSC的OSSP中所描述的软件配置管理的工作过程。

  施行软件配置管理的职责应被明确分配。相关人员得到软件配置管理方面的培训

  技术部门经理和具体项目主管应该明确他们在相关项目中所担负的软件配置管理方面的责任。

  软件配置管理工作应该享有足够的资金支持,这需要在客户,技术部门经理和具体项目主管之间协商。

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

  软件配置的整体性在整个项目生命周期中得到控制。

  软件质量保证人员应该定期审核各类软件基准以及软件配置管理工作。

  使软件基准的状态和内容能够及时通知给相关组别和个人。

  四、常用的软件配置管理工具

  现在常用的软件配置管理工具主要分为三个级别:

  ● Rational ClearCase,CA CCC/Havest

  ● Merant PVCS

  ● Microsoft VSS,CVS

  

原文转自:http://www.ltesting.net