JAVA3006一个简单的即时通讯工具的设计与开发2.docx
《JAVA3006一个简单的即时通讯工具的设计与开发2.docx》由会员分享,可在线阅读,更多相关《JAVA3006一个简单的即时通讯工具的设计与开发2.docx(14页珍藏版)》请在冰豆网上搜索。
![JAVA3006一个简单的即时通讯工具的设计与开发2.docx](https://file1.bdocx.com/fileroot1/2022-11/28/d2823483-abe4-48d6-9b40-2c9fe03b1c43/d2823483-abe4-48d6-9b40-2c9fe03b1c431.gif)
JAVA3006一个简单的即时通讯工具的设计与开发2
聊天软件的设计与开发
摘要
即时通讯(InstantMessaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。
Java是当前比较流行的开发语言之一,它有着自己的易用特点与性能优势,比如跨平台、安全性、多线程、网络Socket编程、数据流概念等方面,因此通过对开源即时通讯LinuxQQ的研究和分析,基于Java语言和J2EE规范设计了一个即时通讯工具JICQ(JavaforIseekyou),并对其体系结构、构成模块及系统关键技术进行了分析与设计。
在系统设计与建模过程中,使用了UML和面向对象的分析、设计方法,并使用Rose作为建模工具;本系统基于j2se1.5,j2ee1.4,使用Eclipse等作为开发工具,在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。
力图使系统具有安全、高效、实用、支持在不同系统平台运行等特点。
关键词:
即时通讯;多线程;SOCKET编程;JSP
目录
论文总页数:
30页
1引言1
1.1项目开发背景1
1.1.1项目背景1
1.1.2技术背景1
1.2该系统设计的意义2
2相关理论及基础技术与开发平台2
2.1即时通讯应用工作原理分析2
2.2所用技术3
2.3工具及开发平台4
2.4系统配置要求5
3系统体系结构的设计5
3.1需求描述5
3.2系统架构设计6
3.3系统的总体功能设计7
3.3.1总体功能设计7
3.3.2注册模块设计8
3.3.3登录模块设计10
3.3.4用户间交互模块设计12
3.4数据库设计14
3.4.1数据库物理模型14
3.4.2数据字典15
4系统实现16
4.1网络通讯编码实现16
4.1.1聊天客户端部分代码16
4.1.2服务器端监听与转发消息代码17
4.1.3服务端单线程上线处理代码18
4.2系统运行的效果图20
4.2.1登录界面20
4.2.2主界面20
4.2.3群聊天界面21
4.2.4好友聊天界面22
4.2.5好友查找界面23
4.3注册模块的实现24
4.3.1数据库连接24
4.3.2字符编码过滤器的核心代码24
4.4注册模块运行效果图25
4.4.1主页面25
4.4.2注册页面25
5系统测试与运行26
结论27
参考文献28
致谢29
中间层又分成四个部分:
3.3系统的总体功能设计
3.3.1总体功能设计
根据上述需求的描述,对该系统按照功能进行了模块的细化,主要包括注册登录、好友聊天、好友组管理、群聊天4个模块,还有很多其它小模块,这4个模块是实现该系统的核心模块,模块之间的耦合程度非常低,其中注册模块是通过B/S结构来实现,不需要安装客户端。
下图是上述的4个重要模块的用例交互图。
图4总功能用例图
3.3.2注册模块设计
注册模块是整个系统的最基础模块,该模块主要通过B/S模式来实现,技术上采用J2EE的三(N)层结构,它有以下特点:
1.能有效降低建设和维护成本,简化管理;
2.适应大规模和复杂的应用需求;
3.可适应不断的变化和新的业务需求:
4.访问异构数据库;
5.能有效提高系统并发处理能力;
6.能有效提高系统安全性
该模块表现层主要用的技术是Jsp和servlet,后台数据库用的是Sql2000数据库。
该模块主要包括以下功能:
帐号注册、密码的找回、密码的修改以及个人信息的查询。
通过该模块,用户可以与Web服务器交互进行号码的注册、密码找回等功能。
下图是一张简单的J2EE的结构图,该系统只是用到了其中的一部分技术。
图5J2EE结构图
下边是用户注册与Web服务器之间的用例交互图。
是
否
否
是
图7用户注册活动图
3.3.3登录模块设计
该模块主要给注册成功的用户提供一个登录界面,用户根据自己注册的帐号信息可以与服务器交互,如果提供的信息通过服务器的验证便可以成功的登录系统,成功登录系统之后,可以进行一些操作,比如和好友聊天等,使用该模块之前必须安装一个客户端。
登录模块只是一个简单的页面,主要填写用户名、密码之类的信息,登录成功后的主界面包含了系统的大部分功能,比如添加和删除好友、添加和删除好友分组、和朋友聊天等功能。
下图是登录模块的用例图。
图8登录用例图
下边的登录模块的活动图,主要是对用户提供的用户名和密码提供验证。
图9登录活动图
下边是用户之间交互信息的时序图,主要包括从用户登录到通过验证然后进行信息的发送,给好友发送信息包含两种情况,第一,如果好友在线的话消息直接通过服务器中转发送给好友,如果对应的好友不在线,则讲发送的信息保存到数据库中,当该好友上线的时候从数据库中读出相应的信息进行发送。
图10用户信息交互图
3.3.4用户间交互模块设计
该模块主要实现已用户之间的信息交流,用户交流的前提是先要添加好友,可以通过查找功能进行好友的查找,找到要添加的好友后,通过发送好友申请消息来添加好友,当对方通过添加好友的验证消息后,便可以成功的添加好友。
只有成功的添加好友之后,才可以进行用户之间的信息的相互交互。
下边是用户交互的用例图。
图11用户交互用例图
用户之间聊天的信息主要通过聊天服务器进行中转,用户之间聊天内容主要存储在客户端的一些文件中,可以通过查看聊天功能来进行对这些聊天信息的读取。
下图是用户交互的活动图:
图12用户交互活动图
下边是好友添加的时序图
图13好友添加时序图
4.1.2服务器端监听与转发消息代码
下边是服务器端的监听程序,如果发现有socket连接,就创建一个与该连接所对应的一个线程,该线程主要用来处理用户之间的信息交互。
4.1.3服务端单线程上线处理代码
下边是服务器端上的单线程的处理代码,主要通过网络流来读取客户端发送的消息,然后将消息分解,用来区分消息的类型,譬如是群消息还是个人消息等。
4.2系统运行的效果图
4.2.1登录界面
该界面提供用户输入自己注册号码和相应的密码,然后登录系统,如果还没有注册帐号,可以点“申请”进行帐号的申请。
如下图所示:
图15登录界面
4.2.2主界面
登录成功后的主界面,主要是一些好友的信息,以及一些好友分组的信息,在此界面上可以进行好友的添加、查找、删除,以及好友组的添加、删除,同时还可以查看最近联系人等功能。
图16主界面
4.2.3群聊天界面
如果你已经成功的加入该群,你就可以在群中和其他群成员进行一些信息的交互。
图17群聊天界面
4.2.4好友聊天界面
该界面主要是用户聊天的主要界面,主要提供了发送和接受聊天信息功能,以及查看聊天记录,同时还可以查看好友的一些基本信息。
图18好友聊天界面
4.2.5好友查找界面
好友添加和查找的界面,你可以根据不同的条件来进行好友查找的筛选,比如只查找在线的用户或者可以查看所有用户,还可以根据一些信息讲查找范围缩小,比如根据用户的性别年龄等信息进行查询,以满足自己的查找需要。
图19添加好友界面
}
4.4注册模块运行效果图
4.4.1主页面
以下的主页面,在该页面你可以注册新的帐号、密码的找回等功能。
图20注册模块主页面
4.4.2注册页面
主要是进行一些用户注册基本信息的填写。
图21注册页面
重要提示:
本论文由大学论文网
毕业论文下载网:
提供
如果需要详细内容请与QQ:
4991024联系