附录A
软件配置管理计划示例
(参考件)
计划名 CADCSC软件配置管理计划
项目名 中国控制系统CAD工程化软件系统
项目委托单位
代表签名 年 月 日
项目承办单位
代表签名 年 月 日
1 引言
1.1 目的
本计划的目的在于对所开发的CADCSC软件规定各种必要的配置管理条款,以保证所交付的CADCSC软件能够满足项目委托书中规定的各种原则需求,能够满足本项目总体组制定的且经领导小组批准的软件系统需求规格说明书中规定的各项具体需求。
软件开发单位在开发本项目所属的各子系统(其中包括为本项目研制或选用的各种支持软件)时,都应该执行本计划中的有关规定,但可以根据各自的情况对本计划作适当的剪裁,以满足特定的配置管理需求。剪裁后的计划必须经总体组批准。
1.2 定义
本计划中用到的一些术语的定义按GB/T 11457 和GB/T 12504。
1.3 参考资料
GB/T 11457 软件工程术语
GB 8566 计算机软件开发规范
GB 8567 计算机软件产品开发文件编制指南
GB/T 12504 计算机软件质量保证计划规范
GB/T 12505 计算机软件配置管理计划规范
CADCSC 软件质量保证计划
2 管理
2.1 机构
在本软件系统整个开发期间,必须成立软件配置管理小组负责配置管理工作。软件配置管理小组属项目总体组领导,由总体组代表、软件工程小组代表、项目的专职配置管理人员、项目的专职质量保证人员以及各个子系统软件配置管理人员等方面的人员组成,由总体组代表任组长。各子系统的软件配置管理人员在业务上受软件配置管理小组领导,在行政上受子系统负责人领导。
软件配置管理小组和软件配置管理人员必须检查和督促本计划的实施。各子系统的软件配置管理人员有权直接向软件配置管理小组报告子项目的软件配置管理情况。各子系统的软件配置管理人员应该根据对子项目的具体要求,制订必要的规程和规定,以确保完全遵守本计划规定的所有要求。
2.2 任务
在软件工程化生产的各个阶段中,与本阶段的阶段产品有关的全部信息在软件开发库存放,与前面各个阶段的阶段产品有关的信息则在软件受控库存放。在研制与开发阶段的阶段产品的过程中,开发者和开发小组长有权对本阶段的阶段产品作必要的修改;但是如果开发者或开发小组长认为有必要个性前面有关阶段的阶段产品时,就必须通过项目的配置管理小组办理正规的审批手续。因此,软件开发库属开发这个阶段产品的开发者管理,而软件受控库由项目的配置管理小组管理。软件经过组装与系统测试后,应该送入软件产品库,如欲对其修改,必须经软件配置管理小组研究同意,然后报项目总体组组长批准。关于软件配置要进行修改时的具体审批手续,将在第3.2条中详细规定。
2.3 职责
在软件配置管理小组中,各类人员要互相配合、分工协作,共同担负起整个项目的软件配置管理工作。其中各类人员的分工如下:
A. 组长是总体组代表,他对有关软件配置管理的各项工作全面负责,特别要对更改建议的审批和评审负责;
B. 软件工程小组组长负责监督在软件配置管理工作中认真执行软件工程规范;
C. 项目的专职配置管理人员检查在作配置更改时的质量保证措施;
D. 各子系统的配置管理人员具体负责实施各自的配置管理工作,并参与各子系统的功能配置检查和物理配置检查;
E. 用户代表负责反映用户对配置管理的要求,并协助检查各类人员对软件配置管理计划的执行情况;
F. 项目专职的配置管理人员协助组长开展各项软件配置管理活动,负责审查所采用的配置管理工具、技术和方法,并负责汇总、维护和保存有关软件配置管理活动的各项记录。
2.4接口控制
对各类接口进行严格、合理的控制,是软件配置管理中最重要的任务之一。整个软件项目及其各子系统都必须对进行严格的控制。在工程化软件系统中,主要的接口有如下五类:
A. 用户界面:用户界面是指各子系统与设计人员、用户或维护人员之间的操作约定。同时还指实现这些操作约定的物理部件的功能与性能特性。
B. 系统内部接口:系统内部接口是指各子系统在集成为一个总的软件系统时的各种连接约定。
C. 标准程序接口:标准程序接口是指各应用子系统与标准子程序库(包括宿主计算机系统已有的库程序)之间的调用约定。
D. 设备接口:设备接口是指各子系统与各种设备(包括终端和其他各种输入/输出设备)之间的连接约定。
E. 软件接口:软件接口是指各个子系统与宿主计算机上的系统软件以及与调用本软件的其它软件系统之间的连接约定。 以上五类接口是一个软件系统各项配置的重要组成部分。对接口修改进行合理的控制,是软件配置管理的重要任务之一。这五类接口都涉及到CADCSC软件系统的全局,因此,当要求对这五类接口中的任一类接口进行修改时,都必须办理正规的审批手续,最后要经项目总体组批准。具体的审批程序将在本计划的第3.2条中规定(可参阅表1)。
表1 两类修改的审批程序
步骤 A类修改的审批程序 B类修改的审批程序
1 发现问题,填写软件问题报告单 发现问题,填写软件问题报告单
2 项目组长评审 项目组长评审
3 软件配置管理小组评审 子系统配置管理人员评审
4 项目总体组批准 子系统负责人批准
5 修改配置并填写软件修改报告单 修改配置并填写软件修改报告单
6 项目组长评审 项目组长评审
7 软件质量保证小组评审 子系统质量保证人员评审
8 总体组批准 项目的软件配置管理小组与子系统负责人共同批准并报项目总体组备索
2.5 软件配置管理计划的实现
在实现软件配置管理计划的过程中,要特别注意实现以下三个里程碑:
A. 建立软件配置管理小组:在项目总体组批准软件配置管理计划之后,立即成立软件配置管理小组;
B. 建立各阶段的配置基线:随着CADCSC软件系统及其所属各子系统的任务书的评审和批准,建立起功能基线;随着总体组编写的《CADCSC软件需求规格说明书》的批准,建立起指派基线;随着CADCSC工程化软件系统的集成与系统测试的完成,建立起产品基线。
C. 建立软件库:在本项目所属的各个子系统的研制工作的开始,就建立起各个子系统的软件开发库,并在本项目配置管理小组的计算机上建立起有关该系统及其子系统的软件受控库。以后在每个开发阶段的结束,建立各个子系统的新的开发库,同时把这个阶段的阶段产品送入总的软件受控库,并在各个子系统的计算机上建立软件受控库的副本。软件受控库必须以主软件受控库为准。当全部开发工作结束,在配置管理小组的计算机上建立起软件产品库,并在各子系统的计算机上建立软件产品库的副本。
2.6 适用的标准、条例和约定
除应奠定本计划第1.3条中指出的参考资料以及本计划中的其他章条所作的各项规定外,还应该遵守如下标准、条例和约定:
A. 软件开发库、软件受控库与软件产品库的操作规程与管理规程;
B. 系统、子系统、模块和程序单元的命名约定;
C. 文档和测试用例的命名和管理规程。
这引起命名约定、操作规程与管理规程应由CADCSC项目技术组负责制订,并应认真听取各子系统项目负责人的意见,最后报项目总体组审批。在执行过程中,如果发现某些条款需要修改,则必须办理正规的审批手续,最后要经项目总体组批准。具体的审批程序将在本计划的第3.2条中规定。
3 软件配置管理活动
3.1 配置标识
3.1.1 文档
所有为本项目编制的文档,都要符合GB 8567中的规定。CADCSC软件系统及其所属的各个子系统所编写的文档数目,可根据GB 8567的规定作适当的剪裁。剪裁方案由技术组提出建议,报总体组批准。
3.1.2 程序
所有属于本项目的程序、分程序、模块和程序单元,都要按照由项目技术组制订,且经总体组批准的软件系统的命名约定的规定来标识。
3.1.3 各类基线
所有属于本项目及其各子系统的各类基线,首先要按照任务书、软件需求规格说明书的规定确定其技术内容,然后按照软件系统的上述命名约定的规定来标识。
3.2 配置控制
软件配置的更改管理适用于本项目的所有文档和代码,其中包括本项目的各个运行软件,也包括为本项目专门开发的支持软件。配置控制的要点如下:
A. 修改批准权限;对本项目各个子系统及其专用支持软件的功能基线、指派基线、产品基线及其集成系统的任何修改(称为A类修改),都必须通过项目配置管理小组讨论,并必须经总体组批准;对本项目各个子系统及其专用支持软件的其他阶段产品的任何修改(称为B类修改),都必须通过本项目各个子系统的配置管理人员审查,并经项目的软件配置管理小组与各个子系统负责人的共同批准并报项目总体组备案。
B. 修改审批程序:上述两类修改的审批程序如表1。
C. 修改控制工具:修改控制工具是协助软件配置管理人员进行配置控制的有效手段。
3.3 配置状态审计
利用软件问题报告单和软件修改报告单对项目子系统及其支持软件的配置状态进行追踪。对软件问题报告单和软件修改报告单的追踪应由软件配置管理工具自动实现,用户可通过该软件系统对其进行查询。
注:本计划在此处应给出软件问题报告单与软件修改报告单的具体格式,并作出必要的说明。鉴于本计划拟采用附录B(参考件)中建议的格式,因而这两个报告单的格式及其说明可参阅附录B。
3.4 配置的检查和评审
项目软件配置管理小组要对所有由第三方提供的软件进行物理配置检查;对本项目及其各个子系统的每一个新的释放进行功能配置检查和物理配置检查;对宿主计算机系统所提供的软件和硬件配置要每隔半年检查一次;在软件验收前要对宿主计算机系统、各个子系统及其专用支持软件的配置进行综合检查。
在软件开发周期各阶段的评审与检查工作中,要对该阶段所进行的配置管理工作进行必要的评审和检查。应该进行评审与检查的内容与次数,由CADCSC软件质量计划规定。配置修改的审批程序按本计划第3.2条的规定处理(见表1)。
4 工具、技术和方法
在软件的开发过程中,与软件配置有关的工具有软件测试工具、软件配置管理工具、文档辅助生成工具与图形编辑工具等到三种。
A. C软件测试工具:它支持用C语言编写的模块的静态分析、结构测试与功能测试。主要功能为:协助测试人员判断程序结构与变量使用情况是否有错;给测试人员提供模块语句覆盖C0和分支覆盖率C1的值、并显示未覆盖语句和未覆盖分支的号码及其分支谓词,给出不同测试用例有效性的表格;同时提出功能测试的有效情况,并协助组织最终交付给用户的有效测试用例的集合。
B. 软件配置管理工具:它支持用户对源代码清单的更新管理以及对重新编译与连接的代码的自动组织;支持用户在不同文档相关内容之间进行相互检索并确定同一文档某一内容在本文档中的涉及范围;同时还应支持软件配置管理小组对软件配置更改进行科学的管理。
C. 文档辅助生成工具与图形编辑工具:它主要协助用户绘制描述程序流程与结构的DFD图与SC图、绘制描述软件功能(输入、输出关系)的曲线以及绘制描述系统特性的一些其他图形,同时还可生成若干与CADCSC软件文档编制大纲适应的文档模板。用户利用这个工具的正文与图形编辑功能以及上述辅助功能,可以比较方便地产生清晰悦目的文档,也有利于对文档进行更改,这有助于提高文档的编制质量。
有关这些工具的详细需求可参阅这三项工具的需求规格说明书中的规定。
5 对供货单位的控制
CADCSC项目所属的各个子系统开发组如果需要从软件销售单位购买、委托其他开发单位、从开发单位现存软件库选用或从项目委托单位或用户的现有连锁反应加中选用软件时,则在选用前应向CADCSC总体组报告,然后由CADCSC总体组组织"软件选用评审小组"进行评审、测试与检查,只有当演示成功、测试合格后才能批准使用。如果只选用其中部分内容,则按等待开发软件的处理过程办理,此时CADCSC总体组不予预。在进行上述工作过程中,软件配置管理人员要进行下列工作:
A. 项目的软件配置管理小组要参加对上述四类由间接供货单位提供的软件的物理配置检查; 这些软件的功能配置检查由项目的软件质量保证小组负责。
B. 在这些软件送入软件受控库与其他软件成分进行组装之前,软件配置管理小组要对其存放媒体和配置标识进行认真的审查。
C. 由软件质量保证小组审查选用的上述四类软件,必须经过正式的验收手续,并由项目技术管理小组负责人批准,然后置于软件配置管理小组的控制之下。
6 记录的惧维护和保存
在本项目及其所属的各个子系统的研制与开发期间,要进行各种软件配置管理活动。准确记录、及时分析并妥善存放有关这些活动的记录,对这些软件的下沉运行与维护工作十分有利。在软件配置管理小组中,应有专人负责收集、汇总与保存这些记录。
A. 基础上组装系统、各个子系统、专用支持软件及选用软件的功能基线、指派基线与产品基线要送入软盘或磁带,至少必须一式两份且存放在两个不同的地点。这些记录应该每6个月拷贝一次,以免意外损伤与自然老化。
B. 上述这些软件的文档也应送入软盘或磁带,至少必须工式两份且存放在两个不同的地点,并应有一份打印的硬拷贝。磁媒体应该每隔6个月拷贝一次,以免意外损伤与自然老化。
C. 软件产品的源程序、测试数据、测试报告及其他有关文档,除了按A、B规定妥善存放外,要在项目结束后再保存2年,或在条件成熟时转交给这些软件产品的生产系统。
注:具体保存年限要根据项目的性质与开发单位的任务来确定,此处仅作为一个示例。
D. 上述这些软件的各项配置的个性状态、评审记录与修改历史,要作为这些软件的历史记录来保存,目前可用打印硬拷贝一式两份存放,有条件时再转移到在线光学存储媒体中。
E. 鉴于处理版权或清理财务的需要,本软件系统的各项配置可能要求存放5~7年,但由于我国对这些问题尚无明确的规定,因此,有关本条款的具体规定待将来有必要与可能时再作修改与补充。
|