3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:程序开发部分)
2009-02-01 21:31 通用C#系统架构 阅读(3500) 评论(20) 编辑 收藏 举报跟客户也达成了一致的意见,我心里还想,就这么简单的东西,三下两下就搞定不就可以了吗?还是偷偷乐了一下,
很久没玩过这样的小项目,做小项目有成就感,而且比较简单,也算是一个成果物。
价格都商定好了,网络中心的老师,带我到那个部门了解客户的真实情况,客户给我演示了一下老系统,哇靠,功能
哪里那么容易啊,粗略的数一下有【收文功能、督办件功能、强大的收文查询功能、收文轮阅读功能、轮阅提醒功能、
发文功能、强大的发文查询功能排序功能、公文序号产生功能、发文有发文类别、收文有收文类别、公文抄送列表功能】
看到这里,我心里有些虚了,这么多功能,而且那个平时使用这个软件的人,操作简直是飞速一样,全键盘操作,功能
非常连贯,需求也比较明确。好了就这么些功能,想升级一下。
话也说出去了,牛也吹了,总不能现在就跑了吧?我狠了一下心,算是自己栽了吧,反正平时的积累也很多,晚上加班
什么的,弄弄出来算了,本来是想给公司弄个小项目,蛤蟆也是肉,赚点儿算点儿。
我把一些屏幕用人工记录的方式,都记录好,都有哪些单据等,都需要输入什么数据,都需要什么功能等,心里想了,
辛苦一些就辛苦一些吧,弄弄好算了,少一些休息时间而已。
一下所说的每轮,不只是跑了一次的意思,是至少跑了一次的意思,政府单位的人,懒得跟你邮件沟通来沟通去,人家需要
的是周到的服务,当面交流效率才高,交流的误差比较小,而且项目在本地,跑一趟也容易。
[第一轮]
回到公司,跟公司的领导汇报了一下,说教育局要一个很简单的小软件,半个不到就可以做好了,客户也不愿意掏多少钱,
我就八千元答应给他们做一个了,我们领导人好,说那就弄弄吧,反正是一个小项目,功能也不多,其实这时候我是不敢
说其实功能蛮多的,那怎么就谈这么点儿钱了是吧?
我想,数据库用SQLServer吧,项目也不大,就做个Web版本的,经过一周,我把客户需要的功能都做出来了,给客户
去演示,客户比较满意,开始对我的印象好了很多,比上次去态度好了很多,然后,他们说以前的软件打印功能没有,用
起来不舒服,他们和想有打印功能,那不加钱不行了,这个功能是当时没提过的,而且在Web里弄打印还是很折腾的事情,
要加钱,也可以,他们说,会想领导提,只要用得舒服钱都好说,有这句话,我心里舒服多了,毕竟是堂堂的宁波市教育局
应该不会差这么点儿小钱吧?
[第二轮]
又回去弄了3天,把他们需要的3个打印功能弄好了,我自己也测试打印了10来次,打印还是很舒服,而且我还干了一个通宵
把Web直接打印的问题解决了,打印功能实现好了,我又给他们去演示了,他们又提了很多细节功能,我想他们都同意加钱了
应该没啥问题,就把他们提的很多细节后来都解决了。
[第三轮]
这时候,他们终于说实话了,以前那个FoxPro的软件是,教育局内部的人编写的,当时那个人经常到那个部门,跟他们进行
沟通,那个小软件,前后修改完善了3年,才到了现在的程度,然后现在操作这个软件的人,是用了这个小软件已经有5年了,
所以任何操作的细节,都有很多要求,要符合他的习惯,例如快捷键的设置,光标的停留位置,回车的处理,页面的跳转,
查询的优化,具体要求等,提了很多很多,我再我搞开发10年了,而且几乎是天天搞,他的这些东西,我都折腾好,已经半个月
过去了,超出我的预计已经是1倍了。
[第四轮]
这下他们看看程序,也不错了,就真的想用新的软件了,他们就说,要把以前的十年录入的数据都需要导入进去,我想这个需求
也是合理的,否则人家那个旧电脑报废了,数据怎么查?新系统上线就是为了淘汰那个旧电脑啊,我反正FoxPro也熟悉,好弄吧,
我自己的电脑里安装了VisualFoxPro分析了数据库结构,数据,我头大了,里面的数据多得要命啊,有30万条,而且数据的严谨
性不搞,导入SQLServer根本不是想象的那么简单,好在我数据库的水平是一定的高度,折腾了3天,写了N多脚本,终于把老数
据库导入问题解决了。
[第五轮]
他们采购了新电脑,里面啥都没有,安装IIS, .NET运行环境,配置好网络,再把数据库安装好,再把程序部署好,又解决了很多
权限配置问题等相关问题,还调试了打印机等,总之足足折腾了一天,能把老系统的数据都导入好,新的系统能跑起来了,已经到
下班时间了,教育局的老师说了,新系统还要测试用一段时间,才能正式上线使用,老的系统还需要用,过些日子需要正式上线时,
数据需要重新导入一下,因为新系统还不能确认是否真的好用,然后又提了一个功能,以前是单机版,现在想要网络版本,平时这个
软件是有一个老师操作,另一个老师也偶尔操作,经常也需要查询数据,以前是用复制软件的方式,现在想直接在这个上用,晕倒了
不是说单机版本嘛? 现在又变成网络版本了?又说了,楼下也有一个部门的老师经常需要查询数据,但是不能增加修改,只能查询,
哇靠,那还需要权限控制了?这个跟开发一个大型应用一模一样了,我又强调了,这个是需要加钱的。客户说没问题,他们会向领导
反馈,需要我把工作量打个报告过来,给领导审核。
其实说到这里,来回跑的已经不止5轮了,还好项目在宁波市区,平时做公交车就可以了,说得夸张一些,要是平时自己开车去,油钱
也要上千元了,我继续说开发。
[第六轮]
客户试用了一段时间后,提了很多细节问题,其中有些问题是,简直是要人命的,就是一些细节上的处理,还有键盘的细节操作,还好
我JavaScript的能力也很强,经过死去活来的改进,终于把细节问题都修改好了,我就去给客户正式上线去了,客户的日常工作处理,
几乎是不能间断的,他给了我1个小时时间,说4点半开始会很忙碌,你必须在4点半前把事情全部搞定,哎呀,真的不是吹的,我的动手
能力是超级强大,但是在1-2个小时内,把几十万条记录都处理好导入好,新旧系统都衔接好,好几台电脑中折腾来折腾去,还真不是开
玩笑的,我自己的开发的电脑,客户的老系统,客户的新系统,心都要累死了一样争取了每一秒钟时间,几乎没犯一个错误,把系统过去
过来了,升级好了,客户用用还可以,他们每天要收到几十个公文,要在1个小时不到的时间里,把这些都处理好,所以对软件的操作
细节要求非常高,什么叫专家? 就是收文发文的工作,做了5年以上,天天操作几十个文件的收发,给接近10个领导有条有理的把文件
抄送工作做好,这就叫做专家,给专家做软件?容易嘛?为什么这个软件能用10年,为什么升级好几次都失败?因为客户有很多细节的
处理要求,一般人是达不到的。
[第七轮]
这下总算可以结项目了吧?客户又说了,还需要统计功能,晕倒了,统计的方法有接近10种,我能不能谈一下项目的价格问题啊?我已经
快搞了1个月多月了,你们到底给我多少钱啊?让我心里有个数啊,我怎么向领导交代啊?我工作一天,都是有成本的,我们公司正常的
每天是800元,像我这个级别的是1200元以上样的报价,我再干几天,就要满满工作2个月了,2个月用1200元/天算,这个费用好好几万了。
8千的东西,已经不是一个数量级别了,客户说了,你把功能都做好了再来谈加钱,我晕了,政府部门就是牛B啊,我只能硬着头皮了。
[第八轮]
又折腾了1周,把统计功能都做出来了,然后列出了一个工作量清单,就这么3个功能延伸出来不知道几倍的工作量了。客户的一句话,能让
我们折腾几天啊。
序号 | 功能模块 | 详细功能部分 | 工作量(天) |
1 | 初步需求分析 | 0.5 | |
2 | 发文部分 | 发文功能 | 0.5 |
发文查询功能 | 0.5 | ||
发文修改功能 | 0.5 | ||
发文编号产生方法 | 0.5 | ||
发文断号检查功能 | 0.5 | ||
发文附件功能 | 0.5 | ||
3 | 收文部分 | 收文功能 | 0.5 |
收文查询功能 | 0.5 | ||
收文修改功能 | 0.5 | ||
收文编号产生方法 | 0.5 | ||
收文断号检查功能 | 0.5 | ||
收文附件功能 | 0.5 | ||
4 | 收文编辑轮阅状态维护 | 1 | |
5 | 轮阅 | 1 | |
6 | 轮阅提示 | 1 | |
7 | 详细功能确认 | 0.5 | |
8 | 分析原数据库结构 | 1 | |
9 | 将原数据导入到数据库中 | 1 | |
10 | 讲原数据导入到新系统中 | 1 | |
11 | 打印督办单功能 | 1 | |
12 | 打印承办单功能 | 1 | |
13 | 安装维护 | 1 | |
14 | 重新导入最新的数据 | 1 | |
15 | 软件功能测试、性能测试 | 3 | |
工作量小计 | 20 | ||
16 | 安装最新软件 | 0.5 | |
17 | 测试最新软件 | 0.5 | |
18 | 最新数据库导入 | 1 | |
19 | 自动归档功能改进 | 1 | |
20 | 按分类搜索功能改进 | 1 | |
21 | 按分类输入关键字功能改进 | 1 | |
22 | 按回车进行查询功能改进 | 0.5 | |
23 | 导入数据有重复显示问题解决 | 0.5 | |
24 | 开设只有查看权限的账户 | 2 | |
25 | 重新安装系统、查询优化 | 1 | |
26 | 数据整理维护、编号产生方式优化 | 1 | |
27 | 发文按发文类别查询、收文发文按顺序倒序编号排序 | 1 | |
28 | 不按签发人查询、收文急件能直接归档 | 0.5 | |
工作量小计 | 11.5 | ||
29 | 打印领导批示单 | 1 | |
30 | 按收文份数统计 | 1 | |
31 | 按每一类文件数量统计 | 1 | |
32 | 按全部文件数量统计 | 1 | |
34 | 未归还文件列表打印(按处室为单位) | 1 | |
35 | 发文未归档文件列表打印(按处室为单位) | 1 | |
工作量小计 | 6 | ||
工作量总计 | 37.5 |
说白了,半天就能搞定一个功能,或者一天就能把一个难题解决了,也真不是那么简单的,我平时处了睡觉,吃饭,几乎都是
在研究软件了,还有积累,否则,哎,完蛋了这个项目。
我平时还做一些其他大项目的技术支持,否则2个月光做这个项目,真的丢死人了,干了个月给公司毛利8000元,哎亏死
的买卖了,破产了。