目
录
1.
简介
1.1
目的
说明编写这份软件需求说明书的目的,指出预期的读者范围。
1.2
范围
a.
待开发的软件系统的名称;
b.
说明软件将干什么,如果需要的话,还要说明软件产品不干什么;
c.
描述所说明的软件的应用。应当:
1)
尽可能精确地描述所有相关的利益、目的、以及最终目标。
2)
如果有一个较高层次的说明存在,则应该使其和高层次说明中的类似的陈述相一致(例如,系统的需求规格说明)。
1.3
定义、首字母缩写词和缩略语
列出本文件中用到的专门术语的定义和缩写词的原词组。
1.4
参考资料
1.5
概述
2.
整体说明
2.1
产品描述
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。
本条是为将要完成的软件功能提供一个摘要。例如,对于一个记帐程序来说,需求说明可以用这部分来描述:客房帐目维护、客房财务报表和发票制作,而不必把功能所要求的大量的细节描写出来。
有时,如果存在较高层次的规格说明时,则功能摘要可从中取得,这个较高层次的规格说明为软件产品分配了特殊的功能,为了清晰起见,请注意:
a.
编制功能的一种方法是制作功能表,以便客房或者第一次读这个文件的人都可以理解;
b.
用方框图来表达不同的功能和它们的关系也是有帮助的。但应牢记,这样的图不是产品设计时所需求的,而只是一种有效的解释性的工具。
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。这些是软件设计工作的重要约束。
本条对设计系统时限制开发者选择的其他一些项作一般性描述。而这些项将限定开发者在设计系统时的任选项。这些包括:
a.
管理方针;
b.
硬件的限制;
c.
与其他应用间的接口;
d.
并行操作;
e.
审查功能;
f.
控制功能;
g.
所需的高级语言;
h.
通信协议;
i.
应用的临界点;
j.
安全和保密方面的考虑。
本条列出影响需求说明中陈述的需求的每一个因素。这些因此不是软件的设计约束,但是它们的改变可能影响到需求说明中的需求。例如:假定一个特定的操作系统是在被软件产品指定的硬件上使用的,然而,事实上这个操作系统是不可能使用的,于是,需求说明就要进行相应的改变。
3.
具体需求
3.1
功能
3.1.1
功能需求
1
对于每一类功能或者有时对于每一个功能,需要具体描述其输入、加工和输出的需求。由四个部分组成:
a.
引言
描述的是功能要达到的目标、所彩的方法和技术,还应清楚说明功能意图的由来和背景。
b.
输入
1)
详细描述该功能的所有输入数据,如:输入源、数量、度量单位、时间设定、有效输入范围(包括精度和公差);
2)
操作员控制细节的需求。其中有名字、操作员活动的描述、控制台或操作员的位置。例如:当打印检查时,要求操作员进行格式调整;
3)
指明引用接口说明或接口控制文件的参考资料。
c.
加工
定义输入数据、中间参数,以获得预期输出结果的全部操作。它包括如下的说明:
1)
输入数据的有效性检查;
2)
操作的顺序,包括事件的时间设定;
3)
响应,例如,溢出、通信故障、错误处理等;
4)
受操作影响的参数;
5)
降级运行的要求;
6)
用于把系统输入变换成相应输出的任何方法(方程式、数学算法、逻辑操作等);
7)
输出数据的?行?约觳椤?
d.
输出
1)
详细描述该功能所有输出数据,例如:输出目的地、数量、度量单位、时间关系、有效输出的范围(包括精度和公差)、非法值的处理、出错信息;
2)
有关接口说明或接口控制文件的参考资料。
此外,对着重于输入输出行为的系统来说,需求说明应指定所有有意义的输入、输出对及其序列。当一个系统要求记忆它的状态时,需要这个序列,使得它可以根据本次输入和以前的状态作出响应。也就是说,这种情况犹如有限状态机。
3.1.2
功能需求
2
......
3.2
可用性
可用性需求可包含如下子类别:
人员因素(请参见:概念:以用户为中心的设计)、
美观、
用户界面的一致性(请参见:指南:用户界面)、
联机帮助和环境相关帮助、
向导和代理、
用户文档和
培训材料。
3.3
可靠性
需要考虑的可靠性需求有:
故障的频率/严重性、
可恢复性、
可预见性、
准确性和
平均故障间隔时间(MTBF)。
3.4
性能
性能需求可对功能性需求强加条件。例如,对于一个给定行为,它可以对以下项规定性能参数:
速度、
效率、
可用性、
准确性、
吞吐量、
响应时间、
恢复时间,或
资源用途。
3.5
可支持性
可支持性需求可包括:
可测试性、
可扩展性、
可适应性、
可维护性、
兼容性、
可配置性、
可服务性、
可安装性,或
是否可本地化(国际化)。
3.6
设计约束
设计约束常称为设计需求,它规定或约束了系统的设计。
3.7
联机用户文档和帮助系统需求
3.8
购买的构件
3.9
接口
3.9.1
用户界面
屏幕格式:
(1)要求有菜单及工具栏以方便操作
(2)各数据库信息可在屏幕上直接修改
(3)各数据统计结果可在屏幕上显示
(4)进行系统分析后的结果在另一窗口中显示
报表格式:
(1)XX报表
(2)YY报表
3.9.2
硬件接口
要指出软件产品和系统硬部件之间每一个接口的逻辑特点。还可能包括如下事宜:支撑什么样的设备,如何支撑这些设备,有何约定。
3.9.3
软件接口
在此要指定需使用的其他软件产品(例如,数据管理系统、操作系统或数学软件包),以及同其他应用系统之间的接口。对每一个所需的软件产品,要提供如下内容:
a.
名字;
b.
助记符;
c.
规格说明号;
d.
版本号;
e.
来源。
对于每一个接口,这部分应说明与软件产品相关的接口软件的目的,并根据信息的内容和格式定义接口,但不必详细描述任何已有完整文件的接口,只要引用定义该接口的文件即可。
3.9.4
通信接口
指定各种通信接口。例如,局部网络的协议等等。
3.10
许可需求
3.11
法律、版权及其他声明
3.12
适用的标准
4.
支持信息