代码改变世界

网站开发之需求分析

2012-04-03 16:27  轩辕公子  阅读(1128)  评论(3编辑  收藏  举报

前言

感觉好像就是一转眼的功夫,我就度过了2011年,又一眨眼的功夫,2012年已经过去了四分之一了,而在这几个月的时间里我所做的事情——主要事情就只有一件:部门网站开发。之前已经写过几篇文章了,但是我现在再回过头去看那些文章的时候觉得当时自己的想法真是太过于简单了,或者我的理解太肤浅了,所以我决定结合着我这一段做网站的经历和心得索性就写一个系列文章介绍一下我这一段的工作成果吧,也算是对自己工作的一个总结。

介绍

话说2011年9月的一天我的领导找到我跟我说让我做一个费用报销的小系统,用BS方式实现,主要的目的就是为了缓解管理费用报销的几位小美眉的工作压力。由于功能不复杂,所以当时我就不加思索的答应了,因为我本来就是学ASP.NET出身,所以一直对Web开发抱有天然的好感。我当时觉得要完成这些功能半个月足矣(现在看来我当时纯粹就是异想天开。哎,这就是经验少的坏处啊),但也正是这份扯淡的自信开启我了长达半年之久的苦逼生活,即使是到现在我依然还在苦海中挣扎,虽然已经快看到岸边了(我老大出手救我了,嘿嘿,感谢老大)。好了,不再多说废话了,开始正文了。

需求分析之第一回合

刚开始领导就是那么一说,具体的需求基本上都是我瞎猜的,我想当然的认为领导的需求是什么样子的,然后就按照我的想法开始做。在写程序的时候我既没有即时的向领导汇报工作进度,也没有向系统的最终用户(也就是那群小美眉)收集系统需求,一切都是凭着领导刚开始跟我说的那些简单需求来的。⊙﹏⊙b汗,这主要缘于我在学校时的工作模式,因为我在学校就是搞asp.net网站开发的,说是开发,其实也就是写几个网页小程序而已,现在看来,我当时写的那就是小儿科。由于当时的网站功能少,所以基本上不用需求分析,都是没工做好网页那过来我直接给加程序就行了,数据库都是Access,所以连表都是随随便便的设计的,任何章法都没有,全屏个人喜好。所以我在做这个网站的时候也还是照搬学校的那一套,可是公司毕竟不像学校,公司既然让你做一套系统,那肯定是要解决一些问题的,不可能就随随便便的让你瞎搞一通,所以当我苦逼的拿着写好的代码找领导报告的时候,不幸就这样没有任何的悬念的发生了,我做的东西跟领导要的东西完全是两码事⊙﹏⊙b汗

其实,刚开始领导让我做的时候,估计他自己也没想清楚最后到底想做成个什么样子,然后在我做的这一段时间内领导有思考了一些东西,最终才确定了大致的系统需求,而我压根就么有跟领导沟通过,所以我没有即时的了解到领导的想法,当然也就没有获取到真正的系统需求。所以在做需求分析的时候我们一定要做到全面,所有的项目干系人的意见我们都要尽可能的收集到,然后从中分析出对我们有用的系统需求。

需求分析之第二回合

经过一段时间的瞎折腾,我被搞晕了,其实主要是我不知道该怎么往下做了。而这时领导估计也看不下去了,就又找了个美眉(从其他部门借调的)来帮我搞需求分析,帮着我确定系统的大致框架。我一看人家的工作风格我就羞愧难当啊(太丢人了,跟人家的差距太大了),就两个星期人家把所有的需求高的明明白白的,而且还做成电子表格画好之后发给我(我看了之后,当时真想抽自己两耳光,都是打工的这差距也太大了吧)。看了人家的需求分析之后,我心里才大致有了个谱,然后又跟领导开会讨论了几次,这才又重新确定了系统的需求。

经过这一回合,我的总结是:工作一定要上心,不要因为项目小就吊儿郎当不当回事,其实好多事情都是要慢慢的去挖掘其中的大需求的,好多用户在提出想做系统的时候其实他自己也不清楚到底要把系统做成个什么样子,这个时候就需要项目经理去不断的沟通,引导用户将自己内心的想法表达出来,同时还要发觉用户的一些隐性的需求,然后做好预案并跟用户最终确定。

需求分析之最终定稿

经过前两个回合,系统的需求已经非常的清晰明朗了,而我也认为领悟到了领导的真是意图,所以很兴奋的开始大展身手了,可是现实再一次扇了我一个耳光,告诉我什么事情都要三思而后行,切不莽撞。

这需求真的是要靠你却挖掘的,我以为上次的需求已经是最终需求了,可是现实是需求是无止境的,领导又经过了一段时间的思考,提出了新的需求,而直到此时我才明白原来领导不是真的让我制作一个小网站,他的意思是让我做一个部门的管理系统来管理部门的日常工作的再一次⊙﹏⊙b汗,而这分明就是个OA系统嘛,只不过是他想要更加个性化一点的OA系统。我的个神啊,当我明白他的意思的,我的后背开始发凉,我只是做过小系统,哦不,连系统都算不上,就是几个网页而已,这一下子就让我搞个OA系统出来,我顿时倍感压力山大,不过事已至此我已别无退路了,只有硬着头皮上了。经过这一波三折的折腾,才确定了真正的系统需求,但是这并不是最终的系统需求,因为需求是无止境的。

总结

系统需求分析是直接关系到一个系统成败的关键因素,如果你一开始就没有搞明白系统的需求,那基本上可以确定你的这个项目肯定是要失败的。所以我们在开发系统的时候不要一开始就埋头写代码,一定要花些时间搞好系统需求分析,只有把系统需求分析做好,你以后的系统才会事半功倍。