GB T 9385-2008 计算机软件需求规格说明规范.pdf
《GB T 9385-2008 计算机软件需求规格说明规范.pdf》由会员分享,可在线阅读,更多相关《GB T 9385-2008 计算机软件需求规格说明规范.pdf(25页珍藏版)》请在麦多课文档分享上搜索。
1、lCS 35080L 77 缮酉中华人民共和国国家标准GBT 9385-2008代替GBT 9385 1988计算机软件需求规格说明规范Norm of computer software requirements specification2008-04-11发布 200809-01实施宰瞀鳃鬻瓣警矬瞥星发布中国国家标准化管理委员会仪1”目 次前言-“引言-l范围2规范性引用文件3术语和定义-4 SRS的编制原则一5 SRS的组成和内容要求附录A(资料性附录)SRS提纲模板A1按照运行模式组织的SRS第3章模板(版本I)A2按照运行模式组织的SRS第3章模板(版本2)A3按照用户类别组织的SR
2、S第3章模板A4按照对象组织的SRS第3章模板A5按照系统特征组织的SRS第3章模板A6按照激励组织的SRS第3章模板A7按照功能层次组织的SRS第3章模板A8体现多种组织形式的SRS第3章模板参考文献GBT 9385-2008,0坞”趴刖 昌GBT 9385-2008本标准是GBT 9385(计算机软件需求说明编制指南的第一次修订。本标准与GBT 93851988的主要差别如下:a)根据GBT 11的规定,原GBT 9385-1988版中第1章引言部分中的内容放在新版的引言部分;b)新版标准的范围部分重新进行调整改写;c)第2章规范性引用文件删去了GBT 8567;d) 根据GBT 8566
3、和GBT 11457的规定,术语“开发者”改为“供方”;e) 原GBT 9385-1988版的第4章和第5章调整为新版的第4章,且名称为“SRS”的编制原则。调整后的第4章更加清晰、完善。而删去了旧版第5章中有关模型的内容;f) 旧版标准的第6章的主要内容调整为新版标准的第5章,而提纲部分调整为新版标准的附录A,且附录A的内容扩充了一部分。本标准的附录A是资料性附录。本标准自实施之日起代替被废止GBT 9385-1988。本标准由中华人民共和国信息产业部提出。本标准由全国信息技术标准化技术委员会归口。本标准起草单位:信息产业部电子工业标准化研究所、中国航天科技集团公司软件评测中心、上海计算机软
4、件开发中心、上海宝信软件股份有限公司、东方通科技、广西软件园、上海浦东软件园有限责任公司、上海鲁齐信息科技有限公司。本标准主要起草人:冯惠、王宝艾、窦传义、石柱、杨根兴、李春青、陈在根、张呖呖、张露莹。本标准于1988年首次发布。GBT 9385-2008引 言本标准描述了软件需求规格说明的编制方法。它基于以下设想,即软件需求规格说明确定过程的结果是一份明确和完备的规格说明文档。本标准将有助于:软件的顾客准确地描述其希望得到什么;软件的供方正确地理解顾客想要什么;对于实现以下目标的有关单位和人员:为其所在的组织编制一份标准的软件需求规格说明(SRS)提纲;定义其具体软件需求规格说明的格式和内容
5、;编制其他的本地支持资料,如,SRS质量检查清单、或SRS编写者手册。对于顾客、供方和其他有关人员,一份好的SRS可能带来一些具体的益处,例如:对于提供什么软件产品,为顾客和供方之间的协议建立基础。在SRS中软件功能的完备描述将协助潜在用户,以便确定指定的软件是否满足其需要,或者为满足其需要应如何修改软件;减少开发工作。SRS文档的编制迫使顾客组织有关各方或人员在设计之前严格考虑所有的需求,并减少以后的重新设计、重新编码和重新测试。对SRS中的各项需求进行仔细评审,可以在开发周期的早期揭示某些遗漏、误解和不一致,此时这些问题更容易纠正;为估计成本和进度提供基础。SRS中给出的待开发产品的描述是
6、估计项目成本的现实基础,可用于取得投标认可或得出价格估算;为验证和确认提供基线。通过一份好的SRS文档,组织可提出其更加有效的验证和确认计划。作为开发合同的一部分,SRS提供了可用于测量依从性的基线;便于软件产品转移。SRS文档使软件产品转移到新的用户或机器更容易。顾客因此发现软件产品更容易转移到组织的其他部门,供方发现软件产品更容易转移到新的顾客;作为进一步增强的基础。因为SRS文档讨论的是产品,而不是开发它的项目,因此,SRS是已开发产品后续增强的基础。尽管SRS文档或许需要修改,但它确实为后续的产品评价提供了基础。计算机软件需求规格说明规范GBT 9385-20081范围本标准给出了软件
7、需求规格说明(SRS)的编制要求,描述了一份好的SRS的内容和质量,并在附录A中给出一些SRS提纲示例。本标准适用于编制SRS。本标准并不限定任何编制SRS特定的方法、命名约定和工具。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。GBT 8566信息技术软件生存周期过程(GBT 8566 2007,ISOIEC 12207:1995,MOD)GBT 1 1457信息技术软件
8、工程术语3术语和定义GBT 11457中确立的以及下列术语和定义适用于本标准。31合同contract由顾客和供方共同签署的具有法律约束力的文件,其中包括产品的技术、组织、成本和进度的需求。合同同样可包括某些非正式的、但有用的信息,如,参与各方的承诺或期望。32顾客customer为产品支付费用,并通常(但不必要)确定需求的个人或群体。在某些情况下,顾客和供方可以是同一组织的成员。33供方supplier为顾客开发产品的个人或群体。在某些情况下,顾客和供方可以是同一组织的成员。34用户user直接运行产品或与产品进行交互作用的个人或群体。用户和顾客通常不是同一个人或群体。4 SRS的编制原则4
9、1综述本章给出了编制SRS时宜考虑的事项及编制原则:a)SRS的基本性质;b)SRS的环境;c)好的SRS的特性;d)SRS的联合编制;e)SRS演变;GBT 9385-2008f)原型法;g)SRS中嵌入设计;h)SRS中嵌入项目需求。42 SRS的基本性质SRS是对在具体环境中执行确定功能的特定软件产品、程序或一组程序的规格说明。SRS可由来自供方、顾客或双方的一个或者多个人员编写,45推荐由来自供方和顾客双方的人员联合编写。SRS编写人员应关注以下基本点:a) 功能软件将执行什么功能?b)外部接口软件如何与人、系统的硬件及其他硬件和其他软件进行交互?c) 性能各种软件功能的速度、响应时间
10、、恢复时间等是多少?d) 属性软件的可用性、可靠性、可移植性、正确性、可维护性、安全性如何?e)影响产品实现的设计约束是否有使用标准、编程语言、数据库完整性方针、资源限制、运行环境等方面的要求?编写人员宜避免把设计或项目需求写入SRS中。SRS的内容详见第5章。43 SRS的环境很重要的一点是应考虑SRS在整个项目计划中的作用。项目计划的定义见GBT 11457。软件既可以基本上包括了项目的所有功能,也可以是更大系统的一部分。在后一种情况,典型的SRS将指出系统及其软件部分的接I:1,并将外部性能和功能需求写入软件部分。显然,SRS应当在系统需求上扩展并与其保持一致。GBT 8566描述了软件
11、生存周期的各个步骤,以及每步适用的输入。与软件生存周期等有关的其他标准,可对软件需求进行补充。因为SRS在软件开发过程中发挥特定的作用,编写人员宜谨慎对待,不超出其作用的范围。这意味着SRS:a) 宜正确地定义所有软件需求。由于将要处理的任务的性质或项目的具体特性,则软件需求是存在的。b)不宜描述任何设计或实现的细节。这些内容应当在项目的设计阶段进行描述。c) 不宜对软件设置附加的限制条件。这些内容可在其他文件中规定,如,软件质量保证计划。因此,编写适当的SRS限定了正确设计的范围,但不规定任何具体的设计。44好的SRS的特征441综述SRS宜是:a)正确;b)无歧义;c)完备;d)一致;e)
12、 重要性和或稳定性分级;f)可验证;g)可修改;h)可追踪。442正确当且仅当SRS中的每一项需求都是软件应满足的需求,SRS才是正确的。不存在确保SRS正确性的工具或规程。宜把SRS与任何适用的上层规格说明(如,系统需求规2GBT 9385-2008格说明)、其他项目文件和其他适用的标准进行对比,以确保其相互一致。作为一种选择,顾客或用户可以确定SRS是否正确地反映了实际需要。可追踪性使相应的规程更加便利并减少缺陷(见448)。443无歧义当且仅当SRS中的每一项需求都只有一种解释,SRS才是无歧义的。这要求最终产品的每个特征至少使用唯一的术语来描述。当在特定背景中使用的某个术语存在多种含义
13、时,宜将该术语包含在术语表中,以便更加具体地说明其含义。正如在GBT 8566中所描述的那样,SRS是软件生存周期中需求过程的一个重要部分,并被应用于设计、实现、项目监控、验证和确认,以及培训活动中。对于编制人员和使用人员,SRS宜是无歧义的。但是,这些人员通常并不具备相同的背景,因而对软件需求的描述不会倾向相同的形式。为开发人员而改进的SRS表述,或许会降低用户对SRS的理解,反之亦然。443I到4433给出了如何避免歧义性的建议。4431 自然语言的缺陷需求通常使用自然语言(如,汉语)来编写。但自然语言具有固有的不明确性。使用自然语言编制的SRS宜由独立的一方进行评审,以识别语言的含糊用法
14、并予以纠正。4432需求规格说明语言避免自然语言固有的歧义的一种方式是,使用特定的需求规格说明语言编写SRS。该语言处理器可自动检测出许多词法、句法和语义错误。使用这类特定语言的缺点是,学习语言需要较长的时间。同时,多数非技术方面的使用者发现它们不易理解。此外,这类语言倾向于表述某些特定类型的需求和处理某些特定类型的系统。因此,这类语言可能以难以捉摸的方式影响这些需求。4433表述工具一般而言,支持编制需求的方法、语言和工具分为三种通用类别:对象、过程和行为。面向对象的方法按照现实世界的对象、它们的属性和这些对象完成的服务来组织需求;基于过程的方法将需求组织成功能的层次结构,而这些功能通过数据
15、流进行通信;基于行为的方法利用一些抽象的符号(如,谓词演算)、数学函数或状态机来描述系统的外部行为。这些工具和方法对编制SRS时的有用程度依赖于项目的规模和复杂性。这里并不试图描述和认可任何特定的工具。当使用任何这类方法时,最好仍保持自然语言方式的描述,这样,不熟悉这些方法、符号的顾客仍然能够理解SRS。444完备4441当且仅当SRS包含以下要素,SRS才是完备的:a)所有重要的需求,不论是否与功能、性能、设计约束、属性或者外部接口有关。尤其是由系统规格说明所施加的任何外部需求都应当得到确认和处理。b)软件响应的定义,以说明软件对所有可实现的输入数据类型的响应。应当注意,对于有效和无效输入数
16、值两种情况,规定软件响应是重要的。c)SRS中所有图表的全面标记和索引,以及所有术语和度量单位的定义。4442任何含有“待定”词语的SRS是不完备的。但是有时使用“待定”是不可避免的,若万一使用“待定”时应做如下说明:a) 对导致使用“待定”的情形进行描述(为什么答案未知),以便问题能得到解决;b)描述为排除“待定”应采取的措施、由谁负责排除以及何时必须排除。445一致4451一致是指内部一致性。如果SRS与某些更高层的文档(如,系统规格说明)不一致,那么它是3GBT 9385-2008不正确的(见441)。4452当且仅当在SRS中描述的任何单个需求的子集之间相互不矛盾,SRS才是内部一致的
17、。SRS中可能存在下述三种类型的矛盾:a)现实世界对象的规定特征可能相互矛盾。如:1)报告输出的格式在一个需求中是表格形式,而在另一个需求中是文本形式;2)一个需求指出所有的灯是绿色,而另一个需求规定所有的灯是蓝色。b) 在两个规定的行为之间可能存在逻辑上的或时间上的冲突。如:1)一个需求规定程序将对两个输入相加,另一个需求则规定程序将对这两个输入相乘;2)一个需求指出“A”必须总是在“B”之后,而同时在另一个需求中要求“A和B”同时发生。c)可能两个或更多的需求描述现实世界的相同对象,但使用不同的术语。如,在一个需求中程序对用户输入的请求称为“提示符”,在另一个需求中称为“提示”。使用标准术
18、语和定义可以改善致性。446重要性和或稳定性分级如果SRS中每条需求赋有标明其重要性或稳定性的标识,那么该SRS便按照重要性和或稳定性进行了分级。通常,与软件产品有关的所有需求并不具有相同的重要性。某些需求可能是基本的,特别是与人身生命有关的关键应用,而其他的可能是所期望的需求。SRS中的每个需求宜予以标识,以使需求在这方面的差异清晰和明确。按下述方式标识需求有助于:a)使顾客更仔细地考虑每个需求,这样,常常会澄清顾客可能引入的任何隐藏的假设;b)使开发人员做出正确的设计决定,并针对软件产品的不同部分做出相应适当工作的投入。4461稳定性程度可以用需求的期望变更次数来标识需求的稳定程度。446
19、2重要性程度另一种需求分级的方式是区分如下基本的、有条件的和可选的需求类别:a) 基本的除菲表示同意并满足了这类需求,否则软件将不被接受;b)有条件的表示这类需求会增强软件产品,但是,如果缺少这类需求,也不会导致软件产品被拒收ic) 可选的表示该类功能需求可有可无,这赋予供方提出超出SRS的建议的机会和余地。447可验证当且仅当SRS中的每个需求是可验证的,SRS才是可验证的。当且仅当存在某个有限的成本、有效的过程,人或机器依照该过程能够检查软件产品满足某个需求,该需求才是可验证的。一般说来,任何有歧义的需求都是不可验证的。不可验证的需求包含诸如“工作良好”、“好的人机界面”和“通常应该发生”
20、之类的陈述。因为不可能定义“良好”、“好的”和“通常”,因此,这些需求不可能验证。陈述“程序应绝对不进入无限循环”是不可验证的,因为理论上该特性是不可测试的。可验证陈述示例:程序输出应在事件开始20s内达到60,在30s内达到lOO。这样的陈述是可验证的,因为它使用了具体的术语和可测量的数值。如果不能设计出一种方法以确定软件是否满足某个具体的需求,那么该需求宜被删除或被修改。448可修改当且仅当SRS的结构和形式能够对任何需求进行容易、全面和一致的修改,同时保持该结构和形式,SRS才是可修改的。一般地,可修改性要求SRS:4GBT 9385-2008a)具有连贯、方便使用的结构,包含目次、索引
21、及清晰的相互引用;b)没有冗余(即,相同的需求在SRS不应当出现在多处);c)分别地表述每个需求,而不与其他需求相混淆。尽管冗余本身不是缺陷,但它容易导致错误。尽管冗余偶尔可以有助于SRS的可读性,但当对存在冗余的文件更新时,可能会引起问题。例如,可能对出现多处的某个需求仅在一处做了修改,那么使得SRS内容不一致。当需要冗余时,SRS宜包括一个清晰地交叉索引表,以增加其可修改性。449可追踪如果SRS每个需求的来源是清楚的,并在将来编制或增强文档的过程中便于每个需求的索引,那么该SRS是可追踪的。推荐以下两种类型的可追踪性:a)逆向可追踪性(即,到以前的开发阶段)。这依赖于每个需求清晰地指向其
22、在早期文件的来源;b)正向可追踪性(即,到由SRS产生的所有文件)。这依赖于SRS中每个需求具有唯一的名称或索引号。当软件产品进入运行和维护阶段时,SRS的正向可追踪性尤其重要。随着代码和设计文档的修改,最要紧的是能够确定这些修改可能影响的全部的需求集合。45 SRS的联合编制软件开发过程宜从顾客与供方关于完成的软件必须做什么达成的协议开始。依照SRS的形式,该协议宜联合起草。这一点很重要,因为通常不管是顾客还是供方,单方面都不具备编写一份良好SRS的资格。a) 顾客通常对软件设计和开发过程了解的不够,不足以编写实用的SRS;b)供方通常对顾客的问题和从事的领域了解不够,不足以为系统规定满意的
23、需求。因此,顾客和供方宜一起工作,以编写良好的、全面的和可理解的SRS。当系统及其软件二者同时被定义时,存在一种特殊情况,软件的功能、接口、性能、及其他的属性和限制条件不是预先定义的,而是联合定义并且需要协商和变更,这使得满足44所述的特征更困难,但更重要。尤其是,不符合其母系统需求规格说明的软件SRS是不正确的。本标准不具体讨论SRS的形式、语言的使用或良好的编写技巧,但是,编写良好的SRS十分重要。一般的技术写作书籍可用作编写指南。46 SRS的演变随着软件产品开发的进展SRS可能需要演变。在项目开始时,规定某些细节是不可能的(例如,对于一个交互程序,在需求阶段定义所有屏幕格式是不可能的)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 9385 2008 计算机软件 需求 规格 说明 规范
