属性
工作空间
透明视图
事务一致性维护
子系统
更改集
约定
LIFESPAN*
PowerFrame*
SherpaDMS*
NSE*
SMS*
Shape*
DSEE*
Adele*
CMA*
Jasmine*
Rational*
ADC*
ISTAR*
CCC*
RCS*
图2:配置管理概念光谱图
3.1 注意事项
值得指出的是要讨论的概念和系统仅仅是现有系统的表示,而不是现有系统完整的评估和总结。对于每个概念,都用一个配置管理系统实例来讨论。但是需要注意的是,许多配置管理系统实际上提供了不止一个光谱图所示概念。既然谈到配置管理系统自然形成的功能时没有通用的术语,而这些概念是直接从特定配置管理系统中提取——所以每一个配置管理系统有自己的概念和定义。为了注意力集中,概念的描述都尽量简化。这样一来,就无法对所有概念的能力(不是它们的系统)面面俱到。但是,因为要提出概念光谱图和精简出一个配置管理系统概念集的缘故,简化是必要的。本文参考的每种配置管理系统在附录中都有一个简评,它提供了每种系统配置管理能力一个更全面的清单。
3.2 组件的概念组件的概念是与标明和访问软件产品的组件相关。它们包括下文所描述的库和分布式组件。
3.2.1 库库的概念是配置管理系统的根本。修订控制系统(Revision Control System(RCS))[15]提供了ASCII码文件库的概念。从效果上来说,库是集中控制的文件库并提供对库中所存储文件的版本控制。任何库中的文件都被视为在确定的配置管理之下。库中的文件是不会变的——它们不能被更改。任何更改被视为创建了一个新版本的文件。文件所有的配置管理信息和文件的内容都存贮在库中。所以,任何配置的管理和控制都与库中的文件相关联。当工作于一个文件时,用户将某个版本的文件导入工作目录,然后开始工作,处理完了,然后将文件导回库中。这样就生成了这个文件的新版本。所以用户不可能导出一个文件并同时在库中修改源文件。
从库的角度来看,导出的文件自动被锁定直到文件重新被导入,一个版本号自动与新版本文件相关联。这样一来,用户可以随时根据特定的版本号来导出任何文件(缺省的是最新的版本)。对最新版本的修改的结果是产生一个新的,顺序递增的版本;而对更老版本的修改的结果是产生一个分支版本。在版本编号策略和使用模式共同作用下,产生了文件版本历史树,用来表示祖先和后代版本。库中不但存储了文件的不同版本,更改的理由,而且存储谁在什么时候替换了某个版本的文件等文件历史信息。请注意,对于每个不同版本文件,不是所有的代码都存储起来,而只是不同版本间实际的差异才存储起来:这称为增量。这种方法有利于节省空间和节省对最新文件版本的访问时间。另外,可以根据状态给文件加上标签,然后基于状态的值进行导出。它们同样也可以根据修订版本号,日期和作者进行导出操作。库总是和文件所在的目录相关联。总而言之,库捕捉配置管理信息并把不同版本的文件存储为不可修改的对象。
3.2.2 分布式组件
文章来源于领测软件测试网 https://www.ltesting.net/