软件需求的类型

需求共分为了功能性需求、非功能性需求和限制条件三类。

掌握软件需求分类,在日常工作中我们将会有一个更加清晰的思路,思考的更全面更深入,而与相关人员沟通过程中,既能凸显我们的专业性,又能提高沟通效率,沟通的也会更彻底。

时常我们会听到功能需求、性能需求、安全需求、用户需求、非功能性需求等等的各种叫法,这些都是需求的类型,好像很多,还或者说是需求都有哪些类型?

业务需求(Business requirement):业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。

用户需求(user requirement):用户需求描述了用户能使用系统来做些什么。

功能需求 (functional requirement):功能需求描述是开发人员需要实现什么。

思考了良久,我觉得需求的类型应该只有两类,要么是功能需求,要么是非功能需求,比如业务上面我的要求是这个注册登录必须零BUG,这个月注册量要提升到5%以上,那么这样的需求显然就是非功能需求,注册登录功能里面需要有账 登陆、微信登陆、微博登录、账 注册和找回密码这几个功能,那么这个就是功能需求,好像变得严谨多了,但还感觉缺少了点什么。

后来我去翻阅《掌握需求的过程》这本书,在这本书里面将需求分为了三个类型,分别为:功能性需求、非功能性需求和限制条件。

首先对需求是什么做了解释:需求是产品必须完成的事以及必须具备的品质。需求存在的原因要么是该类型的产品要求一定的功能和品质,要么是客户希望需求成为交付的产品的一部分。

什么是功能需求?

功能需求是产品必须完成的那些事。举例:如果卡车情况的变化意味着原来进度安排中的工作不能按计划完成,那么产品应该提供一个修订的除冰进度安排表。

什么是非功能性需求?

非功能性需求是产品必须具备的属性或品质。举例:产品必须在0.25秒以内确定对方是“朋友”还是“敌人”。

限制条件?

限制条件是全局性的问题,约束着所有的需求。举例:产品必须在新的税务年度开始前准备好,产品应该运行在3G手机上。

最后一个问题来了,那么遇到性能需求、用户需求、系统需求等等需求的时候应该处理。

首页这样的分类也是有一定的道理,并不是没有可取之处,遇到这种问题的时候我们首先应该建立一个框架。看他们是属于功能性需求的范畴还是非功能性需求的范畴,还或者是限制条件,然后再对 入座即可,这样的细分有助于我们专注更细致的思考,若全部打散则会凌乱,使得结构上发生交叉,逻辑上会出现混乱的情况。

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

上一篇 2018年4月27日
下一篇 2018年4月27日

相关推荐