最近完成了一个传统企业的信息化的中小型软件,已经上线一个多月,后期维护也基本上差不多了,客户比较满意,给他们减轻了企业负担和间接地的降低了人员成本,创造了价值。这个项目从了解需求,建模,开发,测试,修改需求,上线测试都是由我一人完成,下面我谈谈自己的一些想法,和传统企业信息化的一个过程。
在九月一号项目经理给我一个烂尾的项目,希望我能够尽快完成。因为先前用户一直对这个项目觉得流程复杂,操作困难,无法符合公司实际使用,所以做了几个月都没实现具体的功能。我把烂尾的项目拿过来,研究了两天,发现几个问题,首先技术选型有点问题,不符合快速开发的目标,通过在数据库中使用存储过程来执行增删改查的功能,连个sqlhelper都没有,无疑对于中小型项目来说增加了工作的复杂度,光看存储过程的名称都要找半天,更别提开发效率了,可能一个表增加一个字段,都不知道要修改几个存储过程。然后没有进行权限分类,每个人都能够进入系统看到的都是系统的所有页面,这对企业肯定是不好的,不符合管理需求,特别是对于一些商业机密,比如工资,订单,客户信息等内容,很容易外泄。经过分析之后,我决定重新开发这个项目,因为我觉得这个重新开发会更快,然后我就把烂尾的项目整理了一番给扔到一边整理需求去了。
1.根据这个企业的特性,以及其他企业的共性,我设置了几大模块,然后根据每个模块细分几个小模块,然后每个小模块的大致内容,然后进行逐个模块的开发。
2.选择开发框架,让开发更简单。对于框架的选择,我尽量选择简单易用,封装度适中,易于改动的框架,这样也是便于自己随时进行修改方便。因为数据量比较大和查询较多,我选择了ASP.NET MVC+EASYUI+ADO.NET+SEA.JS的技术选型,这对于调试和后期修改需求都很方便。
3.从客户的角度去思考问题,怎么使用起来比较简单,怎样在符合他们要求的情况下,我们更简单的开发。使传统企业的操作人员应该尽可能的操作简单,流程简单。碰到问题要及时地和客户进行沟通,减少白费工夫的情况发生。不要怕烦,不要动不动就怪客户要求多,其实你想想,有时并不是客户的原因,而是功能实在是不好操作的原因。比如客户说,我如果有个订单以前输入过了,我现在继续输入很麻烦,然后我就给客户做了一个拷贝的功能
客户说我把数据还要导出来才能够进行打印的功能,我直接把数据在页面上显示出来后,直接进行打印。
4.这个项目从九月一号开始做,快到十月一号,我的初版已经出来,那时候组织召开了一次会议,看了初版是否符合他们的要求,他们大致对软件赞同,但是也提出了一些意见和建议,然后我就进行需求修改,到十月十六号项目正式上线,他们开始试运行阶段,当然在使用中也碰到了很多问题,那时候也就是通过电话或者当面交流,我们进行了一些意见,通过不停地快速迭代,不停地更改需求,当然都是些小地方的改动,这个时候越到后面问题越少,他们的问题我也是尽心地去修改,也使他们比较满意。到最后十一月四号他们开始正式使用系统。使用中也碰到些问题,比如报表需要怎么生成,怎么统计订单数据,统计计件工资,权限设置,人员设置,系统性能优化等做了相应的改动,使系统高效的运行起来,到十一月二十号,项目完成验收,大家都皆大欢喜,从使用的效果来看,还是很不错的,他们不像是以前那样,不停的找excel表格,不停地统计数据,不停地向领导提交报表,现在好了,领导动动手指就能知道公司的运营情况,对后期的公司的管理、决策和发展起到了辅助的作用。
从这个项目中,一方面我觉得传统企业信息化不难,只要软件做的好,便于使用,能够为企业带来直接或者间接的效益,能够为公司管理带来方便,就能很好的进行下去。另一方面,这个项目从开始做到现在,我一直注重用户体验,把客户的需求进行分析,并用技术方式实现,把客户的事当作自己的事,不光提升自己的技术水平,同时也提高了我对行业的认知水平和与人相处的经验。这个项目并不完美,下一步我准备做以图形化方式对数据进行直观的体现,以及对数据的挖掘,实现潜在客户的发现,服务水平的提升,绩效考核等功能,为企业管理水平提升到一个新的台阶。项目不死,维护不止。。。