热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

这学期学习Java高级,最后有个Java课程设计,要求我们做个即时通讯系统。首先,说说这个即时通讯系统吧,说白了就是盗版QQ,但是盗版又要有模有样嘛,腾讯素来以“盗版”著称,别的公司有什

       这学期学习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高级课程设计第一小组的所有成员!




        下载源码请点击这里。     



       


推荐阅读
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • android ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
author-avatar
勿缘无悔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有