博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《软件需求工程(第2版)》一1.4 需求规格说明
阅读量:7070 次
发布时间:2019-06-28

本文共 1252 字,大约阅读时间需要 4 分钟。

1.4 需求规格说明

软件需求规格说明亦称软件需求规约或功能规格说明,可以说是需求工程最终产生的结果。所谓需求规格说明是软件所应满足的全部需求,并可用文档的方式完整和精确地陈述这些需求。需求规格说明是项目相关人员对将要开发的软件系统所达成的共识,是进行系统设计、实现、测试和验收的基本依据,也是整个软件开发过程中最重要的文档[11]。需求规格说明同时代表了权限的移交点:客户对需求规格说明的说明内容拥有最终发言权,而开发人员则需根据软件需求规格说明实施软件系统的开发。因此,最终开发出的软件系统是否能真实、全面地满足客户的要求,取决于需求规格说明是否真实、完整和一致地反映客户的真正意图。

需求规格说明应精确地描述一个软件系统必须提供的功能和性能,以及所要考虑的约束条件与限制。因此,需求规格说明也可以说是集成了13节中所定义的所有软件需求,并使用某种描述语言如自然语言按照规定的书写格式编写的文档。关于需求规格说明的模板和具体内容,将在后面给予详细说明。
需求规格说明在软件系统开发中起着十分重要的作用,但要把用自然语言表达的需求完整无误地表达出来并不是一件容易的工作。因为各人的理解不同,即便是同一个人,他在不同的时间也可能产生不同的理解。因此,作为一个质量较高的需求规格说明,通常应满足如下的特征[12]。
完整性。每一项需求必须将所要实现的功能描述清楚,以便开发人员获得设计和实现这些功能所需的必要信息。
正确性。每一项需求都必须准确地陈述其要开发的功能。做出正确判断的参考是需求的来源,如用户或高层的系统需求规格说明。如果软件需求与对应的系统需求相抵触,则是不正确的。只有用户才能确定需求的正确性。这就是一定要有用户的积极参与的原因。
可行性。每一项需求都必须在已知系统和环境的权能和限制范围内是可以实施的。为避免不可能实现的需求,最好在获取需求(或收集需求)的过程中,始终有一位软件开发小组的成员与需求分析人员或考虑市场的人员在一起,由他负责检查技术的可行性。

必要性。每一项需求都应把客户真正需要的和最终系统所遵从的标准记录下来。“必要性”也可以理解为每项需求都是用来授权你编写文档的“根源”。要使每项需求都能回溯至某项客户的输入,如使用实例或别的来源。

划分优先级。给每项需求、特性或使用实例分配一个实施优先级,以指明它在特定产品中所占的分量。如果把所有的需求都看作同样重要,那么项目管理者在开发、节省预算或调度中就丧失了控制自由度。
无二义性。对所有需求说明都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的语言表达出来。避免二义性的有效方法包括对需求文档的正规审查,编写测试用例,开发原型以及设计特定的方案脚本。
可验证性。检查每项需求是否能通过设计测试用例或其他的验证方法。如用演示、检测等来确定产品是否确实按需求实现了。如果需求不可验证,则确定其实施是否正确就成为主观臆断,而非客观分析了。一份前后矛盾、不可行或有二义性的需求也是不可验证的。

转载地址:http://loell.baihongyu.com/

你可能感兴趣的文章
状态和面向对象编程——2.状态介绍
查看>>
html -- 实体
查看>>
SVN中的check out与export的区别
查看>>
如何重新注册VMware Update Manager(VUM)至vCenter Server中
查看>>
hdu1754
查看>>
vue前端页面跳转参数传递及存储
查看>>
使用Google Analytics跟踪下载等事件
查看>>
Netty服务器连接池管理设计思路
查看>>
5.多个Storyboard切换
查看>>
Vue CLI 3开发中屏蔽烦人的EsLint错误
查看>>
批量分发管理三种解决方案案例视频分享
查看>>
Scrum方法论(四)
查看>>
处理windows 2008x64平台exchange 2010 sp1打完系统补丁后,控制台无法打开
查看>>
Windows Server 2016-命令行Ntdsutil迁移FSMO角色
查看>>
征服Perl——基础知识——里程碑M4
查看>>
linux svn服务器搭建、客户端操作、备份与恢复
查看>>
报表服务入门(实验4)创建共享数据源
查看>>
程序员娶妻子的经典准则
查看>>
Synology NAS 存储系统多路径连接Vmware ESXi 6.5
查看>>
K8s 原理架构介绍(一)
查看>>