企业内部即时通讯系统项目总结
这学期学习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高级课程设计第一小组的所有成员!
下载源码请点击这里。
企业内部即时通讯系统项目总结相关推荐
- 企业OA即时通讯系统解决方案
企业OA即时通讯系统解决方案 一.部署企业即时通讯系统的意义--企业信息化建设 美国市场咨询公司Radicati Group日前公布了关于面向企业的即时通讯市场的调查结果,结果显示,北美85%的企业在 ...
- 企业即时通讯系统十大排名
企业即时通讯系统十大排名 即时通信,简称IM(InstantMessaging),是在网络技术飞速发展过程中个人电脑上涌现的一项非常流行的通信技术.它是继电子邮件.Web技术之后的第三大互联网应用. ...
- [go学习笔记.第十六章.TCP编程] 3.项目-海量用户即时通讯系统-redis介入,用户登录,注册
1.实现功能-完成用户登录 在redis手动添加测试用户,并画出示意图以及说明注意事项(后续通过程序注册用户) 如:输入用户名和密码,如果在redis中存在并正确,则登录,否则退出系统,并给出相应提示 ...
- 企业即时通讯系统能够为企业带来什么好处?
国内的很多大型企业也都部署了相应的企业即时通讯平台.对于大型企业而言,实时保持企业内外部通信线路的畅通和进一步提升沟通过程的有效性是非常重要的. 大型企业的通信已经不是简单的设备和网络连通,而是更加强 ...
- 企业即时通讯系统可以二次开发哪些功能
一.企业即时通讯常见的二次开发能力 日常工作中,沟通如空气般必不可少,因此企业即时通讯系统是常驻在桌面的应用,在操作系统右侧状态栏中的托盘图标闪动能即时的提醒用户有新的消息等待阅读. 随着办公需求的多 ...
- 什么是一套完全私有的即时通讯系统
目前有很多组织机构仍旧在局域网中办公,非常重视企业内部数据安全,不适用完全开放的办公模式.因为,一些特殊组织机构的日常办公,除了要存放大量行政,财务,人事,甚至是技术交流,文档信息.还要考虑在局域网中 ...
- 海量用户即时通讯系统
3.海量用户即时通讯系统 3.1项目开发流程 需求分析-->设计阶段-->编码实现-->测试阶段-->实施 需求分析: 用户注册 用户登录 显示在线用户列表 群聊(广播) 点对 ...
- 即时通讯系统及实现公共好友分组的方法
即时通讯系统及实现公共好友分组的方法 本发明公开了一种在即时通讯系统中实现公用 好友分组的方法,所述即时通讯系统包括即时通讯 服务器和与该即时通讯服务器交互的客户端. 该方法为:按预定的分组方式创建公 ...
- 为自己搭建一个分布式 IM(即时通讯) 系统
前言 大家新年快乐! 新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容. 老读者应该还记得我在去年国庆节前分享过一篇<设计一个百万级的消息推 ...
最新文章
- GMTC 大前端时代前端监控的最佳实践
- php实现 三角形_PHP使用for循环输出三角形
- 如何毕业后继续白嫖知网
- 我的机器人现在无处可去。 无家可归。 无服务器。
- @jsonignore的作用
- DVWA Command Injection 练习总结
- python123判断性别程序_听说胎心能够预测宝宝性别?这是真的吗?
- Python字符串怎样实现contains效果
- 【转】浏览器缓存机制
- 个人博客开发系列:前台博客页面开发部署完成
- Tcp-IP详解之Telnet
- 【Android】12.0 第12章 Intent及其过滤器—本章示例主界面
- 网站优化快速排名软件大全
- Excel 列累加技巧
- Ubuntu傻瓜式录制GIF图—— Peek
- 用Excel控件做动态图表
- 定义Student类,该类中有Sting name和int age两个属性,该类实现Comparable接口,实现根据学生姓名和年龄排序,该类重写toString()输出学生的姓名和年龄。
- 【2023.3.18 美团校招】
- 【PCB Layout】信号抗干扰经验总结
- 前端历程(一)------初识前端
热门文章
- 上海户口中的计算机水平评分,上海落户打分细则
- LeetCode 413.等差数列的划分
- 苹果手机电池怎么保养_手机电池损耗检测,电池修复软件
- 紫微圣人的程序员人生第5回 [原创IT小说]-第五回 一入圣吧深似海,从此亲友变路人
- CVE-2018-1273漏洞复现
- 【图像修复】基于滤波实现损坏图像修复含Matlab源码
- 基于Citespace和vosviewer文献计量学可视化SCI论文高效写作方法--开启从小白到精通的基于文献计量学论文写作之旅
- 深度学习知识点总结-激活函数
- py使用bar绘制堆积/带误差棒柱形图
- 【Python】Pyside6简易版教程