软件需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据。1
简介软件需求说明书,又称为软件规格说明书,是分析员在需求分析阶段需要完成的文档,是软件需求分析的最终结果。它的作用主要是:作为软件人员与用户之间事实上的技术合同说明;作为软件人员下一步进行设计和编码的基础;作为测试和验收的依据。SRS必须用统一格式的文档进行描述,为了使需求分析描述具有统一的风格,可以采用已有的且能满足项目需要的模板,也可以根据项目特点和软件开发小组的特点对标准进行适当的改动,形成自己的模板。软件需求说明主要包括引言、任务概述、需求规定、运行环境规定和附录等内容。
软件需求说明书应该完整、一致、精确、无二义性,同时又要简明、易懂、易修改。由于软件需求说明书最终要得到开发者和用户双方的认可,所以用户要能看得懂,并且还能发现和指出其中的错误,这对于保证软件系统的质量有很大的作用。这就要求需求说明书尽可能少用或不用计算机领域的概念和术语。2
功能需求说明书是由开发人员经需求分析后形成的软件文档,是对需求分析工作的全面总结。其作用有以下几点。
(1)便于用户、分析人员和软件设计人员进行理解和交流用户通过需求规格说明书在分析阶段即可初步判定目标软件能否满足其原来的期望,设计人员则将需求规格说明书作为软件设计的基本出发点。
(2)支持目标软件系统的确认
在软件的测试阶段,根据需求说明书中确定的可测试标准设计测试用例,确认软件是否满足需求说明书中规定的功能和性能等。
(3)控制系统进化过程
在需求分析完成之后,如果用户追加需求,那么需求说明书将用于确定是否为新需求。3
内容软件需求说明书的内容应包含如下几部分内容:
1.概述
**·**说明开发软件系统的目的、意义和背景
**·**说明用户的特点、约束
2.需求说明
**·**功能说明,逐项列出各功能需求的序号、名称和简要说明
**·**性能说明,说明处理速度、响应时间、精度等
**·**输入输出要求·数据管理要求·故障处理要求
3.数据描述
**·**数据流图·数据字典·接口说明
4.运行环境规定
**·**说明软件运行所需的硬件设备
**·**说明软件运行所需的系统软件和软件工具
5.限制
**·**说明软件开发在成本、进度、设计和实现方面的限制。
衡量标准(1)完整性
每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。不遗漏任何必要的需求信息,即目标软件的所有功能、性能、设计约束,以及所有的可能情况下的预期行为,均完整地体现在需求说明书中。
(2)正确性
每一项需求都必须准确地陈述其要开发的功能。需求说明书中的功能、性能等描述与用
户对软件的期望相一致。
(3)可行性
每一项需求都必须是在已知系统和环境的权能和限制范围内可以实施的。
(4)无二义性
对所有需求说明的读者都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的用户性的语言表达出来。另外,需求说明书的各部分之间不能相互矛盾。
(5)可验证性
需求说明书中的任意一项需求,都存在技术和经济上可行的手段进行验证和确认。
(6)可修改性
需求说明书的格式和组织方式应该保证能够比较容易地增、删和修改,并使修改后的需求说明书能够软较好地保持其他各项属性。
(7)可跟踪性
应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链,使每项需求与用户的原始需求连起来,并为后续开发和其他文档引用这些需求项提供便利。这种可跟踪性要求每项需求以一种结构化的,粒度好的方式编写并单独标明,而不是大段大段的叙述。3
本词条内容贡献者为:
马学彬 - 副教授 - 内蒙古大学