1.1编写目的
客户关系管理系统的开发已经基本完成,答辩过后看到别的组的优点,还要再进行完善,写此项目总结目的在于----吸取经验,在以后的项目开发中更快速,高效。
1.2项目背景
项目名称: 客户关系管理系统(CRM)
客户: 核心中关
项目需求: 管理与客户相关的信息与活动,但不包括产品信息、库存数据与销售活动。
运行环境: windows操作系统,Internet Explorer(IE)浏览器
开发环境: MyEclipse8.6+SQLServer2008
服务器: Tomcat6.0
项目框架: SSH
1.3参考资料
项目开发文档:
软件开发数据库模型 crm_team1.sql
数据库设计文档
进度表 CRM项目分工进度表.doc
需求分析说明书 客户关系管理系统需求规格说明书.doc
2.1对开发效率的评价
系统开发历时40余天,中间曾多次重新设计数据库
对客户的需求没有理解透彻(客户关系管理系统需求规格说明书.doc)导致多次修改代码才勉强达到要求
有时候不按照分工进度表来进行开发,导致自己那些部分完成了?完成了多少?都不太清楚,浪费了不少的时间
不写注释,开始的时候代码少,不写注释也能找到,到了后期代码都是上百行即便是知道了哪个方法出了问题,要找到它也要花不少的时间,这是很浪费精力的。
综合来讲,CRM项目开发效率并不高
2.2对产品功能的评价
经过我们项目小组几位同学的共同的努力协作,CRM项目已经符合用户的业务需求。答辩之后,发现项目中存在不少问题。比如说没有项目的帮助文档、使用过程中的bug。还需要不断的进行补充,总的来说项目开发还是比较成功的。
2.3对技术方法的总结
CRM项目的框架使用简单的三层结构,此框架常用于一些中小项目,层次清晰,开发更容易。我们也要开发自己的框架,把常用的SessionFactory类、实现分页的JavaBean以及一些公用的JavaBean进行提取、保存。还有web.xml中的一些配置 如处理乱码的、加载spring配置文件的,这些公用的代码都事先写好,进行下一个项目开发的时候可以拿来直接使用。
2.4 项目经验总结:
2.4.1 做好开发计划
在这个项目中,开发计划不够详细,要详细到这个项目需要创建几个JavaBean、几个页面,甚至可以详细到需要几个方法,这些方法需要那些参数,返回值是什么。静态的html页面都要事先设计好。
另外还要规定项目中JavaBean(类)、method(方法)、variable(变量)的命名规范,这点非常重要。有时候为了简单,有些变量的命名就直接用一两个字母代替,自己是明白它代表了什么意思,可是别人看不懂,这都是在浪费时间。
2.4.2 项目中坚持写文档写注释写进度
这点在CRM开发中没有很好的完成,比如说在五一前项目就差不多完工了,由于没有什么进度说明,看项目功能都差不多,项目能跑起来,五一假期就没在看项目,来了之后才发现,项目还有很多bug有些功能还没有实现。因此在以后的项目开发中写进度,可以是一个简单的文本文件,写到哪个功能了,哪个功能已经经过多次运行确认没问题了。。。
2.4.3 沟通
项目小组要经常在一起开发,便于讨论项目的需求和代码互审(挑bug),很好的沟通能加快项目进度,在真实的项目中也要与客户进行沟通,尽量避免隐藏问题,及时发现及时解决。从而按时完成项目
2.4.4 做好工作总结
在项目进行的过程中,我们要不断去整理自己的工作情况和做好总结,这样以来,无论是在自己的技术还是其它方面,都会对我们有很大的提高,在长期的积累后,无论是我们个人能力,还是我们的团队能力都会有很大的提高。
吸取教训
在以后的项目中一定要吸取教训记住如下几点:
1. 不要急于编码,把编码放到最后
2. 项目开发前期一定要把需求分析、数据库等准备妥当,项目开发中数据库尽量不修改
3. 严格按照进度表进行开发
4. 写注释,在每个JavaBean上都注明作者,这花费不了多少时间
5. 每隔一段时间进行项目整合的时候把已完成的项目交给小组其他成员,让他们帮忙测试,自己找不到的错误可能别人能帮你找到