1、JAVA3006一个简单的即时通讯工具的设计与开发2聊天软件的设计与开发摘 要即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。Java是当前比较流行的开发语言之一,它有着自己的易用特点与性能优势,比如跨平台、安全性、多线程、网络Socket编程、数据流概念等方面,因此通过对开源即时通讯LinuxQQ的研究和分析,基于Java语言和J2EE规范设计了一个即时通讯工具JICQ (Java for I seek you),并对其体系结构、构成模块及系统关键技术进行了分析与设计。在系
2、统设计与建模过程中,使用了UML和面向对象的分析、设计方法,并使用Rose作为建模工具;本系统基于j2se1.5,j2ee1.4,使用Eclipse等作为开发工具,在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。力图使系统具有安全、高效、实用、支持在不同系统平台运行等特点。关键词:即时通讯;多线程;SOCKET编程;JSP目 录论文总页数:30页1 引言 11.1 项目开发背景 11.1.1 项目背景 11.1.2 技术背景 11.2 该系统设计的意义 22相关理论及基础技术与开发平台 22.1 即时通讯应用工作原理分析 22.2所用技术 32.3工具及开发平台 42.4 系统配置
3、要求 53系统体系结构的设计 53.1 需求描述 53.2系统架构设计 63.3 系统的总体功能设计 73.3.1总体功能设计 73.3.2注册模块设计 83.3.3 登录模块设计 103.3.4用户间交互模块设计 123.4数据库设计 143.4.1数据库物理模型 143.4.2数据字典 154系统实现 164.1网络通讯编码实现 164.1.1聊天客户端部分代码 164.1.2服务器端监听与转发消息代码 174.1.3服务端单线程上线处理代码 184.2 系统运行的效果图 204.2.1 登录界面 204.2.2 主界面 204.2.3 群聊天界面 214.2.4 好友聊天界面 224.2
4、.5 好友查找界面 234.3注册模块的实现 244.3.1 数据库连接 244.3.2 字符编码过滤器的核心代码 244.4 注册模块运行效果图 254.4.1 主页面 254.4.2 注册页面 255 系统测试与运行 26结 论 27参考文献 28致 谢 29中间层又分成四个部分:3.3 系统的总体功能设计3.3.1总体功能设计根据上述需求的描述,对该系统按照功能进行了模块的细化,主要包括注册登录、好友聊天、好友组管理、群聊天4个模块,还有很多其它小模块,这4个模块是实现该系统的核心模块,模块之间的耦合程度非常低,其中注册模块是通过B/S结构来实现,不需要安装客户端。下图是上述的4个重要模
5、块的用例交互图。图4 总功能用例图3.3.2注册模块设计注册模块是整个系统的最基础模块,该模块主要通过B/S模式来实现,技术上采用J2EE的三(N)层结构,它有以下特点: 1.能有效降低建设和维护成本,简化管理;2.适应大规模和复杂的应用需求;3.可适应不断的变化和新的业务需求:4.访问异构数据库; 5.能有效提高系统并发处理能力;6.能有效提高系统安全性该模块表现层主要用的技术是Jsp和servlet,后台数据库用的是Sql 2000数据库。该模块主要包括以下功能:帐号注册、密码的找回、密码的修改以及个人信息的查询。通过该模块,用户可以与Web服务器交互进行号码的注册、密码找回等功能。下图是
6、一张简单的J2EE的结构图,该系统只是用到了其中的一部分技术。图5 J2EE结构图下边是用户注册与Web服务器之间的用例交互图。是否否是图7 用户注册活动图3.3.3 登录模块设计该模块主要给注册成功的用户提供一个登录界面,用户根据自己注册的帐号信息可以与服务器交互,如果提供的信息通过服务器的验证便可以成功的登录系统,成功登录系统之后,可以进行一些操作,比如和好友聊天等,使用该模块之前必须安装一个客户端。登录模块只是一个简单的页面,主要填写用户名、密码之类的信息,登录成功后的主界面包含了系统的大部分功能,比如添加和删除好友、添加和删除好友分组、和朋友聊天等功能。下图是登录模块的用例图。图8 登
7、录用例图 下边的登录模块的活动图,主要是对用户提供的用户名和密码提供验证。图9 登录活动图下边是用户之间交互信息的时序图,主要包括从用户登录到通过验证然后进行信息的发送,给好友发送信息包含两种情况,第一,如果好友在线的话消息直接通过服务器中转发送给好友,如果对应的好友不在线,则讲发送的信息保存到数据库中,当该好友上线的时候从数据库中读出相应的信息进行发送。图10 用户信息交互图3.3.4用户间交互模块设计该模块主要实现已用户之间的信息交流,用户交流的前提是先要添加好友,可以通过查找功能进行好友的查找,找到要添加的好友后,通过发送好友申请消息来添加好友,当对方通过添加好友的验证消息后,便可以成功
8、的添加好友。只有成功的添加好友之后,才可以进行用户之间的信息的相互交互。下边是用户交互的用例图。图11 用户交互用例图用户之间聊天的信息主要通过聊天服务器进行中转,用户之间聊天内容主要存储在客户端的一些文件中,可以通过查看聊天功能来进行对这些聊天信息的读取。下图是用户交互的活动图:图12 用户交互活动图下边是好友添加的时序图图13 好友添加时序图4.1.2服务器端监听与转发消息代码下边是服务器端的监听程序,如果发现有socket连接,就创建一个与该连接所对应的一个线程,该线程主要用来处理用户之间的信息交互。4.1.3服务端单线程上线处理代码下边是服务器端上的单线程的处理代码,主要通过网络流来读
9、取客户端发送的消息,然后将消息分解,用来区分消息的类型,譬如是群消息还是个人消息等。4.2 系统运行的效果图 4.2.1 登录界面该界面提供用户输入自己注册号码和相应的密码,然后登录系统,如果还没有注册帐号,可以点“申请”进行帐号的申请。如下图所示:图15 登录界面4.2.2 主界面登录成功后的主界面,主要是一些好友的信息,以及一些好友分组的信息,在此界面上可以进行好友的添加、查找、删除,以及好友组的添加、删除,同时还可以查看最近联系人等功能。图16 主界面4.2.3 群聊天界面如果你已经成功的加入该群,你就可以在群中和其他群成员进行一些信息的交互。图17 群聊天界面4.2.4 好友聊天界面
10、该界面主要是用户聊天的主要界面,主要提供了发送和接受聊天信息功能,以及查看聊天记录,同时还可以查看好友的一些基本信息。图18 好友聊天界面4.2.5 好友查找界面好友添加和查找的界面,你可以根据不同的条件来进行好友查找的筛选,比如只查找在线的用户或者可以查看所有用户,还可以根据一些信息讲查找范围缩小,比如根据用户的性别 年龄等信息进行查询,以满足自己的查找需要。图19 添加好友界面4.4 注册模块运行效果图 4.4.1 主页面以下的主页面,在该页面你可以注册新的帐号、密码的找回等功能。图20 注册模块主页面4.4.2 注册页面 主要是进行一些用户注册基本信息的填写。图21 注册页面重要提示:本论文由大学论文网毕业论文下载网: 提供如果需要详细内容请与QQ:4991024联系
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1