当前位置:首页 > 免费毕业设计

【毕设作品】JAVA网络通信系统的研究与开发(论文+源代码+开题报告)

【毕设作品】JAVA网络通信系统的研究与开发(论文+源代码+开题报告)

  • 网站价格: 10
  • 特殊技术: java
  • 作品类型: 计算机毕业设计论文
  • 售后服务:

联系方式: 微信:biyebang QQ: 629001810

作品详情

   :网络通信在当今信息社会中起着不可或缺的作用 ,人们可以利用网络通信技术进行即时的信息交流。例如,人们可以通过Internet搜索所要的信息,通过网上通信工具聊天,交流信息,上网购物等等。

本课题是应用了计算机网络通信技术和JAVA网络编程的基础知识,以JAVA为平台,利用Eclipse开发工具,并使用SQL Server 2000管理数据库数据开发出的基于Socket的网络即时通信系统。系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端、应用程序客户端,按照此设计思想,系统采用C/S结构,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。此系统共分为两个模块:客户端模块和服务器端模块。从操作简便、界面美观、灵活实用的用户要求出发,设计开发的网络通信系统可以实现用户注册,用户登录,消息通信和好友管理等主要功能。

本说明书主要介绍了本课题的研究意义以及开发背景、开发过程,和所完成的功能,并着重说明了开发设计的思想、技术难点和解决方案。

 

关键词:网络通信 JAVA平台 C/S  Socket

 

 

 

目录结构:标题.png

 

 

系统需求分析:  

 

 

 

 

 

2.1 业务流分析
在对系统的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统的调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。
本课题设计的网络通信系统业务流程如下:
系统启动服务器。
客户端向服务器注册,告知服务器它在监听某主题。
客户注册之后,向服务器发送有关事件处理消息,如发送消息给好友,接收好友的消息,发送文件,接收文件,删除好友,查看好友资料,添加好友等等。
服务器再把相应的消息发送给所有监听此主题的客户。

 

 

1.png

 

 

 2.3 数据流分析
数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按照业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。
做出初步的数据流图如下:

 

 

2.4 数据字典
2.4.1数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。
数据流条目
用户基本信息表
  编号:D1
  来源:客户端写入
  去向:数据库
  数据流量:每位用户1份
  组成:{用户的号码+用户的昵称+用户的密码+用户的状态(在线否)+IP地址+用户的资料+用户的头像+用户性别+用户的E-Mail和用户的籍贯}
用户好友表
  编号D2
  来源:客户端写入
  去向:数据库
  数据流量:每位客户1份
  组成:{用户的号码+好友的号码}
⒉数据元素条目
    以下以用户的号码,用户的昵称,用户的状态,用户的资料四个数据元素条目为例:
名称:用户号码
  编号:F1
  别名:用户名
  类型及长度:整型,4
相关联数据:用户好友表
名称:用户昵称
  编号:F2
  别名:无
  类型及长度:字符型,10
名称:用户状态(在线否)
  编号:F3
  别名:无
  类型及长度: 布尔型,1
  取值范围:“0”,“1”
名称:用户的资料
  编号:F4
  别名:无
  类型及长度:varchar,50  
2.4.2处理逻辑说明
处理逻辑名:  用户注册
  说      明:  新的用户首先要进行注册,生成用户的号码和登录密码之后才能进行服务器登录。
  处理逻辑编号:1
  输入的数据流:用户名、密码,昵称等信息
  处 理 过 程: 用户首先将自己的信息资料输入,包括用户的号码,昵称 ,用户的资料,用户的性别,E-Mail,用户的籍贯等。
  输出的数据流:用户信息表
  处 理 频 率: 对每个用户基本信息表处理一次
 
处理逻辑名:  用户登录
说      明:   客户登录,进行网络聊天通信
处理逻辑编号: 2
输入的数据流: 用户名、密码
处 理 过 程:  服务器连接数据库,查询用户信息表,判断登录信息是否正确
输出的数据流: 服务器返回的登录处理数据流
处 理 频 率:  对每个用户基本信息表处理一次
 
处理逻辑名:  好友管理
  说      明:   上线的用户根据自己需要进行查找好友,添加好友,删除好友,查看资料等操作
  处理逻辑编号:  3
  输入的数据流:  用户的相关操作信息
  处 理 过 程:   根据用户提出的操作要求,连接服务器,进行数据库查询,得到符合条件的相关信息,服务器将结果返回给用户。
  输 出 的数据流:服务器返回的相应处理结果
  处 理 频 率:   依用户要求进行处理
 
处理逻辑名:  消息通信
  说      明:   两个或多个用户通过连接服务器,进行网络通信
  处理逻辑编号: 4
  输入的数据流: 用户的发送消息或接收消息流。
  处 理 过 程:  用户通过在好友列表中好友的IP地址,利用UDP协议与其他用户进行信息交流。
  输出的数据流: 符合条件的发送(接收)消息流
  处 理  频 率: 依用户要求进行处理
3 系统总体设计
3.1 系统开发的原则
   3.1.1 面向用户的观点
网络即时通信系统是为用户开发研制的,用户是系统的最终使用者和评价者,所以在网络通信系统的开发设计的过程中,我们树立了从用户的寻求出发,面向用户,一切为了用户的观念,在分析与设计系统的前期,为了保证系统的功能的完善多次寻求周围同学和老师的意见,了解他们的要求,依照功能完善,界面美观,操作简单的原则进行设计 。
3.1.2 严格按阶段进行
系统的开发设计是一项较大的工程,所以应该将整个系统的开发设计过程划分为若干阶段,相应的阶段又要分为若干个不同的步骤,每个阶段和步骤都要有明确的工作任务和目标。这种有序的组织安排,条例清楚、层次分明,便于计划的制定和控制,且为后续工作的进行奠定了坚实的基础,提高了工作效率和质量。
   3.1.3 采用系统的观点处理
在系统分析阶段,在对原系统进行全面调查和分析的基础上,构造系统的最佳逻辑模型,使用户对将来完整系统的轮廓有个初步的了解和认识,以便及时和用户进行交流和探讨,不断提高系统的完善性。在此基础上进行系统的物理实现和设计,切实完成逻辑模型的具体功能。逻辑设计和物理实现二者是相辅相成、密不可分的,这样使系统的设计更加稳妥合理。
   3.1.4采用模块化设计方法
系统模块化设计方法是从计算机实现的角度出发对整个系统进行审核和校验,将整个系统划分为不同的功能模块,实现系统的一个特定功能。各个功能模块之间具有相对独立性,便于整个系统的设计、实施、维护和扩充。这种模块化结构设计方法,为整个系统顺利进行奠定了基础。
   3.1.5 整个系统的设计主要采用快速原形法 
快速原形法是信息系统设计的一个重要方法。它是根据用户提出的需求,由用户和开发者共同确定系统的基本要求和主要功能,并在一个较短的时间内建立一个实验性的、简单的信息系统模型,通过用户不断提出的意见和建议,对模型进行不断的修改和完善,直到用户比较满意为止,以便形成一个相对稳定、较为理想的管理信息系统。该方法的主要优点:
脉络清楚,所有问题都围绕一个模型展开,使彼此之间联系紧密。
有助于发现用户需求,通过对原形和用户接触,能够启发开发人员去挖掘问题,从而不断的修正、完善,最终得到一个理想的系统。
系统开发效率高,此方法的开发周期短、使用灵活、容易修改,这对于管理体制不够稳定的系统更加适合。
系统的可扩展性好,由于此方法是在原型应用中不断发展完善和修改的,所以有较强的扩展性。
3.2系统总体功能结构设计
3.2.1 系统代码设计说明
在进行代码设计时,遵循了以下原则:
  唯一性   在本系统中,每一个代码都和系统中的每一个对象唯一确定。
 标准性   主要体现在对程序文件名命名和对数据文件命名的标准化上,遵循简单扼要,方便适用的原则。一目了然,无重复现象。为了系统维护人员便于进行系统维护,使用了统一的标准。
 合理性   系统中代码设计与编码对象的分类相适应,以使代码对编码对象的分类据有标志作用。
简单性   在设计过程中采用Code-Behind代码分离,使数据库操作代码和前端调用代码分离,页面修改容易。
适应性   在代码设计过程中,代码反映了编码对象的特点,便于识别和记忆,使系统维护人员容易了解和掌握,便于进行维护工作。
规范性   代码的结构,类型,格式统一,便于记忆和计算机进行处理。
可扩充性 考虑到今后程序扩充需要,在编制代码时,留有足够的备用代码。
3.2.3 系统总体功能结构
由客户端程序界面可知,本网络通信系统包含以下主要功能:
用户注册;用户登录;
上线通知;退出下线通知;
查找好友;查看好友资料;
直接添加好友;添加好友;添加好友应答;
删除好友;更新好友列表;
发送消息;接收好友消息;发送文件,接收文件,接收陌生人信息;
根据系统的要求,出功能模块图如下:

 

5.2.2 界面设计

用户向登录界面输入自己的号码和密码,服务器地址和端口。服务器地址和端口是默认的,端口默认为8080,填写登录信息后,单击[登录]按钮,密码验证后完成登录过程。

登录界面如图所示:

 

用户完成登录后,客户端与服务器端建立连接,连接建立成功后,客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的friend表并得到好友的号码,再通过icq表读取好友的资料,向客户端发送这些信息,客户收到服务器信息后,在主窗口显示好友(即好友的头像和昵称)。客户端还建立矢量(Vector)来储存好友昵称,jicq号码,头像编号,以及ip地址等消息。

5.2.3 设计过程中遇到的问题

   在设计登录界面时,由于界面继承了JPanel类,而JPanel类又默认为不透明的面板,所以在加背景图的时候,总是显示一个灰色的面板,面板上的组件都显示不出来,后经过不断的调试,不断的查找问题,才终于弄明白,要在JPanel面板上加背景图片,首先要将组件的放在一个面板上,并且此面板要设置Opaque属性为false,再重新构造一个继承了JPanel类的面板类,并在重载paintComponent方法时调用超类super.paintComponent()方法将不透明面板的背景擦除,再将背景图片绘制在这个面板上,之后再将放置组件的面板添加到此面板上,这样才能实现系统设计的登录界面。

 

帮我毕业网微信

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩