1、什么是配置?
配置的概念最早源于美国空军,后来讲配置的时候,更多的是在软件行业讲配置。
配置项主要有两大类:
1)是属于产品的组成部分,例如需求文档、设计文档、源代码、测试用例等等;
2)是在管理过程中产生的文档,例如各种计划、报告等。
这些配置项需要妥善的管理起来,以便查阅和修改,在修改之后,这些配置项需要保留版本号,并且最好按照一定的规则保存配置项的所有版本,避免发生版本丢失或混乱等现象。比如下图是不同的程序员对于程序的修改所产生的冲突,这将会导致程序的混乱和破坏。
因此,每个配置项都有一些属性,比如名称、标识符、文件状态、版本、作者、日期等。配置项及历史纪录反映了软件的演化过程。
2、什么是配置管理?
在软件建立时会经常产生变更,而变更加剧了项目中软件人员之间的混乱。之所以产生混乱,是因为在进行变更前没有仔细分析,或没有进行变更控制。因为变更在任何时刻都可能发生,因此需要对软件配置进行管理,确保变更能够被管理起来。
加利福利亚大学圣巴巴拉分校的Leon Presser教授对于配置管理,讲过:“软件配置管理是贯穿于整个软件过程中的保护性活动,它被设计来
1)标识变化,
2)控制变化,
3)保证变化被适当的发现,
4)向其他可能有兴趣的人员报告变化。
3、配置管理活动有哪些?
1)识别配置项
识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。
识别与选择配置项,从而为定义与核实产品配置、标记产品和文件、管理变更和明确责任提供基础。所有配置项都都应按照相关规定统一编号,按照相应的模板生成,并在文档中的规定章节(部分)记录对象的标识信息。在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。
2)控制配置项
通过一定的机制控制对配置项的修改。比如使用串行的方法(加锁-解锁):程序员在修改文件之前,版本控制工具将文件加锁,其他人不能对它进行修改。该程序员修改完毕,将文件再检入到配置库中时,版本控制工具再将其解锁,其他人才能进行修改。
3)记录并报告配置项状态
关于各个配置项的信息记录和报告。记录并报告配置项以及元数据的状态。
4)进行配置项核实与审计
通过配置核实与审计,确保项目的配置项组成的正确性,以及相应的变更都被登记、评估、批准、跟踪和正确实施,从而确保配置文件所规定的功能要求都已实现
配置审计要审查以下项:
整个配置管理过程是否符合规范
配置项是否与需求一致,记录正确
配置的组成是否具有一致性
其它
由于现在软件行业越来越重视质量,许多项目专门成立质量保证部门专门来进行配置审计。所以现在也可以说,配置审计是一个SQA(软件质量保证)活动。
4、变更控制和配置管理的区别?
变更控制则着眼于识别、记录、批准或否决对项目文件、可交付成果或基准的变更。
配置控制重点关注可交付成果及各个过程的技术规范。这部分主要跟产品有关系,比如需求文件,产品设计规范文件,设计图纸,软件代码等。
在PMP中可以把配置管理理解为更为详尽、细化的变更管理。
总之,软件配置管理的对象是软件研发活动中的全部开发资产。所有这一切都应作为配置项纳入管理计划统一进行管理,从而能够保证及时的对所有软件开发资源进行维护和集成。因此,软件配置管理的主要任务也就归结为以下几条:
1)制定项目的配置计划;
2)对配置项进行标识;
3)对配置项进行版本控制;
4)对配置项进行变更控制;
5)定期进行配置审计;
6)向相关人员报告配置的状态。