需求规格说明书模板4种版本

更新时间:2024-06-07 20:50:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

需求规格说明书(ISO标准版)

编者说明:

当需求调查、分析工作告一段落时,你就需要将这些需求进行规格化描述,整理成文,即软件需求规格说明书,也就是SRS。这是在软件项目过程中最有价值的一个文档。ISO所提供的标准虽然已经时间久远,但还是颇具参考价值的。 1.引言

1.1编写的目的

[说明编写这份需求说明书的目的,指出预期的读者。]

1.2背景

a. 待开发的系统的名称;

b. 本项目的任务提出者、开发者、用户;

c. 该系统同其他系统或其他机构的基本的相互来往关系。 1.3定义

[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。]

1.4参考资料

[列出用得着的参考资料。] 2.任务概述

2.1目标

[叙述该系统开发的意图、应用目标、作用范围以及其他应向读者说明的有关该系统开发的背景材料。解释被开发系统与其他有关系统之间的关系。] 2.2用户的特点

[列出本系统的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本系统的预期使用频度。] 2.3假定和约束

[列出进行本系统开发工作的假定和约束。] 3.需求规定

3.1对功能的规定

[用列表的方式,逐项定量和定性地叙述对系统所提出的功能要求,说明输入什么量、经怎么样的处理、得到什么输出,说明系统的容量,包括系统应支持的终端数和应支持的并行操作的用户数等指标。] 3.2 对性能的规定

3.2.1精度

[说明对该系统的输入、输出数据精度的要求,可能包括传输过程中的精度。] 3.2.2时间特性要求

[说明对于该系统的时间特性要求。] 3.2.3灵活性

[说明对该系统的灵活性的要求,即当需求发生某些变化时,该系统对这些变化的适应能力。] 3.3输入输出要求

[解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对系统

的数据输出及必须标明的控制输出量进行解释并举例。] 3.4数据管理能力要求(针对软件系统)

[说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。] 3.5故障处理要求

[列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。]

3.6其他专门要求

[如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。] 4.运行环境规定

4.1设备

[列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:

a. 处理器型号及内存容量

b. 外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量 c. 输入及输出设备的型号和数量,联机或脱机; d. 数据通信设备的型号和数量 e. 功能键及其他专用硬件] 4.2支持软件

[列出支持软件,包括要用到的操作系统、编译程序、测试支持软件等。] 4.3接口

[说明该系统同其他系统之间的接口、数据通信协议等。]

4.4控制

[说明控制该系统的运行的方法和控制信号,并说明这些控制信号的来源。]

软件需求规格说明书(RUP版)

编者说明:

如果在需求分析时采用了用例(Use case)技术,那么该需求规格说明书将更加符合你的需要。当然,你也可以结合Volere需求规格说明书对该模板进行必要的修改。 1.文档概述

[该部分主要是对软件需求规格说明书文档进行基本的描述,包括该文档的目的、范围、术语定义、参考资料以及概要。]

[软件需求规格说明书用来系统、完整地记录系统的软件需求。该软件需求说明书的基础是用例分析技术。因此该文档中应包括用例模型、补充规约等内容。]

1.1目的

[在此小节中,主要对软件需求规格说明书的目的做一概要性说明,通常软件需求规格说明书应详细地说明应用程序、子系统的外部行为,还要说明非功能性需求、设计约束,以及其它的相关因素。] 1.2范围

[系统是有范围的,而不是无限扩展的,对于无限扩展的需求是无法进行描述的。因此,在本小节应该对该说明书所涉及的项目范围进行清晰的界定。指定该规格说明书适用的软件应用程序、特性或者其它子系统分组、其相关的用例模型。当然在此也需要列出会受到该文档影响的其它文档。] 1.3 定义、首字母缩写词和缩略语

[与其它文档一样,该文档也需要将本文档中所涉及的所有术语、缩略语进行详细的定义。还有一种可简明的做法,就是维护在一个项目词汇表中,这样就可以避免在每个文档中都重复很多内容。] 1.4参考资料

[在这一小节中,应完整地列出该文档引用的所有文档。对于每个引用的文档都应该给出标题、标识号、日期以及来源,为阅读者查找这些文档提供足够详细的信息。] 1.5概述

[在本小节中,主要是说明软件需求规格说明书各个部分所包含的主要内容,就像一个文章摘要一样。同时也应该对文档的组织方式进行解释。] 2. 整体说明

[在本节中,将对整个软件需求进行总体性的描述,以期让读者对整个软件系统的需求有一个框架性的认识。也就是说,该节中主要包括影响产品及其需求的一般因素,而不列举具体的需求。主要包括产品总体效果、产品功能、用户特征、约束、假设与依赖关系、需求子集等方面的内容。]

2.1用例模型

[在本小节中,将列出该软件需求的用例模型,该模型处于系统级,对系统的特性进行宏观的描述。在此应该列出所有的用例和Actor的名称列表,并且对其做出简要的说明,以及在图中的各种关系。] 2.2假设与依赖关系

[在软件系统的开发过程中,存在许多假设和依赖关系。在本小节中应列举出所有的重要的技术可行性假设、子系统或构件可用性假设,以及一些可行性的假设。] 3.具体需求

[如果说第二章节是框架,那么本节就是血肉。在本节中,应该详细列出所有的软件需

求,其详细程序应使设计人员能够充分理解并且进行设计的要求,同时也应该给予测试人员足够的信息,以帮助他们来验证系统是否满足了这些需求。整个需求的组织可以采用用例描述进行。]

3.1用例描述

[如果你使用用例建模技术,那么你已经通过用例定义了系统的大部分功能性需求和一些非功能性需求。因此,在软件需求规格说明书只需将这些具体的用例描述,整理在一起,全部放在该小节之中。当然也可以将用例描述做为附件,在此列出引用,只是这样做并不利于阅读。建议在组织形式上采用以“软件需求”为线索,在每个需求中,填入对应的1个或几个用例描述。] 3.2补充需求

[由于用例毕竟主要针对功能性需求,因此还会有一些其它的补充需求遗漏,因此在本小节中就是将这些东西补充出来。这些补充需求大部分集中在非功能需求之上,包括以下几个方面的内容:]

1) 易用性:例如指出普通用户和高级用户要高效地执行某个特定操作所需的培训

时间;指出典型任务的可评测任务次数;或者指出需要满足的可用性标准(如IBM的CUA标准、Microsoft的GUI标准。

2) 可靠性:包括系统可用性(可用时间百分比、使用小时数、维护访问权、降纸

模式操作等);平均故障间隔时间(MTBF,通常表示为小时数,但也可表示为天数、月数或年数);平均修复时间(MTTR,系统在发生故障后可以暂停运行的时间);精确度(指出系统输出要求具备的精密度、分辨率和精确度);最高错误或缺陷率(通常表示为bugs/KLOC,即每千行代码的错误数目或 bugs/function-point,即每个功能点的错误数目);错误或缺陷率(按照小错误、大错误和严重错误来分类:需求中必须对“严重”错误进行界定,例如:数据完全丢失或完全不能使用系统的某部分功能)。 3) 性能:包括对事务的响应时间(平均、最长);吞吐量(例如每秒处理的事务

数);容量(例如系统可以容纳的客户或事务数);降级模式(当系统以某种形式降级时可接受的运行模式);资源利用情况:内存、磁盘、通信等。

4) 其它:包括用户界面要求、联机帮助系统要求、法律许可、外购构件,以及操

作系统、开发工具、数据库系统等设计约束。

4.支持信息

[支持信息用于使软件需求规格说明书更易于使用。它包括:目录、索引、附录等。]

计算机软件需求说明编制指南(国标版)

编者说明:

软件需求规格说明是十分重要的文档,因此为开发团队提供一份详细的编制指南是十分有意义和必要的。本文档就是一个编制指南的例子,你可以根据该指南,结合自己的实际情况进行修改。 1.引言

1.1 目的和作用

本指南为软件需求实践提供了一个规范化的方法。本指南不提倡把软件需求说明(Software Requirements Specifications,以下简称SRS)划分成等级,避免把它定义成更小的需求子集。

本指南适用对象:

1)软件客户(Customers),以便精确地描述他们想获得什么样的产品。 2)软件开发者(Suppliers),以便准确地理解客户需要什么样的产品。 对于任一要实现下列目标的单位和(或)个人: 1)要提出开发规范化的SRS提纲; 2)定义自己需要的具体的格式和内容;

3)产生附加的局部使用条款,如SRS质量检查清单或者SRS作者手册等。 SRS将完成下列目标:

1) 在软件产品完成目标方面为客户和开发者之间建立共同协议创立一个基础。对

要实现的软件功能做全面描述,帮助客户判断所规定的软件是否符合他们的要求,或者怎样修改这种软件才能适合他们的要求;

2) 提高开发效率。编制SRS的过程将使客户在设计开始之前周密地思考全部需

求,从而减少事后重新设计、重新编码和重新测试的返工活动。在SRS中对各种需求仔细地进行复查,还可以在开发早期发现若干遗漏、错误的理解和不一致性,以便及时加以纠正;

3) 为成本计价和编制计划进度提供基础。SRS提供的对被开发软件产品的描述,

是计算机软件产品成本核算的基础,并且可以为各方的要价和付费提供依据。SRS对软件的清晰描述,有助于估计所必须的资源,并用作编制进度的依据; 4) 为确认和验证提供一个基准。任何组织将更有效地编制他们的确认和验证计划。

作为开发合同的一部分,SRS还可以提供一个可以度量和遵循的基准(然而,反之则不成立,即任一有关软件的合同都不能作为SRS。因为这种文件几乎不包括详尽的需求说明,并且通常不完全的);

5) 便于移植。有了SRS就便于移值软件产品,以适应新的用户或新的机种。客

户也易于移植其软件到其他部门,而开发者同样也易于把软件移植到新的客户; 6) 作为不断提高的基础。由于SRS所讨论的是软件产品,而不是开发这个产品

的设计。因此SRS是软件产品继续提高的基础。虽然SRS也可能要改变,但是原来的SRS还是软件产品改进的可靠基础。

1.2 范围

本指南适用于编写软件需求规格说明,它描述了一个SRS所必须的内容和质量,并且在第6章中提供了SRS大纲。 2.引用标准

GB 8566 计算机软件开发规范

有这种方法注释需求,可以:

1) 帮助客户对每个需求给予更周密的考虑,通常可以在需求中澄清隐藏的假设; 2) 帮助开发者做出正确的设计决定,并对软件产品不同部分作出相应的努力。 5.2.1 稳定性

注释需求的一种方法是使用稳定性量纲。当一个需求在软件预期的生存期间内描述不改变的话,可以认为该需求是稳定的,否则可以认为是易变的。 5.2.2 必要性等级

注释的另一种方法是把需求分成必须保证级、期望级和任选级。

5) 必须保证是指软件必须和这些需求相一致,否则该软件不可能被接受; 6) 期望是指这些需求将提高软件产品的功能,但如果缺省的话也是可接受; 7) 任选是给开发者一个机会,可以提供某些超出SRS规定的目标。 5.2.3 注意事项

在注释需求之前,必须彻底理解这种注释的实质性含义。

5.3 在表达需求时遇到的共同弊病

SRS的基本点是它必须说明由软件获得的结果,而不是获得这些结果的手段。编写需求的人必须描述的基本问题是:

1) 功能——所设计的软件要做什么;

2) 性能——是指软件功能在执行过程中的速度、可使用性、响应时间、各种软件

功能的恢复时间、吞吐能力、精度、频率等等;

3) 强加于实现的设计限制——在效果、实现的语言、数据库完整性、资源限制、

操作环境等等方面所要求的标准;

4) 属性——可移植性、正确性、可维护性及安全性等方面的考虑因素; 5) 外部接口——与人、硬件、其他软件和其他硬件的相互关系。 编写需求的人应当避免把设计或项目需求写入SRS之中,应当对说明需求设计约束与规划设计两者有清晰的区别。

5.3.1 在SRS中嵌入了设计

在SRS中嵌入设计说明,会过多地约束软件设计,并且人为地把具有潜在危险的需求放入SRS中。

1) SRS必须描述在干什么数据上、为谁完成什么功能、在什么地方、产生什

么结果。SRS应把注意力集中在要完成的服务目标上。通常不指定如下的设计项目:

? 把软件划分成若干模块; ? 给每一个模块分配功能;

? 描述模块间的信息流程或者控制流程; ? 选择数据结构。

2) 把设计完全同SRS隔离开来始终是不现实的。安全和保密方面的周密考虑

可能增加一些直接反映设计约束的需求。例如: ? 在一些分散的模块中保持某些功能;

? 允许在程序的某些区域之间进行有限的通讯; ? 计算临界值的检查和。 3) 通常应考虑到,若要为软件选择高层次的设计,就可能需要大量的资源(可

能占整个产品开发成本的10%-20%以上)。有两种选择:

? 不顾本指南的警告,在SRS中描述了设计。这意味着,或者将一个潜

在不适当的设计作为一个需求进行描述(因为,若要得到好的设计,

所花费的时间是不够的),或者在需求阶段花费了过多的时间(因为在SRS完成之前整个设计分析都要完成);

? 采用本指南中5.1.3条中的建议,用模型设计描述需求,这种模型设

计只用于辅助描述需求,而不使之成为实际的设计。

5.3.2 在SRS中嵌入了一些项目要求

SRS应当是描写一个软件产品,而不是描述生产软件产品的过程。

项目要求表达客户和开发者之间对于软件生产方面合同性事宜的理解(因此不应当包括在SRS中)例如:

1) 成本; 2) 交货进度; 3) 报表处理; 4) 软件开发方法; 5) 质量保证;

6) 确认和验证的标准; 7) 验收过程。

项目需求在另外文件中描述。在SRS中提供的只是关于软件产品本身的需求。

6 SRS大纲

本章着重讨论SRS的每一个基本部分,可以作为一个SRS的大纲。表1给出该大纲目录,表2至表5给出大纲中第3章的具体需求内容。各开发者和客户应当根据所描述的实际情况,按本指南有关规定编写自己的SRS。

1 前言 1.1 目的 1.2 范围 1.3 定义、缩写词、略语 1.4 参考资料 2 项目概述 2.1 产品描述 2.2 产品功能 2.3 用户特点 2.4 一般约束 2.5 假设和依据 3 具体需求 (参阅本指南6.3.2 条中具体需求的组织形式) 附录 索引

6.1 前言(SRS第1章)

本章提供整个SRS综述。 6.1.1 目的(SRS的1.1条)

在这一条包括下列内容: 1)描述实际SRS的目的; 2)说明SRS所预期的读者。 6.1.2 范围(SRS的1.2条)

1) 通常应考虑到,若要为软件选择高层次的设计,就可能需要大量的资源(可

能占整个产品开发成本的10%-20%以上)。有两种选择:

2) 用一个名字标识被生产的软件产品。比如:×××数据库系统,报表生成

程序等等;

3) 说明软件产品将干什么,如果需要的话,还要说明软件产品不干什么; 4) 描述所说明的软件的应用。应当:

? 尽可能精确地描述所有相关的利闪、目的、以及最终目标。

? 如果有一个较高层次的说明存在,则应该使其和高层次说明中的类似

的陈述相一致(例如,系统的需求规格说明)。

6.1.3 定义、缩写词、略语(SRS的1.3条)

本条中必须提供全部需求的术语、缩写词及略语的定义,以便对SRS进行适当的解释。这些信息可以由SRS的附录提供。也可以参考其他的文件。 6.1.4 参考资料(SRS的1.4条)

本条应包括:

1) 在SRS中各处参照的文件的全部清单,如经核准的计划任务书,上级机关

批文、合同等;

2) 列出其他参考资料,如属本项目的其他已发表的文件和主要文献等。每一

个文件、文献要有标题,索引号或文件号,发布或发表日期以及出版单位; 3) 详细说明可以得到该参考文件的来源。这个信息可以通过引用附录或其他

文件提供。

6.2 项目概述(SRS第2章)

本章应描述影响产品和其需求的一般因素,本章不说明具体的需求,而仅使需求更易于理解。

6.2.1 产品描述(SRS的2.1条)

这一条是把一个产品用其他有关的产品或项目来描述。

1) 如果这个产品是独立的,而且全部内容自含,应在此说明;

2) 如果SRS定义的产品是一个较大的系统或项目中的一个组成部分,那么本

条应包括如下内容:

? 要概述这个较大的系统或项目的每个组成部分的功能,并说明其接口; ? 指出该软件产品主要的外部接口。在这里,不要求对接口详细地描述,

详细描述放在SRS其他章条中;

? 描述所使用的计算机硬件、外围设备。这里仅仅是一个综述性描述。 在本条的描述中,用一个方框图来表达一个较大的系统或项目的主要组成部分、相互联系和外部接口是非常有帮助的。

本条既不用来强迫进行设计方案的描述,也不是描述在解决问题时的设计约束。本条应对在以后具体需求一章中说明的设计约束提供理由。 6.2.2 产品功能(SRS的2.2条)

本条是为将要完成的软件功能提供一个摘要。例如,对于一个记帐程序来说,SRS可以用这部分来描述:客户帐目维护、客户财务报表和发票制作,而不必把功能所要求的大量的细节描写出来。

有时,如果存在较高层次的规格说明时,则功能摘要可直接从中取得,这个较高层次的规格说明为软件产品分配了特殊的功能,为了清晰起见,请注意:

1) 编制功能的一种方法是制作功能表,以便客户或者第一次读这个文件的人

都可以理解;

2) 用方框图来表达不同的功能和它们的关系也是有帮助的。但要牢记,这样

的图不是产品设计时所需求的,而只是一种有效的解释性的工具。 这一条不用作陈述具体需求,只是对后来SRS中具体需求一章中为什么要描述的某些需求提供理由。

6.2.3 用户特点(SRS的2.3条)

本条要描述影响具体需求的产品的最终用户的一般特点。

许多人在软件生存周期的操作和维护阶段与系统相关。而这些人中有用户、操作员、维护人员和系统工作人员。这些人的某些特点,象教育水平、经验、技术、专长等,都是施加于系统操作环境的重要约束。

如果系统的大多数用户是一些临时用户,那么就要求系统包含如何完成基本功能的提示,而不是假设用户已经从过去的会议或从阅读用户指南中了解到这些细节。

这一条的内容不能用来陈述具体需求或强加若干特殊的设计约束,本条应对在SRS的具体需求一章之中的某些具体需求或设计约束的描述提供理由。 6.2.4 一般约束(SRS的2.4条)

本条对设计系统阳限制开发者选择的其他一些项作一般性描述。而这些项将限定开发者在设计系统时的任选项。这些包括:

1) 管理方针; 2) 硬件的限制;

3) 与其他应用间的接口; 4) 并行操作; 5) 审查功能; 6) 控制功能;

7) 所需的高级语言; 8) 通信协议; 9) 应用的临界点;

10)安全和保密方面的考虑。

本条不陈述具体需求或具体设计约束:而对SRS的具体需求一章中为什么要确定某些具体需求和设计约束提供理由。 6.2.5 假设和依据(SRS的2.5条)

本条列出影响SRS中陈述的需求的每一个因素。这些因素不是软件的设计约束,但是它们的改变可能影响到SRS中的需求。例如:假定一个特定的操作系统是在被软件产品指定的硬件上使用的,然而,事实上这个操作系统是不可能使用的,于是,SRS就要进行相应的改变。 6.3 具体需求(SRS的第3章)

本章应包括软件开发者在建立设计时需要的全部细节。这是SRS中篇幅最大和最重要的部分。

1) 根据本指南第4章所规定的准则(如可验证性、无歧义性等),对每一个需求

细节作具体描述;

2) 在SRS的前言、项目概述、附录部分的有关讨论中,要提供对任何一个具体

需求交叉引用的背景;

3) 具体需求分类的方法如下:

? 功能需求; ? 性能需求;

? 设计约束; ? 属性;

? 外部接口需求。 本章中要注意的二点是:

1) 符合逻辑的和可读的方式组织;

2) 详细描述每个需求,使该需求应达到目标能够用指定的方法进行客观的验证。 6.3.1 具体需求的内容

6.3.1.1 功能需求

本条描述软件产品的输入怎样变换成输出。即软件必须完成的基本动作。 对于每一类功能或者有时对于每一个功能,需要具体描述其输入、加工和输出的需求。这通常由四个部颁组成:

1) 引言

这部分描述的是功能要达到的目标、所采用的方法和技术,还应清楚说明功能意图的由来和背景。

2) 输入

这部分应包括:

? 详细描述该功能的所有输入数据,如:输入源、数量、度量单位、时

间设定、有效输入范围(包括精度和公差);

? 操作员控制细节的需求。其中有名字、操作员活动的描述、控制台或

操作员的位置。例如:当打印检查时,要求操作员进行格式调整; ? 指明引用接口说明或接口控制文件的参考资料。 3) 加工

定义输入数据、中间参数,以获得预期输出结果的全部操作。它包括如下的说明:

? 输入数据的有效性检查;

? 操作的顺序,包括事件的时间设定;

? 异常情况的响应,例如,溢出、通信故障、错误处理等; ? 受操作影响的参数; ? 降级运行的要求;

? 用于把系统输入变换成相应输出的任何方法(方程式、数学算法、逻

辑操作等);

? 输出数据的有效性检查。 4) 输出

这部分应包括:

? 详细描述该功能所有输出数据,例如:输出目的地、数量、度量单位、

时间关系、有效输出的范围(包括精度和公差)、非法值的处理、出错信息;

? 有关接口说明或接口控制文件的参考资料。

此外,对着重于输入输出行为的系统来说,SRS应指定所有有意义的输入、输出对及其序列。当一个系统要求记忆它的状态时,需要这个序列,使得它可以根据本次输入和以前的状态作出响应。也就是说,这种情况犹如有限状态机。

6.3.1.2 设计约束

设计约束受其他标准、硬件限制等方面的影响。

1) 其他标准的约束:本项将指定由现有的标准或规则派生的要求。例如:报

表格式、数据命名、财务处理、审计追踪等等。

2) 硬件的限制:本项包括在各种硬件约束下运行的软件要求,例如,应该包

括:硬件配置的特点(接口数,指令系统等)、内存储器和辅助存储器的容量。 6.3.1.3 属性

在软件的需求之中有若干个属性,下面指出其中的几个(注意:对这些决不应理解为是一个完整的清单)。

1) 可用性:可以指定一些因素,如检查点、恢复和再启动等,以保证整个系

统有一个确定的可用性级别。

2) 安全性:这里指的是保护软件的要素,以防止各种非法的访问、使用,修

改、破坏或者泄密。这个领域的具体需求必须包括: ? 利用可靠的密码技术;

? 掌握特定的记录或历史数据集; ? 给不同的模块分配不同的功能; ? 限定一个程序中某些区域的通信; ? 计算临界值的检查和。

3) 可维护性:这里规定若干需求以确保软件是可维护的。例如:

? 软件模块所需要的特殊的耦合矩阵;

? 对微型装置指定特殊的数据/程序分割要求。

4) 可转移/转换性:这里规定把软件从一种环境移植到另一种环境所要求的

用户程序,用户接口兼容方面的约束等等。

5) 警告:指定所需属性十分重要,它使得人们能用规定的方法去进行客观的

验证。

6.3.1.4 外部接口要求

1) 用户接口:提供用户使用软件产品是地的接口需求。例如,如果系统的用

户通过显示终端进行操作,就必须指定如下要求: ? 对屏幕格式的要求;

? 报表或菜单的页面打印格式和内容; ? 输入输出的相对时间; ? 程序功能键的或用性。

2) 硬件接口:要指出软件产品和系统硬部件之间每一个接口的逻辑特点。还

可能包括如下事宜:支撑什么样的设备,如何支撑这些设备,有何约定。 3) 软件接口:在这里应指定需使用的其他软件产品(例如,数据管理系统,

操作系统,或者数学软件包),以及同其他应用系统之间的接口。 对每一个所需的软件产品,要提供名字、助记符、规格说明号、版本号、来源等内容。 对于每一个接口,这部分应说明与软件产品相关的接口软件的目的,并根据信息的内容和格式定义接口,这里不必详细描述任何已有完整文件的接口,只要引用定义该接口的文件即可。

4) 通信接口:这里指定各种通信接口,例如,局部网络的协议等等。 6.3.1.5 其他需求

根据软件和用户组织的特性等,某些需求放在下面各项中描述。

1) 数据库:本项对作为产品的一部分进行开发的数据库规定一些需求,它们

可能包括:

? 在6.3.1.1条中标识的信息类别;

? 用的频率; ? 存取能力;

? 数据元素和文卷描述符;

? 数据元素、记录和文卷的关系; ? 静态和动态的组织; ? 数据保存要求。

注:如果使用一个现有的数据库包,这个包应在“软件接口”中命名,并在那里详细说明其用法。

2) 操作:这里说明用户要求的常规的和特殊的操作。

? 在用户组织之中各种方式的操作。例如,用户初始化操作; ? 交互作用操作的同期和无人操作的周期; ? 数据处理支持功能; ? 后援和恢复操作。

注:这里的内容有时是用户接口的一部分。 3) 场合适应性需求:这里包括:

? 对给定场合、任务或操作方式的任何数据或初始化顺序的需求进行定

义。例如,栅值,安全界限等等。

? 指出场合或相关任务的特点,这里可以被修改以使软件适合特殊配制

的要求。

6.3.2 具体要求的组织

本条通常是SRS所有部分中最大并且最复杂的部分。

1) 可以根据软件实现功能的基本类型,将本条分成若干段。例如:考虑一个

大的交互记帐系统,在里层可以分为操作软件(它支持近乎实时的事务处理)、支撑软件(联机功能、磁盘备份、装入磁带等等)以及诊断软件(诊断硬件、通信等),外一层是应收款帐以及应付款帐等等; 2) 结构细分的目的是提高SRS的可读性,而不是进行概要设计。

对于SRS中的第3章的具体需求部分的最好的组织方案取决于所说明的软件产品的应用范围和性质。 文中最后部分提供了四种可能的组织方案。

1) 大纲1中首先说明全部功能需求,然后说明四种类型的接口要求,最后是

其他需求;

2) 大纲2中,把对应每个特定功能的四种接口需求和该功能需求放在一起描

述,然后说明其他需求;

3) 大纲3中,与功能需求有关的全部内容放在一起首先说明,然后是其他需

求的描述。对每一种外部接口的需求重复上述过程; 4) 大纲4中,接口需求和其余的需求作为每一个功能需求的附属部分来说明。 SRS的具体需求的组织形式必须选择可读性最好的方法来描述。

6.4 支持信息

支持信息是指目录表,附录和索引。以便使SRS易于使用。

1)目录表和索引很重要,而且应按照可以接受的好的文件规则来编写。

2)对一个实际的需求规格说明来说,若有必要应该编写附录。附录中可能包括:

? 输入输出格式样本,成本分析研究的描述或用户调查结果; ? 有助于理解SRS的背景信息; ? 软件所解决问题的描述;

? 用户历史、背景、经历和操作特点;

? 交叉访问表。按先后次序进行编排,使一些不完全的软件需求得以完善(参

见4.3.2条和4.3.3条);

? 特殊的装配指令用于编码和媒体,以满足安全、输出、初始装入或其他要

求。

3)6.4.3 当包括附录时,SRS必须明确地说明附录是不是需求要考虑的部分。 SRS大纲1 3 具体需求 3.1 功能需求 3.1.1 功能需求1 3.1.1.1 引言 3.1.1.2 输入 3.1.1.3 加工 3.1.1.4 输出 3.1.2 功能需求2 ?? 3.1.n 功能需求n 3.2 外部接口需求 3.2.1 用户接口 3.2.2 硬件接口 3.2.3 软件接口 3.2.4 通信接口 3.3 性能需求 3.4 设计约束 3.4.1 其他标准的约束 3.4.2 硬件的限制???? 3.5 属性 3.5.1 安全性 3.5.2 可维护性???? 3.6 其他需求 3.6.1 数据库 3.6.2 操作 3.6.3 场合适应性???? SRS大纲2 3 具体需求 3.1 功能需求 3.1.1 功能需求1 3.1.1.1 规格说明 3.1.1.1.1 引言 3.1.1.1.2 输入 3.1.1.1.3 加工 3.1.1.1.4 输出 3.1.1.2 外部接口 3.1.1.2.1 用户接口 3.1.1.2.2 硬件接口 3.1.1.2.3 软件接口 3.1.1.2.4 通信接口 3.1.2 功能需求2 ???? 3.1.n 功能需求n 3.2 性能需求 3.3 设计约束 3.4 属性 3.4.1 安全性 3.4.2 可维护性???? 3.5 其他需求 3.5.1 数据库3.5.2 操作3.5.3 场合适应性????

SRS大纲3 3 具体需求 3.1 功能需求 3.1.1 功能需求1 3.1.1.1 引言3.1.1.2 输入3.1.1.3 加工3.1.1.4 输出 3.1.1.5 性能需求 3.1.1.6 设计约束 3.1.1.6.1 其他标准的约束3.1.1.6.2 硬件的限制???? 3.1.1.7 属性 3.1.1.7.1 安全性3.1.1.7.2 可维护性???? 3.1.1.8 其他需求 3.1.1.8.1 数据库3.1.1.8.2 操作3.1.1.8.3 场合适应性 ???? 3.1.2 功能需求2 ???? 3.1.n 功能需求n 3.2 外部接口需求 3.2.1 用户接口 3.2.1.1 性能需求 3.2.1.2 设计约束 3.2.1.2.1 其他标准的约束3.2.1.2.2 硬件的限制???? 3.2.1.3 属性 3.2.1.3.1 安全性3.2.1.3.2 可维护性???? 3.2.1.4 其他需求 3.2.1.4.1 数据库3.2.1.4.2 操作3.2.1.4.3 场合适应性 ???? 3.2.2 硬件接口3.2.3 软件接口3.2.4 通信接口 SRS大纲4 3 具体需求 3.1 功能需求1 3.1.1 引言3.1.2 输入3.1.3 加工3.1.4 输出 3.1.5 外部接口 3.1.5.1 用户接口3.1.5.2 硬件接口 3.1.5.3 软件接口3.1.5.4 通信接口 3.1.6 性能需求 3.1.7 设计约束 3.1.8 属性 3.1.8.1 安全性3.1.8.2 可维护性???? 3.1.9 其他需求 3.1.9.1 数据库3.1.9.2 操作3.1.9.3 场合适应性???? 3.2 功能需求2 ???? 3.n 功能需求n 用例说明模板1(经典模板)

编者说明:

随着UML的日益普及,用例(Use case)分析技术也在需求实践中广泛被采用。但是也有许多团队在使用该技术时,只画出了用例图,而缺少了用例说明,其实这是一个严重的误区。而本模板就将指导你编写该说明。 1.用例名称

1.1 简要说明

[简要说明用例的作用和目的。该小节的篇幅不要太长。]

2.上下文图

[在此小节中,有一个只包括本用例和所有与该用例相关的Actor和其它用例组成的,一个用例图的局部。] 3. 事件流

3.1 基本流

[当Actor采取行动时,用例也就随即开始。用例总是由Actor启动的,用例应说明Actor的行为及系统的响应,可按照Actor与系统进行对话的形式来逐步引入用例。]

[要注意的是,用例描述应该说明系统内发生的事情,而不是事件发生的方式与原因。如果进行了信息交换,则需指出来回传递的具体信息。例如,只表述主角输入了客户信息就不够明确。最好明确地说主角输入了客户姓名和地址。当然你也可以通过项目词汇表来定义这些信息,使得用例中的内容被简化,从而不致于让用例描述陷入过多的细节内容。]

[如果存在一些相对比较简单的备选流,只需少数几句话就可以说明清楚,那么也可以直接在这一部分中描述。但是如果比较复杂,还是应该单独放在备选流小节中描述。]

[一幅图胜过千言万语,因此建议在这一小节中,除了叙述性文字之外,你还可以引用UML中的活动图、顺序图、协作图、状态图等手段,对其进行补充说明。]

3.2 备选流

3.2.1 第一备选流

[正如前面所述,对于较复杂的备选流应单独地说明。] 3.2.1.1 备选支流

[如果能使表达更明确,备选流又可再分为多个支流。] 3.2.2 第二备选流

[在一个用例中很可能会有多个备选流。为了使表达更清晰,应将各个备选流分开说明。使用备选流可以提高用例的可读性,并防止将用例分解为过多的层次。应切记,用例只是文本说明,其主要目的是以清晰、简洁、易于理解的方式记录系统的行为。]

4. 非功能需求

[在这个小节中,主要对该用例所涉及的非功能性需求进行描述。由于其通常很难以在事件流中进行表述,因此单列为一小节进行阐述。这些需求通过包括法律法规、应用程序标准、质量属性(可用性、可靠性、性能、支持性等)、兼容性、可移植性,以及设计约束等方面的需求。在这些需求的描述方面,一定要注意使其可度量、可验证,否则就容易流于形式,形同摆设。] 5. 前置条件

[用例的前置条件是执行用例之前必须存在的系统状态。] 6. 后置条件

[用例的后置条件是用例一执行完毕系统可能处于的一组状态。] 7. 扩展点

[此用例的扩展点,通常是用例图中的extent关系。]

本文来源:https://www.bwwdw.com/article/d3v6.html

Top