软件需求分析在人们眼里是一个非常需要经验的工作,初做需求分析的新手总是不知从何下手。
确实,需求分析很难,但一般来说,对于一个新的系统的需求分析一般可以从已有经验着手。呵,这时有人会问,这样说起来还是要经验啊! 但别急,此经验非彼经验。
首先我们注意,一个系统绝不可能是孤立的!
一个新的系统的提出,肯定有它的基础。它可能是想计算机化网络化一个传统业务,也许是原有产品需要提升功能,它不会是无源之水,那么原有的这一切便是分析这个系统的经验,也就是我们进行软件需求分析的切入点。
我们可以考虑一个购物网站的需求,来看一看如何从已有经验切入分析。假设现在还没有购物网站的实例,购物网站是你想实现一个新东西,但购物本身确是一个传统行为,购物网站想要做的事情就是如何计算机化网络化这样一个传统业务。先从顾客角度来考虑传统的购物行为:
1、你走进一家没来过的超市,你先会寻找购物指南,看看哪里是你喜欢逛的。
2、你可能会买很多商品,所以你顺手从入口处拖了一个购物车。
3、你根据购物指南来到你想购买物品所在位置,你查看每件商品的价钱,说明,找到合适的商品后把它品丢入你的购物车。
4、你还想买点体育用品,但你累了,又不知道具体位置,于是你叫来导购员询问。在导购员的带领下找到体育用品专柜,并在你的购物车里再次加入了不少商品。
5、疯狂购物终于结束了,推着购物车到收银台结帐付款闪人。
你在这些步骤中发现什么?你的购物网站的UI上是不是也要有一个购物指南,一个购物车,一个导购员,一个收银台?是的,这些都要,这些就是需求。