1 主题内容与适用范围
本规范规定了在制订软件质量保证计划时应该遵循的统一的基本要求。
本规范适用于软件特别是重要软件的质量保证计划的制订工作。对于非重要软件或已经开发好的软件,可以采用本规范规定的要求的子集。
2 引用标准
GB/T 11457 软件工程术语
GB 8566 计算机软件开发规范
GB 8567 计算机软件产品开发文件编制指南
GB/T 12505 计算机软件配置管理计划规范
3 术语
下面给出本规范中用到的一些术语的定义,其他术语的定义按 GB/T 11457 。
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 验证 verification
验证是指确定软件开发周期中的一个给定阶段的产品是否达到上一阶段确立的需求的过程。
3.9 确认 validation
确认是指在软件开发过程结束时对软件进行评价以确定它是否和软件需求相一致的过程。
3.10 测试 testing
测试是指通过执行程序来有意识地发现程序中的设计错误和编码错误的过程。测试是验证和确认的手段之一。
3.11 软件质量 software quality
软件质量是指软件产品中能满足给定需求的各种特性的总和。这些特性称做质量特性,它包括功能度、可靠性、易使用性、时间经济性、资源经济性、可维护性和可移植性等。
3.12 质量保证 quality assurance
质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。
4 软件质量保证计划编制大纲
项目承办单位(或软件开发单位)中负责软件质量保证的机构或个人,必须制订一个包括以下各章内容的软件质量保证计划(以下简称计划)。各章应以所给出的顺序排列;如果某章中没有相应的内容,则在该章标题之后必须注明 “ 本章无内容 ” 的字样,并附上相应的理由;如果需要,可以在后面增加章条;如果某些材料已经出现在其他文档中,则在该计划中应引用那些文档。计划的封面必须标明计划名和该计划所属的项目名,并必须由项目委托单位和项目承办单位(或软件开发单位)的代表共同签字、批准。计划的目次是:
引言
管理
文档
标准、条例和约定
评审和检查
软件配置管理
工具、技术和方法
媒体控制
对供货单位的控制
记录的收集、维护和保存
下面给出软件质量保证计划的各个章条必须具有的内容。
4.1 引言
4.1.1 目的
本条必须指出特定的软件质量保证计划的具体目的。还必须指出该计划所针对的软件项目(及其所属的各个子项目)的名称和用途。
4.1.2 定义和缩写词
本条应该列出计划正文中需要解释的而在 GB/T 11457 中尚未包含的术语的定义,必要时,还要给出这些定义的英文单词及其缩写词。
4.1.3 参考资料
本条必须列出计划正文中所引用资料的名称、代号、编号、出版机构和出版年月。
4.2 管理
必须描述负责软件质量保证的机构,任务及其有关的职责。
4.2.1 机构
本条必须描述与软件质量保证有关的机构的组成。还必须清楚地描述来自项目委托单位、项目承办单位、软件开发单位或用户中负责软件质量保证的各个成员在机构中的西相互关系。
4.2.2 任务
本条必须描述计划所涉及的软件生存周期中有关阶段的任务,特别要把重点放在描述这些阶段所应进行的软件质量保证活动上。
4.2.3 职责
本条必须指明软件质量保证计划中规定的每一个任务的负责单位或成员的责任。
4.3 文档
必须列出在该软件的开发、验证与确认以及使用与维护等阶段中需要编制的文档,并描述对文档进行评审与检查的准则。
4.3.1 基本文档
为了确保软件的实现满足需求,至少需要下列基本文档:
4.3.1 .1 软件需求规格说明书 software requirements specification
软件需求规格说明书必须清楚、准确地描述软件的每一个基本需求(功能、性能、设计约束和属性)和外部界面。必须把每一个需求规定成能够通过预先定义的方法(例如检查、分析、演示或测试等)被客观地验证与确认的形式。软件需求规格说明书的详细格式按 GB 8567 。
4.3.1 .2 软件设计说明书 software design description
软件设计说明书应该包括软件概要设计说明和软件详细设计说明两部分。其概要设计部分必须描述所设计软件的总体结构、外部接口、各个主要部件的功能与数据结构以及各主要部件之间的接口;必要时还必须对主要部件的每一个子部件进行描述。其详细设计部分必须给出每一个基本部件的功能、算法和过程描述。软件设计说明书的详细格式按 GB 8567 。
4.3.1 .3 软件验证与确认计划 software verification and validation plan
软件验证与确认计划必须描述所采用的软件验证和确认方法(例如评审、检查、分析、演示或测试等),以用来难软件需求规格说明书中的需求是否已由软件设计说明书描述的设计实现;软件设计说明书表达的设计是否已由编码实现。软件验证与确认计划还可用来确认编码的执行是否与软件需求规格说明书中所规定的需求相一致。软件验证与确认计划的详细格式按 GB 8567 中的测试计划的格式。
4.3.1 .4 软件难和确认报告 software verification and validation report
软件验证与确认报告必须描述软件验证与确认计划的执行结果。这里必须包括软件质量保证计划所需要的所有评审、检查和测试的结果。软件验证与确认报告的详细格式按 GB 8567 中的测试报告的格式。
4.3.1 .5 用户文档 user documentation
用户文档(例如手册、指南等)必须指明成功运行该软件所需要的数据、控制命令以及运行条件等;必须指明所有的出错信息、含义及其修改方法;还必须描述将用户发现的错误或问题通知项目承办单位(或软件开发单位)或项目委托单位的方法。用户文档的详细格式按 GB 8567 。 4.3.2 其他文档
除基本文档外,还应包括下列文档:
a. 项目实施计划(其中可包括软件配置管理计划,但在必要时也可单独制订该计划):其详细格式按 GB 8567 。
b. 项目进展报表:其详细格式可参考本规范附录 B (参考件)中有关《项目进展报表》的各项规定。
c. 项目开发各个阶段的评审报表:其详细格式可参考本规范附录 C (参考件)中有关《项目阶段评审表》的各项规定。
d. 项目开发总结:其详细格式按 GB 8567 。
4.4 标准、条例和约定
必须列出软件开发过程中要用到的标准、条例和约定,并列出监督和保证书执行的措施。
4.5 评审和检查
必须规定所要进行的技术和管理两方面的评审和检查工作,并编制或引用有关的评审和检查堆积以及通过与否的技术准则。至少要进行下列各项评审和检查工作:
4.5.1 软件需求评审 software requirements review
在软件需求分析阶段结束后必须进行软件需求评审,以确保在软件需求规格说明书中所规定的各项需求的合适性。
4.5.2 概要设计评审 preliminary design review
在软件概要设计结束后必须进行概要设计评审,以评价软件设计说明书中所描述的软件概要设计的总体结构、外部接口、主要部件功能分配、全局数据结构以及各主要部件之间的接口等方面的合适性。
4.5.3 详细设计评审 detailed design review
在软件详细设计阶段结束后必须进行详细设计评审,以确定软件设计说明书中所描述的详细设计在功能、算法和过程描述等方面的合适性。
4.5.4 软件验证与确认评审 software verification and validation review
在制订软件验证与确认计划之后要对它进行评审,以评价软件验证与确认计划中所规定的验证与确认方法的合适性与完整性。
4.5.5 功能检查 functional audit
在软件释放前,要对软件进行功能检查,以确认已经满足在软件需求规格说明书中规定的所有需求。
4.5.6 物理检查 physical audit
在验收软件前,要对软件进行物理检查,以验证程序和文档已经一致并已做好了交付的准备。
4.5.7 综合检查 comprehensive audit
在软件验收时,要允许用户或用户所委托的专家对所要验收的软件进行设计抽样的综合检查,以验证代码和设计文档的一致性、接口规格说明之间的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。
4.5.8 管理评审 management reviews
要对计划的执行情况定期(或按阶段)进行管理评审;这些评审必须由独立于被评审单位的机构或授权的第三方主持进行。
4.6 软件配置管理
必须编制有关软件配置管理的条款,或引用按照 GB/T 12505 单独制订的文档。在这些条款或文档中,必须规定用于标识软件产品、控制和实现软件的修改、记录和报告修改实现的状态以及评审和检查配置管理工作等四方面的活动。还必须规定用以维护和存储软件受控版本的方法和设施;必须规定对所发现的软件问题进行报告、追踪和解决的步骤,并指出实现报告、追踪和解决软件问题的机构及其职责。
4.7 工具、技术和方法
必须指明用以支持特定软件项目质量保证工作的工具、技术和方法,指出它们的目的,描述它们的用途。
4.8 媒体控制
必须指出保护计算机程序物理媒体的方法和设施,以免非法存取、意外损坏或自然老化。
4.9 对供货单位的控制
供货单位包括项目承办单位、软件销售单位、软件开发单位或软件子开发单位。必须规定对这些供货单位进行控制的规程,从而保证项目承办单位从软件销售单位购买的、其他开发单位(或子开发单位)开发的或从开发(或子开发)单位现存软件库中选用的软件能满足规定的需求。
4.10 记录的收集、维护和保存
必须指明需要保存的软件质量保证活动的记录,并指出用于汇总、保护和维护这些记录的方法和设施,并指明要保存的期限。
附录 A 软件质量保证计划示例(参考件)
计划名 CADCSC 软件质量保证计划
项目名 中国控制系统 CAD 工程化软件系统
项目委托单位
代 表 签 名 年 月 日
项目承办单位
代 表 签 名 年 月 日
1 引言
1.1 目的
本计划的目的在于对所开发的 CADCSC 软件规定各种必要的质量保证措施,以保证所交付的 CADCSC 软件能够满足项目委托书或合同中规定的各项需求,能够满足本项目总体组制定的且经领导小组批准的该软件系统需求规格说明书中规定的各项具体需求。
软件开发单位在开发 CADCSC 软件系统所属的各个子系统(其中包括为本项目研制或选用的各种支持软件)时,都应该执行本计划中的有关规定,但可根据各自的情况对本计划作适当的剪裁,以满足特定的质量保证要求,剪裁后的计划必须经总体组批准。
1.2 定义
本计划用到的一些术语的定义按 GB/T 11457 和 GB/T 12505 。
1.3 参考资料
GB/T 11457 软件工程术语
GB 8566 计算机软件开发规范
GB 8567 计算机软件产品开发文件编制指南
GB/T 12504 计算机软件质量保证计划规范
GB/T 12505 计算机软件配置管理计划规范
CADCSC 软件配置管理计划
2 管理
2.1 机构
在本软件系统整个开发期间,必须成立软件质量保证小组负责质量保证工作。软件质量保证小组属总体组领导,由总体组代表、项目的软件工程小组代表、项目的专职质量保证人员、项目的专职配置管理人员以及各个子系统软件质量保证人员等方面的人员组成,由项目的软件工程小组代表任组长。各子系统的软件质量保证人员在业务上受软件质量保证小组领导,在行政上受各子系统负责人领导。
软件质量保证小组和软件质量保证人员必须检查和督促本计划的实施。各子系统的软件质量保证人员有权直接向软件质量保证小组报告子项目的软件质量状况。各子系统的软件质量保证人员应该根据对子项目的具体要求,制订必要的规程和规定,以确保完全遵守本计划的所有要求。
2.2 任务
软件质量保证工作涉及软件生存周期各阶段的活动,应该贯彻到日常的软件开发活动中,而且应该特别注意软件质量的早期评审工作。因此,对新开发的或正在开发的各子系统,要按照 GB 8566 与本计划的各项规定进行各项评审工作。软件质量保证小组要派成员参加所有的评审与检查活动。评审与检查的目的是为了确保在软件开发工作的各个阶段和各个方面都认真采取各项措施来保证与提高软件的质量。在 CADCSC 软件开发过程中,经总体组研究决定,要进行如下几类评审与检查工作:
a. 阶段评审:在软件开发过程中,要定期地或阶段性地对某一开发阶段或某几个开发阶段的阶段产品进行评审。根据总体组研究决定,在 CADCSC 软件及其所属各子系统的开发过程中,应该进行以下三次评审:第一次评审软件需求、概要设计、验证与确认方法;第二次评审详细设计、功能测试与演示,并对第一次评审结果复核;第三次是功能检查、物理检查和综合检查。关于这些评审工作的详细内容见第 5 章。
阶段评审工作要组织专门的评审小组,原则上由项目总体小组成员或特邀专家担任评审组长,评审小组成员应该包括项目委托单位或用户的代表、质量保证人员、软件开发单位和上级主管部门的代表,其他参加人员视评审内容而定。
每一次评审工作都应填写评审总结报告( RSR )、评审问题记录( RPL )、评审成员签字表( RMT )与软件问题报告单( SPR )等四张表格。这四张阶段评审报表的具体格式应与附录 C 中的规定相一致。
b. 日常检查:在 CADCSC 软件的工程化生产过程中,各子系统应该填写项目进展报表,即软件进展报表表头、软件阶段进度表、软件阶段产品完成情况表、软件开发费用表等四张表格。项目总体组杨以通过项目进展季报表发现有关软件质量的问题。项目进展季报表的具体格式应与附录 B 中的规定相一致。
c. 软件验收:必须组织专门的验收小组对 CADCSC 软件系统及其所属各个子系统进行验收。验收工作应按照经项目委托单位 “ 国家自然科学基金委员会信息科学部 ” 与 CADCSC 总体组双方都认可的验收规程正式履行验收手续。验收内容应包括文档验收、程序验收、演示、验收测试与测试结果评审等几项工作。具体的验收规程另行制订。
2.3 职责
在 CADCSC 项目的软件质量保证小组中,其各方面人员的职责如下:
a. 组长全面负责有关软件质量保证的各项工作;
b. 总体组代表负责有关阶段评审、项目进展报表检查以及软件验收准备等三方面工作中的质量保证工作;
c. 项目的专职配置管理人员负责有关软件配置变动、软件媒体控制以及对供货单位的控制等三方面的质量保证活动;
d. 各子系统的软件质量保证人员负责测试复查和文档的规范化检查工作;
e. 用户代表负责反映用户的质量要求,并协助检查各类人员对软件质量保证计划的执行情况;
f. 项目的专职质量保证人员协助组长开展各项软件质量保证活动,负责审查所采用的质量保证工具、技术和方法,并负责汇总、维护和保存有关软件质量保证活动的各项记录。
3 文档
本章给出了在 CADCSC 软件开发过程各阶段需要编制的文档名称及其要求,并且规定了评审文质量的通用的度量准则。
3.1. 基本文档
为了确保软件的实现满足项目委托单位 “ 国家自然科学基金委员会信息科学部 ” 认可的需求规格说明书中规定的各项需求, CADCSC 软件各开发单位至少应该编写以下八个方面内容的文档:
a. 软件需求规格说明书( SRS );
b. 软件设计说明书( SDD ),对一些规模较大或复杂性较高的项目,应该把本文档分成概要设计说明书( PDD )与详细设计说明书( DDD )两个文档;
c. 软件测试计划( STP );
d. 软件测试报告( STR );
e. 用户手册( SUM );
f. 源程序清单( SCL );
g. 项目实施计划( PIP );
h. 项目开发总结( PDS )。
3.2 其他文档
除了基本文档之外,对于尚在开发中的软件,还应该包括以下四个方面的文档:
a. 软件质量保证计划( SQAP );
b. 软件配置管理计划( SCMP );
c. 项目进展报表( PPR );
d. 阶段评审报表( PRR )。
注:前面两个文档由项目软件工程小组制订,属于管理文档,各个子系统的项目承办单位与软件开发单位都应充分考虑执行计划中规定的条款。后面两类文档属于工作文档,就是本计划的 2.2 中提到的四张阶段评审表与四张项目进展季报表,各个子系统的项目承办单位或软件开发单位应该按照规定要求认真填写有关内容。
3.3 文档质量的度量准则
文档是软件的重要组成部分,是软件生存周期各个不同阶段的产品描述。验证和确认就是要检查各阶段文档的合适性。评审文档质量的度量准则有以下六条:
a. 完备性:所有承担软件开发任务的单位,都必须按照 GB 8567 的规定编制相应的文档,以保证在开发阶段结束时其文档是齐全的。
b. 正确性:在软件开发各个阶段所编写的文档的内容,必须真实地反映该阶段的工作且与该阶段的需求相一致。
c. 简明性:在软件开发各个阶段所编写的各种文档的语言表达应该清晰、准确简练,适合各种文档的特定读者。
d. 可追踪性: 在软件开发各个阶段所编写的各种文档应该具有良好的可追踪性。文档的可追踪性包括纵向可追踪性与横向可追踪性两个方面。前者是指在不同文档的相关内容之间相互检索的难易程度;后者是指确定同一文档某一内容在本文档中的涉及范围的难易程度。
e. 自说明性:在软件开发各个阶段所编写的各种文档应该具有较好的自说明性。文档的自说明性是指在软件开发各个阶段中的不同文档能独立表达该软件其相应阶段的阶段产品的能力。
f. 规范性:在软件开发各个阶段所编写的各种文档应该具有良好的规范性。文档的规范性是指文档的封面、大纲、术语的含义以及图示符号等符合有关规范的规定。
4 标准、条例和约定
在 CADCSC 工程化软件系统的开发过程中,还必须遵守下列标准、条例和约定:
a. 《 CADCSC 软件配置管理计划》, CADCSC 软件工程小组编, 1988 年。
b. 《 C 语言编程格式约定》, CADCSC 软件工程小组编, 1988 年。
5 评审和检查
本章具体规定了应该进行的阶段评审、阶段评审的内容和评审时间要求。对新开发的或正在开发的各个子系统,都要按照 GB 8566 的规定认真进行定期的或阶段性的各项评审工作。就整个软件开发过程而言,至少要进行软件需求评审、概要设计评审、详细设计评审、软件验证和确认评审、功能检查、物理检查、综合检查以及管理评审等八个方面的评审和检查工作。如本计划第 2.2 条所述,经总体组研究决定,在 CADCSC 软件及其所属各个子系统的开发过程中,把前七种评审分成三次进行。在每次评审之后,要对评审结果作出明确的管理决策。下面给出每次评审应该进行的工作。
5.1 第一次评审
第一次评审会对软件需求、概要设计以及验证与确认方法进行评审。
a. 软件需求评审( SRR )应确保在软件需求规格说明书中规定的各项需求的合理性。
b. 概要设计评审( PDR )应评价软件设计说明书中的软件概要设计的技术合适性。
c. 软件验证和确认评审( SV&VR )应评价软件验证和确认计划中确定的验证和确认方法的合适性与完整性。
5.2 第二次评审
第二次评审会要对详细设计、功能测试与演示进行评审,并对第一次评审结果进行复核。如果在软件开发过程中发现需要修改第一次评审结果,则应按照《 CADCSC 软件配置管理计划》的规定处理。
a. 详细设计评审( DDR )应确定软件设计说明书中的详细设计在满足软件需求规格说明书中的需求方面的可接受性。
b. 编程格式评审应确保所有编码采用规定的工作语言,能在规定的运行环境中运行,满足《 C 语言编程格式约定》,并且符合 GB 8566 中提倡的编程风格。在满足这些要求之后,方可进行测试工作评审。
c. 测试工作评审应对所有的程序单元进行静态分析,检查其程序结构(即模块和函数的调用关系和调用序列)和变量使用是否正确。在通过静态分析后,再进行结构测试和功能测试。在结构测试中,所有程序单元结构测试的语句覆盖率 Co 必须等于 100% ,分支覆盖率 C1 必须大于或等于 85% 。要给出每个单元的输入和输出变量的变化范围。各个子系统只进行功能测试,不单独进行结构测试,因而要登录程序单元之间接口的变量值,力图使满足单元测试的 C1 和 Co 准则的那此测试用例在子系统功能测试时得到再现。测试工作评审要检查所进行的测试工作是否满足这些要求。特别在评审功能测试工作时,不仅要运行变量的等价值,而且要运行变量的(合法的和非法的)边界值;不仅要运行开发单位给出的测试用例,而且要允许运行任务委托单位或用户、评审人员选定的采样用例。
5.3 第三次评审
第三次评审会要进行功能检查、物理检查和综合检查。这些评审会应在集成测试阶段结束后进行。
a. 功能检查( FA )应验证所开发的软件已经满足在软件需求规格说明书中规定的所有需求。
b. 物理检查( PA )应对软件进行物理检查,以验证程序和文档已经一致、并已做好了交付的准备。
c. 综合检查( CA )应验证代码和设计文档的一致性、接口规格说明之间的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。
6 软件配置管理
对 CADCSC 工程化软件系统的各项配置进行及时、合理的管理,是确保软件质量的重要手段,也是确保该软件具有强大生命力的重要措施。有关 CADCSC 工程化软件的配置管理工作,可按 CADCSC 软件工程小组编写的《 CADCSC 软件配置管理计划》。在软件配置管理工作中,要特别注意规定对软件问题报告、追踪和解决的步骤,并指出实现报告、追踪和解决软件问题的机构及其职责。
7 工具、技术和方法
在 CADCSC 项目所属的各个子系统(其中包括有关的支持软件)的研制与开发过程中,都应该在各自的软件质量保证活动中合理地使用软件质量活动的支持工具、技术和方法。这些工具主要有下列三种:
a. C 软件测试工具。它支持用 C 语言编写的模块的静态分析、结构测试与功能测试。主要功能为:协助测试人员判断程序结构与变量使用情况是否有错;给测试人员提供模块语句覆盖率 Co 和分支覆盖率 C1 的值,并显示未覆盖语句和未覆盖分支的号码及其分支谓词,给出不同测试用例有效性的表格;同时提出功能测试的有效情况,并协助组织最终交付给用户的有效测试用例的集合。
b. 软件配置管理工具。它支持用户对源代码清单的更新管理以及对重新编译与连接的代码的自动组织;支持用户在不同文档相关内容之间进行相互检索并确定同一文档某一内容在本文档中的涉及范围;同时还应支持软件配置管理小组对软件配置更改进行科学的管理。
c. 文档辅助生成工具与图形编辑工具。它主要协助用户绘制描述程序流程与结构的 DFD 图与 SC 图、绘制描述软件功能(输入、输出关系)的曲线以及绘制描述控制系统特性的一些其他图形,同时还可生成若干与 CADCSC 软件文档编制大纲相适应的文档模块板。用户利用这个工具的正文与图形编辑功能以及上述辅助功能,可以比较方便地产生清晰悦目的文档,也有利于对文档进行更改,还有助于提高文档的编制质量。
8 媒体控制
为了保护计算机程序的物理媒体,以免非法存取、意外损坏或自然老化, CADCSC 工程化软件系统的各个子系统(包括支持软件)都必须设立软件配置管理人员,并按照 CADCSC 软件工程小组制订的、且经 CADCSC 总体组批准的《 CADCSC 软件配置管理计划》妥善管理和存放各个子系统及其专用支持软件的媒体。
9 对供货单位的控制
CADCSC 项目所属的各个子系统开发组,如果需要从软件销售单位购买、委托其他开发单位开发、从开发单位现存软件库中选用或从项目委托单位或用户的现有软件库中选用软部件时,则在选用前应向 CADCSC 总体组报告,然后由 CADCSC 总体组组织 “ 软件选用评审小组 ” 进行评审、测试与检查,只有当演示成功、测试合格后才能批准选用。如果只选用其中部分内容,则按待开发软件的处理过程办理,此时 CADCSC 总体组不作干预。
10 记录收集、维护和保存
在 CADCSC 项目及其所属的各个子系统的研制与开发期间,要进行各种软件质量保证活动,准确记录、及时分析并妥善保存有关这些活动的记录,是确保软件质量的重要条件。在软件质量保证小组中,应有专人负责收集、汇总与保存有关软件质量保证活动的记录。要收集、汇总与保存的记录名字及其保存期限见表 1 。
表 1 记录名称及其保存的期限
记录的名称与分类
要保存的的期限
阶段评审记录
阶段评审总结
整个软件开发周期
阶段评审问题记录
整个软件开发周期
阶段评审主要问题
整个软件开发周期
阶段评审成员
整个软件开发周期
日常检查记录
软件阶段进度表
整个软件开发周期
软件阶段产品完成情况
整个软件开发周期
软件开发费用统计表
整个软件生存周期
修改记录
软件问题报告单
整个软件生存周期
软件问题修改单
整个软件生存周期
组织
软件质量保证小组成员登记表
整个软件开发周期
附录 B 项目进展报表(参考件)
B1 项目进展报表(月报表或季报表)由一个项目进展报表表头(表 B1 )和另外三个表格(表 B2 、表 B3 、表 B4 )组成。在表 B2“ 软件阶段进度表中 ” 中,要填写各个阶段的开工日期与结束日期。其中计划进度是指在项目实施计划中确定的计划进度,因此可以由管理人员事先填好,而不必由开发人员填写。实际进度是指该项目实际的开工日期与结束日期,它将随着该项目的不断进展填写。其中调整进度是指项目组长发现实际进度与计划进度不符时提出的进度修改建议;但经项目管理人员研究后,可能对此修改建议作某些更改。此外,在相继的若干次报表中,项目组长提出的建议修改日期也可能是不相同的。在此我们规定,最终的调整进度由项目经理来确定。在表 B3“ 软件阶段产品完成情况表 ” 中,要填写各个文档的开始编写日期与完成日期。其中关于对计划进度、调整进度与实际进度的含义的解释与上相同。表 B4 是关于统计软件开发费用的表格。
表 B1 项目进展报表表头
项目名: 年 —— 月
子系统名称 模块名
填表人 填表日期 年 —— 月 —— 日
项目组长 开发单位
表 B2 软件阶段进度表
子系统名: —————————
模块名: ——————————
统计日期: —— 年 — — 月 —— 日
阶段名称
计划进度
调整进度
实际进度
备注
开工日期
结束日期
开工日期
结束日期
开工日期
结束日期
SA&SD
RA
PD
DD
CD&UT
IT&ST
IS&AC
TSSD
注: SA&SD(system analysis & software definition phase) :系统分析与软件定义阶段。
——RA(requirements analysis phase) :需求分析阶段。
——PD(preliminary design phase) :概要设计阶段。
——DD(detailed design phase) :详细设计阶段。
——CD&UT(coding & unit testing phase) :编码与单元测试阶段。
——IT&ST(integrating & system testing phase) :组装与系统测试阶段。
——IS&AC(installation & acceptance phase) :安装与验收阶段。
——TSSD(total software system development phase) :整个软件系统的开发阶段。
表 B3 软件阶段产品完成情况表
子系统名:
模块名:
文档名称
计划进度
调整进度
实际进度
页数
备注
开始日期
完成日期
开始日期
完成日期
开始日期
完成日期
1 项目实施计划
2 需求规格说明书
3 概要设计说明书
4 详细设计说明书
5 测试计划
6 测试报告
7 用户手册
8 项目开发总结
9 源代码清单
10 质量保证计划
11 配置管理计划
表 B4 软件开发费用统计表
子系统名:
模块名:
阶段名称
人工费用(人月)
机时(小时)
其他(元)
项目管理
系统分析
软件设计
编程调试
数据录放
其它人工
终端小时
主机小时
外存空间
其它费用
出差资料
其他费用
SA&SD
RA
PD
DD
CD&UT
IT&ST
IS&AC
TSSD
附录 C 项目阶段评审表(参考件)
C1 在软件开发过程中的适当阶段对软件阶段产品进行评审,是确保软件产品最终质量的重要方法。阶段评审可以对某个开发阶段的阶段产品进行评审,也可以对某几个开发阶段的阶段产品进行综合评审。在每次阶段评审中,必须履行正式手续,填写必要的评审表格,以利于项目管理工作,利于产品验收时的质量检查工作。
项目阶段评审表由四张子表组成。表 C1 是对评审中发现的问题的记录 RPL ( review problem );表 C2 是评审总结报告 RSR ( review summary report );表 C3 是对其中主要问题的详细描述 SPR ( software problem report );表 C4 是评审小组成员登记与签字表。下面给出这四张表的格式。
表 C1 评审问题记录( RPL )
RPL
评审问题记录
登记号
评审日期
—— 年 —— 月 —— 日
评审性质
评审 ——复审
项目名
子项目名
代号
编号
问题摘要
问题类型
是否解决
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
表 C2 评审总结报告( RSR )
RSR
评审总结报告
登记号
评审日期
— 年 — 月 — 日
评审性质
评审 复审
项目名
子项目名
代号
阶段名
软件定义
需求分析
概要设计
详细设计
编码测试
组装测试
安装验收
运行维护
项目组长
姓名
电话
地址
评审 任务
评审 材料
评审 结论
通过
不需修改
稍作修改
不通过
作重要修改
要重新评审
备注
表 C3 软件问题报告单( SPR )
软件问题报告单
登记号
登记日期
— 年 — 月 — 日
发现日期
— 年 — 月 — 日
项目名
子项目名
代号
阶段名
软件定义
需求分析
概要设计
详细设计
编码测试
组装测试
安装验收
运行维护
状态
1
2
3
4
5
6
7
报告人
姓名
电话
地址
———— 问题: —————— 例行程序 ————程序 ————数据库 ————文档 ————改进
子例行程序 / 子系统:
修改版本号:
媒体:
数据库:
文档:
测试实例
硬件:
— 问题描述 / 影响:
— 附注及修改建议:
表 C4 评审成员签字登记表( RMT )
评审小组成员
职务 ———— 姓名 ———— 职称
单位
签字
组长
副组长
成员
成员
成员
成员
成员
成员
成员
注:可以不设副组长;此外,项目开发组长或其代表可以作为评审组的成员,但不能担任评审组的组长或副组长。