《软件需求工程(第2版)》一1.2 什么是软件需求

1.2 什么是软件需求

“需求”这个词在日常生活中经常使用。通常的需求是指人对于客观事物需要的表现,体现为愿望、意向和兴趣,因而成为行动的一种直接原因。例如,当某个顾客向裁缝师傅订做一套服装时,这位裁缝师傅首先要获得这位顾客的一些数据,如身高、胸围、腰围、臂长和样式等,然后根据这些数据制作服装。这些数据就是该顾客订做服装的具体需求。试想,如果裁缝师傅将顾客的这些具体需求弄错或者根本不知道的情况下,无论其如何精心制作,使用多好的面料,其所做的工作都将是枉然的!因为客户可能根本不能穿,或者穿着不舒适。这个例子说明,需求对最终产品能否适用是至关重要的。同理,对于软件开发来说,软件需求就是软件用户认为其所使用的软件应该具备的功能和性能。

对于软件需求的定义,不同的研究人员有不同的看法。A Davis认为,软件需求是从软件外部可见的、软件所具有的、满足于用户的特点、功能及属性等的集合[5]。I Sommerville认为,需求是问题信息和系统行为、特性、设计和实现约束的描述的集合[7]。而M Jackson等人则认为,需求是客户希望在问题域内产生的效果[8,9]。在比较正式的文档中,IEEE软件工程标准词汇表将需求定义为[10]:①用户解决问题或达到目标所需的条件或能力;②系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力。其中①是从用户的角度定义的,②是从软件系统的角度定义的。

关于软件需求还有其他不同的定义。产生这些不同形式的定义的原因,一是需求工程的发展过程还不太长,人们的认识还在不断深入;二是真正的“需求”实际上是在人们的脑海中形成的,很难给予准确的定义。这也是导致需求工程难度很大的原因之一。不过,根据这些定义,我们可以认为软件需求是指软件系统必须满足的所有功能、性质和限制。

相关资源:圣诞贺卡制作软件(ChristmasCard)v2014.2.0绿色-其它代码类资源…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年7月1日
下一篇 2017年7月1日

相关推荐