一个简单的即时通讯工具的设计与开发—计算机毕业设计内容摘要:

第 5 页 共 30 页 的 LayoutManager,这一切完全可以用 JBuilder 开快速完成。 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅 限于此。 Eclipse 还包括插件开发环境( Plugin Development Environment, PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。 更舒服的是,利用 Eclipse 中的 MyEclipse 插件来搭建一个动态 JSP 程序,快速,简单、方便。 Rose 一套非常有使用价值的系统建模工具,其中提供了非常方便的系统建模功能,比如用例图、行为图、活动图、时序图等。 利用它可以加快系统设计开发效率 ,同时可以给用户和开发者提供清晰 的图,使他们之间的交流变得更加的方便有效。 SQL SERVER2020 数据库 是 微软的功能强大的数据库管理系统,具备很多数据库管理常用的功能,例如存储过程、数据查询与更新等,是一个非常理想的后台数据库系统。 Tomcat 是 Sun 的 JSWDK(JavaServer Web Development Kit)中 Servlet 的运行环境 (servlet 容器 ), 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache, Sun 和其它一些公司及个人共同开发而成。 系统配置要求 推荐配置如下 : CPU2G 以上 , 内存 512 以上 ,运行平台基于 Windows 平台。 客户端需要安装 java 虚拟机, 同时 还 要 有 JICQ 的客户端程序。 服务器端需要安装 Sql server2020 数据库 , 服务器端如果是 windowsXP 系统要打上 Sql server 2020的 SP3或者 SP4补丁包,同时服务器端需要安装 Web服务器 TOMCAT,还有 JICQ 的服务器端程序。 3 系统体系结构的设计 需求描述 伴随着当今互联网的迅速发展,人们之间的信息交互的实时性能变得越来越重要,传统 的电子邮件交互已经不能够满足人们的即时通讯要求,鉴于此种情况打算开发出 一款类似于腾讯 的即时通讯软件,只要经过注册 你便可以获取一个帐号,通过该帐号你可以在客户端 登陆, 成功登录后便可以 在互联网上与你的亲朋好友进行畅谈, 由于技术和时间问题, 该软件主要提供私聊、群聊、第 6 页 共 30 页 好友管理、群管理等常用功能, 其它一些功能比如文件传输 、 语音聊天和视频聊天等功能,由于技术问题暂时没有实现,可以在该系统的基础上实现这些功能,也 可以在此基础上进行更多功能的扩展。 系统架构设计 该系统主要包括三层,客户端,服务器端,以及数据库服 务器, 客户端用来提供用户的登录,服务器端用来对登录的用户进行管理以及用来处理信息之间的转发,数据库服务器主要存放一些重要的信息。 它们之间的关系如下图所示: 图 1 三层模型 中间层又分成四个部分: 图 2 中间层的构成 本系统采用的设计模型为平时所说的 C/S 架构, Client/Server,系统总体模型图如下: 客户端 服务器 数据库服务器 第 7 页 共 30 页 图 3 客户端 /服务器端模型图 系统的总体功能设计 总体功能设计 根据 上述 需求的描述, 对该系统按照功能进行了模块的细化, 主要包括注册登录 、 好友聊天 、 好友组管理 、 群聊天 4 个模块, 还有很多其它小模块,这4 个模块是实现该系统的核心模块,模块之间的耦合程度非常低,其中注册模块是通过 B/S 结构来实现,不需要安装客户端。 下图是 上述的 4 个 重要模块的用例交互图。 第 8 页 共 30 页 注册登录好友聊天好友组管理JI C Q 用户群聊天与管理 图 4 总功能用例图 注册模块设计 注册模块是整个系统的最基础模块 , 该模块主要通过 B/S模式来实现,技术上 采用 J2EE的三 (N)层结构 ,它 有以下特点 : ,简化管理。 :。 该模块表现层 主要用的技术是 Jsp和 servlet,后台数据库用的是 Sql 2020数据库。 该模块主要包括以下功能:帐号注册 、 密码的找回 、 密码的修改以及个人信息的查询。 通过该模块,用户可以与 Web 服务器交互进行号码的注册 、密码找回等功能。 下图是 一张简单的 J2EE 的结构图 ,该系统只是用到了其中的一部分技术。 第 9 页 共 30 页 图 5 J2EE结构图 下边 是 用户注册与 Web服务器之间的 用例交互图。 提交注册资料注册服务器验证结果JI C Q 使用者注册 JI C Q号码用例 图 6 注册用例交互图 下边 是用户注册的活动图。 第 10 页 共 30 页 图 7 用户注册活动图 登录模块设计 该模 块主要给注册成功的用户提供一个登录界面,用户根据自己注册的帐号信息可以与服务器交互, 如果提供的信息通过服务器的验证便可以 成功的登录系统, 成功 登录系统之后,可以进行一些操作,比如和好友聊天等, 使用该模块之前必须安装一个客户端。 登录模块只是一个简单的页面,主要填写用户名 、 密码之类的信息,登录成功后的主界面包含了系统的大部分功能,比如添加和删除好友 、 添加和删除好友分组 、 和朋友聊天等功能。 下图是登录模块的用例图。 合法 ? 合法 ? 是 否 否 是 第 11 页 共 30 页 登录 JI C Q发送消息接受消息JI C Q 用户查找好友监听服务器与聊天服务器交互 图 8 登录用例图 下边的登录 模块的活动图 ,主要是对用户提供的用户名和密码提供验证。 图 9 登录活动图 下边是用户之间交互信息的时序图 ,主要包括从用户登录到通过验证然后进行信息的发送,给好友发送信息包含两种情况,第一,如果好友在线的话消第 12 页 共 30 页 息直接通过服务器中转发送给好友,如果对应的好友不在线,则讲发送的信息保存到数据库中,当该好友上线的时候从数据库中读出相应的信息进行发送。 图 10 用户信息交互图 用户间交互 模块设计 该模块主要实现 已 用户之间的信息交流,用户交流的前提是先要添加好友,可以通过查找功能进行好友的查找,找到要添 加的好友后, 通过发送好友申请消息 来添加好友 , 当对方通过添加好友的验证消息后 , 便可以成功的添加好友。 只有成功的添加好友之后,才可以进行用户之间的信息的相互交互。 下边是用户交互的用例图。 JI C Q 用户之间信息交互好友申请好友添加验证JI C Q 用户 A发送信息JI C Q 用户 B验证 图 11 用户交互用例图 第 13 页 共 30 页 用户之间聊天的信息主要通过聊天服务器进行中转,用户之间聊天内容主要存储在客户端的一些文件中,可以通过查看聊天功能来进行对这些聊天信息的读取。 下图是用户交互的活动图 : 图 12 用户交互活动图 下边是好友添加的时序图 在线。 Y N 第 14 页 共 30 页 图 13 好友添加时序图 数据库设计 数据库物理模型 通过 对系统需求的分析,在关系数据库中建立相应的表, 并建立了表之间的相互关系, 下边的图是在 Sql 2020 下这些表之间的对应关系图。 图 14 数据库物理模型 第 15 页 共 30 页 数据字典 下边是关系数据库中每个表所对应 的字段的详细 信息 表 1 JUSERS(用户表 )用来存放用户注册时的基本信息 简称 字段名 类型 长度 允许空 备注 JICQ 号码 bigint 8 Not null PK JPassWord 密码 varchar 50 Not null JShowName 昵称 varchar 100 Not null JTrueName 真实名称 varchar 100 JAge 年龄 Int 4 JSex 性别 char 4 JCountry 国家 varchar 50 JProvince 省 varchar 50 JCity 市 varchar 50 JStatus 状态 smallint 2 Not null JUserIP IP varchar 50 Not null JPicID 图片 ID int 4 Not null JICQShowID int 4 JEmail 电子邮件 varchar 100 JUnderWrite 个人签名 varchar 500 JProfession 专业 varchar 50 JStar 星座 varchar 50 JXuexing 血型 varchar 50 JGradute 学历 varchar 50 JAddress 住址 varchar 200 JPostalcode 邮编 char 6 JPersonalPage 个人主页 varchar 500 JOption 个人爱好 Int 4 JIDCardType 证件类型 char 20 JUserMoblie 手机号码 varchar 11 JUserIDCard 用户卡号 varchar 30 JProtectPwdQuestion 密保提问 varchar 50 JProtectPwdAnswer 密保答案 varchar 50 表 2 Jmessages(消息表)用来存放用户发送的离线消息 简称 字段名 类型 长度 允许空 备注 MessageID 自增主键 bigint 8 Not null MyJICQ 自己号 bigint 8 Not null FriendJICQ 朋友号 Bigint 8 Not null MessageHead 消息标题 Varchar 200 Not null flag 消息状态 smallint MessageContent 消息内容 varchar 500 Not null 表 3 JFriends(朋友表)用来存放用户的好友信息 简称 字段名 类型 长度 允许空 备注 第 16 页 共 30 页 JICQ_Friend_ID 自增主键 bigint 8 Not null PK JICQ 自己 icq 号 bigint 8 Not null JFriendID 朋友 icq 号 bigint 8 Not null JFriendTypeID 朋友类别 int 4 Not null FK 表 4 JFriendType(朋友类别表)用来存放用户的好友组信息 简称 字段名 类型 长度 允许空 备注 JFriendTypeID 主键自增 int 4 Not null PK JFriendTypeName 好友组名称 varchar 100 Not null JICQ Icq 号码 bigint 8 Not null 表 5 JGroups(用户组表)用来存放用户的群组信息 简称 字段名 类型 长度 允许空 备注 JGroupID 群号码 int 4 Not null PK JGroupJICQ 群名称 bigint 8 JGroupName 群名称 varchar 100 Not null JGroupPicID 群图片 ID int 4 Not null JGroupType 群类别 varchar 100 JGroupBcast 群公告 varchar 500 JGroupInfo 群信息 varchar 500 表 6 JGroup_Users(用户和组关联表)用户和组之间的关联表 简称 字段名 类型 长度 允许空 备注 JGroupID_JICQ 主键 bigint 8 Not null PK JGroupID 组 ID Int 4 Not null FK JICQ Icq 号码 bigint 8 Not null FK JGroupName 群名称 varchar 200 Not null JMessageStatus 群消息状态 smallint 2 Not null 4 系统实现 聊天客户。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。