1、毕业设计(论文)说明书题 目: JAVA 网络通信系统的研究与开发 毕 业 设 计 ( 论 文 ) 中 文 摘 要JAVA 网络通信系统的研究与开发 摘 要:网络通信在当今信息社会中起着不可或缺的作用 ,人们可以利用网络通信技术进行即时的信息交流。例如,人们可以通过 Internet搜索所要的信息,通过网上通信工具聊天,交流信息,上网购物等等。本课题是应用了计算机网络通信技术和 JAVA网络编程的基础知识,以 JAVA为平台,利用 Eclipse开发工具,并使用 SQL Server 2000管理数据库数据开发出的基于 Socket的网络即时通信系统。系统采用客户机/服务器(C/S)的模式设计
2、,是一个三层 C/S结构,数据库服务器、应用程序服务器端、应用程序客户端,按照此设计思想,系统采用C/S结构,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。此系统共分为两个模块:客户端模块和服务器端模块。从 操 作 简 便 、 界 面 美 观 、 灵 活实 用 的 用 户 要 求 出 发 , 设 计 开 发 的 网络通信系统可以实现用户注册,用户登录,消息通信和好友管理等主要功能。本说明书主要介绍了本课题的研究意义以及开发背景、开发过程,和所完成的功能,并着重说明了开发设计的思想、技术难点和解决方案。关键词:网络通信 JAVA 平台 C/S Socket毕 业 设 计 (
3、 论 文 ) 外 文 摘 要The Design and Implementation of A Java-Based Internet Communication SystemAbstract: Communication on Internet is very popular and crucial in peoples live. Using the network communication technology, we can chat with our friends at any time. For instance, we can chat or communicate wit
4、h friends and our company by some chatting tools; we even can buy everything we want on Internet.This system is designed based on computer networking technology and some relative knowledge, using JAVA and SQL SERVER 2,000 database system as tools to develop. This implementation is based on C/S (Clie
5、nt/Server) model. The model can be divided into three levels: Databases level、Server level、Client level. According to this idea, we can distribute the task into two parts: the client and the server. The benefit is that the cost is cut down. From the needs of easy operation, beautiful and vivid inter
6、face and practical application, we can design a system which functions is including user registering, user login, adding friend, deleting friend, chatting and so on.This paper introduces the background of the development, the functions demanded and the process of design. Whats more, the paper focuse
7、s on the design principles、implementation details、 the key techniques and the solutions.Keywords: Web application; Java; C/S model; Socket. 目 录1 引言 .11.1 课题的研究现状 .11.2 课题简介以及设计要求 .21.2.1课题简介 .21.2.2课题设计要求 .21.3 课题的调研 .21.4 可行性分析 .21.4.1 可行性分析的目的 .21.4.2 技术可行性分析 .31.4.3 经济可行性分析 .31.4.4 操作可行性分析 .31.4.
8、5 法律可行性分析 .41.5 论文各章简介 .42 系统需求分析 .52.1 业务流分析 .52.2概念结构设计 .52.3 数据流分析 .52.4 数据字典 .62.4.1数据字典 .62.4.2处理逻辑说明 .73 系统总体设计 .93.1 系统开发的原则 .93.1.1 面向用户的观点 .93.1.2 严格按阶段进行 .93.1.3 采用系统的观点处理 .93.1.4采用模块化设计方法 .93.1.5 整个系统的设计主要采用快速原形法 .93.2系统总体功能结构设计 .103.2.1 系统代码设计说明 .103.2.2 系统设计技术说明 .103.2.3 系统总体功能结构 .123.3
9、 系统数据库设计 .133.4开发环境设计与运行环境设计 .143.4.1 开发环境设计 .143.4.2 运行环境设计 .154 服务器模块设计 .154.1 主服务器类设计 .154.2 多线程 ServerThread类的设计 .164.3 用户注册模块 .174.4 登录验证模块设计 .174.4.1登录线程设计 .174.4.2 通知好友上线模块 .184.5 好友管理模块 .204.5.1 查找好友模块 .204.5.2 查看好友资料模块 .204.5.3 直接添加好友模块 .204.5.4 添加好友模块 .204.5.5 添加好友应答模块 .214.5.6 删除好友模块 .214
10、.6 退出下线模块 .225 客户端模块设计 .235.1新用户注册模块 .235.1.1 注册流程 .235.1.2 注册事件监听流程 .235.2 用户登录模块 .245.2.1 监听登录事件 .265.2.2 界面设计 .275.2.3 设计过程中遇到的问题 .285.3 消息通信模块 .295.3.1 发送消息 .305.3.2 监听用户操作消息 .325.3.3 接收消息 .355.3.4 发送文件和接收文件模块 .365.4 好友管理模块 .375.4.1 查找好友 .375.4.2 添加好友 .385.4.3 查看资料 .395.4.4 删除好友 .396用户手册 .406.1
11、系统的运行环境 .406.1.1 硬件要求 .406.1.2 软件环境 .406.2 系统的功能简介 .406.3 系统的运行和操作指南 .407 系统特色与不足 .427.1 系统特色 .427.2 系统不足 .427.3 设计收获和心得 .42结 论 .44致 谢 .45参 考 文 献 .46毕业设计(论文) 第 1 页 共 46 页1 引言1.1 课题的研究现状网络通信在当今信息社会中起着不可或缺的作用 ,人们可以利用网络通信技术进行即时的信息交流。比如说 QQ聊天工具,它就是利用网络通信技术开发的一款众所周知的网络聊天工具。目前,信息交流是互联网提供的主要内容,网络通信系统有多种实现方
12、式,类似 ICQ属于一种点对点的聊天系统;还有一种是基于 Socket的集中式聊天系统,这种聊天系统需要登录统一的聊天服务器。当今主流的聊天工具有 QQ,ICQ,MSN Messenger,Yahoo Messenger等,国内最热门的当属 QQ,腾讯 QQ(OICQ)是由深圳市腾讯计算机系统公司开发的,基于 Internet的即时寻呼软件。您可以使用 QQ和好友用户进行交流,信息即时发送,即时回复,收发及时、功能全面。此外 QQ还具有 BP机网上寻呼、聊天室、传输文件、语音邮件、手机短讯服务等功能,QQ 不仅仅是虚拟的网络寻呼机,更可与传统的无线寻呼网、GSM 移动电话的短消息系统互联,目前
13、 QQ和全国多家寻呼台、移动通信公司有业务合作。是国内不可多得的中文网络寻呼机。QQ 支持显示朋友在线信息、即时传送信息、即时交谈、即时发送文件和网址。QQ 可以在中文 Win95/98/NT/2000操作系统下运行,是十分灵活的网络寻呼工具。它会自动检查您是否已联网,如果您的电脑已连入 Internet,可以搜索网友、显示在线网友,可以根据 QQ号、昵称、姓名、email 地址等关键词来查找,找到后可加入到通讯录中。当您的通讯录中的网友在线时,QQ 中朋友的头像就会显示在线,根据提示就可以发送信息,如果对方登记了寻呼机或开通了 GSM手机短消息,即使离线了,您也可及时将信息传递给您的好友。M
14、SN Messenger 是微软公司推出的即时消息软件,凭借该软件自身的优秀的性能,目前在国内已经拥有了大量的用户群。使用 MSN Messenger可以与他人进行文字聊天,语音对话,视频会议等即时交流,还可以通过此软件来查看联系人是否联机。MSN Messenger 界面简洁,易于使用,是与亲人、朋友、工作伙伴保持紧密联系的绝佳选择。使用您已有一个 Email地址,即可注册获得免费的 MSN Messenger的登录账号。这是当今网络上最好的两款聊天软件。作为国内使用率最高的聊天工具,QQ 现在一直走娱乐化的路线,外观越来越绚丽,QQ魔法、QQ 秀、QQ 皮肤让人眼花缭乱,QQ 电台、QQ
15、杂志、QQ 新闻的内容也都以娱乐为主。聊天的功能已经渐渐淡化,全方问的休闲娱乐才是真正的主题。日后,聊天软件的发展趋势,不仅仅是以聊天为主要内容了 ,更要集合网络电视电台,邮件的收发,新闻杂志的浏览,个人形象展示,视频传输,音频聊天等等功能。网络通信系统将越来越娱乐化。毕业设计(论文) 第 2 页 共 46 页1.2 课题简介以及设计要求1.2.1 课题简介随着人类进入信息社会步伐的加快,计算机网络及其应用得到了飞速的发展,并且成为人们日常生活中的不可或缺的一部分,成为人们有效获取信息和进行娱乐的主要方式之一。例如,人们可以通过 Internet 搜索所要的信息,通过网上聊天工具聊天,交流心得
16、等等。本课题就是应用了计算机网络通信技术和 JAVA 网络编程的基础知识,利用 Eclipse开发工具开发而成的一个小型的基于 JAVA 的 Web 通信系统。1.2.2 课题设计要求 深入了解计算机网络通信基础和网络编程技术。查阅与网络通信设计相关的文献资料,尽可能地搜集与本课题相关、类似的软件系统。 结合已经有的相关资料,设计出缜密的网络拓扑结构图、总体设计和详细设计。 选择、运用适当的语言工具及其他工具实现设计方案。 根据要求撰写设计说明书(论文) 。1.3 课题的调研在本系统开发之初,为了做好系统需求分析工作,本人做了充分的调研,从而认识到完成本系统需做到以下几点: 熟练掌握计算机网络
17、通信的基本原理、网络体系结构、协议。 熟练掌握 JAVA 网络编程技术。 要有正确的设计思想、思维方式以及独立的工作能力,要提高分析问题、综合运用所学理论知识和基本技能解决实际问题的能力。 通过毕业设计,能够综合运用所学知识调查、分析、解决实际问题;形成能够独立开展研究、独立完成工程总体规划和设计的工作能力。在理论联系实际中,掌握和巩固所学专业知识,为步入社会打好基础。1.4 可行性分析1.4.1 可行性分析的目的可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。如何达到这样的目的? 当然不能靠主观的猜想,
18、应当进行客观分析。同时必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否能实现,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计的过程。首先需要进一步分析和澄清问题定义。在问题定义阶段初步确定设计的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把他们清楚的一一列举出来。在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,毕业设计(论文) 第 3 页 共 46 页探索若干种可供选择的主要方法(即系统实现方案)。对每种解法都
19、应该仔细研究它的可行性,一般说来,至少应该从下述四方面研究每种解法的可行性:(1) 技术可行性(2) 经济可行性(3) 操作可行性(4) 法律可行性1.4.2 技术可行性分析1) 开发本系统软件环境配置: Windows 2000/XP 操作系统; SQL Server 2000 数据库系统; Eclipse 开发工具2)开发本系统硬件环境配置: CPU 速度在 500MHz 以上; 内存在 128MB 以上JAVA 技术日趋成熟,JAVA 的平台无关性使得用 JAVA写的应用程序不用修改就可在不同的软硬件平台上运行,它支持数据分布和操作分布这两种分布性, 对于前者,Java 提供了一个叫做
20、URL 的对象,利用这个对象,你可以打开并访问具有相同 URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java 的 applet 小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。 Java 提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便实现JAVA的分布式特性。另外 Java 还支持多线程。一方面, Java 环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java 语言内置多线程控制,可以大大简化多线程应用程序开发。Java 提供了一个类 Thread,由它负责启动运行,终止线程,并可
21、检查线程状态。Java 的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用 Java 的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。 从以上技术要求来看,当今现有的技术绝对能够满足设计这个系统的要求。1.4.3 经济可行性分析开发此网络通信系统所需的硬件(计算机及相关硬件)和软件环境(Eclipse 开发工具;数据库 SQL Server),在市场上都很容易购买到或从相关网站免费下载,开发系统成本主要集中本系统的开发与维护上,对用户不造成过重的经济负担。而一旦此系统投入使用,可作为公司,企业内部交流工具使用,一方面既充分利用网络资源,又保证内部信息
22、的安全 。所节省的大量人力、财力产生的效益将远远大于本系统的开发成本,所以从经济方面上讲开发此系统是可行的。1.4.4 操作可行性分析毕业设计(论文) 第 4 页 共 46 页此网络通信系统具备友好的用户界面,使用方便、快捷,操作简单且易于维护,易于被用户接受,用户只需熟练操作计算机,和对此系统使用做简单的了解即可方便使用,而且使用此系统可以大大促进人们之间的交流和沟通,从操作方面看,此系统的开发是可行的。1.4.5 法律可行性分析此网络通信系统是由本人开发研制而成,在法律上并未侵害他人权利,无须承担任何法律责任,所以在法律方面开发此系统是完全可行的。通过可行性分析,此系统在无论从技术上还是经
23、济上都是完全可以实现的。我计划用 Eclipse 开发工具利用 TCP/IP 协议,UDP 协议, Socket,JAVA 多线程等主要技术,在两个月内完成系统的基本功能,并在此基础上不断的完善和补充。1.5 论文各章简介第 1章引言部分,引言主要叙述关于此课题的国内外的研究状况、问题的定义和内容简介、课题的调研和可行性分析。第 2章主要内容是系统需求分析,包括:业务流程分析;数据流分析;数据字典。第 3章主要内容是系统总体设计,包括: 系统开发的原则;系统开发设计要点;系统总体功能结构设计;系统数据库设计;开发环境设计与运行环境设计。第 4章主要内容是服务器模块设计,包括:主服务器类设计;多
24、线程 Server Thread类的设计;登录验证模块设计;新建用户模块;好友管理模块(查找好友模块,读取好友信息模块,添加好友模块,添加好友应答模块,删除好友模块,退出下线模块) 。第 5章主要内容是客户端模块设计,包括:新用户注册模块;用户登录模块;消息通信模块(发送消息,监听用户操作消息,接收消息,发送文件,接收文件) ;好友管理模块(查找好友,添加好友,查看资料,更新好友列表,删除好友) 。第 6 章主要内容是用户手册,包括:系统功能简介;系统运行环境和安装环境简介;系统的操作指南说明。第 7章主要内容是系统评价,包括:系统的特色和优点简介;系统存在的不足与改进方案说明;毕业设计的收获
25、和心得。最后还有结论、致谢、参考文献等等内容的介绍。毕业设计(论文) 第 5 页 共 46 页2 系统需求分析2.1 业务流分析在对系统的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统的调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。本课题设计的网络通信系统业务流程如下: 系统启动服务器。 客户端向服务器注册,告知服务器它在监听某主题。 客户注册之后,向服务器发送有关事件处理消息,如发送消息给好友,接收好友的消息,发送文件,接收文件
26、,删除好友,查看好友资料,添加好友等等。 服务器再把相应的消息发送给所有监听此主题的客户。2.2 概念结构设计概念模型(E-R 图):NN注册用户 A 好友关系 注册用户 B用户的号码用户的资料用户的 E-Mail用户状态 用户的性别用户的 IP地址用户的籍贯注册用户 A用户的昵称 用户的密码2.3 数据流分析数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称 DFD)来实现的。其具体的做法是:按照业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。