配置管理就是一套方法,用这套方法来对软件开发期间产生的资产(代码、文档、数据等东西)进行管理,包括管理它的存储、变更,将所有的变更记录下来,通过适当的机制来控制它的变更,使得这些变更合理、有序、完整、一致,并可以追溯历史。

配置项

  信息系统中的文档和软件在其开发、运行、维护的过程中会得到许多阶段性的成果,并且每个文档、软件在开发和运行过程中还需要乃至多种工具软件或配置。所有这些信息项都需要得到妥善管理,绝不能出现混乱,以便在提出某些特定的要求时,将它们组成约定的组合来满足使用的目的。这些信息项是配置管理的对象,称为配置项。

  所有配置项目的操作权限应该收CMO(配置管理员)严格统一管理;基线配置项向开发人员开放读取权限;非基线配置项向PM、CCB及相关人员开放。

  每个配置项用一组特定信息(名字、描述、一组资源、实现)唯一标识,它们通常可以分为以下六种:

  1. 环境类。软件开发、运行和维护的环境,如编译器、操作系统、编辑软件、管理系统、开发工具、测试工具、项目管理工具、文档编制工具等。

  2. 定义类。需求分析与系统定义阶段结束后得到的工作,如需求规格说明书、项目开发计划、设计标准或设计准则、验收测试计划等。

  3. 设计类。设计阶段得到的工作,如系统设计说明书、程序规格说明书、数据库设计、编码标准、用户界面设计、测试标准、系统测试计划、用户手册。

  4. 编码类。编码及测试单元结束后得到的工作,如源代码、目标码、单元测试用例、数据及测试结果。

  5. 测试类。系统测试完成后的工作,系统测试用例、测试结果、操作手册、安装手册。

  6. 维护类。维护阶段产品的工作,以上任何需要变更的软件配置项。

配置项状态与配置项版本号

版本管理配置项状态.png

基线

  基线是软件生存期各开发阶段末尾的特定点,也称为里程碑,在这些特定点上,阶段工作已经结束,并且已经形成了正式的阶段产品。

  建立基线的概念是为了反各开发阶段的工作划分得更加明确,使得本来连续开展的开发工作在这些点上被割开,从而更加有利于检验和肯定阶段工作的成果,同时有利于进行变更控制。

  基线可以看作是一个相对稳定的逻辑实体,其组成部分不能被任何人随意修改。

配置状态报告

  配置状态报告也称为配置状态说明与报告,它是配置管理的一个组成部分,其任务是有效的记录报告管理配置所需要的信息,目的是及时、准确地给出配置项的当前状况,供相关人员了解,以加强配置管理工作。

配置审核

  配置审核又称为配置审计,它的任务是验证配置项对配置标识的一致性。软件开发的实践表明,尽管对配置项做了标识,实现了变更控制和版本控制,但如果不做检查或验证仍然会出现混乱。

配置标志

  确定配置项如何命名,用哪些信息来描述该配置项。

变更控制委员会

  变更控制委员会(Configuration Conrol Board,CCB),也可以称为配置控制委员会,是配置项变更的监督组织。其任务是对建议的配置项变更做出评价、审批,以及监督已批准变更的实施。

  CCB的成员通常包括项目经理、用户代表、软件质量控制人员、配置控制人员。这个组织不是常设机构,完成可以根据工作的需要组成。

配置管理系统

  配置管理系统用于控制工作产品的配置管理和变更管理。该系统包括存储媒体、规程和访问配置系统的工具,用于记录和访问变更请求的工具。CMO建立并维护用于控制工作产品的配置管理系统和变更管理系统。

  常见的用于创建配置管理系统的软件有VSS、CVS、SVN。

  配置项是受配置管理控制和管理的基本单位。配置标识是软件生命周期中划分选择各类配置项、定义配置基的种类,为它们分配标识符的过程。配置项标识的重要内容就是对配置项进行标识和命名。配置标识是配置管理的基础性工作,是管理配置管理的前提。配置标志是确定哪些内容应该进入配置管理形成配置项、确定配置项如何命名、用哪些信息来描述该配置项。

建立配置管理系统的步骤

  1. 版本管理要解决的第一个问题是版本标志,也就是区分不同的版本,要给他们科学的命名。

  2. 配置状态报告也称为配置状态说明与报告,它是配置管理的一个组成部分,其任务是有效的记录报告管理配置所需的信息,目的是及时、准确地给出配置项的当前状况,供相关人员了解,以加强配置管理工作。

  3. 配置审核又称为配置审计,它的任务便是验证配置项对配置标志的一致性。配置审核的实施是为了确保软件配置管理的有效性,体现配置管理的最基本要求,不允许出现任何混乱现象。