这学期学习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高级课程设计第一小组的所有成员!
下载源码请点击这里。
分享到:
相关推荐
即时通讯系统作为企业工具在现代商业环境中扮演着至关重要的角色,它为企业内部沟通、协作以及与外部客户的交流提供了高效便捷的平台。本项目基于Java的J2SE(Java 2 Platform, Standard Edition)开发,利用了Swing...
下载本资源请参考博文《企业内部即时通讯系统项目总结》 文章地址: http://blog.csdn.net/wentasy/article/details/7673766 实现功能: 1)单聊(发送文本消息) 2)用户注册 3)发送表情 4)文件传输(在线文件...
总结来说,RTC企业即时通讯系统是一个强大且灵活的工具,能够提升企业的沟通效率,同时保障信息的安全。RTC_Client.exe客户端提供了全面的通信功能,而DataBase.ini则是连接数据库的关键配置,确保了系统的正常运行...
总结,基于局域网的即时通讯聊天系统是一个实用且具有潜力的项目,它的设计和实现体现了计算机网络通信的基础理论和技术应用。通过不断迭代和优化,可以为企业内部通信提供一个高效、安全的解决方案。
总结来说,通达OA即时通讯软件是一款针对企业内部沟通需求量身定制的解决方案,它以高效、安全、整合为特点,为企业提供了一个全面的协同办公环境。通过使用这款软件,企业能够提升内部沟通效率,优化工作流程,从而...
总结起来,EyanEim是一款全面且安全的企业即时通讯工具,它整合了多种功能,旨在提升企业内部沟通的效率和质量。通过其强大的特性,企业可以打造更加紧密、协作无间的团队,适应现代工作环境的需求。
根据提供的文件信息,“JAVA项目开发全程实录之企业内部通讯part1.pdf”,我们可以推断出这份文档主要聚焦于Java在企业内部通讯系统开发中的应用。虽然提供的部分内容未能给出具体的技术细节,但根据标题、描述及...
总结来说,【C# 企业内部项目管理系统】利用C#语言的高级特性,构建了一个包含安全审计子系统的全面管理平台,旨在为企业提供高效、安全的项目管理解决方案。它的成功实施依赖于深入理解业务需求,合理选用技术,...
2. 即时通讯与WEB应用整合:使Web应用中的用户能直接进行即时通信,提升用户体验,如在在线客服系统中集成即时通讯功能。 五、开源技术实现的产品效果 采用Java + Smack API + Openfire + MySQL的组合,可以构建出...
即时通讯(Instant Messaging,IM)系统允许用户实时地发送和接收消息,常见于聊天应用、企业内部通信平台等。 【描述】:描述中的“.zip”文件表明该资源是一个压缩包,其中可能包含源代码、设计文档、执行程序...
总结,这个【企业内部通讯软件 SQL VB 源码 数据库】项目涵盖了多个IT领域的知识,包括企业通信系统的设计、SQL数据库的管理和VB编程,同时涉及到安全性、性能优化等多个重要方面。通过深入理解和应用这些技术,可以...
本项目是一款专为高校团体组织设计的多功能即时通讯应用,旨在提供一个便捷高效的内部信息交流平台。该应用不仅限于文字聊天,还集成了朋友圈、数字游戏等多种功能,进一步丰富了用户的社交体验。项目团队利用C/S...
最后,下载Spark客户端并配置连接到Openfire服务器,这样企业内部的即时通讯系统就搭建完成了。 总结来说,通过使用开源协议软件Jabber、XMPP、Openfire和Spark,我们可以自建即时通讯服务器,实现定制化的企业通信...
总结来说,Solo2011即时通讯与资源共享系统以其全面的功能、友好的用户界面和开放的源码,为个人和团队提供了一个高效、便捷的交流和协作平台。无论是在学术研究、项目开发还是日常工作生活中,它都能发挥重要作用,...
无论是个人沟通还是企业内部协作,即时通讯软件都扮演着极其重要的角色。本文将详细介绍一个基于JSP技术和SQL数据库的即时通讯工具的设计与实现过程,旨在为读者提供一个了解此类系统开发的基础框架,并通过具体实践...
作为一款专为局域网设计的沟通工具,布谷鸟为企业提供了一个安全、便捷的内部交流平台,有效替代了个人即时通讯软件QQ在企业环境中的应用。 布谷鸟聊天软件的主要特点与优势: 1. **局域网通信**:布谷鸟聊天软件...
飞秋,作为一款专为局域网设计的即时通讯工具,以其无需服务器、自动上线的特点,成为了许多企业和团队进行内部交流的首选。下面我们将深入探讨飞秋的功能特性、安装与使用方法,以及它如何优化局域网内的文件传输与...
在即时通讯项目中,Model可能包含了与服务器通信的逻辑,Presenter处理数据的解析和展示,View则负责用户看到的界面和交互。 总结,这个项目涵盖了Java后端开发、Android原生应用开发以及云服务的使用,重点在于...
总结来说,助讯通客户端6.12.12.15作为一款企业级即时通讯工具,旨在提高团队协作效率并保障信息安全。用户在下载和使用过程中,需关注其特色功能和可能遇到的问题,以便充分利用这一平台提升工作效率。
### 即时通讯软件设计与实现相关知识点 #### 一、项目背景与意义 ...通过综合运用这些技术和工具,可以开发出功能齐全、用户体验良好的即时通讯应用,不仅能够满足企业内部员工的沟通需求,还能保障信息的安全性。