首页 » 技术分享 » 企业内部即时通讯系统项目总结

企业内部即时通讯系统项目总结

 

       这学期学习Java高级,最后有个Java课程设计,要求我们做个即时通讯系统。首先,说说这个即时通讯系统吧,说白了就是盗版QQ,但是盗版又要有模有样嘛,腾讯素来以“盗版”著称,别的公司有什么新功能,产品有什么新功能,帝国总能做个像模像样的出来,最终得到的收益也不菲。这不仅取决于帝国的庞大用户,还取决于别人的技术确实牛,模仿得确实到位。


        好了,吐槽就到此为止吧,说说咱们自己的。


        本项目采用MVC模式进行开发,Model层表示模型层,对线程的管理、Socket的管理、界面的管理、数据库的操作等模型都放在Model层;View层表示表示层,所有的界面均放在这层进行统一的管理。Controller表示控制层,对线程的管理、Socket的管理、界面的管理、数据库的操作都放在Controller层。这样实现界面和操作,界面和模型分离,层次分明,结构清晰,易于管理、控制、编码和调试。


         从最开始的需求分析、到数据库设计,再到界面设计、项目讨论、编码实现、项目测试,最后到项目总结,这一路走来,真正感觉到做一个项目的流程,体会更深的是做项目不是那么容易的。我们小组一共有六个人,但到最后真正编码的人却少之又少。不过很欣慰的是我从其中感受到了团队合作的力量。常言做软件单枪匹马是行不通的,是做不好的,这一点我从这个项目中体会很深刻。在此对我们项目的所有成员致敬,感谢大家的配合!我们已经做得很好了。We are a team!We are perfect!We are the champion!


       接下来说说我们这个项目实现了哪些功能。

 

1)单聊(发送文本消息)

2)用户注册

3)发送表情

4)文件传输(在线文件传输)

5)添加好友

6)查找好友

7)改变字体颜色

8)创建群、群聊

9)换肤

10)加好友(验证 有提示音)

11)浏览器

12)查看帮助文档(项目API)

13)发送抖动窗口

14)系统托盘

 

        看到这些功能千万不要惊讶,相信你也可以的!

 

        然后贴下运行效果截图,首先声明界面做得很丑,我们关注功能去了,所以一个是服务器做得很差,另一个是用户体验性做得不好。本来需求分析里写了要实现语音聊天和视频聊天的,但是由于JMF不能找到摄像头驱动,所以这个功能就没做了。其实要做的话,还有很多东西要去考虑的。这里就暂且放下,等有时间下一个版本再做吧。


注册界面:


  

登录界面:

 


好友界面:



创建群界面:

 


 好友列表——群界面



换皮肤:



接收添加好友的请求:




接收文件传输:




聊天和改变字体颜色、发送表情:



群聊界面1(好友1):



群聊界面2(好友2):



同意并添加好友:



系统托盘(小人那个):



邀请好友群验证:




浏览器:



        下面贴下我们这个项目的流程图和数据库设计。


        数据库图表(SQLServer 2008)

 


       数据库模型(PowerDesigner)

 

     

     下面贴下项目流程图。




       最后从几方面总结我们这个项目吧。

       首先说说自己的毛病、需要改善的地方和收获吧:

       1.遇事不太冷静,心太急。这是自己很大的毛病吧。妈妈经常教育我,遇事要沉着冷静,心急吃不了热豆腐,虽然这些话经常在耳边响起,但是自己却没真正的体会和实践。所以,这点需要自己在成长的过程中特别注意。

        2.遇到问题,没有充分的思考。当程序报错,没有仔细的去考虑,而是急切地寻找解决办法。这点是不行的。没有思考,只求解决问题,当下一次遇到相同的问题时,很显然你有会去急于寻找解决办法。这样长期下来的结果是,谷歌、百度成了你解决问题的工具,真正核心的东西你是没掌握的。

       3.从这个项目中,学到了一些调试程序的技巧。真正体会到程序调试的重要性和必要性。可以说,只会写代码不会调试代码的程序员不是合格的程序员。

       4.学到了一些管理技巧,和同学之间的交流变得好多了,当遇到问题时自己能比较清楚的表达。其中团队合作是很重要的。班上有同学以为他做出来了就很了不起,跟我说话都夹杂着轻蔑、瞧不起的语气。我想说的是,我用一句话总结自己,我唯一知道的就是自己的无知。

      5.从这个项目中学习到了数据库编程、网络编程、Java Swing GUI编程、JMF框架的使用(当然只是初步了解)。

      6.项目的较标准化,使用了Powerdesigner 15.1设计数据库,Microsoft Visio 2010设计流程图、界面。Microsoft Word 2010编写文档。数据库采用Microsoft SQLServer 2008 R2。开发环境采用JDK 1.6 + MyEclipse 6.5 + Notpad ++ 6.1。并定时监视项目进度。

      7.当代码调通、解决一个有一个的Bug时,心里既开心,又激动。终于体会到前段时间有个同学说到:”码通,大喜“的心情了。这种成就感也驱动我们继续开发。

     8.和小X的合作非常愉快!大家一起加油!


        然后从整个项目的角度讨论下吧:

       1.我们小组是一个很团结的,这一点从平时安排的工作就可以体会出来。话是这样说,但是有些队友做事不够积极。这一点还是要指出来的。希望以后多多改正。

      2.整个项目还是有创新的地方,虽然很多功能都是耳熟能详的,但是在做的时候还是花了很大的力气。虽然界面丑了点,但是核心的东西还是做出来了。

      3.整个项目比较符合项目管理的流程,平时注意文档的书写,数据库设计做得比较规范,代码编写很规范化,注释很到位。

      4.项目没有使用版本控制工具,如SVN,这使得平时的整合需要花很大的功夫,所以以后做项目一定要把版本控制工具用上。

      5.程序用户体验性做得不够好,很多地方还有Bug,很多操作觉得有点莫名其妙。这是以后需要改进的。

      6.服务器做得太简陋,而且关闭服务器的动作还没有处理得很好。

      

     然后说说其他小组的成果吧。其他小组有比我们做得好的,当然我们也比有些小组做得更胜一筹。有个小组做得即时通讯系统类似于Windows 8 QQ,界面做得很炫,服务器写得很到位,细节处理得很好,这是需要我们学习的。有些小组做得有些功能和真实版QQ很类似。细节处理得也还好。


        再说说演示的时候吧。从整体来说我们的演示效果还是不错的,把做得功能(除了注册)都演示出来了。但是群聊的时候只有两个人,原因是CMCC的Wifi太不稳定,还有就是1433这个错误(貌似这个错误我写了博文,那篇博文是完美解决的,但是这次也不管用,还有待研究中),使得其他用户连接不上。这一点是有点遗憾的。还有一点是值得表扬的,自己的口头表达能力得到了很大的提高,上台表述很清楚,有条不紊。不错,继续努力!


        最后感谢小X对这个项目的倾心付出!很多核心的代码都是他完成的。几天没休息好了吧。还是多注意身体哈!


        好了,这次的项目算是告一段落了,这次的总结到此为止。真心感谢大家的配合!大家加油!向更远的前方迈进。


        谨以此文献给2010级4班Java高级课程设计第一小组的所有成员!

        下载源码请点击这里。     



       

转载自原文链接, 如需删除请联系管理员。

原文链接:企业内部即时通讯系统项目总结,转载请注明来源!

0