UML软件工程组织

计算机软件配置管理计划规范
来自 赵文锋
1. 主题内容与适用范围

本规范规定了在制订软件配置管理计划时应该遵循的统一的基本要求。
本规范适用于软件特别是重要软件的配置管理计划的制订工作。对于非重要软件或已开发好的软件,可以采用本规范规定的要求的子集。

2. 引用标准

GB/T 11457 软件工程术语
GB 8566 计算机软件开发规范
GB 8567 计算机软件产品开发文件编制指南
GB/T 12504 计算机软件质量保证计划规范

3. 术语

下面给出在本规范中用到的一些术语的定义,其它术语的定义按GB/T 11457。在引用时,特别要注意线(baseline)、配置控制(configuration)、配置控制组(configuration control board)、配置检查(configuration audit)、配置标识(configurationidentification)和配置状态记录(configuration status accounting)等术语的定义。
3.1项目委托单位 project entrust organization
项目委托单位是指为产品开发提供资金并通常也是(但有时也未必)确定产品需求的单位或个人。
3.2 项目承办单位 project undertaking organization
项目承办单位是指为项目委托单位开发、购置或选用软件产品的单位或个人。
3.3 软件开发单位 software development organization
软件开发单位是指直接或间接受项目委托单位委托而直接负责开发软件的单位或个人。
3.4 用户 user
用户是指实际全胜软件来完成某项计算、控制或数据处理等任务的单位或个人。
3.5 软件 software
软件是指计算机程序及其有关的数据和文档,也包括固化了的程序。
3.6 重要软件 critical software
重要软件是指其故障会影响到人身安全、会导致重大经济损失或社会损失的软件。
3.7 软件生存周期 software life cycle
软件生存周期是指从软件系统设计对软件系统提出应用需求开始,经过开发,产生出一个满足需求的计算机软件系统,然后投入运行,直至该软件系统退役为止。其间经历系统分析与软件定义、软件开发以及系统的运行与维护等三个阶段。其中软件开发阶段一般又分成需求分析、概要设计、详细设计、编码与单元测试、组装与系统测试以及安装与验收等六个阶段。
3.8 软件开发库 software development library
软件开发库是指在软件生存周期的某一个阶段期间,存放与该阶段软件开发工作有关的计算机可读信息和人工可读信息的库。
3.9 软件受控库 software sontrolled library
软件受控库是指在软件生存周期的某一个阶段结束时,存放作为阶段产品而释放的、与软件开发工作有关的计算机可读信息一人工可读信息的库。软件配置管理就是对软件受控库中的各软件项进行管理,因此软件受控库也叫做软件配置管理库。
3.10 软件产品库 software product libary
软件产品库是指在软件生存周期的组装与系统测试阶段结束后,存放最终产品而后交付给用户运行或在现场安装的软件的库。
3.11 接口控制 interface control
接口控制是指描述有关由一个或多个部门提供的两个或两个以上的配置项接口的所有功能特性和物理特性的过程。在实现之前,要确保对这些功能特性和物理特性所建议的修改已经过评审和批准。
3.12 功能基线 functional baseline
功能基线是指在系统分析与软件定义阶段结束时,经过正式评审和批准的系统设计规格说明书中对待开发系统的规格说明;或是指经过项目委托单位和项目承办单位双方签字同意的协议书或合同中所规定的对待开发软件系统的规格说明;或是由下级申请经上级同意或直接由上级下达的项目任务书中所规定的对待开发软件系统的规格说明。功能基线是最初批准的功能配置标识。
3.13 指派基线 allocated baseline
指派基线是指在软件需求分析阶段结束时,经过正式评审和批准的软件需求的规格说明。指派基线是最初批准的指派配置标识。
3.14 产品基线 product baseline
产品基线是指在软件组装与系统测试阶段结束时,经过正式评审的批准的有关所开发的软件产品的全部配置项的规格说明。产品基线是最初批准的产品配置标识。
3.15 软件配置 software configuration
软件配置是指一个软件产品在软件生存周期各个阶段所产生的各种形式(机器可读或人工可读)和各种版本的文档、程序及其数据的集合。该集合中的每一个元素称为该软件产品软件配置中的一个配置项(configuration item)。
3.16 释放 release
释放是指在软件生存周期的各个阶段结束时,由该阶段向下阶段提交该阶段产品的过程。它也指将集成与系统测试阶段结束时所获得的最终产品向用户提交的过程。后面这个过程也中做交付(delivery)。

4. 软件配置管理计划编制大纲

项目承办单位(或软件开发单位)中负责软件配置管理的机构或个人,必须制订一个包括下面各章内容的的软件配置管理计划(以下简称计划)。各章必须按所描述的顺序排列。如果某章中没有相应的内容,则在该章标题之后必须说明"本章无内容"的字样,并附上相应的理由。如果需要,可以在后面增加章条。如果某些材料已经出现在其它文件中,则在该计划中应引用那些文件。计划的封面必须标明计划名和该计划所属的项目名,并必须经项目委托单位和项目承办单位(或软件开发单位)的代表共同签字、批准。计划的目次是: 引言
管理
软件配置管理活动
工具、技术和方法
对供货单位的控制
记录的收集、维护和保存
下面给出软件配置管理计划的各个章条必须具有的内容。
4.1 引言
4.1.1 目的
本条必须指明特定的软件配置管理计划的具体目的,还必须描述该计划所针对的软件项目及其所属的各个子项目的名称和用途。
4.1.2 定义和缩写词
本条应该列出计划正文中需要解释的、而在GB/T 11457中尚未包含的术语的定义,必要时,还要给出这些定义的英文单词及其缩写词。
4.1.3 参考资料
本条必须列出计划正文中所引用资料的名称、代号、编号、出版机构和出版年月。
4.2 管理
本章必须描述负责软件配置管理的机构、任务、职责及其有关的接口控制。
4.2.1 机构
本条必须描述在各阶段中负责软件配置管理的机构。描述的内容如下:
A. 描述在软件生存周期各阶段中软件配置管理的功能和负责软件配置管理的机构;
B. 说明项目和子项目与其他有关项目之间的关系;
C. 指出在软件生存周期各阶段中的软件开发或维护机构与配置控制组的相互关系。
4.2.2 任务
本条必须描述在软件生存周期各个阶段中的配置管理任务以及要进行评审的检查工作,并指出各个阶段的阶段产品应存放在哪一类软件库中(软件开发库、软件受控库或软件产品库)。
4.2.3 职责
本条必须描述与软件配置管理有关的各类机构或成员的职责,并指出这些机构或成员相互之间的关系。
A. 指出负责各项软件配置管理任务(如配置标识、配置控制、配置状态记录以及配置的评审与检查)的机构的职责;
B. 指出上述机构与软件质量保证机构、软件开发单位、项目承办单位、项目委托单位以及用户等机构的关系;
C. 说明由本计划第4.2.2条指明的生存周期各个阶段的评审、检查和审批过程中的用户职责以及相关的开发与维护活动;
D. 指出与项目开发有关的各个机构的代表的软件配置管理职责;
E. 指出其他特殊职责,例如为满足软件配置管理要求所必要的批准要求。
4.2.4 接口控制
本条应该描述:
A. 接口规格说明标识和文档控制的方法;
B. 对已交付的接口规格说明和文档进行修改的方法;
C. 对要完成的软件配置管理活动进行跟踪的方法;
D. 记录和报告接口规格说明和文档控制状态的方法;
E. 控制软件和劫持它运行的硬件之间的接口的方法。
4.2.5 实现
本条应该规定实现软件配置管理计划的主要里程碑,例如:
A. 建立配置控制组;
B. 确定各个配置基线;
C. 建立接口控制协议;
D. 制订评审与检查软件配置管理计划和规程;
E. 制订相关的软件开发、测试和劫持工具的配置管理计划和规程。
4.2.6 适用的标准、条例和约定
4.2.6.1 本条必须指明所适用的软件配置管理标准、条例和约定,并把它们作为本计划要实现的一部分;还必须说明这些标准、条例和约定要实现的程度。
4.2.6.2 本条必须描述要在本项目中编写和实现的软件配置管理标准、条例和约定。
这些标准、条例和约定可以包括如下内容:
A. 软件结构层次树中软件位置的标识方法;
B. 程序和模块的命名约定;
C. 版本级别的命名约定;
D. 软件产品的标识约定;
E. 规格说明、测试计划与测试规程、程序设计手册及其他文档的标识方法;
F. 媒体和文档管理的标识方法;
G. 文档交付过程;
H. 软件产品库中软件产品入库、移交或交付的过程;
I. 问题报告、修改请求和修改次序的处理过程;
J. 配置控制组的结构和作用;
K. 软件产品交付给用户的验收规程;
L. 软件库的操作,包括准备、存储和更新模块的方法;
M. 软件配置管理活动的检查;
N. 问题报告、修改请求或修改次序的文档要求,指出配置修改的目的和影响;
O. 软件进入配置管理之前的测试级别;
P. 质量保证级别,例如,在进入配置管理之前,验证软件满足有关基线的程序。
4.3 软件配置管理活动
本章必须描述配置标识、配置控制、配置状态记录与报告以及配置检查与评审等到四方面的软件配置管理活动的需求。
4.3.1 配置标识
4.3.1.1 本条必须详细说明软件项目的基线(即最初批准的配置标识),并把它们与本计划第4.2.2条描述的生存周期的特定阶段相联系。在软件生存周期中,主要有三种基线,它们是功能基线、指派基线和产品基线。对于每个基线,必须描述下列内容: A. 每个基线的项(包括应交付的文档和程序);
B. 与每个基线有关的评审与批准事项以及验收标准;
C. 在建立基线的过程中用户和开发者可的参与情况。
例如,在产品基线中,要定义的元素可以包括:
A. 产品的名字和命名规则;
B. 产品标识编号;
C. 对每一个新交付的版本,要给出版本交付号、新修改的描述、修改交付的方法、对支持软件的修改要求以及有关文档的修改要求;
D. 安装说明;
E. 已知的缺陷和故障; F. 软件媒体和媒体标识。
4.3.1.2 本条必须描述本项目所有软件代码和文档的标题、代号、编号以及分类规程。例如,对代码来说:
A. 编译日期可以作为每个交付模块标识的一部分;
B. 在构造模块源代码的顺序行号时,应使它适合于对模块作进一步子修改。
4.3.2 配置控制
4.3.2.1 本条必须描述在本计划第4.2.2条描述的软件生存周期中各个阶段使用的修改批准权限的级别。
4.3.2.2 本条必须定义对已有配置的修改建议进行处理的方法,其中包括:
A. 详细说明书在本计划第4.2.2条描述的软件生存周期各个阶段中提出建议的程序(可以用注上自然语言的流程图来表达);
B. 描述实现已批准的修改建议(包括源代码、目标代码和文档的修改)的方法;
C. 描述软件库控制的规程,其中包括存取控制、对于适用基线的读写保护、成员保护、成员标识、档案维护、修改历史以及故障恢复等七项规程;
D. 如果有必要修补目标代码,则要描述其标识和控制的方法。
4.3.2.3 对于各个不同层次的配置控制组和其他修改管理机构,本条必须:
A. 定义其作用,并规定其权限和职责;
B. 如果已组成机构,则指明该机构的领导人员及其成员;
C. 如果还没有组成机构,则说明怎样任命该机构的领导人、成员及代理人; D. 说明开发者和用户与配置控制组的关系。
4.3.2.4 当要与不属于本软件配置管理计划适用范围的程序和项目进行接口时,本条必须说明对其进行配置控制的方法。如果这些软件的修改需要其他机构在配置控制组评审之前或之后进行评审,则本条必须描述这些机构的组成、它们与配置控制组的关系以及它们之间的相互关系。
4.3.2.5 本条必须说明与特殊产品(如非交付的软件、现存软件、用户提供的软件和内部支持软件)有关的配置控制规程。
4.3.3 配置状态的记录和报告
本条必须: A. 指明怎样收集、验证、存储、处理和报告配置项的状态信息;
B. 详细说明要定期提供的报告及其分发办法;
C. 如果有动态查询,要指出所动态查询的能力;
D. 如果要求记录用户说明的特殊状态时,要描述其实现手段。
例如,在配置状态记录和报告中,通常要描述的信息有:
A. 规格说明的状态;
B. 修改建议的状态;
C. 修改批准的报告;
D. 产品版本或其修改版的状态;
E. 安装、更新或交付的实现报告;
F. 用户提供的产品(如操作系统)的状态;
G. 有关开发项目历史的报告。
4.3.4 配置的检查和评审 本条必须:
A. 定义在软件配置计划的第4.2.2条所定义的软件生存周期的特定点上执行的检查和评审中软件配置管理计划的作用;
B. 规定每次检查和评审所包含的配置项;
C. 指出用于标识和解决在检查和评审期间所发现的问题的工作规程。
4.4 工具、技术和方法
本章必须指明为支持特定项目的软件配置管理所使用的软件工具、技术和方法,指明它们的目的,并在开发者所有权的范围内描述其用法。例如,可以包括用于下列任务的工具、技术和方法:
A. 软件媒体和媒体的标识。
B. 把文档和媒体置于软件配置管理的控制之下,并把它正式地交付给用户。例如,要给出对软件库内的源代码和目标代码进行控制的工具、技术和方法的描述;如果用到数据库管理系统,则还要对该系统进行描述。又如,要指明怎样使用软件库工具、技术和方法来处理软件产品的交付。 C. 编制关于程序及其有关文档的修改状态的文档。因此必须进一步定义用于准备多种级别(如项目负责人、配置控制小组、软件配置管理人员和用户)的管理报告的工具、技术和方法。
4.5 对供货单位的控制
供货单位是指软件销售单位、软件开发单位或软件子开发单位。必须规定对这些供货单位进行控制的管理规程,从而使从软件销售单位购买的、其他开发单位开发的或从开发单位现存软件库中选用的软件能满足规定的软件配置管理需求。管理规程应该规定在本软件配置管理计划的执行范围内控制供货单位的方法;还应解释用于确定供货单位的软件配置管理能力的方法以及监督他们遵循本软件配置管理计划需求的方法。
4.6 记录的收集、维护和保存
本章必须指明要保存的软件配置管理文档,指明用于汇总、保护和维护这些文档的方法和设施(其中包括要使用的后备设施),并指明要保存的期限。


附录A:软件配置管理计划示例

附录B:配置管理报表及其格式

 

版权所有:UML软件工程组织