## 连载:面向对象葵花宝典:思想、技巧与实践(16) - 需求分析终极目的
**需求分析有三种级别,你自认为属于哪一级呢 ? ---写在前面**
============================华丽丽的分割线=============================
**需求分析的目的是什么?**
你可能会毫不犹豫的回答:需求分析的目的当然是了解客户需要什么!
这个回答看起来是毫无疑问的,我们当然要了解客户需要什么,我们才能给他们做出他们想要的。
但只做到这样就可以了么?
我们来看一个简单的需求,客户找到你说:“我要一只羊!”
这个需求够简单吧?那你是不是毫不犹豫的就抓一只羊给客户呢?
如果你这样做了,如果你运气好,客户可能非常满意,但大部分情况,也许客户很不满意,为什么?
我们来看“我要一只羊”这个需求的多个版本:
图一:
一个饥肠辘辘的人说,我要一只羊,用来烤着吃!
(来源于网络: [http://soufun.com/Album/PictureDetail_40800605_200_127935903.htm](http://soufun.com/Album/PictureDetail_40800605_200_127935903.htm) )
![](https://box.kancloud.cn/2016-01-20_569f5cc98e754.jpg)
图二:
一个慈爱的父亲说,我要一只羊,给我小孩做宠物!
(来源于网络: [http://ww4.sinaimg.cn/mw600/763f9322jw1duqu3vsy6wj.jpg](http://ww4.sinaimg.cn/mw600/763f9322jw1duqu3vsy6wj.jpg) )
![](https://box.kancloud.cn/2016-01-20_569f5cc9aa330.jpg)
图三:
一个农场主说,我要一只羊,生小羊!
(来源于网络: [http://cs.cq.gov.cn/upfiles/2009-3/20093293042143.jpg](http://cs.cq.gov.cn/upfiles/2009-3/20093293042143.jpg) )
![](https://box.kancloud.cn/2016-01-20_569f5cc9c70b5.jpg)
看了上面这几幅图,相信你就大概明白了:客户会告诉我们他们的需求,但大部分情况都不会告诉你需求背后的问题。而需求分析的终极目的,就是要“**挖掘客户的问题,实现客户价值**”!
因为只有你提供的东西,最后能够解决客户的问题,客户才会满意。如果你提供的东西,没有解决客户的问题,就算你是一五一十的按照客户提的来做的,客户还是不会满意,客户不满意,你的BOSS就会不满意,你的BOSS不满意,你的上司就会不满意。。。。。。最后,损失最大的还是你!
但我们为什么费心费力的要去挖掘客户的问题呢?客户难道不会直接告诉我们么?
客户当然不会告诉你“我饿了”,因为这是他的问题,不是他的需求,他告诉你“我要一只羊”,这才是需求,只是这个需求是解决他的问题的。
但既然这样,我们为什么要管他的问题,直接满足他的需求不就得了?
这又涉及另外一个问题,大部分的客户都会基于自己的经验、知识、阅历等,自己设计一个解决方案,然后作为需求向你提出来。如果你碰上懂行的客户,那自然要谢天谢地了;
但是绝大部分情况你碰到的客户可能就是每天坐在办公室,一张报纸一杯茶,上上网打打牌,然后接到某个领导的“信息化”任务,然后就给你提了一个需求!
除此之外,深入了解客户的问题,有助于你更好的实现需求。就举前面的“我要一只羊”的例子,
如果客户是用来吃的,也许你更应该提供一顿烤羊肉,或者一只大羊腿,客户会更加满意;
如果客户是用来给他小孩做宠物的,那么给一只雪白的漂亮的小羊羔也许他的小孩更高兴;
如果客户是用来生小羊的,那么给一只强壮的成年母羊是更好的选择。
一般来说,需求分析有三重境界,分为“记录员”、“分析员”、“引导员”三个级别,我们以上面提到的“我要一只羊”的需求来作为样例:
**1) 第一重:记录员,记录客户的需求;**
需求分析人员记录下了如下需求:XX客户需要一只羊,品种:绵羊,颜色:白色,重量:20Kg。
点评:只是简单记录了客户的需求,没有明白客户的问题,如果真的提供了一只羊,肚子饿的客户可能会再次提出要将羊烤好(或者做羊肉汤)。
**2) 第二重:分析员,和客户一起分析问题,完善需求;**
需求分析人员记录下了如下需求:XX客户肚子饿了,需要一只羊烤着吃,由于客户并不会自己烤羊,因此我们需要提供一只烤好的羊。
点评:发现了客户的问题,需求调整为“烤好的羊”,这个已经能够解决客户的问题了,但还不够完美。
**3) 第三重:引导员,能够引导客户的需求;**
需求分析人员记录了如下需求:XX客户肚子饿了,需要一只羊烤着吃,但目前是夏天,烤羊火气太重,经过与客户沟通,客户更愿意吃一顿冰镇啤酒海鲜大餐。
点评:发现了客户的问题,并且引导客户将需求调整为更合理的需求。
我们可以看到,**要想做好需求分析,要时刻抓住“客户的问题和价值”这个指导思想**!
===============2015.02.17补充========================
网上看到一个更加生动和更加深入解读的文章,大家可以参考:[用户都是骗子](http://www.yixieshi.com/ucd/20359.html)
- 前言
- (1) - 程序设计思想的发展
- (2) - 面向对象语言发展历史
- (3) - 面向过程 vs 面向对象
- (4) - 面向对象是瑞士军刀还是一把锤子?
- (5) - 面向对象迷思:面向对象导致性能下降?
- (6) - 不要说你懂“类”
- (7) - “对象”新解
- (8) - “接口” 详解
- (9) - “抽象类” 详解
- (10) - “抽象” 详解
- (11) - “封装” 详解
- (12) - “继承” 详解
- (13) - “多态” 详解
- (14) - 面向对象开发技术流程
- (15) - 需求详解
- (16) - 需求分析终极目的
- (17) - 需求分析518方法
- (18) - 用例分析
- (19) - 功能点提取
- (20) - 用例图的陷阱
- (21) - SSD
- (22) - 领域模型
- (23) - 领域建模三字经
- (24) - 设计模型
- (25) - 类模型
- (26) - 类模型三板斧
- (27) - 动态模型设计
- (28) - 设计原则:内聚&耦合
- (29) - 高内聚低耦合
- (30) - SRP原则
- (31) - OCP原则
- (32) - LSP原则
- (33) - ISP原则
- (34) - DIP原则
- (35) - NOP原则
- (36) - 设计原则如何用?
- (37) - 设计模式:瑞士军刀 or 锤子?
- (38) - 设计模式之道
- (39) - 设计原则 vs 设计模式
- (40) - DECORATOR模式
- (完)- 书籍已经出版