我在学《软件工程》的时候,老师告诉我说,需求分析是非常重要的,因为你永远也不知道客户需要什么。我当时觉得危言耸听,现在看起来丝毫不夸张。
这次做这个项目,我真实的感觉到了。我们花了很长的时间,做出一套我们都觉得还不错的系统,前几天拿到济南让公司看,跟他们交流完才知道,他们的需求和我们想的根本就不是一回事,我们做的东西他们基本上用不上,他们要用的东西我们基本上没有做。
在火车上Mr Wei就告诉我说:一定要多交流。现在我才知道所谓的交流的必要性。用Mr Wei的话说,只要你能想到,我们就能帮你实现。问题的关键在于:我不知道你是怎么想的,我不确定你到底需要什么。
开发软件最好的方式,客户站在我旁边,告诉我说做一个什么东西出来,完成一个什么功能,我马上给你做,满意不满意?满意?好,下一个功能;不满意?好,你说,我改。这应该是最快的了,也是最保险的。
可是这种假设基本不存在,因为地域和时间的问题,开发者和用户很难保证这种共同的开发机会,更多的时候是写出一个文档(需求分析)帮助双方达成协议,说明产品的功能。但是文档的能力有限,要求写文档的人有很好的表达能力,读文档的人有很好的理解能力,即便是这样,贯彻思想能够达到50%就非常不错了。所以软件会一遍一遍的修改,最后改的你自己都不想做了,这个软件就差不多开发完成了。几乎没有软件是交付后立即投入使用的。
这才是软件开发最困难的事情,而我,是刚刚开始,这样的事情还会遇到很多,更多的东西需要我去学习。
呵呵,英文的资料很多,也很重要,所以学计算机学好英文很重要。我的英文就比较差劲
有理
需求都弄不清楚的话,开发无处下手
现在的OO时代,开发软件,一般不用从指令角度出发、分析
而是从软件本身的功能上去构思了
有些需求分析还是E文的,很不爽,即使有金山在,需求分析还是要看个两星期