软件需求规格说明模板
1.引言
是对整个软件需求规格说明的概览,以帮助读者更好地阅读和理解文档。包括文档的意图(日的)、主要内容(范围)组织方式(文档组织)、参考文献(参考文献)和阅读时的注意平项(定义、首字母缩写和缩略语)。
1.1目的
说明软件需求规格说明的主要目标描述软件规格说明所定义的产品或某些产品部分。限定预期的读者。
1.2范围
(1)根据名称确定将被开发的软件产品。
(2)解释软件产品的预期功能,并在必要的时候解释没有纳入软件产品预期的功能。
- 描述软件产品的应用,包括相关的好处、目标和目的。
(4)如果在此软件需求规格说明之外,还存在着一个更高层次的规格说明(如系统需求规格说明),那么该部分的描述应该与更高层次文档的相关段落保持一致。
1.3定义、首字母缩写和缩略语
定义了正确理解软件需求规格说明所必需的术语、首字母缩写和缩略语。
这部分内容也可以通过添加附录或引用其他文档来提供。
1.4参考文献
(1)提供需求规格说明文档在别处引用的全部文档的清单列表。
(2)利用标题、报告编号(如果适用的话)、日期和出版机构来标识文档。
(3)指定可以获得参考文献的来源。
这部分内容也可以通过添加附录或者引用其他文档来提供。
1.5文档组织
(1)描述软件需求规格说明余下部分所包含的内容。
(2)解释软件需求规格说明的组织方式。
2.总体描述
从总体上描述影响产品和需求的因素。这部分并不涉及那些将在文档第3部分(详细需求描述)中描述的具体需求,而是为其提供背景知识,使其更加易于理解。
2.1产品前景
该节将所定义的产品和其他相关的产品联系起来,在联系中描述产品的起源和背景,进而说明对产品的总体预期。
如果产品是一个独立的、完全自包含的系统,那么就应该在这里进行声明。
如果像常见的情况那样,产品仅仅:是较大系统的一个组件,那么就应该将较大系统的需求和软件的功能联系起来进行说明,并标识,只它们之间的接口。如果能够开发一个能够显示较大系统的主要组件、内部连接和外部接口的框图,将会有很大的帮助。
这一节还应该描述较大系统的其他部分对软件产品的操作预期。这些部分包括:系统接口。系统接口对软件产品的功能要求。
●用户界面。 软件户品和用户之间接口的逻镇特征和优化要求。
●硬件接口。软件产品和较大系统申硬件组件之间接口的理辑特征。
●软件接口。其他软件系统对软产品的要求。
●交流接口。本地网络协议之类的交流接口要求。
●内存。软件产品在主存储器和辅助存储器上的局限性和可适用特性。
●操作。用户要求的正常和特殊操作。
●地点改变需求。对指定地点、任务或者操作模式的需求,调整软件装置而需要改变的地点或者任务的相关特征。
2.2产品功能
概述软件将要执行的主要功能。此处只需要概略地总结,其详细内容将在第3部分(详细需求描述)中描述。例如,一个账目管理程序的软件需求规格说明会在本节中描述顾客账目维护、顾客描述和发票处理等功能,但不会提及上述功能的大量细节。如果存在为软件产品分配功能的更高一层的规格说明,那么这个部分的功能概述应该直接从更高层次规格说明的相关部分提取。
为了清晰起见:功能的组织应该能够让第一次看到文档的顾客或者其他人理解功能列表;可以使用文本或者图形化的方法显示不同功能及其联系。
2.3用户特征
描述产品预期用户的一般特征,包括受教育水平经验和技术能力等。这些描述信息可以用来解释第3部分(详细需求描述)中特定需求出现的原因,但是本节并不涉及这些特定的需求。
2.4约束
对限制开发人员开发方案选择的项目进行一般性描述。这些项目包括:
●规章政策
●硬件限制
●和其他应用的接口
●并发操作
●审计功能
●控制功能
●高阶语言要求(即程序开发语言)
●信号握手协议(即信息交流的可靠性要求)
●应用的临界状态
●安全性考虑
2.5 假设和依赖
列举并描述了那些会对文档中所述需求产生影响的因素。这些因素并不是软件的设计限制,但是这些因素的任何变化都会影响到文档中的需求。例如,有这样一个假设:软件产品的目标硬件上会有某个特定的操作系统。而在实际情况当中,这样的情况并不存在,那么文档中的需求将不得不进行相应的改变。
3.详细需求描述
这通常是软件需求规格说明中最大和最重要的部分。它要对所有的软件需求进行充分的描述。信息的内容应该包括设计人员进行设计时所需要的所有细节,足以让设计人员设计出一个满足需求的系统。信息的内容还需要清楚地告诉测试人员需要怎么样的测试才能保证得到一个满足需求的系统。
在这一部分:
●细节需求的描述要符合优秀需求的特性要求,文档的组织和内容整合要符合优秀软件需求规格说明文档的特性要求。
●细节需求要能够回溯到相关的前期文档,形成前后参照。
●所有的需 求都要被唯一标识。
●需求的组织应该尽可能提高可读性。
该部分内容的最佳组织方式要依赖于软件产品的应用领域和特性。[ IEEE830-1998 ]为该部分的文档组织提供了8中不同的模板方式,图15-5仅为其中之一。图15-5是按照系统特性来进行需求组织的,除此之外也可以按照操作模式、类/对象、刺激/响应、功能分解、用户类别等方式进行组织。关于其他几种组织方式请参见附录1。
[IEEE830-1998]将需求分成了5类,并据此进行内容的组织。这5种内容是:功能需求、性能需求、约束、质量属性和对外接口。第2章已经详细解释了5种类型需求的区别,本章将仅仅对文档内容的组织进行介绍。
3.1对外接口需求
描述了设计人员正确开发与软件外部实体的接口所需要的所有信息。
对软件产品对外接口中的输入/输出项,可以参照下列方式进行描述:
●名称
●目的描述
●输入源/输出目标
●有效范围,精确度和误差范围
●度量单位
●时间要求
●和其他输入/输出项的关系
●屏幕布局/组织
●窗口布局/组织
●数据格式
●命令格式
●结束消息
3.1.1用户界面
描述系统所需的每个用户界面的逻辑辑特征。本节可能包括下列内容:
●对图形用户界面(GUI)标准的引用或者将要采用的产品系列的样式指南。
●有关字体、图标、按销标发、图像、颜色选择方案、组件的Tab顺序、常用控件等的标准。
●屏幕布局或解决方案的约束。
●每个屏幕中将出现的标准按钮、功能或者导航链接
●快捷键。
●消息显示约定。
●便于软件定位的布局标准。
●满足视力有问题的用户的要求。
3.1.2硬件接口
描述系统中软件和硬件每一接口的特征。这种描述可能包括支持的硬件类型软硬件之间交流的数据、控制信息的性质及所使用的通信协议等。
3.1.3软件接口
描述该产品与其他外部组件(由名字和版本识别)的连接,包括数据库、操作系统、工具、程序库和集成的商业组件等。声明在软件组件之间交换数据、消息和控制命令的目的。描述其他外部组件所需要的服务以及组件间通信的性质。确定将在组件之间共享的数据。
3.1.4通信接口
描述与产品所使用的通信功能相关的需求,包括电子邮件、Web浏览器、网络通信标准或协议及电子表格等。定义了相关的消息格式。规定通信安全或加密问题、数据传输速率和同步通信机制等。
3.2功能需求
描述了软件产品在接收和处理外部输入(或者处理和产生对外输出)中发生的基本行为。
需要描述的内容有:
●对输入的验证。
●操作的顺序。
●对异常的响应,例如数值越界通信问题错误处理与恢复。
●参数的说明。
●输出和输入的关系:输入/输出序列.将输入转换为输出的公式和规则。
3.2.x系统特性
系统特性是外部期望的系统服务,它接收一系列的输入,并产生外界预期的输出。3.2.x.1特性描述
提出了对该系统特性的简短说明。
3.2.x.2刺激/响应序列
列出输入刺激序列(用户动作、来自外部设备的信号或其他触发器)和系统的响应序列。3.2.x.3相关功能需求
详细列出与该特性相关的功能需求。这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的使用实例执行任务。描述产品如何响应可预知的出错条件或者非法输入或动作。
3.2.x.3.n功能需求x.n
对单个需求(功能的某个步骤或者某个方面)的清晰描述,常见形式为“RID:系统应
3.3 性能需求
阐述了不同的应用领域对产品性能的需求,并解释它们的原理,以帮助开发人员做出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系。还可以在这里定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表的最大行数。尽可能详细地确定性能需求。可能需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们都集中在一起陈述。
3.4约束
描述可能由法律法规、标准、规范或者硬件限制等因素带来的设计约束。
3.5 质量属性
详尽陈述与客户或开发人员至关重要的产品质量属性。这些特性必须是确定、定量的并在可能时是可验证的。
3.6其他需求
定义在软件需求规格说明的其他部分未出现的需求,例如国际化需求或法律上的需求。还可以增加有关操作、管理和维护部分来完善产品安装、配置、启动和关闭、修复和容错,以及登录和监控操作等方面的需求。
附录
附录足对软件需求规格说明正文信息的补充。虽然它并不是必须的,但是必要的附来可以增加文档对需求的描述能力。
常见的附录内容包括:
●I/O格式示例、成本分析研究、用户调查结果。
●有助于阅读软件需求规格说明的背景信息,常见的有术语表、数据字典和分析模型图示。
●需要解决但是目前还悬而未决的问题列表。
●为了满足安全、导出、初始加载或者其他需求而对代码和数据媒体进行特殊打包处理的说明。
索引
对文档重要内容的位置引用,可以利用文档编辑工具自动生成。