4.4 如何进行需求分析

上一节诉说了需求分析的困难,本节要知难而进。

进行需求分析不象情人之间的浪漫做法——“让我摸摸你的头发,感觉它是什么颜色。”我们要围绕两个核心问题开展需求分析:(1)应该了解什么?(2)通过什么方式去了解?

 

4.4.1 应该了解什么

那怕是天下最无能的市长或书记,都知道在作报告时要先从宏观上讲一、二、三、四、五,再从细节上讲ABCDE。需求分析不象侦探推理那样从蛛丝马迹着手。应该先了解宏观的问题,再了解细节的问题,如图4.1所示。

 

软件系统(S

 

 


D1    D2    D3       Dn

                问题域                                      对应于软件子系统

 

 

问题域Di

P1    P 2    P 3       P m

 

 


                 问题                                       对应于子系统的软构件

问题Pj

 

 

 


F1    F 2    F 3       F k

            行为(功能)                                     对应于软构件的接口

 

 

4.1 进行需求分析时要了解的内容

 

一个软件系统(记为 S)的涉及面可能很广,可以按不同的问题域(记为D)分类,每个问题域对应于一个软件子系统。

                       S = { D1D2D3,… Dn }

问题域Di 由若干个问题(记为P)组成,每个问题对应于子系统中的一个软构件。

                       Di = { P1P2P3,… Pm }

问题Pj有若干个行为(或功能,记为F),每个行为对应于软构件中的接口。

                       Pj = { F1F2F3,… Fk }

按图4.1结构写成的需求说明书,对于那些只想了解宏观需求的领导,和需要了解细节的技术员都合适。在写需求说明书时还应该注意两个问题:

1)最好为每个需求注释“为什么”,这样可让程序员了解需求的本质,以便选用最合适的技术来实现此需求。

2)需求说明不可有二义性,更不能前后相矛盾。如果有二义性或前后相矛盾,则要重新分析此需求。

 

4.4.2 通过什么方式去了解

了解需求的方式有好几种:

1)直接与客户交谈。如果分析人员生有足球评论员的那张“大嘴”,就非常容易侃出需求。

2)有些需求客户讲不清楚,分析人员又猜不透,这时就要请教行家。有些高手真的很厉害,你还没有开始问,他就能讲出前因后果。让你感到“听君一席言,胜读十年书。”

3)有很多需求可能客户与分析人员想都没有想过,或者想得太幼稚。要经常分析优秀的和蹩脚的同类软件,看到了优点就尽量吸取,看到了缺点就引以为戒。前人既然付了学费,后人就不要拒绝坐享其成。

 

4.5 

 

为了阐述可行性分析的四个要素:经济、技术、社会环境和人,本章讲了几个令人垂头丧气的案例。如果您学会了客观、科学的可行性分析,在作决策时就要果断,要学习热恋中的这个年青人——“倒底行还是不行?行就结婚,不行就离婚。”

本章并没有鼓吹需求分析的难度,不是在吓唬人。如果需求分析搞错了,麻烦大哩。几十年前,我们最最伟大的领袖毛主席说了一声“人多力量大”,导致现在中国人口蹦到13亿。他老人家辉煌地走了,后人却付出了沉重的代价。

所以我们要认真地做好可行性分析和需求分析。

评论
发表评论

您还没有登录,请登录后发表评论

playfish
搜索本博客
最近加入圈子
存档
最新评论