计算机软件质量保证计划规范1主题内容与适用范围本规范规定了在制订软件质量保证计划时应该遵循的统一的基本要求。本规范适用于软件特别是重要软件的质量保证计划的制订工作。对于非重要软件或已经开发好的软件,可以采用本规范规定的要求的子集。2引用标准GB/T11457软件工程术语GB8566计算机软件开发规范GB8567计算机软件产品开发文件编制指南GB/T12505计算机软件配置管理计划规范3术语下面给出本规范中用到的一些术语的定义,其他术语的定义按GB/T11457。3.1项目委托单位projectentrustorganization项目委托单位是指为产品开发提供资金并通常也是(但有时也未必)确定产品需求的单位或个人。3.2项目承办单位projectundertakingorganization项目承办单位是指为项目委托单位开发、购置或选用软件产品的单位或个人。3.3软件开发单位softwaredevelopmentorganization软件开发单位是指直接或间接受项目委托单位委托而直接负责开发软件的单位或个人。3.4用户user用户是指实际使用软件来完成某项计算、控制或数据处理等任务的单位或个人。3.5软件software软件是指计算机程序及其有关的数据和文档,也包括固化了的程序。3.6重要软件criticalsoftware重要软件是指它的故障会影响到人身安全会导致重大经济损失或社会损失的软件。3.7软件生存周期softwarelifecycle软件生存周期是指从系统设计对计算机软件系统提出应用需求开始,经过开发,产生一个满足需求的计算机软件系统,然后投入运行,直至该软件系统退役为止。其间经历系统分析与软件定义、软件开发以及系统的运行与维护第三个阶段。其中软件开发阶段一般又划分成需求分析、概要设计、详细设计、编码与单元测试、组装与系统测试以及安装与验收等六个阶段。3.8验证verification验证是指确定软件开发周期中的一个给定阶段的产品是否达到上一阶段确立的需求的过程。3.9确认validation确认是指在软件开发过程结束时对软件进行评价以确定它是否和软件需求相一致的过程。3.10测试testing测试是指通过执行程序来有意识地发现程序中的设计错误和编码错误的过程。测试是验证和确认的手段之一。3.11软件质量softwarequality软件质量是指软件产品中能满足给定需求的各种特性的总和。这些特性称做质量特性,它包括功能度、可靠性、易使用性、时间经济性、资源经济性、可维护性和可移植性等。3.12质量保证qualityassurance质量保证是指为使软件产品符合规定需求所进行的一系列有计划的必要工作。4软件质量保证计划编制大纲项目承办单位(或软件开发单位)中负责软件质量保证的机构或个人,必须制订一个包括以下各章内容的软件质量保证计划(以下简称计划)。各章应以所给出的顺序排列;如果某章中没有相应的内容,则在该章标题之后必须注明“本章无内容”的字样,并附上相应的理由;如果需要,可以在后面增加章条;如果某些材料已经出现在其他文档中,则在该计划中应引用那些文档。计划的封面必须标明计划名和该计划所属的项目名,并必须由项目委托单位和项目承办单位(或软件开发单位)的代表共同签字、批准。计划的目次是:引言管理文档标准、条例和约定评审和检查软件配置管理工具、技术和方法媒体控制对供货单位的控制记录的收集、维护和保存下面给出软件质量保证计划的各个章条必须具有的内容。4.1引言4.1.1目的本条必须指出特定的软件质量保证计划的具体目的。还必须指出该计划所针对的软件项目(及其所属的各个子项目)的名称和用途。4.1.2定义和缩写词本条应该列出计划正文中需要解释的而在GB/T11457中尚未包含的术语的定义,必要时,还要给出这些定义的英文单词及其缩写词。4.1.3参考资料本条必须列出计划正文中所引用资料的名称、代号、编号、出版机构和出版年月。4.2管理必须描述负责软件质量保证的机构,任务及其有关的职责。4.2.1机构本条必须描述与软件质量保证有关的机构的组成。还必须清楚地描述来自项目委托单位、项目承办单位、软件开发单位或用户中负责软件质量保证的各个成员在机构中的西相互关系。4.2.2任务本条必须描述计划所涉及的软件生存周期中有关阶段的任务,特别要把重点放在描述这些阶段所应进行的软件质量保证活动上。4.2.3职责本条必须指明软件质量保证计划中规定的每一个任务的负责单位或成员的责任。4.3文档必须列出在该软件的开发、验证与确认以及使用与维护等阶段中需要编制的文档,并描述对文档进行评审与检查的准则。4.3.1基本文档为了确保软件的实现满足需求,至少需要下列基本文档:4.3.1.1软件需求规格说明书softwarerequirementsspecification软件需求规格说明书必须清楚、准确地描述软件的每一个基本需求(功能、性能、设计约束和属性)和外部界面。必须把每一个需求规定成能够通过预先定义的方法(例如检查、分析、演示或测试等)被客观地验证与确认的形式。软件需求规格说明书的详细格式按GB8567。4.3.1.2软件设计说明书softwaredesigndescription软件设计说明书应该包括软件概要设计说明和软件详细设计说明两部分。其概要设计部分必须描述所设计软件的总体结构、外部接口、各个主要部件的功能与数据结构以及各主要部件之间的接口;必要时还必须对主要部件的每一个子部件进行描述。其详细设计部分必须给出每一个基本部件的功能、算法和过程描述。软件设计说明书的详细格式按GB8567。4.3.1.3软件验证与确认计划softwareverificationandvalidationplan软件验证与确认计划必须描述所采用的软件验证和确认方法(例如评审、检查、分析、演示或测试等),以用来难软件需求规格说明书中的需求是否已由软件设计说明书描述的设计实现;软件设计说明书表达的设计是否已由编码实现。软件验证与确认计划还可用来确认编码的执行是否与软件需求规格说明书中所规定的需求相一致。软件验证与确认计划的详细格式按GB8567中的测试计划的格式。4.3.1.4软件难和确认报告softwareverificationandvalidationreport软件验证与确认报告必须描述软件验证与确认计划的执行结果。这里必须包括软件质量保证计划所需要的所有评审、检查和测试的结果。软件验证与确认报告的详细格式按GB8567中的测试报告的格式。4.3.1.5用户文档userdocumentation用户文档(例如手册、指南等)必须指明成功运行该软件所需要的数据、控制命令以及运行条件等;必须指明所有的出错信息、含义及其修改方法;还必须描述将用户发现的错误或问题通知项目承办单位(或软件开发单位)或项目委托单位的方法。用户文档的详细格式按GB8567。4.3.2其他文档除基本文档外,还应包括下列文档:a.项目实施计划(其中可包括软件配置管理计划,但在必要时也可单独制订该计划):其详细格式按GB8567。b.项目进展报表:其详细格式可参考本规范附录B(参考件)中有关《项目进展报表》的各项规定。c.项目开发各个阶段的评审报表:其详细格式可参考本规范附录C(参考件)中有关《项目阶段评审表》的各项规定。d.项目开发总结:其详细格式按GB8567。4.4标准、条例和约定必须列出软件开发过程中要用到的标准、条例和约定,并列出监督和保证书执行的措施。4.5评审和检查必须规定所要进行的技术和管理两方面的评审和检查工作,并编制或引用有关的评审和检查堆积以及通过与否的技术准则。至少要进行下列各项评审和检查工作:4.5.1软件需求评审softwarerequirementsreview在软件需求分析阶段结束后必须进行软件需求评审,以确保在软件需求规格说明书中所规定的各项需求的合适性。4.5.2概要设计评审preliminarydesignreview在软件概要设计结束后必须进行概要设计评审,以评价软件设计说明书中所描述的软件概要设计的总体结构、外部接口、主要部件功能分配、全局数据结构以及各主要部件之间的接口等方面的合适性。4.5.3详细设计评审detaileddesignreview在软件详细设计阶段结束后必须进行详细设计评审,以确定软件设计说明书中所描述的详细设计在功能、算法和过程描述等方面的合适性。4.5.4软件验证与确认评审softwareverificationandvalidationreview在制订软件验证与确认计划之后要对它进行评审,以评价软件验证与确认计划中所规定的验证与确认方法的合适性与完整性。4.5.5功能检查functionalaudit在软件释放前,要对软件进行功能检查,以确认已经满足在软件需求规格说明书中规定的所有需求。4.5.6物理检查physicalaudit在验收软件前,要对软件进行物理检查,以验证程序和文档已经一致并已做好了交付的准备。4.5.7综合检查comprehensiveaudit在软件验收时,要允许用户或用户所委托的专家对所要验收的软件进行设计抽样的综合检查,以验证代码和设计文档的一致性、接口规格说明之间的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。4.5.8管理评审managementreviews要对计划的执行情况定期(或按阶段)进行管理评审;这些评审必须由独立于被评审单位的机构或授权的第三方主持进行。4.6软件配置管理必须编制有关软件配置管理的条款,或引用按照GB/T12505单独制订的文档。在这些条款或文档中,必须规定用于标识软件产品、控制和实现软件的修改、记录和报告修改实现的状态以及评审和检查配置管理工作等四方面的活动。还必须规定用以维护和存储软件受控版本的方法和设施;必须规定对所发现的软件问题进行报告、追踪和解决的步骤,并指出实现报告、追踪和解决软件问题的机构及其职责。4.7工具、技术和方法必须指明用以支持特定软件项目质量保证工作的工具、技术和方法,指出它们的目的,描述它们的用途。4.8媒体控制必须指出保护计算机程序物理媒体的方法和设施,以免非法存取、意外损坏或自然老化。4.9对供货单位的控制供货单位包括项目承办单位、软件销售单位、软件开发单位或软件子开发单位。必须规定对这些供货单位进行控制的规程,从而保证项目承办单位从软件销售单位购买的、其他开发单位(或子开发单位)开发的或从开发(或子开发)单位现存软件库中选用的软件能满足规定的需求。4.10记录的收集、维护和保存必须指明需要保存的软件质量保证活动的记录,并指出用于汇总、保护和维护这些记录的方法和设施,并指明要保存的期限。附录A软件质量保证计划示例(参考件)计划名CADCSC软件质量保证计划项目名中国控制系统CAD工程化软件系统项目委托单位代表签名年月日项目承办单位代表签名年月日1引言1.1目的本计划的目的在于对所开发的CADCSC软件规定各种必要的质量保证措施,以保证所交付的CADCSC软件能够满足项目委托书或合同中规定的各项需求,能够满足本项目总体组制定的且经领导小组批准的该软件系统需求规格说明书中规定的各项具体需求。软件开发单位在开发CADCSC软件系统所属的各个子系统(其中包括为本项目研制或选用的各种支持软件)时,都应该执行本计划中的有关规定,但可根据各自的情况对本计划作适当的剪裁,以满足特定的质量保证要求,剪裁后的计划必须经总体组批准。1.2定义本计划用到的一些术语的定义按GB/T11457和GB/T12505。1.3参考资料GB/T11457软件工程术语GB8566计算机软件开发规范GB8567计算机软件产品开发文件编制指南GB/T12504计算机软件质量保证计划规范GB/T12505计算机软件配置管理计划规范CADCSC软件配置管理计划2管理2.1机构在本软件系统整个开发期间,必须成立软件质量保证小组负责质量保证工作。软件质量保证小组属总体组领导,由总体组代表、项目的软件工程小组代表、项目的专职质量保证人员、项目的专职配置