配置管理就是一套方法,用这套方法来对软件开发期间产生的资产(代码、文档、数据等东西)进行管理,包括管理它的存储、变更,将所有的变更记录下来,通过适当的机制来控制它的变更,使得这些变更合理、有序、完整、一致,并可以追溯历史。
配置项
信息系统中的文档和软件在其开发、运行、维护的过程中会得到许多阶段性的成果,并且每个文档、软件在开发和运行过程中还需要乃至多种工具软件或配置。所有这些信息项都需要得到妥善管理,绝不能出现混乱,以便在提出某些特定的要求时,将它们组成约定的组合来满足使用的目的。这些信息项是配置管理的对象,称为配置项。
所有配置项目的操作权限应该收CMO(配置管理员)严格统一管理;基线配置项向开发人员开放读取权限;非基线配置项向PM、CCB及相关人员开放。
每个配置项用一组特定信息(名字、描述、一组资源、实现)唯一标识,它们通常可以分为以下六种:
- 环境类。软件开发、运行和维护的环境,如编译器、操作系统、编辑软件、管理系统、开发工具、测试工具、项目管理工具、文档编制工具等。
- 定义类。需求分析与系统定义阶段结束后得到的工作,如需求规格说明书、项目开发计划、设计标准或设计准则、验收测试计划等。
- 设计类。设计阶段得到的工作,如系统设计说明书、程序规格说明书、数据库设计、编码标准、用户界面设计、测试标准、系统测试计划、用户手册。
- 编码类。编码及测试单元结束后得到的工作,如源代码、目标码、单元测试用例、数据及测试结果。
- 测试类。系统测试完成后的工作,系统测试用例、测试结果、操作手册、安装手册。
- 维护类。维护阶段产品的工作,以上任何需要变更的软件配置项。
配置项状态与配置项版本号
基线
基线是软件生存期各开发阶段末尾的特定点,也称为里程碑,在这些特定点上,阶段工作已经结束,并且已经形成了正式的阶段产品。
建立基线的概念是为了反各开发阶段的工作划分得更加明确,使得本来连续开展的开发工作在这些点上被割开,从而更加有利于检验和肯定阶段工作的成果,同时有利于进行变更控制。
基线可以看作是一个相对稳定的逻辑实体,其组成部分不能被任何人随意修改。
配置状态报告
配置状态报告也称为配置状态说明与报告,它是配置管理的一个组成部分,其任务是有效的记录报告管理配置所需要的信息,目的是及时、准确地给出配置项的当前状况,供相关人员了解,以加强配置管理工作。
配置审核
配置审核又称为配置审计,它的任务是验证配置项对配置标识的一致性。软件开发的实践表明,尽管对配置项做了标识,实现了变更控制和版本控制,但如果不做检查或验证仍然会出现混乱。
配置标志
确定配置项如何命名,用哪些信息来描述该配置项。
变更控制委员会
变更控制委员会(Configuration Conrol Board,CCB),也可以称为配置控制委员会,是配置项变更的监督组织。其任务是对建议的配置项变更做出评价、审批,以及监督已批准变更的实施。
CCB的成员通常包括项目经理、用户代表、软件质量控制人员、配置控制人员。这个组织不是常设机构,完成可以根据工作的需要组成。
配置管理系统
配置管理系统用于控制工作产品的配置管理和变更管理。该系统包括存储媒体、规程和访问配置系统的工具,用于记录和访问变更请求的工具。CMO建立并维护用于控制工作产品的配置管理系统和变更管理系统。
常见的用于创建配置管理系统的软件有VSS、CVS、SVN。
配置项是受配置管理控制和管理的基本单位。配置标识是软件生命周期中划分选择各类配置项、定义配置基的种类,为它们分配标识符的过程。配置项标识的重要内容就是对配置项进行标识和命名。配置标识是配置管理的基础性工作,是管理配置管理的前提。配置标志是确定哪些内容应该进入配置管理形成配置项、确定配置项如何命名、用哪些信息来描述该配置项。
建立配置管理系统的步骤
- 版本管理要解决的第一个问题是版本标志,也就是区分不同的版本,要给他们科学的命名。
- 配置状态报告也称为配置状态说明与报告,它是配置管理的一个组成部分,其任务是有效的记录报告管理配置所需的信息,目的是及时、准确地给出配置项的当前状况,供相关人员了解,以加强配置管理工作。
- 配置审核又称为配置审计,它的任务便是验证配置项对配置标志的一致性。配置审核的实施是为了确保软件配置管理的有效性,体现配置管理的最基本要求,不允许出现任何混乱现象。