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

修订历史

版本 说明 编制 批准 批准日期

1.1 初次编写 SEPG

目 录

1. 引言 1

1.1. 背景 1

1.2. 参考资料 1

1.3. 假定和约束 1

1.4. 用户的特点 1

2. 功能需求 1

2.1. 系统范围 1

2.2. 系统体系结构(二层架构的系统可剪裁本小节)

2.3. 系统总体流程 2

2.4. 需求分析 2

2.4.1. XXXXXXX(功能需求名称) 2

2.4.1.1. 功能描述 2

2.4.1.2. 业务建模 2

2.4.1.3. 用例描述 3

2.4.1.4. 用户界面 5

2.4.2. XXXXXXX(功能需求名称) 5

3. 非功能需求 5

3.1. 性能要求 5

3.1.1. 精度 5

3.1.2. 时间特性要求 6

3.1.3. 输人输出要求 6

3.2. 数据管理能力要求 6

3.3. 安全保密性要求 6

3.4. 灵活性要求 6

3.5. 其他专门要求 6

4. 运行环境规定 6

4.1. 设备 6

4.2. 支持软件 7

4.3. 接口 7

4.4. 控制 7

5. 需求跟踪 7

6. 签批单 7

1. 引言 1

1.1. 背景

说明:

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

b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;

C.该软件系统同其他系统或其他机构的基本的相互来往关系。

1.2. 参考资料

列出本说明书中引用和参考的资料,如:

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

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

c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

1.3. 假定和约束[可选]

列出进行本软件开发工作的假定和约束,例如经费限制、开发期限、设备条件、用户的资料准备和交流上的问题等。

1.4. 用户的特点[可选]

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

2. 功能需求

2.1. 系统范围

明确概要地说明用户对系统、产品高层次的目标要求,如系统开发的意图、应用目标、作用范围以及其他相关的背景材料。

如果所定义的产品是一个更大系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。

2.2. 系统体系结构(二层架构的系统可剪裁本小节)[可选]

以图+文本结合的方式描述系统的总体架构。

以下应提供系统总体架构图:

以下对系统总体架构进行描述:

2.3. 系统总体流程

以图+文本结合的方式说明系统的总体流程。

图一是计划合同管理系统的总体流程图。

图一

2.4. 需求分析

需求分析的目的是获取或描述系统需求中的每一个功能需求,并通过分析确定系统能够做什么?谁来使用这个系统?

· 建立用例模型:发现角色和用例,并确定角色之间的关系、用例之间的关系,以及角色与用例之间的相互关系

· 描述用例:角色与系统如何交互的规格说明。

2.4.1. XXXXXXX(功能需求名称)

2.4.1.1. 功能描述

功能编号:

功能需求:从用户业务的角度描述功能需求。

2.4.1.2. 业务建模

从可视化的角度--用例图--描述功能需求

图二是综合计划管理系统合同编辑业务的功能需求用例图。

图二

2.4.1.3. 用例描述

以文本的方式描述每一个用例中角色与系统相互交互的规格说明。

1、 XXXXXX(用例名称)

描述对象 描述内容

标识符 用例的唯一标识符

说明 对用例的概要说明

参与者 与该用例相关的参与者列表,以及参与者的特点

频度 参与者访问此用例的频率

状态 通常分为:进行中、等待审查、通过审查或未通过审查

前置条件 一个条件列表,如果其中包含条件,则这些条件必须在访问用例之前得到满足

后置条件 一个条件列表,如果其中包含条件,则这些条件将在用例成功完成以后得到满足

被扩展的用例 此用例所扩展的用例(如果存在)

被包含的用例 此用例所包含的用例(如果存在)

基本操作流程 参与者在用例中所遵循的主逻辑路径,即当各项工作都正常进行时用例的工作方式 可选操作流程 在变更工作方式、出现异常或发生错误的情况下所遵循的路径

修改历史记录 修改人 : 修改日期:修改原因:

问题 如果存在,则为与此用例的开发相关的问题或操作项目的列表

以下是综合计划管理系统中的合同编辑功能需求中的合同增加用例描述:

描述对象 描述内容

标识符 IPMS0101

说明 增加一条合同记录

参与者 合同编辑人员--熟悉合同管理业务

频度

状态 通过审查

前置条件 1. 参与者具有合同增加的权限2. 参与者已选取对应的计划记录3. 当前计划总投资≥SUM(该计划下已签合同价)

后置条件 1. 数据库中更加一条合同纪律2. 可执行合同原件扫描用例3. 可执行合同付款增加用例4. 可执行合同修改和合同删除用例

被扩展的用例 无

被包含的用例 无

基本操作流程 请参见图三的合同增加流程

可选操作流程 当用户确认合同增加时发现异常时,系统提示合同增加无效的提示

修改历史记录 修改人 : 修改日期:修改原因:

问题 1. 合同编码的具体约定2. 合同类型、资金来源、合同受委托方字典表的具体设计

图三 合同增加活动流程

2、XXXXX(用例名称)

……

2.4.1.4. 用户界面

概要描述功能对应的用户界面风格,采用原型生命周期的项目也可以提供原型界面拷贝。

2.4.2. XXXXXXX(功能需求名称)

……

3. 非功能需求

3.1. 性能要求

3.1.1. 精度[可选]

说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。

3.1.2. 时间特性要求

说明对于该软件的时间特性要求,如对:响应时间;更新处理时间;数据的转换和界面更新传送时间等的要求。

3.1.3. 输人输出要求

解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。

3.2. 数据管理能力要求[可选]

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

3.3. 安全保密性要求

用户对系统所应具备的故障处理能力、处理方式及故障后的系统恢复、数据恢复等要求,对系统防止机密数据被非法侵入、修改及丢失的要求。

3.4. 灵活性要求[可选]

说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如: a.操作方式上的变化;

b.运行环境的变化;

c.同其他软件的接口的变化;

d.精度和有效时限的变化;

e.计划的变化或改进。

对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。

3.5. 其他专门要求[可选]

如用户单位对使用方便的要求,对可维护性、可补充性、易读性、可靠性、异常处理要求、运行环境可转换性的特殊要求等。

4. 运行环境规定

4.1. 设备

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

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

b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;

c.输入及输出设备的型号和数量,联机或脱机;

d.数据通信设备的型号和数量;

e.功能键及其他专用硬件

4.2. 支持软件

列出支持软件,包括网络和硬件设备平台、操作系统平台、数据库系统平台以及编译(或汇编)程序和测试支持软件等。

4.3. 接口[可选]

说明该软件同其他软件之间的接口、数据通信协议等。

4.4. 控制[可选]

说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。

5. 需求跟踪

需求跟踪的主要目的是保证所有的需求都得到分析,以承诺需求-分析需求对应表(PRS_SRS表)的方式描述已分析需求对已承诺需求的覆盖情况。PRS_SRS表的格式请参见软件需求管理过程规范(SUPL-MANU-SRS-001)。

6. 签批单

我已阅读上述软件需求规格说明书,我将严格遵守说明书中的条款,并保证全力支持该规格说明书的实施。

执行主管:

日期

技术主管:

日期

项目组长:

日期

用户代表:

日期

开发人员代表:

日期

小组成员:

日期

小组成员:

日期

 

第二篇: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

相关推荐