从开始做这个Winform项目已经快3个月了,现在在漫长的收尾阶段,对于这个项目的总结:从用户角度,它是一个实用的软件,却仍然有些小问题;从经理的角度,它的功能差不多了,可以向客户要钱了;从我的角度,如果作为练手,成功了,如果拿去作为产品让客户用,它是个垃圾(考虑到代码)。
开始的需求分析,我没参与,也不知道,或许这样的项目没有必要,或许这样的公司没有这些正规的流程,那就按我自己接手时开始。经理对我说:你按xxx这个网站上的xx部分做个winform应用程序,我已经把界面和类做好了,你添加就行。ok,我开始做了,过程中我发现,界面是要改的,类也是要重写或者修改的。于是我进入了循环流程:按网页上的做好基本功能,他告诉我:你再加个上传功能,用webservice,ws我已经帮你写好了。ok,开始做,同样改了大量的ws代码,添加了一些存储过程;他说:你再添加个管理功能。ok~~;你再添加个摄像头功能。ok~~;你再添加个扫描仪功能。ok~~;你再添加个用户的特殊功能。ok~~;你再添加个时间字段,你再添加个存储过程,你再....ok!!~~
代码越堆越多,类越改越乱,数据库改到我不知道和原来的有多少差别,耦合性越来越大。我不知道除了我自己,还有谁能搞懂这些代码。于是在快结束的时候,我开始着手代码优化,但新的功能与大小bug不得不让我暂停。最后阶段,原以为可以结束,客户发来新的需求:加下载功能,和分等级进行管理。这要有下载功能,还要网络传输的即时性。并且说,这是开始时就提的功能,为什么还没做?为什么,为什么??我也不知道~~经理告诉我,这个不难的哇,在服务器上新建个临时表,对其进行相关操作,然后把相关的代码改改就行了嘛!~~我....无话可说..
有个同学,在美资公司做开发,他让我知道了:原来需求分析和设计真的比编码调试花更多的时间,原来详细设计真的可以写的这么详细,原来编码只是设计的代码实现,原来软件开发真的可以一步一步按流程按计划来做。