3.1 警告
必须注意到我们讨论的概念和系统都是现实存在的,而不是一个完全的总结或者现存的演化。对于每一个概念,会讨论一个CM系统。也必须注意,有一些CM系统确实提供了图谱中显示的很多功能。概念是从特定CM系统直接获取的,每一种CM系统都有各自的概念和语义,因此对于自动化功能没有通用的术语。为了重点突出,对概念的描述将会简化,因此有可能没有将概念(和它们的系统)的能力完全描述出来。但是,为了更好的展示一个图谱和专著于CM的基本概念,简化是有必要的。本文引用的CM系统的在附录中有汇总,这个汇总提供了一个每一种CM能力更全面的列表。
组件概念用来标识和访问软件产品的组件,就是下面描述的是版本库和分布式的组件。
3.2 组件概念
3.2.1 版本库
版本库概念是一个CM系统的基础,Revision Control System (RCS) [15]提供了针对ASCII文件的版本库,实际上,版本库是一个文件的中央仓库,并且提供了版本库中文件的版本控制。版本库中的任何文件,可以看作在 CM控制下。版本库中的文件是不可变的,不可以更改。作出修改意味着创建文件的一个版本,所有关于文件和其内容的CM信息都保存在版本库中,因此,CM控制适应于版本库中的任何文件。为了修改一个文件,用户需要检出(check out)特定版本的文件到它们的工作目录(working directory),然后根据自己的判断开始修改,最后检入(check in)回版本库,这样就创建了文件的一个新版本。这样用户就不能同时检出同一个文件并修改,在这个用户将其检入回去之前,检出的文件会被锁定(以版本库的视角)。一个版本号码会自动与新版本关联;此后,用户可以在任何时候检出特定版本的文件,当然缺省检出的是最新的版本。对最新版本的更改会产生新的版本,然而对老版本的修改会导致一个不同的版本。总之,版本号方案和使用模式产生了文件的版本历史树,指出了版本的前任和后继。版本库保存了文件的历史信息,包括文件的不同版本和修改的原因、作者和时间。需要注意的是并没有保存所有版本的完整代码,而只是保存了版本的区别,也就是所说的增量,这样就节省了存储空间和对最新版本的访问时间。文件可以使用某个状态标记,并可以根据这个状态值检出。文件也可以根据修订版本号、时间和作者检出。版本库通常与其保存文件的目录关联,总之,一个版本库捕获CM信息并以不可变对象的形式保存文件的版本。
3.2.2 分布式组件
Sherpa Design Management System (DMS) [7]提供了一种文件分布在不同硬件平台上的版本库,这个版本库逻辑上是集中式的,但版本库中的数据可以是物理上分离的。Sherpa DMS可以识别分布式并在执行CM时考虑分布式这一点,例如,通过对文件格式的必要转换提供容错灵活性。所以,对用户来说,分布式是透明的--用户可以像处理自己工作站的文件一样处理版本库的文件。一组地域上分离的用户可以工作在同样的文件配置下,文件的多份拷贝可以存在于不同的工作站,Sherpa DMS知道文件最新版本的位置,版本库中文件的任何修改都会更新到工作站中的所有本地拷贝中去,因为系统清楚所有本地拷贝的位置。更新可以是交互模式或者批量模式,实际上,分布式用户已经访问了中央版本库,对他们来说,这个CM工具使异种工作站跨越了网络。
相关阅读:
软件配置管理系列——什么是配置管理?
软件配置管理系列——1、介绍
软件配置管理系列——2、用户角色
软件配置管理系列——3、CM系统的概念
文章来源于领测软件测试网 https://www.ltesting.net/