1 目的及范围
本规范的目的是对配置库的管理进行规范控制。
本过程适用于公司中所有的软件开发项目,从项目立项开始,至维护阶段完成,贯穿项目的整个生存周期。
2 引用文件
a) GJB 5000A-2008 军用软件研制能力成熟度模型
b) GJB 5716-2006 三库通用要求
c) 软件过程方针与通用要求
d) 软件过程体系文件编制规定
e) 1软件配置管理过程
3 术语表
开发库:在软件生存周期中,存放软件配置项的集合。
受控库:在软件生存周期中,存放已通过测试或评审作为阶段性产品的软件配置项的集合。
产品库:在软件生存周期中,存放已通过公司终检且供交付的软件配置项的集合。
4 规范总体描述
4.1 规范概述
每个项目从立项开始,要求维护一个软件配置库用来管理和控制项目产生的各种软件配置项。本规范主要针对项目产生的文档和代码的使用和控制。
4.2 建立三库
项目在立项后,项目所在的技术部门应提供相应资源建立项目的开发库和受控库,产品库由本公司质量技术部的产品库配置管理员进行统一建立和维护。对软件配置项进行入库、访问、出库、维护、更改、发行等活动实施管理,以确保软件产品的正确性、完整性、可控性和可追溯性。软件三库的管理要遵守公司内相关的保密规定。
4.3 三库管理职责
软件三库配置管理机构是软件配置管理机构的组成部分,由本公司质量技术部的产品库配置管理员和各库配置管理员组成。开发库由项目组管理,受控库由项目所在技术部门管理,产品库由公司质量技术部管理。
项目组在配置管理策划期间要明确相关人员的配置库权限,并写入到《配置库权限分配表》中。随着项目的进展及配置库使用人员的变化,及时调整配置库的权限分配,并更新《配置库权限分配表》。
4.4 工具与环境要求
公司为三库提供必要的场所和设备,以适应三库管理,保证库中的内容的正确性、完整性和安全性。产品库单独存放。三库管理要采用合适的工具,以利于存取、检索、比较和恢复,确保三库的使用和管理方便、有效。
4.5 三库维护
按照《软件配置管理过程》中“配置库维护”的要求定期对三库中的软件存储介质、内容及其备份进行维护,确保软件介质完好和软件配置项内容完备,在三库遭受损害或退化时可恢复。
4.6 安全控制
配置管理员在入库、出库、更改、发行时,应实施:
a) 介质鉴别;
b) 病毒检查;
c) 权限审查。
4.7 配置管理员要求
a) 具备软件配置管理知识;
b) 熟悉软件研制项目的配置管理组织结构、软件配置管理过程、配置库管理规定、软件配置管理计划的制定要求。
4.8 三库结构描述
三库结构见图1。
4.9 配置库目录结构
本公司军用软件研制项目的配置库管理目录采用统一标准,在统一标准的目录结构中,根据项目需要,项目组可建立开发库和受控库的子目录结构,并将具体建立结构写在《软件配置管理计划》中。
表1 配置库目录结构
配置库 | 配置项 | 备注 | |
开发库 | 研制任务 | 研制任务阶段产生的,除《软件研制任务书》以外的文档(包括软件研制任务书评审报告、 功能基线发布书等)。 | |
项目策划 | 软件相关计划子文件夹 | 可以建立子文件夹存放软件开发计划、质量保证计划等文档。 | |
评审文档及其他 | 除软件计划文档外的其他文档(包括计划评审申请、计划评审报告等)。 | ||
需求分析 | 软件项目需求规格说明书 | ||
评审文档及其他 | 包括需求规格说明书评审申请、需求规格说明书评审报告、需求基线发布书等 | ||
软件设计 | 概要设计说明书 | ||
详细设计说明书 | |||
评审文档及其他 | 包括概要设计说明书评审报告、详细设计说明书评审报告以及设计基线发布书等 | ||
编码及单元测试 | 源码 | 单元测试的代码 | |
单元测试 | 包括单元测试用例、结果及报告 | ||
评审文档及其他 | 包括代码评审申请、代码评审报告以及代码基线发布书等 | ||
集成测试 | 源码 | 集成测试的代码 | |
集成测试 | 包括集成测试用例、结果及报告 | ||
评审文档及其他 | 包括集成测试方案及案例评审申请、集成测试方案及案例评审报告以及集成测试基线发布书等 | ||
系统测试 | 源码 | 系统测试的代码 | |
系统测试 | 包括系统测试用例、结果及报告 | ||
评审文档及其他 | |||
验收测试 | 源码 | 验收测试的代码 | |
验收测试 | 包括验收测试用例、结果及报告 | ||
评审文档及其他 | |||
研制总结 | 相关文档子文件夹 | 可以建立子文件夹存放软件研制总结、软件说明书等文档。 | |
项目全周期过程记录 | 项目跟踪记录 | ||
需求管理记录 | |||
QA记录 | |||
CM记录 | |||
MA记录 | |||
供方管理记录 | |||
受控库 | 功能基线 | 软件研制任务书 | |
项目策划 | 包括软件开发计划、估算表、质量保证计划、软件配置管理计划以及测试计划等 | ||
分配基线 | 软件项目需求规格说明书 | ||
设计基线 | 概要设计说明书 | ||
详细设计说明书 | |||
集成测试基线 | 源码 | ||
集成测试 | |||
系统测试基线 | 源码 | ||
系统测试 | |||
验收测试基线 | 源码 | ||
验收测试 | |||
产品库 | 代码 | 包括项目组的最终交付产品以及供方移交的相关产品 | |
文档 | 包括项目组的最终交付的文档、验收细则、验收报告以采购合同、协议、供方移交的相关文档等。 |
5 三库管理具体描述
5.1 开发库管理
开发库管理描述见表1:
表2 开发库管理
开发库用于软件的设计、编码、调试和内部测试,由开发人员控制,主要放置开发人员正在开发但还没被批准的工作产品。 开发库中单独开辟区域,用于存放项目开发全过程中的项目全周期过程记录、外部资料资源等信息。 | ||
| ||
项目启动,开发库建立。 | ||
项目开发中的代码和初始文档 | ||
| ||
《软件入库申请单》审批通过,配置管理员完成受控配置项在开发库中的打标签操作。 | ||
准备移入受控库中的软件配置项 | ||
| ||
裁剪内容 | 裁剪准则 | |
不可裁减 | 无 |
5.2 受控库管理
受控库管理描述见表3:
表3 受控库管理
概述 | 受控库存放软件开发的阶段产品,用于独立测试和系统联试等,由配置管理员控制。 | |
参与人员及职责 |
| |
入口准则 | 《软件入库申请单》审批通过 | |
输入 |
| |
任务/步骤 |
| |
出口准则 | 《软件发放证书》审批通过。 | |
输出(工作产品) |
| |
资源和能力要求 |
| |
裁剪指南 | 裁剪内容 | 裁剪准则 |
不可裁减 | 无 |
5.3 产品库管理
产品库管理描述见表4:
表4 产品库管理
概述 | 产品库用于存放验收通过后的产品,由产品库配置管理员控制。 | |
参与人员及职责 |
| |
入口准则 | 《软件发放证书》审批通过。 | |
输入 |
| |
任务/步骤 |
| |
出口准则 |
| |
输出(工作产品) |
| |
资源和能力要求 |
| |
裁剪指南 | 裁剪内容 | 裁剪准则 |
不可裁减 | 无 |