笔记-知识产权与标准化知识-GB/T-12504-1990计算机软件质量保证计划规范

中华人民共和国国家标准

GB/T 12504-1990 计算机软件质量保证计划规范
specification for computer software quality assurance plan

经查,该标准 (已于2005年作废) ,以下原文。

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.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记录的收集、维护和保存

必须指明需要保存的软件质量保证活动的记录,并指出用于汇总、保护和维护这些记录的方法和设施,并指明要保存的期限。


还有一个计算机软件质量保证计划示例,网上资源不多,摘录其中一些考点内容。
百度文库找到一个参考:https://wenku.baidu.com/view/2d15ec245901020207409cd8.html,但仍然不全,缺几个表格。

计算机软件质量保证计划示例

2 管理

2.1 机构

在本软件系统整个开发期间,必须成立软件质量保证小组负责质量保证工作。软件质量保证小组属总体组领导,由总体组代表、项目的软件工程小组代表、项目的专职质量保证人员、项目的专职配置管理人员以及各个子系统软件质量保证人员等方面的人员组成,由项目的软件工程小组代表任组长。各子系统的软件质量保证人员在业务上受软件质量保证小组领导,在行政上受各子系统负责人领导。

软件质量保证小组和软件质量保证人员必须检查和督促本计划的实施。各子系统的软件质量保证人员有权直接向软件质量保证小组报告子项目的软件质量状况。各子系统的软件质量保证人员应该根据对子项目的具体要求,制订必要的规程和规定,以确保完全遵守本计划的所有要求。

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. 规范性:在软件开发各个阶段所编写的各种文档应该具有良好的规范性。文档的规范性是指文档的封面、大纲、术语的含义以及图示符号等符合有关规范的规定。
--------------本文结束 感谢您的阅读--------------