是的,软件配置管理,确实不太好解释。软件开发过程中的其它工作,似乎都比它容易理解。开发工程师在编写源代码;测试工程师在测试,挑毛病;需求分析师跟用户确定需求,并且用精确严谨的语言表达出来……虽说这样说未必严谨,但是至少能够得到一个大致的印象。但是,软件配置管理呢?软件配置管理是什么?
下面是软件配置管理的一个权威定义:
“A discipline applying technical and administrative direction and surveillance to identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements.”
“一套应用技术上和管理上的指导和监督的方法,用来:识别和记录配置项的功能特征和物理特征;控制这些特征的变更;记录和报告变更的处理和执行的状态;以及验证其符合特定的需求。”
如果你看得一头雾水,别担心,这不是你能力上的问题。大部分人和你的感受相同。这个定义,以及类似的权威定义,都高度抽象。用一两句话,确实很难把握好软件配置管理这个概念。需要更多的描述,才能把它说清楚。事实上,这一整本书,就是在认识和理解软件配置管理。而在这一章中,我们将用一些我们相对熟悉的概念来打比方,做对比,来讲解软件配置管理这个概念。通过这样一种方式,让大家对软件配置管理有一个初步的,但比较正确的认识。
与图书管理作对比
软件配置管理,是关于软件资产的管理。什么是软件资产呢?源代码,设计文档,可以运行的程序,这些在软件研发过程中产生的有价值的东西,都是软件资产。软件配置管理就是关于这些内容的管理。那么,具体有什么要管理的呢?让我们把它和图书馆的图书管理做个对比。
它们有一些相似点。首先,图书管理管的是图书资产;软件配置管理管的是软件资产。这两种管理,管的都是信息资产。其次,图书管理,需要把图书进行分类,以便检索,需要将图书存放在合适的地方,以便存取,还要防止虫吃鼠咬;而软件配置管理也类似,需要把软件资产——主要是源代码,放在合适的目录结构里,放在合适的地方存储,防止丢失或者弄乱。再次,在图书馆,要记录谁借出了哪本书,还没还。这是为了保证,图书馆的书不会丢失
而软件配置管理中也类似,需要记录谁“借”出了什么文件,什么时候“还”的。在这一“借”一“还”的过程中,程序员修改了它,而软件配置管理记录下了这些修改。那么,为什么要记录呢?
因为软件资产与图书资产不同,软件资产在不断变化,不断演进。项目初始的时候,可能只有一份简单的项目计划,而项目结束时,已是可以交付给用户的产品。如果缩小视野,单就某个源代码文件来看,也会看到,通常它会在项目的某个时刻,被某个程序员创建第一个版本,然后,可能有不同的程序员,不断修改它,产生新的版本。软件配置管理关心:是不是这个文件的各个历史版本应该被记录,以便今后翻阅?是不是各次修改的修改者、修改的原因应该被记录,以便将来可以理解当时的情形,理解为什么做出这样的改动?更扣人心弦的是,当两个人同时想要修改一个文件的时候,可能会导致其中一个人的改动丢失,也就是常说的版本覆盖。那么,是让他们一个改完了另一个再改呢,还是让他们同时改,在将来合并?等等。
所以说,软件配置管理是关于不断演进的软件资产的管理。
为什么称作配置管理?
机器由零部件组成。例如,汽车一般由底盘、发动机、车身和电器设备四大部分组成。其中,汽车底盘一般包括传动系、转向系、制动系和行驶系。传动系主要由离合器、变速器、传动轴和减速器等部件组成。再往下,基本就是零件了.
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/