软件配置管理系列——1、介绍

发表于:2009-02-26来源:作者:点击数: 标签:管理软件
摘要: 支持软件 配置管理 (CM)的环境和工具已经取得了相当可观的进展,本文将重点介绍业已存在的 配置管理工具 所提供的一些概念,包括了对这些概念的扩展或泛化。提取这些概念也并不简单,因为 软件工程 社区的许多CM工具的术语不尽相同,对许多概念的实
摘要:支持软件配置管理(CM)的环境和工具已经取得了相当可观的进展,本文将重点介绍业已存在的配置管理工具所提供的一些概念,包括了对这些概念的扩展或泛化。提取这些概念也并不简单,因为软件工程社区的许多CM工具的术语不尽相同,对许多概念的实现也有所不同。因此,每一个展示的概念都是存在于特定CM中的,没有任何CM系统提供了所有不同用户需要的功能。此外,每一个CM系统都只是包含了部分概念,为了完成这个报告,会简要描述例子中使用的CM系统的功能。

  1、介绍

  通过调查现存的配置管理(CM)系统可以发现支持CM的环境和工具已经大大改进,这可以通过CM系统提供的概念范围来证明,本文就是要强调这个范围,首先介绍一下广义的CM定义和一个典型的CM场景。

  1.1 配置管理的定义

  软件配置管理是控制软件系统演进的学科,经典的CM讨论如[3]和[4],IEEE标准729-1983[16]中的定义列出了CM操作的几个方面:

  标识:一种标识模式反映了产品的结构,标识了组件及其类型,使之唯一并且可以通过某种方式访问。

  控制:控制产品的发布,并通过创建基线产品来保持软件的连续性以达到整个生命周期的变更控制。

  状态记录:记录和报告组件的状态和修改请求,并且收集产品中组件的重要统计。

  评审和复查:验证产品的完整性,通过确保产品是定义良好组件的组合来维护组件的连续性。

  定义也包扩配置项、基线、发布和版本等术语,大多数CM系统通过组合不同程度上的功能来支持这些方面,一些CM系统提供的功能超越了以上的定义,这归因于(抛去其他原因)多个方面的认识,如不同的用户角色(在1.3和2.1部分有进一步讨论)、异种平台的不同操作环境、建立软件工程师在其中以和谐方式工作的大项目的支持。为了捕获这些额外的功能,有必要拓宽CM的定义:

  制造:以一种透明的方式管理产品的构建。

  过程管理:确保执行组织的过程、政策和生命周期模型。

  团队协作:控制同一产品多个用户的工作和交互。

  1.2 CM系统的定义

  对于CM系统的组成,没有一种普遍接受的定义。举个例子,版本控制系统是CM系统吗?理想情况下,一个CM系统应该能够提供上面定义的所有功能,但是实践中,任何提供某种形式的版本控制、配置标识、系统构建、系统建模和企图提供CM(某种程度)功能的系统都会被软件工程(和销售)社区当作CM系统。必须注意到存在的CM系统都提供了它们独有的功能组合,而不是标准的。这个报告只包括了15个CM系统,目前至少有40种可以获取并使用的CM系统。

  本文有必要阐明一个概念,CM系统和CM工具。一个CM系统可以看作是环境的一部分,CM支持的是集成环境的一部分,并且CM是以包的形式销售,一个CM工具可以被认为一个独立的工具。举个例子,Revision Control System(RCS) [15]是一种CM工具,因为它企图安装到现有的环境,但是因为这一点区别对本文并不重要,我们会用CM系统这一术语来表示这两种概念。

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