软件文档国家标准xcz.ppt
第三章 软件文档国家标准,软件工程标准可以分为基础标准、开发标准、文档标准以及管理标准四种。我国已经发布的文档标准有:计算机软件产品开发文档编制指南(GB 8567-1988)计算机软件需求说明编制指南(GB 9385-1988)计算机软件测试文档编制规范(GB 9386-1988)软件文档管理指南(GB 16680-1996),第三章 软件文档国家标准,3.1 软件产品开发文档编制指南 3.2 软件需求说明编制指南 3.3 计算机软件测试文档编制规范3.4 软件文档管理指南,3.1 软件产品开发文档编制指南,软件文档的组成各类文档的内容要求,软件文档的组成,计算机软件产品开发文档编制指南(GB 8567-1988)是一份指导性文档,目的是使得所编制的软件文档确实能够起到应该发挥的作用。指南对软件文档的意义和作用、文档与读者的关系、软件生存周期与各种文档的编制、文档编制中的考虑因素、文档编制的管理工作以及各种文档的内容要求都作了详细描述,并给出了各类文档的编写提示。,软件文档的组成,根据该指南,一项计算机软件的开发过程中,一般应产生如下十四种文档:(1)可行性研究报告(2)项目开发计划(3)软件需求说明书(4)数据要求说明书(5)概要设计说明书(6)详细设计说明书(7)数据库设计说明书(8)用户手册(9)操作手册(10)模块开发卷宗(11)测试计划(12)测试分析报告(13)开发进度月报(14)项目开发总结报告,软件文档的组成,(1)可行性研究报告可行性研究报告编写的目的:(1)说明该软件开发项目的实现在技术、经济和社会条件方面的可行性(2)评述为了合理地达到开发目标而可能选择的各种方案(3)说明并论证所选定的方案。编制时间:可行性研究与计划阶段(2)项目开发计划编制项目开发计划的目的:用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开发工作 编制时间:可行性研究与计划、需求分析,软件文档的组成,(3)软件需求说明书软件需求说明书编制目的:为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。编制时间:需求分析阶段(4)数据要求说明书软件需求说明书的编制目的:向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。编制时间:需求分析阶段,软件文档的组成,(5)概要设计说明书概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的:说明对程序 系统的设计考虑,包括程序系统的基本处流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制时间:软件设计阶段,软件文档的组成,(6)详细设计说明书详细设计说明书又可称程序设计说明书。编制目的:说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书 编制时间:软件设计阶段,软件文档的组成,(7)数据库设计说明书编制目的:是对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定编制时间:软件设计阶段(8)用户手册编制目的:是要使用非专门术语的语言,充分地描述该软件系统所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它 编制时间:需求分析、软件设计、实现,软件文档的组成,(9)操作手册操作手册的编制目的:向操作人员提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节 编制时间:软件设计、编码与实现(10)模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编制目的:是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。编制时间:编码与实现、测试,软件文档的组成,(11)测试计划这里所说的测试,主要是指整个程序系统的组装测试和确认测试(有效性测试)编制目的:是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则 编制时间:需求分析、软件设计(12)测试分析报告编写目的:是为了把组装测试和确认测试的结果、发现及分析写成文件加以记载 编写时间:测试,软件文档的组成,(13)开发进度月报开发进度月报的编制目的:是及时向有关管理部门汇报项目开发的进展和情况,以便及时发现和处 理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系 统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以分项目组为单位按月编写 编制时间:可行性研究与计划、需求分析、软件设计、实现、测试(14)项目开发总结报告编制目的:是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。编制时间:测试,各类文档的内容要求,本指南不仅给出了这十四种文档的编制指导,同时,本指南也是这十四种文档编写质量的检验准则。十四种文档的编写参考指南详见GB/T8657-1988。,1.可行性研究报告,2.项目开发计划的编写内容,3.软件需求说明书的编写内容,4.数据要求说明书的编写内容,5.概要设计说明书的编写内容,5.概要设计说明书的编写内容,6.详细设计说明书的编写内容,7.数据库设计说明书的编写内容,8.用户手册的编写内容,9.操作手册的编写内容,9.操作手册的编写内容,10.模块开发卷宗的编写内容,10.模块开发卷宗的编写内容,11.测试计划的编写内容,12.测试分析报告的编写内容,13.开发进度月报的编写内容,14.项目开发总结报告的编写内容,3.2 软件需求说明编制指南,软件需求说明编制指南(GB9385-1988)为软件需求的实践提供了一个规范化的方法,主要描述了软件需求说明(Software Requirements Specifications,简称SRS)所必须的内容和质量。,软件需求文档的编制目标软件需求文档的基本要求软件需求标准适用范围需求文档的编写大纲需求文档的编制说明,3.2.1 软件需求文档的编制目标,SRS对于软件客户来讲,应尽可能准确地描述其所需要的产品;而对于软件开发者,应能准确地理解客户所需要的产品。编制SRS的目标可以概括为如下六个方面:(1)在软件产品完成目标方面为客户和开发者之间建立共同协议创立一个基础(2)提高开发效率(3)为成本计价和编制计划进度提供基础(4)为确认和验证提供一个基准(5)便于移植(6)作为不断提高的基础,3.2.2 软件需求文档的基本要求,SRS是对要完成一定功能、性能的软件产品、程序或一组程序的说明。因此对SRS的描述有两项基本要求:(1)必须描述一定的功能、性能;(2)必须用确定的方法叙述这些功能、性能。SRS作为软件开发规范之一,对软件开发的所有阶段都起着非常重要的作用,但是需要注意的是,SRS不能超出其作用范围,即除了SRS正确地定义所有软件的需求之外,一般地SRS不描述任何设计、验证或项目管理的细节。,3.2.3 需求标准适用范围及编制说明,1.指南适用对象软件客户(Customers),以便精确地描述他们想获得什么样的产品。软件开发者(Suppliers),以便准确地理解客户需要什么样的产品。2.指南目的对于任一单位和(或)个人,要实现下列目标:a.要提出开发规范化的SRS提纲;b.定义自己需要的具体的格式和内容;c.产生附加的局部使用条款,如SRS质量检查清单或者SRS作者手册等。3 指南引用标准GB 8566 计算机软件开发规范 GB 8567 计算机软件产品开发文件编制指南 GB/T 11457 软件工程术语,3.2.3 需求标准适用范围及编制说明,4.本指南中定义的术语GB/T 11457所列术语和下列定义适用于本指南。合同(contract):是由客户和开发者共同签署的具有法律约束力的文件。其中包括产品的技术、组织、成本和进度计划要求等内容。客户(customer):指个人或单位,他们为产品开发提供资金,通常(但有时也不必)还提出各种需求。文件中的客户和开发者也可能是同一个组织的成员。语言(language):是具有语法和语义的通信工具,包括一组表达式、惯例和传递信息的有关规则。分割(partitioning):把一个整体分成若干部分。开发者(supplier):指为客户生产某种软件产品的个人或集团。在本指南中,客户和开发者可能是同一个组织的成员。用户(user):指运行系统或者直接与系统发生交互作用的个人或集团。用户和客户通常不是同一些人。,3.2.4 需求文档的编写大纲,本节着重讨论SRS的每一个基本部分,可以作为一个SRS的大纲。表1给出该大纲目录,表2至表5给出大纲中第3章的具体需求内容。各开发者和客户应当根据所描述的实际情况,按本指南有关规定编写自己的SRS。GB/9385-1988 SRS编写大纲目录GB/9385-1988 SRS具体需求方案,GB/9385-1988 SRS编写大纲目录,GB/9385-1988 SRS具体需求方案一,GB/9385-1988 SRS具体需求方案二,GB/9385-1988 SRS具体需求方案三,GB/9385-1988 SRS具体需求方案三(续),GB/9385-1988 SRS具体需求方案四,四种不同需求方案区别,四种不同需求方案区别:(1)方案1功能需求中只包括:引言,输入,加工,输出,将外部接口与性能需求部分部分独立成一部分(2)方案2功能需求中不仅包括方案1中的功能需求,并外部接口需求作为功能需求的组成部分.(3)方案3中每个功能需求包括除外部接口需求外的所有的具体需求组成部分.并把外部接口需求中增加外部约束,属性需求,和其它需求.(4)方案4中每个功能需求由所有的具体需求组成部分.,需求文档的编制说明,具体参见标准,需求文档的编制说明,需求文档的编制说明,需求文档的编制说明,3.3 计算机软件测试文档编制规范,计算机软件测试文档编制规范(GB 9386-1988)的目的就是规定一组软件测试文档,定义每一种基本文档的目的、格式和内容。测试文档中所规定的内容可以作为对测试过程完备性的对照检查表,这将会提高测试过程的每个阶段的能见度,极大地提高测试工作的可管理性。,测试是软件生存周期中一个独立的、关键的阶段,也是保证软件质量的重要手段。为了提高检测出错误的几率,使测试能有计划地、有条不紊地进行,就必须要编制测试文档。而标准化的测试文档就如同一种通用的参照体系,可达到便于交流的目的。,3.3 计算机软件测试文档编制规范,标准的适用对象及范围测试文档的内容测试文档与测试过程测试文档的结构测试文档的编制测试文档编制实例,标准的适用对象及范围,3.3.2 测试文档的内容,计算机软件测试文档编制规范主要定义了三种类型软件测试文档:测试计划测试说明测试报告,1.测试计划,测试计划描述测试活动的范围、方法、资源和进度。它规定被测试的项、被测试的特性、应完成的测试任务、担任各项工作的人员职责及与本计划有关的风险等.,2.测试说明,测试说明包括三个文档:(1)测试设计说明 详细描述测试方法,规定该设计及其有关测试所包括的特性(功能、性能、可移植性等),还规定完成测试所需的测试用例和测试规程,并规定特性的通过准则。(2)测试用例说明 列出用于输入的具体值以及预期的输出结果,并规定在使用具体测试用例时,对测试规程的各种限制。将测试用例与测试设计分开,可以使它们用于多个设计并能在其它情形下重复使用。(3)测试规程说明 规定对于运行系统和执行指定的测试用例来实现有关测试设计所要求的所有步骤。,3.测试报告,测试报告包括四类文档:(1)测试项传递报告 所谓的测试项是指作为测试对象的软件项(源代码、目标代码、作业控制代码、数据等),该报告指明在开发组和测试组独立工作的情况下或者在希望正式开始测试的情况下为进行测试而被传递的测试项。(2)测试日志 测试组用于记录测试执行过程中发生的情况。(3)测试事件报告 描述在测试执行期间发生并需进一步调查的一切事件。(4)测试总结报告 总结与测试设计说明有关的测试活动。,3.3.3 测试文档与测试过程,测试文档的结构及编制说明,软件测试文档的内容主要包括测试计划、测试设计说明、测试用例说明、测试规程说明、测试项传递报告、测试日志、测试事件报告以及测试总结报告八项内容。,1.测试计划,1 测试计划名称 2 引言 3 测试项 4 被测试的特性 5 不被测试的特性 6 方法 7 项通过准则 8 暂停标准和再启动要求 9 应提供的测试文件 10 测试任务 11 环境要求 12 职责13 人员和训练要求 14 进度 15 风险和应急 16 批准,2.测试设计说明,1 测试设计说明名称 2 被测试的特性 3 方法详述 4 测试用例名称 5 特性通过准则,3.测试用例说明,1 测试用例说明名称 2 测试项 3 输入说明 4 输出说明 5 环境要求 6 特殊的规程说明7 用例间的依赖关系,4.测试规程说明,1 测试规程说明名称 2 目的 3 特殊要求 4 规程步骤,5.测试项传递报告,1 传递报告名称 2 传递项 3 位置 4 状态 5 批准,6.测试日志,1 测试日志名称 2 描述 3 活动和事件条目,7.测试事件报告,1 测试事件报告名称 2 摘要 3 事件描述 4 影响,8.测试总结报告,1 测试总结报告名称2 简述3 差异4 测试充分性评价5 结果概述6 评价7 活动总结8 批准,3.3.5 测试文档的编制,软件测试文档的内容主要包括测试计划、测试设计说明、测试用例说明、测试规程说明、测试项传递报告、测试日志、测试事件报告以及测试总结报告八项内容。需要强调,软件测试包括对需求说明书的测试,因此,在软件的需求分析阶段,就应开始测试文档的编制工作,各种测试文档的编写应按一定的格式进行,编写的参考说明详见附录A。,1.设计测试用例,测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。,2.编写测试文档,测试文档主要由若干测试用例组成,各种测试文档的编写应有文档模板,按一定的格式进行,编写时可参考软件测试文档国家标准(附录A)。测试文档由简介和测试用例两部分组成。简介部分编制了测试目的、测试范围、定义术语、参考文档、概述等。测试用例部分逐一列示各测试用例。每个具体测试用例都将包括下列详细信息:用例编号、用例名称、测试等级、入口准则、验证步骤、期望结果(含判断标准)、出口准则、注释等。以上内容涵盖了测试用例的基本元素:测试索引,测试环境,测试输入,测试操作,预期结果,评价标准。,3.3.6 测试文档实例,3.4 软件文档管理指南,软件软件文档管理概述软件文档与文档管理者,软件文档管理概述,软件文档与文档管理者,管理者应严格要求软件开发人员和编制组完成文档编制,并且在策略、标准、规程、资源分配和编制计划方面给予支持。其作用主要表现在以下几个方面:管理者对文档工作的责任管理者对文档工作的支持管理者的主要职责,软件文档与文档管理者,管理者对文档工作的责任管理者要认识到正式或非正式文档都是重要的,还要认识到文档工作必须包括文档计划、编写、修改、形成、分发和维护等各个方面。管理者对文档工作的支持管理者应为编写文档的人员提供指导和实际鼓励并使各种资源有效地用于文档开发。管理者的主要职责,软件文档与文档管理者,