1 目的及范围
配置管理的目的是确保产品在软件生存周期中的完整性和可追溯性,配置管理活动被设计来标识配置项、建立基线、控制版本和变更、保证变更被适当地实施,使开发人员、测试人员、项目管理者、质量保证人员以及客户能方便地通过软件配置管理获得有用的信息。
该过程适用于本公司所有军用软件开发项目,从需求阶段开始,至维护阶段完成,贯穿项目的整个生存周期。
2 引用文件
a) XXX 军用软件研制能力成熟度模型
b) XXX 软件过程方针与通用要求
c) XXX 软件过程体系文件编制规定
d) XXX 项目策划过程
e) XXX 过程和产品质量保证过程
f) XXX 测量分析过程
g) XXX 变更控制规程
h) XXX 评审规程
i) XXX 配置库管理规范
j) XXX 配置项命名规范
3 术语表
《软件过程体系文件编制规定》定义的术语、定义、缩略语适用于本文。
4 过程总体描述
4.1 过程概述
本过程是描述项目如何计划配置管理活动,并在整个软件的生存周期中如何执行配置管理活动。软件配置管理的目的在于建立和维护软件项目产品在整个生存周期内的完整性。
配置管理过程主要分为软件配置管理计划制定、配置库建立、配置库维护、配置项及基线建立、变更控制、配置状态记录及报告、产品发布控制、配置审核八个活动。
4.2 过程结构描述
本过程总图见图1。
配置管理过程总图
5 过程元素描述
针对各个过程元素(活动),按照9大属性(概述、人员职责、入口准则、输入、任务(步骤)、出口准则、输出、资源能力要求、裁剪准则)依次进行详细描述。
5.1 制定配置管理计划
本过程元素描述见表1:
表1 制定配置管理计划
软件配置管理计划内容包括明确项目的配置管理职责和配置基线建立的时机,确认需要纳入配置管理的要素即配置项,并确定配置项标识,选择配置管理工具,建立配置管理系统、组建项目级CCB以及设定配置库访问权限等一系列重要的配置管理活动。 | |
配置管理员:制定《软件配置管理计划》 利益相关方:主要包括项目负责人、项目组成员、测试人员、QA、项目主管中层领导、用户代表(必要时)参加《软件配置管理计划》评审。 | |
项目策划开始 项目已指定配置管理人员 | |
《软件开发计划》 《软件配置管理计划模版》 《配置库管理规范》 《配置项命名规范》 | |
识别配置项,参见《配置项和基线选择规范》 识别配置项通常是在产品结构划分完成后才进行的,按《软件开发计划》中定义的WBS分解结构识别需纳入配置管理的工作产品,即配置项; 识别配置项后,按《配置项命名规范》标识配置项; 识别基线参见《配置项和基线选择规范》 根据标识的工作产品,进一步确定哪些列为基线; 确定基线的不同变更控制权限; 确定基线纳入配置管理库的时机; 基线内容及建立时机、变更控制权限如下: 功能基线:①软件研制任务书批准时建立;②由公司级CCB控制; 分配基线:①软件需求批准时建立;②软件需求更改批准时更新;③由项目级CCB控制; 产品基线:①为满足交付需要时建立;②由公司级CCB控制。 明确公司级配置控制委员会(公司级CCB)职责 公司级CCB由主管总师、产品库配置管理员、QA组长、最终用户代表组成; 公司级CCB的功能有:批准功能基线的发布;批准产品基线的发布与产品交付;批准产品库的出入库、变更;批准受控库中的重大变更。 建立项目级配置控制委员会(项目级CCB) 项目级CCB至少应该由下面几部分组成:项目主管中层领导、项目负责人、配置管理人员、QA、测试负责人、用户代表; 项目级CCB的主要功能有:批准由公司级CCB控制以外的所有基线的发布和变更;确保所有提出的基线变更在项目级CCB控制下,并经过充分的评价和分类;确保只有经过批准的变更才能得到实施; 配置库控制 设置各个库的不同角色的访问权限,建立《配置库权限分配表》; 定义配置库中配置项目录结构; 依据《配置库管理规范》、《软件配置管理计划模板》编写软件配置管理计划文档 评审软件配置管理计划 《软件配置管理计划》同《软件开发计划》一起进行评审; 将通过评审的《软件配置管理计划》纳入配置管理。 | |
审批通过的《软件配置管理计划》纳入配置管理。 | |
《软件配置管理计划》 《配置库权限分配表》 | |
资源: 《软件配置管理计划模版》; 能力: 配置管理员应接受过编制软件配置管理计划方法的培训 |
5.2 建立配置库
本过程元素描述见表2。
表2 建立配置库
在项目建立后,配置管理员根据《软件配置管理计划》的内容建立配置库,主要任务是使用配置工具建立配置项的存储区域,并设定配置库访问权限。 | |
配置管理员:建立配置库和设定权限 | |
《软件配置管理计划》中配置管理工具已选定 | |
《软件配置管理计划》 | |
| |
| |
| |
|
5.3 维护配置库
本过程元素描述见表3。
表3 维护配置库
概述 | 在项目运行过程中,维护配置库的主要任务是:维护配置项的存储区域,维护相应的访问权限,以及对于存储的内容进行备份。 |
参与人员及职责 |
|
入口准则 |
|
输入 |
|
任务/步骤 | 配置库的控制流程 配置管理员和项目组在使用配置库的相应区域时,对配置库的具体控制流程参见《配置库管理规范》。 权限分配控制 配置管理员和项目负责人必须对配置库中各区域的访问权限实施控制,确保只有被授权的人员才有权访问控制项(如读、写、上传、下载),参见《配置库权限分配表》 资源备份 配置管理员对配置库进行定期备份,或设定配置管理工具进行定期备份。备份分为增量备份和全备份,项目至少应做到增量备份每天进行,保存一个月;开发库和受控库全备份每月进行一次,产品库全备份时间由产品库配置管理员控制,至少保存最新的5个版本的全备份;配置管理员应对备份情况进行记录,并填写到《配置库管理记录中》。 |
出口准则 | 无 |
输出(工作产品) | 配置库及内部存储工作产品 |
资源和能力要求 |
|
5.4 建立配置项及基线
本过程所描述的内容不包括功能基线的建立。功能基线中的《软件研制任务书》等配置项在评审通过后直接纳入受控库。本过程元素描述见表4。
表4 建立配置项及基线
概述 | 软件项目组按照软件配置管理计划建立配置项和基线,确保建立及更改受控且有效。 |
参与人员及职责 |
|
入口准则 | 配置项评审通过准备受控或到达基线发布时机 |
输入 |
|
任务/步骤 |
|
出口准则 | 配置项已入受控库; 基线已建立。 |
输出(工作产品) |
|
资源和能力要求 | 资源:《软件入库申请单模板》、《基线发布书》 能力:软件项目组、项目负责人、配置管理员熟悉配置项及基线建立流程。 |
5.5 变更控制
本过程元素描述见表5。
表5 变更控制
概述 | 对已纳入受控库或产品库的配置项和基线的更改要按照规定的控制流程执行,此活动贯穿于整个软件生存周期。 |
参与人员及职责 |
|
入口准则 | 提出配置项变更申请 |
输入 |
|
任务/步骤 |
|
出口准则 |
|
输出(工作产品) |
|
资源和能力要求 | 资源:配置管理系统,《变更申请单模板》、《软件出库申请单模板》、《软件入库申请单模板》、《配置项状态报告模板》 能力:相关成员接受过配置管理系统使用方面的培训,经过变更控制流程使用的培训 |
5.6 配置状态记录及报告
本过程元素描述见表6。
表6 配置状态记录及报告
概述 | 配置管理员对受控库中的配置项和基线的状态变化及时记录,发布配置项状态报告,并每月统计、分析配置项和基线的状态。 |
参与人员及职责 | 配置管理员:填写并发布配置状态报告;每月统计配置项状态变化情况; 项目负责人:管理和监督。 |
入口准则 | 配置项出入受控库和基线建立及变更时 |
输入 |
|
任务/步骤 | 记录配置项状态 配置项状态记录从配置项进入受控库的一刻开始记录; 收集、整理相应的配置记录,以便生成完整的《配置项状态报告》。 生成并发布状态报告 受控库中的配置项状态发生改变时,配置管理员更新《配置项状态报告》中该配置项的状态,并通过电子或者书面方式将《配置项状态报告》发送给利益相关方。 配置管理员按月对受控库状态进行统计, 产品库配置管理员定期对产品库进行统计。统计内容包括配置项及其变更状态、基线及其变更状态等。 |
出口准则 | 《配置项状态报告》已生成 |
输出(工作产品) | 《配置项状态报告》 |
资源和能力要求 | 资源:《配置项状态报告模板》 能力:相关成员接受过配置管理方面的系统培训 |
5.7 产品发布控制
本过程元素描述见表7。
表7 产品发布控制
概述 | 在进行产品发布前,由项目负责人填写《软件发放证书》交由公司级CCB审批。产品库配置管理员依据审批通过的《软件发放证书》从受控库中提取产品基线的内容存放到产品库。 |
参与人员及职责 |
|
入口准则 | 产品基线已发布 |
输入 | 稳定的软件产品 |
任务/步骤 |
|
出口准则 |
|
输出(工作产品) |
|
资源和能力要求 | 资源:《软件发放证书模板》;产品库配置管理员具备提取产品的权限。 能力:项目负责人接受过产品发布流程的培训。 |
5.8 配置审核
本过程元素描述见表8:
表8 配置审核
配置审核的目的是证实软件产品在其整个生存周期中,受控的各配置项的完整性、一致性、正确性。 | |
| |
《软件配置管理计划》已制定 | |
《软件配置管理计划》 | |
| |
| |
| |
|