软件需求分析说明书模板

保密级别:S

资料编号:SRS--

版    本:V.

软件需求分析说明书

共 11 页

编制:

                       审核:

                       审定:

                       会签:

                       批准:

                      

XXXXXXXXXX公司

年月日

文档修改记录


目  录

1       引言. 2

1.1       编写目的. 2

1.2       范围. 2

1.3       定义、首字母缩写词和缩略语. 2

1.4       参考资料. 2

2       项目概述. 3

2.1       产品描述. 3

2.2       产品需求. 3

2.2.1        功能需求. 3

2.2.2        性能需求. 4

2.2.3        可服务性需求. 4

2.3       用户及用户特点. 4

2.4       一般约束. 5

2.5       假设和依据. 5

3       用例描述. 5

3.1       用例1 5

3.2       用例2 6

3.3       用例n 6

4       外部接口需求. 7

4.1       用户接口. 7

4.2       硬件接口. 7

4.3       软件接口. 7

4.4       通信接口. 8

5       设计约束. 8

5.1       其他标准的约束. 8

5.2       硬件的限制. 8

6       属性. 8

6.1       可用性. 8

6.2       安全性. 9

6.3       可维护性. 9

6.4       可转移 \转换性. 9

6.5       警告. 9

7       其他需求. 9

7.1       数据库. 9

7.2       操作. 10

7.3       场合适应性需求. 10

8       附录. 10

[说明:本模板中的蓝色字体与橙色字体为说明性文字,在最终提交的文档中请删除这些说明性的文字。]

1     引言

1.1   编写目的

    说明编写这份软件需求说明书的目的,指出预期的读者范围。

1.2   范围

说明:

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

b.    说明软件将干什么,如果需要的话,还要说明软件产品不干什么;

c.    描述所说明的软件的应用。应当:

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

2) 如果有一个较高层次的说明存在,则应该使其和高层次说明中的类似的陈述相一致(例如,系统的需求规格说明)。

1.3   定义、首字母缩写词和缩略语

    列出本文件中用到的专门术语的定义和缩写词的原词组。

1.4   参考资料

列出要用到的参考资料,如:

a.   本项目的经核准的计划任务书或合同、上级机关的批文;

b.  属于本项目的其他已发表的文件;

c.   本文件中各处引用的文件、资料,包括所要用到的软件开发标准。

列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

2     项目概述

2.1   产品描述

叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。

2.2   产品需求

2.2.1  功能需求

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

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

a.   编制功能的一种方法是制作功能表,以便客户或者第一次读这个文件的人都可以理解;

b.  用方框图来表达不同的功能和它们的关系也是有帮助的。但应牢记,这样的图不是产品设计时所需求的,而只是一种有效的解释性的工具。

c.   用系统用例图可以表达系统主要功能,如果功能较多,可以按功能分组分几个小节分别描述。

范例:

2.2.2  性能需求

从整体来说,本条应具体说明软件、或人与软件交互的静态或动态数值需求。

A.静态数值需求可能包括:

1)   支持的终端数;

2)   支持并行操作的用户数;

3)   处理的文卷和记录数;

4)   表和文卷的大小。

B.动态数值需求可能包括:欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量。

所有这些需求都必须用可以度量的术语来叙述。例如,95%的事务必须在小于1s时间内处理完,不然,操作员将不等待处理的完成。

范例:

2.2.3  可服务性需求

从易于安装与调试方面提出产品的可服务性需求。

2.3   用户及用户特点

列出系统所有可能的用户,建议用UML图表示。

列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。这些是软件设计工作的重要约束。

2.4   一般约束

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

a.   管理方针;

b.  硬件的限制;

c.   与其他应用间的接口;

d.  并行操作;

e.  审查功能;

f. 控制功能;

g.  所需的高级语言;

h.  通信协议;

i. 应用的临界点;

j. 安全和保密方面的考虑。

2.5   假设和依据

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

3     用例描述

下面各节分别描述各用例的具体流程。

3.1   用例1

给出对本用例的概括性说明,这里的说明不仅限于文字,可以给出界面草图、活动流程图等。

按下表的方式描述用例准确过程

3.2   用例2

.....

3.3   用例n

.....

4     外部接口需求

4.1   用户接口

提供用户使用软件产品时的接口需求。例如,如果系统的用户通过显示终端进行操作,就必须指定如下要求:

a.   对屏幕格式的要求;

b.  报表或菜单的页面打印格式和内容;

c.   输入输出的相对时间;

d.  程序功能键的可用性。

4.2   硬件接口

要指出软件产品和系统硬部件之间每一个接口的逻辑特点。还可能包括如下事宜:支撑什么样的设备,如何支撑这些设备,有何约定。

4.3   软件接口

在此要指定需使用的其他软件产品(例如,数据管理系统、操作系统或数学软件包),以及同其他应用系统之间的接口。对每一个所需的软件产品,要提供如下内容:

a.   名字;

b.  助记符;

c.   规格说明号;

d.  版本号;

e.  来源。

    对于每一个接口,这部分应说明与软件产品相关的接口软件的目的,并根据信息的内容和格式定义接口,但不必详细描述任何已有完整文件的接口,只要引用定义该接口的文件即可。

4.4   通信接口

指定各种通信接口。例如,局部网络的协议等等。

5     设计约束

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

5.1   其他标准的约束

本项将指定由现有的标准或规则派生的要求。例如:

a.   报表格式;

b.  数据命名;

c.   财务处理;

d.  审计追踪,等等。

5.2   硬件的限制

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

a.   硬件配置的特点(接口数,指令系统等);

b.  内存储器和辅助存储器的容量。

6     属性

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

6.1   可用性

可以指定一些因素,如检查点、恢复和再启动等,以保证整个系统有一个确定的可用性级别。

6.2   安全性

指的是保护软件的要素,以防止各种非法的访问、使用、修改、破坏或者泄密。这个领域的具体需求必须包括:

a.   利用可靠的密码技术;

b.  掌握特定的记录或历史数据集;

c.   给不同的模块分配不同的功能;

d.  限定一个程序中某些区域的通信;

e.  计算临界值的检查和。

6.3   可维护性

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

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

b.  为微型装置指定特殊的数据\程序分割要求。

6.4   可转移 \转换性

规定把软件从一种环境移植到另一种环境所要求的用户程序,用户接口兼容方面的约束等等。

6.5   警告

指定所需属性十分重要,它使得人们能用规定的方法去进行客观的验证。

7     其他需求

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

7.1   数据库

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

a.   在功能需求中标识的信息类别;

b.  使用的频率;

c.   存取能力;

d.  数据元素和文卷描述符;

e.  数据元素、记录和文卷的关系;

f. 静态和动态的组织;

g.  数据保存要求。

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

7.2   操作

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

A.在用户组织之中各种方式的操作。例如,用户初始化操作;

B.交互作用操作的周期和无人操作的周期;

C.  数据处理运行功能;

D.  后援和恢复操作。

    注:这里的内容有时是用户接口的一部分。

7.3   场合适应性需求

这里包括:

a.   对给定场合或相关任务或操作方式的任何数据或初始化顺序的需求进行定义。例如,栅值,安全界限等等。

b.  指出场合或相关任务为特点,这里可以被修改以使软件适合特殊配制的要求。

8     附录

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

a.   输入输出格式样本,成本分析研究的描述或用户调查结果;

b.  有助于理解需求说明的背景信息;

c.   软件所解决问题的描述;

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

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

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

    注:当包括附录时,需求说明必须明确地说明附录是不是需求要考虑的部分。

 

第二篇:1、软件需求规格说明书模板1

XX 软件需求规格说明书

修订记录

1软件需求规格说明书模板1

1软件需求规格说明书模板1

关键词:能够体现文档描述内容主要方面的词汇。 摘 要:

缩略语清单:对本文所用缩略语进行说明,要求提供每个缩略语的英文全名和中文解释。

目 录

1 简介 .............................................................................................................................. 3

1.1 目的 ........................................................................................................................ 3

1.2 范围 ........................................................................................................................ 3

2 总体概述 ....................................................................................................................... 3

2.1 软件概述 ................................................................................................................. 3

2.1.1 项目介绍 ............................................................................................................ 3

2.1.2 产品环境介绍 ..................................................................................................... 3

2.2 软件功能 ................................................................................................................. 4

2.3 用户特征 ................................................................................................................. 4

2.4 假设和依赖关系 ...................................................................................................... 4

3 具体需求 ....................................................................................................................... 4

3.1 功能需求 ................................................................................................................. 4

3.1.1 功能需求1 .......................................................................................................... 5

3.2 性能需求 ................................................................................................................. 6

3.2.1 性能需求1 .......................................................................................................... 6

3.3 外部接口需求 .......................................................................................................... 7

3.3.1 用户接口 ............................................................................................................ 7

3.3.2 软件接口 ............................................................................................................ 7

3.3.3 硬件接口 ............................................................................................................ 8

3.3.4 通讯接口 ............................................................................................................ 8

4 总体设计约束................................................................................................................ 8

4.1 标准符合性 ............................................................................................................. 8

4.2 硬件约束 ................................................................................................................. 8

4.3 技术限制 ................................................................................................................. 9

5 软件质量特性................................................................................................................ 9

6 依赖关系 ....................................................................................................................... 9

7 其他需求 ....................................................................................................................... 9

7.1 数据库..................................................................................................................... 9

7.2 操作 ........................................................................................................................ 9

7.3 本地化..................................................................................................................... 9

8 附录 .............................................................................................................................. 9

8.1 附录A 需求建模.................................................................................................... 9

8.1.1 数据流图 .......................................................................................................... 10

8.1.2 数据字典 .......................................................................................................... 10

8.2 附录B 参考资料清单: ....................................................................................... 10 ................................................................................................................................ 9

1 简介

1.1 目的

这部分要描述文档的目的。应该指明读者。说明本需求文档描述了哪个产品的软件需求。

1.2 范围

本节应描述文档所包括和不包括的内容。

2 总体概述

本节描述影响产品和产品需求的一般因素。由以下4个部分构成。 有一点需说明的是本节不描述具体的需求,只是使那些将要描述的具体需求更易于理解。

2.1

2.1.1 软件概述 项目介绍

描述本软件需求所描述的项目的背景。例如:本项目是一系列版本中的一个,或者是替代某个已经存在的系统,还是一个新的独立的项目。

2.1.2 产品环境介绍

描述的是本产品与其它产品或项目所组成的整体环境。

1.如果本产品是独立的并完全自我包含,在此说明这一点。

2.如果SRS定义的产品是更大的系统或项目的组件(此种情形经常发生),那么应:

A. 描述此大系统或项目每个组件的功能,并且标识接口。 B. 确定本软件产品主要外部接口。( 注意:在此部分并不进行这些接口的详细描述;对这些接口的详细描述在SRS的其它 部分提供。)

C. 描述相关产品硬件和所使用的外部设备。( 注意: 这只是概述性描述。)

通过方块图来描述大系统或项目的主要组件,互连性以及外部接口将是非常有帮助的。本部分不应提出一个具体的设计解决方案或对解决方案的具体设计约束(具体设计约束将在具体需求章节中描述)。本部分内容是产生设计约束的基础。

2.2

软件功能

概述软件的必须实现的和通过用户操作实现的主要功能。这里只需要进行简要描述(例如目录列表),详细描述在详细需求部分描述。对需求功能进行组织,以便于读者理解,并能指导后续的设计和测试。可以用图表来表示主要需求群组之间的关系,例如:高层的数据流图,面向对象的分析等。

有时此部分所要求的功能概述可以从分配具体功能给此软件产品的更高层规格(如果存在的话)直接引用。

本节不应描述具体需求。但本节内容是具体需求章节的基础。

2.3 用户特征

列出对用户或系统操作者的要求,如:经验,能力,角色等。

本节不应描述具体需求。但本节内容是具体需求章节的基础。

2.4 假设和依赖关系

列出可能影响SRS中需求的所有的假设因素(与已知事实相对而言),包括准备使用的第三方或商业组件,操作和开发环境的问题约束等。如果上述假设不正确、没有被告知或者改变了都将对项目产生影响。列出项目对外部条件的依赖,例如重用其他项目的模块等。如果在其他文档(例如项目计划或范围文档等)里已经描述了,在这里可以不用描述。 3 具体需求

在每一条需求描述中重复下列部分

3.1 功能需求

本子章节应描述软件产品的输入怎样被转换成输出。它描述了软件必须执行的基本动作。

对每一类功能或有时对每一个单独的功能,必须描述输入、处理、输出方面的需求。这些通常以下面四个子段落来组织:

3.1.1 功能需求1

用需求编号加上简短词汇做为功能需求名,不要用“功能需求(1)”作为功能名,例如:R.INTF.CALC.001 计算表达式

R.INTF.CALC.002 打印

需求编号规则按照软件需求管理规程(REP01)进行

1. 介绍

逐条列出与本特性相关的功能需求。包括项目如何响应预期的错误输入,非法条件和无效输入。需求应该简明,完整,不含糊,可验证,必要的。 当需要的信息不确定的时候使用“待定”。

2. 输入

本子段落应包含下列内容:

A. 对该功能所有输入数据的详细描述,包括:

输入来源 数量 度量单位 时间要求 包含精度和容忍度的有效输入范围

B. 在适当的地方提供的对接口规格或接口控制文档的参考。

3. 处理

本子段落应描述对输入数据所执行的所有操作和如何获得输出的过程。这包括下列规格:

A. 输入数据的有效性检测。

B. 操作的确切次序,包括各事件的时序。

C. 对异常情况的回应,例如:

溢出 通信失败 错误处理

D. 用于把系统输入转换到相应输出的任何方法(诸如方程式,数学算法,逻辑操作)。

例如,这可能描述下列方面:

对工资单里代扣所得税的计算公式。 用于气象预报的气象模型。

E. 对输出数据的有效性检测。

4. 输出

本子段落应包含:

A. 对该功能所有输出数据的详细描述,这个描述包括:

输出的到何处(如打印机,文件) 数量 度量单位 时序 包含精确度和容忍度的有效输出范围 对非法值的处理 错误消息

B. 在适当的地方提供对接口规格或接口控制文档的参考。

此外,对那些需求集中在输入/输出行为的系统,SRS应描述所有重要的输入/输出行为及输入输出对的次序。对一个需要记忆其行为以根据输入和过去的行为进行反应的系统,输入输出对的次序是要求的;这种功能行为就类似于有限状态机。

3.2 性能需求

如果有性能方面的需求,在这里列出并解释他们的原理。以帮助开发者理解意图以做出正确的设计选择。在实时系统中的时序关系。保证需求尽可能的详细而精确。

3.2.1 性能需求1

本子章节应从整体上描述静态和动态的量化的对软件(或人与软件交互)的需求。 静态的量化需求可能包括:

A. 支持的终端数目。

B. 支持的同时使用的用户数目。

C.处理的文件和记录的数目。

D.表和文件的大小。

动态的量化需求可能包括:

A. 在正常和峰值工作量条件下特定时间段(如一小时)

B. 处理的事务和任务的数目以及数据量。

所有的这些需求应以可测量的术语进行描述,例如所有的操作应在1秒内被处理完成,而不是描述成操作员不必等待操作的完成。

注意: 用于一个具体功能的量化限制通常在该功能的处理子章节中描述。

3.3

3.3.1 外部接口需求 用户接口

详细描述系统与用户之间的接口

这应描述下述内容:

A. 对每种人机界面,软件所必须支持的特性。例如,如果系统用户通过一个显示终端进行操作,那么应包含下述内容:

要求的屏幕格式

页面规划及报告或菜单的内容

输入和输出的相关时序

一些组合功能键的用法

B. 与系统用户接口使用相关的所有方面。这可能只是一个简单的关于系统怎样展示给用户而该做什么和不该做什么的列表。例如提供关于长或短错误消息选项。和所有其它需求一样,这些需求也应能被检验,例如,四级打字员经一小时的培训后能在Z分钟内完成功能X,而不是一个打字员能完成功能X。

3.3.2 软件接口

详细描述与其他系统 /模块 /项目之间的接口

在此应描述如何使用其它(必需的)软件产品(例如,数据管理系统,操作系统,或算法工具包),以及与其它应用系统的接口(例如,协议处理系统和数据库管理系统之间的接口)。

对每个必需的软件产品,应提供下列信息:

A. 名字

B. 助记符

C. 版本号

D. 来源

对每个接口,本部分应:

A . 讨论与本软件产品相关的接口软件的目的。

B. 按消息/函数内容和格式定义接口。如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档。

3.3.3 硬件接口

详细描述与硬件的接口

在此描述软件产品和系统硬件组件之间接口的逻辑特征,也包括支持哪些设备、怎样支持这些设备和协议等。

按软/硬件协议内容和格式定义接口。如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档。

3.3.4 通讯接口

详细描述通讯接口,如本地网络协议等。

按消息/函数内容和格式定义接口。如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档。

4 总体设计约束

描述可能限制开发人员选择的事项。

4.1 标准符合性

本节详细说明需求所采用的标准或规范的来源。如果项目采用了国际标准,应该说明国际标准及项目与标准的偏离情况。

4.2 硬件约束

本节包括软件在不同的硬件平台运行的需求,如时间相关的约束,内存方面的约束等。

4.3 技术限制

本节包括对使用特定技术的限制,包括接口,数据库,并行操作,通讯协议,设计约定,编程规范等。

5 软件质量特性

详细说明项目任何其他的质量特性。该特性对客户和开发者都非常重要。考虑的方面包括:适应性,可用性,正确性,灵活性,交互工作能力,可维护性,可移植性,可靠性,可重用性,鲁棒性,可测试性和可用性等。定量的详细描述这些特性,尽可能的可验证。对不同属性之间的重要性加以阐述,如:易用性比易学性更重要。

每一个属性单独使用一个小节描述,可根据需要进行增减,如增加可维护性小节等。 6 依赖关系

解释每一条需求的内部和外部依赖关系。

7 其他需求

使用适当的章节,详细说明任何其他客户需求,包括数据库,编码需求,错误处理,测试需求等。下面仅列出了少量样例,你可以删除和增加项目。

7.1 数据库

详细说明项目相关的数据库方面的需求。

7.2 操作

详细说明用户通常的和特殊的操作需求。

7.3 本地化

描述支持多语种的需求。

8 附录

8.1 附录A 需求建模

8.1.1 数据流图

1. 顶层数据流图

在这里画出顶层数据流图

2. 0层数据流图

在这里画出0层数据流图

3. 1层数据流图

在这里画出1层数据流图

8.1.2 数据字典

1. 数据流说明

1) 数据流1名称

与数据流图中的名称一致,采用数据描述符号说明数据流的内容

2) 数据流2名称

与数据流图中的名称一致,采用数据描述符号说明数据流的内容

2. 数据存储说明

1) 数据存储1名称

与数据流图中的名称一致,采用数据描述符号说明数据流的内容,另外还需描述数据排列方式

2) 数据存储2名称

与数据流图中的名称一致,采用数据描述符号说明数据流的内容,另外还需描述数据排列方式

3. 加工说明

1) 加工1名称

采用自然语言,判断表/判断树,伪码的形式描述对数据流进行处理的过程

2) 加工2名称

采用自然语言,判断表/判断树,伪码的形式描述对数据流进行处理的过程

8.2 附录B 参考资料清单:

Please list referred literature and related documents, format:

请罗列本文档所参考的有关参考文献和相关文档,格式如下:

Author + book name (or magazine, literature, document) + publishing company (or issue No., volume No., internal documentation ID) + publishing date + start and end page number,

作者+书名(或杂志、文献、文档)+出版社(或期号、卷号、公司文档编号)+出版日期+起止页码

examples:

例如:

[1] D. B. Leeson, “A Simple Model of Feedback Oscillator Noise Spectrum,” Proc. IEEE,

pp329-330, February 1966 (英文文章格式)

[2] D. Wolaver, Phase-Locked Loop Circuit Design, Prentice Hall, New Jersey,1991 (英

文书籍格式)

[3] 王阳元,奚雪梅等,“薄膜SOI/CMOS SPICE电路模拟”,电子学报,vol.22,No.5,1994

(中文文章格式)

[4] 郑筠,《MOS存储系统及技术》,科学出版社,1990 (中文书籍格式)

[5] XXX,SDXXX用户手册 V1.1,基础部文档室,2001/4/26

相关推荐