基于java技术的聊天工具毕业论文(设计).doc

上传人:小小飞 文档编号:3920718 上传时间:2019-10-10 格式:DOC 页数:25 大小:1.01MB
返回 下载 相关 举报
基于java技术的聊天工具毕业论文(设计).doc_第1页
第1页 / 共25页
基于java技术的聊天工具毕业论文(设计).doc_第2页
第2页 / 共25页
基于java技术的聊天工具毕业论文(设计).doc_第3页
第3页 / 共25页
基于java技术的聊天工具毕业论文(设计).doc_第4页
第4页 / 共25页
基于java技术的聊天工具毕业论文(设计).doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于java技术的聊天工具毕业论文(设计).doc》由会员分享,可在线阅读,更多相关《基于java技术的聊天工具毕业论文(设计).doc(25页珍藏版)》请在三一文库上搜索。

1、中南民族大学毕业论文(设计)学院: 计算机科学学院 专业: 网络工程 年级:2011 题目: 基于Java的聊天工具的设计与 实现 学生姓名: 孙继宏 学号:11066093 指导教师姓名: 蓝雯飞 职称: 教授 2015年5月中南民族大学本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名: 年 月 日 目 录摘要1关键词1Abstract1Key words11 绪论21.1 选题背景及意义21.

2、2聊天工具的发展21.3即时通讯软件31.3.1 QQ聊天工具31.3.2 微信31.3.3 陌陌31.3.4 FaceBook32 实现聊天工具的开发环境及工具42.1开发环境及语言概述42.2开发工具概述52.3开发技术概述52.3.1 Java Socket技术52.3.2 TCP和UDP52.3.3 客户端/服务端(Cilent/Server)结构53 需求分析63.1 功能需求63.2 性能需求74 系统设计84.1系统总体功能概述84.2各功能模块的概述84.2.1用户注册84.2.2用户登录94.2.3公聊104.2.4私聊104.2.5发送留言和文件114.2.6字体属性设置1

3、15 系统实现125.1 注册功能实现125.2 登录功能实现125.3 公聊功能实现125.4 私聊功能实现135.5 字体属性设置功能实现135.6 发送留言和文件136系统功能测试146.1系统登录功能测试146.2注册用户功能测试146.3聊天界面其他功能测试166.4 客户端连接服务端测试17结 论18致 谢19参考文献19基于Java的聊天工具的设计与实现摘要:随着互联网的迅速发展,传统的交流方式过于繁琐、信息的交互太过缓慢,已经不再适应当今社会大信息量的传递与交互。为了提高人们的工作、生活和学习效率,提升人与人之间交流的速度与便捷,网络聊天工具已经成为人们不可或缺的应用软件。为此

4、设计了一款聊天工具,是利用Java编程语言中Socket网络编程技术和图形界面设计实现了网络聊天工具的设计。通过C/S的设计结构,该聊天工具很好地实现服务端与客户端之间的信息交互。它不但可以从客户端登陆连接服务端,而且可以通过服务端判断是否有客户端连接到服务端,从而保证客户端与服务端连接的可靠性。聊天工具的开发能够帮助人与人之间实现快速便捷的聊天和信息传递,并且能够提高信息的高速流通,同时提高了人们对信息的充分利用,因此具有一定的实用价值。关键词: 网络聊天工具;Java;C/S;Socket网络编程;图形界面设计The Design and Implementation of Chat To

5、ol Based on JavaAbstract: With the rapid development of Internet, the traditional way of communication interaction is too cumbersome, the information is too slow, is no longer suitable for transmission and interaction in today is society. In order to improve the peoples work, life and learning effic

6、iency, enhance the communication between people of speed and convenience, chat network has becomean indispensablesoftwareapplication. Javabased chat toolsfordesign, design of a networkchat toolusing Java programming languageinSocket network programming and graphical interfacedesign. Throughthe C/S d

7、esign pattern,realize theinformation interaction betweentheserver and the clientchat toolis very good.It can not onlyconnectserverfrom the client,andcan determine whetherthe client connects to theserverthrough the server,so as toensure thereliability ofthe client and serverconnection.Chat toolscanre

8、alize the fast andconvenient information transfer between chat and people, and can improve the high-speed flow of information, and improve thepeopleto make full use oftheinformation age,so it has acertain practical value.Key words: Network Chat; Java; Client / Server; Socket; Graphical User Interfac

9、es 1 绪论1.1 选题背景及意义通信网络是我们现代社会发展的“信息基础设施”,这一定义不难看出通信技术的重要性,且随着信息全球化的不断发展,通信网络技术也随着得到长足的发展1。社会认同是基于一定的社会情境而建构的,网络时代社会认同的情境发生了颠覆性的变化,而时间与空间又是社会情境的基础性条件。网络时代,认同的时间发生了意义的转变,认同的空间出现了场域的转换。由于社会情境的基础发生了变化,时空特性给网络时代的社会认同带来不确定性,甚至产生认同危机2。因此,必须重构网络时间与空间的意义,提升网络时代的社会认同。现实社会中计算机网络的普及,这将让人们更大程度的运用网上的资源,使得获取资源更加快捷

10、、方便,在某种程度上大大提高了生活水平和工作效率3。而在程序设计编程方面,面向对象的编程已经逐渐取代了面向过程的编程设计,已然成为主流的程序编程方式,尤其在网络技术开发中,面向对象的Java语言编程发展的速度不可想象。网上Shopping、网上银行、网上聊天、网络游戏等都开始使用Java语言编程。而且Java的跨平台性等优点为企业和程序员减轻了不可估量的成本和负担4。 随着互联网以及信息时代的不断发展,在人们日常生活中发挥着重要的作用,它极大地丰富和改变着人们的生活方式、交往方式和娱乐方式,使我们的视野、想象和思索都得到拓展和延伸.聊天室作为一种蓬勃发展的互联网应用,有其自身的特点和发展规律,

11、并且发挥着一定的功能,也出现了各式各样的网络聊天工具,但是对于只满足部分群体的专业聊天工具微乎其微,我觉的开发一个满足一些特定人群不需要一些繁琐无用的聊天工具是非常有意义的5。1.2聊天工具的发展聊天室作为即时通讯的一种,即时通讯(Instant Messenger,简称IM)软件可以说是目前我国上网用户使用率最高的软件,无论是老牌的ICQ,还是国内用户量第一的腾讯QQ,以及微软的MSN Messenger都是大众关注的焦点,它们能让你迅速的在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。而且,现在不少IM软件还集成了数据交换、语音聊天、网络会议、电子邮件的功能6。IM软件的历史并不久远

12、,但是它一诞生,就立即收到网民的喜爱,并风靡全球。在它的发展史上,以色列人是功不可没的。正是四位以色列籍的年轻人,在1996年7月成立的Mirabilis公司,并于同年11月推出了全世界第一个即时通讯软件ICQ,取意为“我在找你”“I Seek You”,简称ICQ了。知道现在,ICQ已经推出了它的2002a版本,在全球即时通讯市场上占有非常重要的地位7。目前,国内最为流行的即时通讯软件是OICQ(简称QQ)。它以良好的中文界面和不断增强的功能形成了一定的QQ网络文化。Messenger虽出道较晚,但依托微软的强大背景,实力也不可小视。最为Windows XP的一部分,Messenger整合了

13、操作系统的许多功能,如多种形式的聊天选择、多人的单窗口讨论式交流以及充分的文件与桌面共享功能等。它的令人耳目一新的中文界面和注册方式,连同它强大的功能了,着实吸引了众多的眼球的注视,此外还有许多有特点的IM软件8。1.3即时通讯软件互联网的迅速发展和波及范围的快速膨胀不仅改变了人们的意识形态,更影响着人们的生活方式,网络元素在不知不觉中渗透到生活的每一个角落。在此工程中,网络人际交往现代社会人交往的一种最新,最时尚,最便捷,最多元化的方式,即时通讯软件也成为网名最常用的工具,并且出现的网络通信软件各式各样,也满足了不同人,不同行业的需求,不断推动着网络在现实中地位9。1.3.1 QQ聊天工具互

14、联网的迅速发展,已经深入触及到人们生活的各个层面,正在逐渐改变着人类的社会生活,影响着人们的生活习惯。本文从社会生活的微观层面入手,以QQ聊天工具作为考察点,研究网络空间中的人际传播,特别是人与人之间的即时性互动。QQ名叫腾讯即时工具,是一种即时性聊天工具,目前,其注册用户已经接近6亿。作为一种虚拟的数字化的网络空间,呈现出许多与传统的物理空间不同之处:虚拟化,数字化,流动性,超级链接等等。借助于这些特点,QQ已经远远超出作为一种通讯工具的作用。网民利用QQ进行即时性互动,随心所欲的塑造各种角色。本文在符号互动论视野下,从三个层面说明QQ人际互动中的意义建构:网络传播环境、网络即时性互动以及网

15、络语言,从而进一步解读QQ即时性聊天中网民的角色建构。得出最终结论:交往主体在利用QQ进行即时性聊天中,由于网络的虚拟性以及身体不在场的原因,造成交往主体和交往模式的异化,基于网缘建立网际关系,通过主体的想象,实现其角色建构。其角色建构的过程是一个重新塑造自我的过程,其实质就是重塑自我10。1.3.2 微信智能手机的广泛普及与移动互联网即时聊天工具的产生以及各种传播方式的变化,促使人们之间的沟通方式多元化。近年来,微信发展势头强劲,成为了网络社交的新宠。本文试图从传播学的角度来探讨移动互联网时代的这一热潮,介绍微信背景及发展环境,分析使用微信的用户群,概括微信的传播模式与特征并指出微信信息传播

16、方式对社会带来的影响11。1.3.3 陌陌2014年的中国资本市场,社交网络的资本故事无疑是讲得最好的。以微信为代表的千亿美元估值预期,掀起了资本扎堆这一投资价值高地的热潮。而最先将这种关注变现的,却是曾被诟病无数的陌陌。2014年12月11日,由网易前总编辑唐岩等创办的陌陌科技以13.5美元发行价格正式登陆纳斯达克交易所,这意味着仅仅三年历史的陌陌成为最快上市的移动互联网公司之一12。1.3.4 FaceBookFacebook是一个社交网络服务网站,于2004年2月4日上线。主要创始人为美国人马克扎克伯格。截至2012年5月,Facebook拥有约9亿用户,是全球第一大社交网站。随着用户数

17、量增加,Facebook的目标已经指向另外一个领域:互联网搜索。2012年2月1日,Facebook正式向美国证券交易委员会(SEC)提出首次公开发行(IPO)申请,目标融资规模达50亿美元,并任命摩根士丹利、高盛和摩根大通为主要承销商13。2 实现聊天工具的开发环境及工具2.1开发环境及语言概述在整个系统的开发过程中,选择什么样的开发工具和开发环境,将直接影响到系统的开发效率和系统的质量。结合系统开发的需要,本系统所需要的开发环境如下: 操作系统:windows 7 系统开发工具:Eclipse 系统开发语言:Java 运行环境:Windows、Linux选择Java作为开发语言的主要原因如

18、下14:(1) 平台无关性平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。(2) 安全性Java的编程类似C+,学习过C+的读者将很快掌握Java的精髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序

19、的非法访问15。(3) 面向对象Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。(4) 分布式Java建立在扩展TCP/

20、IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。(5) 健壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。2.2开发工具概述目前Java开发工具有很多,每种开发工具都有自己的特点。Eclipse不单单是用于Java语言的开发,还包括插件开发环,这个组

21、件主要针对希望扩展Eclipse的软件开发人员。Eclipse 是一个开放源的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,这也是很多Java程序员喜欢使用Eclipse的主要原因。Eclipse的可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。用户可以在集成开发环境中创建工程和打开工程,建立、打开和编辑文件,并可以编译、运行和调试应用程序。可以说在Eclipse集成开发环境中开发Java程序,快速而且高效。其主要特点如下16:(1) 开放的可扩展的IDE;(2) 成功的底层图形界面API;(3) 强大的插件加载功能;(4) 可以通过导入一些CV

22、S相关的插件来实现版本管理的便易性。2.3开发技术概述2.3.1 Java Socket技术在聊天工具的开发过程中选择Java Socket网络编程。Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上数据的传递。在Java中,有专门的Socket类来处理用户的请求和响应。利用Socket类的方法,就可以实现两台计算机之间的通讯。 在Java中Socket可以理解为客户端或者服务器端的一个非凡的对象,这个对象有两个要害的方法,一个是getInputStream方法,另一个是getOutputStream方法。getInputStr

23、eam方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到的输入流其实就是从服务器端发回的数据流。GetOutputStream方法得到一个输出流,客户端Socket对象上的getOutputStream方法返回的输出流就是将要发送到服务器端的数据流,(其实是一个缓冲区,暂时存储将要发送过去的数据17。2.3.2 TCP和UDPTCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个Socket之间必须建 立连接,以便在TCP协议的基

24、础上进行通信,当一个Socket(通常都是server Socket)等待建立连接时,另一个Socket可以要求进行连接,一旦这两个Socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送 或接收操作18。 UDP是User Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的19。2.3.3 客户端/服务端(Cilent/Server)结构C/S 结构,是客户机和服务器结构的简称。它是软件系统体系结构,通过它

25、可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向20。3 需求分析互联网的快速发展使得越来越多人认识到网络聊天工具的重要性,如何做出一款好的网络聊天工具已经成为许多开发者最注重的问题。为此,满

26、足用户信息响速度快,以及让用户享受到网络即时消息的方便快捷成为聊天工具的关键。3.1 功能需求在人们的日常生活中聊天工具已经是形影不离的工具。一个操作简单、界面明了、运行顺畅的聊天工具对一些小型局域网内的用户可以说带来了很多便利的作用。聊天工具就是一个可以让人们交互身边发生的信息传输文件,也是方便人们远距离进行信息交流的工具。每个人可以在其中获取自己想要的信息和知识。随着互联网的不断发展,网络上出现各行各业的人,这样可以让不同职业的人之间的信息可以得到互换,不但是一种自我提高,也为社会中信息的发展提供了高效的运作。此聊天工具分为客户端(如图3-1)和服务端(如图3-2)。客户端主要由注册界面、

27、登录界面、聊天室界面、私聊界面、传送文件、功能设置界面等构成,充分体现了简单明了,快捷,使用简单,方便等特点。客户端登入用户登入用户注册通信公聊私聊功能设置字体颜色字体类型字体大小表情 发送发送留言发送文件图3-1 客户端结构图(1) 用户注册功能用户填写系统给出的注册项目,并提交给系统,成功注册后,系统生成用户所注册的用户名,并保存在字段当中。(2) 用户登录功能将用户名和密码填写上去,进入主界面之前服务器会验证用户名和密码。服务器监听请求显示登录情况发送系统消息图3-2 服务器结构图(3) 公聊功能在聊天工具界面中选择信息发送所有人,在线所有用户可以看到你发送的信息。(4) 私聊功能从在线

28、的用户中选择自己想要发送信息的用户选择私聊按钮发送信息。(5) 发送留言和文件功能用户在聊天过程中可以向其他用户留言,或者可以给在线用户发送文件。(6) 字体属性设置功能可以让用户选择自己想要的字体和颜色。(7) 用户退出功能用户若想退出该系统,则可以点击退出按钮,使用户退出到聊天界面3.2 性能需求 (1) 实用性为局域网聊天提供方便,有效的进行管理。(2) 操作简单为保证不同类型的用户能够使用,系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。(3) 适应性系统能在在不同的环境下都能得以应用。(4) 代码可读性文中的代码将尽可能简洁,易懂。4 系统设计4.1系统总体功能概述根据现代流

29、行聊天工具的发展,并结合用户对聊天工具的需求,初步设定了几种功能。本系统在实现之前经过查阅资料以及实践调研,对聊天工具中存在的问题进行了解,把聊天工具需要实现的基本功能总结并归类,具体包含以下功能:用户注册、用户登录、公聊、私聊、发送留言和文件、字体属性设置、用户退出等功能。(1) 用户注册功能:向服务端发送注册请求;服务端响应客户端,客户端弹出注册信息表单;用户填写完表单后将注册数据传给服务端处理,并保存在字段中;返回客户端一个响应,显示用户注册的用户名,提示注册成功。若用户填写表单的数据格式不正确或表单中存在空缺的项,客户端给予提示信息;用户注册的项在已注册的用户名中发生冲突,客户端提示注

30、册不成功并提示已有用户注册,服务器未启动或出现异常,则注册失败。(2) 用户登录功能:请求连接服务器,发送登录信息;查询用户信息的合法性同时服务端处理;将响应返回到客户端,显示登陆成功;将在线用户进行刷新。若客户端用户使用的用户名与保存的数据无法匹配;其它原因导致登陆失败;服务器端的端口号与客户端的端口号不一样,则登录失败。(3) 公聊功能:服务端将接受客户端打包发送过来的信息;服务端将发送过来的数据进行处理;发送给所用在线用户。若服务端与客户端连接断开,导致客户端信息发送失败;首先未登陆服务端,则无法完成公聊。(4) 私聊功能:服务端和客户端之间建立连接;服务端接受客户端打包发送过来的信息;

31、服务器将数据处理,找到与之对应的用户名,将用户和目标用户之间的信息进行交互。若服务端和客户端的连接断开,客户端的信息无法发送,另外如果在线用户和不在线的用户之间发送信息,无法完成私聊。(5) 发送留言和文件功能:服务端和客户端建立连接;服务端将接受客户端所发送过来的留言和文件;服务器将数据处理,找到与之对应的用户名,将用户和目标用户之间的信息进行交互;目标用户通过服务器的传输的到文件并在窗口中显示出来。若客服务端和客户端的连接断开,客户端的无法连接。服务端异常导致客户端退出,客户端提示服务器异常,则无法完成留言和传送文件。(6) 字体属性设置功能:在聊天过程中用户选择不同的字体和颜色;服务端将

32、接受客户端封装发送过来的字体和颜色;服务端将接受到的数据进行处理;客户端将解压接收到信息,依据信息要求改变字体和颜色,并显示在窗口。(7) 用户退出功能:用户向服务器发送退出请求;服务器将用户退出的请求进行处理;服务器向聊天工具发送退出的请求;将在线用户刷新。4.2各功能模块的概述4.2.1用户注册该聊天工具设计了用户注册功能,用户可以选择注册按钮然后在注册界面填写自己的用户名,选择性别,设置密码,填写正确的邮箱进行注册,如图4-1所示。注册注册界面正确填写注册项提交判断异常注册成功用户注册不正确YN 图4-1注册流程图4.2.2用户登录用户在登陆界面,在用户名和密码栏中填写自己已经注册的正确

33、的信息,如图4-2所示。用户进入登入界面输入用户名,密码提交判断异常进入系统用户名和密码错误YN图4-2登录流程图4.2.3公聊用户在聊天界面中选择信息所有在线用户可见,将自己的聊天信息发送出去,于是所有信息显示框输入信息判断异常用户N发送信息Y在线的用户都能看见,如图4-3所示。图4-3公聊流程图4.2.4私聊选择其他用户输入信息判断异常发送信息信息显示框用户NY在线用户可以选择在线的其它用户,在聊天界面选择私聊按钮,然后选择你要私聊的在线对象,将你要发送的信息发送给你选择的用户,如图4-4所示。图4-4私聊流程图4.2.5发送留言和文件在聊天过程中你可以给其他用户留言或者可以给其他在线用户

34、发送文件,如图4-5所示。发送留言或文件输入留言内容或选择文件判断异常发送成功选择其他用户用户NY图4-5发送留言和文件流程图4.2.6字体属性设置在聊天界面中你可以选择自己喜欢的字体,并且可以设置字体的大小,类型,颜色,如图4-6所示。字体设置输入信息判断异常显示文字效果信息显示框用户重新设置NY图4-6字体设置流程图5 系统实现5.1 注册功能实现用户必须填写注册给定的全部选项,并且按照正确的格式输入,如密码、邮箱的格式等等,并可以在申请注册前验证输入的用户名是否已被使用,如图5-1所示。实现该功能用了clientRegister类: 用于构建注册的主界面。主要成员变量: textName

35、,radioBoy,radioGirl;textPassword1,textPassword2,textEmail,bg;主要方法: public clientRegister()/构造方法,设置用户注册窗口 public void actionPerformed(ActionEvent evt)/*监听各种按钮的动作*/图5-1 注册界面5.2 登录功能实现在设置好IP和端口号的条件下,用户在登入界面输入已注册好的用户名和密码登入,通过验证后登入聊天室主界面,输入错误无法登录,如图5-2所示。实现该功能用了DengluLogin类 : 实现登入的主窗体。主要成员变量: labelUserNa

36、me, labelUserPwd, buttonLogin, buttonCancel;主要方法: public clientLogin() /构造登陆的窗体图5-2 登陆界面5.3 公聊功能实现用户登录聊天主界面选择在消息框中输入自己想发送的消息,然后选择所有人,于是自己发生的消息在线的所有用户都能看见。实现该功能用了Wisper类实现:实现公聊;主要方法:public void actionPerformed(ActionEvent e)5.4 私聊功能实现用户在登录聊天主界面选择在消息框中输入自己想发送的消息,然后选择所有发送的用户点击悄悄话按钮,于是自己发生的消息只有你选择的用户才能看

37、到。实现该功能用了NameSelected类实现:实现私聊;主要方法:public void actionPerformed(ActionEvent e)5.5 字体属性设置功能实现 每个用户可以根据自己的个人喜好设置自己要发送的内容的字体属性。并可以在其他目的客户界面按照自己所设置的显示方式显示。主要设置了三种字体的属性,分别为字体样式、字体类型、字体大小,如图5-3所示。 图5-3 字体属性设置5.6 发送留言和文件用户登录聊天主界面可以给自己想要留言的用户留言,或者可以给在线用户发送文件。如图5-4所示。实现该功能用了Advice类和FIieToServer实现:分别实现发送留言,传送文

38、件;主要方法:public void actionPerformed(ActionEvent e)/实现留言发送 public void FileSent()/实现文件发送 图5-4 发送文件和留言6系统功能测试对系统进行功能测试的目的是为了验证本系统的功能是否满足用户的基本需求,核实该系统能否成功让用户登录、接受和发送消息以及其他功能能否正确的实施。该类型的测试是通过图形界面与程序交互并分析得到的结果,以此来验证需求功能与实现功能是否一致,来确保用户的顺畅的体验。6.1系统登录功能测试系统登录功能测试用例如表6-1所示。表6-1 登录功能测试用例表用例编号功能描述输入/动作预期结果实际结果是

39、否通过1用户登录系统输入用户名sjh和密码123456,点击登录用户成功登录用户成功登录输入用户名ddd和密码111111,点击登录用户登录失败,系统给出登录失败的提示 登录失败,系统提示用户名或密码错误 不输入用户名和密码,点击登录用户登录失败,系统给出输入为空的提示登录失败系统提示您没有输入姓名密码 当用户登录失败时,系统会给出提示,如图6-1所示。 图6-1 登录错误提示6.2注册用户功能测试注册用户功能测试用例如表6-2所示。表6-2 注册用户功能测试用例表用例编号功能描述输入/动作预期结果实际结果是否通过1用户注册界面输入用户名s,密码123456,邮箱,点击提交用户注册失败,系统给

40、出注册失败的提示注册失败,系统提示用户名长度限制为2-15字节输入用户名ss,密码111,邮箱,点击提交用户注册失败,系统给出注册失败的提示 注册失败,系统提示密码不得少于6个字符多于10个字符! 输入用户名ss,密码111111,邮箱,点击提交注册登录失败,系统给出注册失败的提示注册失败系统提示请输入正确的邮箱地址 输入用户名ss,密码123456,邮箱,点击提交用户注册成功用户注册成功 当用户注册失败时,系统会提出提示,如图6-2所示。 图6-2 用户注册错误提示6.3聊天界面其他功能测试表6-3注册用户功能测试用例表用例编号功能描述输入/动作预期结果实际结果是否通过1公聊在对选择框中选择

41、所有人,在信息框中输入内容,点击发送在线所有用户看到信息在线所有用户看到信息2私聊在对选择框中选择某个在线用户点击悄悄话,在信息框中输入内容,点击发送只有选定的那个用户可以看到信息只有选定的那个用户可以看到信息3更新资料点击更新资料按钮,输入新密码、邮箱,点击更新资料更新成功,系统给出更新成功提示资料更新成功,系统提示资料更新有效。 4字体颜色和设置分别点击字体颜色和字体设置,选择颜色和字体,点击确定字体颜色和设置更改成功,系统给出更改成功提示字体颜色和设置更改成功,聊天界面的字体颜色和大小改变 5发送留言点击发送留言,输入留言内容和要给留言的用户名,点击发送留言发送成功,系统给出发送成功的提

42、示留言发送成功,系统提示发送成功!用户收到留言 6传送文件点击传送文件,输入要传送文件的用户名,点击确定选择要传送的文件,点击打开传送文件成功,系统给出传送成功的提示传送文件成功,系统提示成功发送!用户收到你发送的文件选择是否接收 当用户更新资料的时候,输入的密码或者邮箱格式不符合要求,则系统会给出错误提示,如图6-3所示。 图6-3 更新资料错误提示当用户在发送留言的时候留言内容为空,这时系统给出错误提示,如图6-4所示。 图6-4 发送留言错误提示当用户在传送文件的时候输入的要传送文件的用户名不在线,系统给出错误提示,如图6-5所示。 图6-5 传送文件错误提示6.4 客户端连接服务端测试

43、表6-4 注册用户功能测试用例表用例编号功能描述输入/动作预期结果实际结果是否通过1客户端连接服务端Ping通两台机器的IP地址两台机器的IP地址能够ping通Ip地址ping通开启服务端,客户端连接服务端客户端成功登录客户端用户连接到服务端 客户端连接服务端测试过程中部分操作流程,如图6-6所示。 图6-6 客户端连接服务端部分操作流程图通过以上的功能测试,本系统功能测试结果与用户的业务需求功能是相符合的。因此本系统基本上已经达到了预期的效果。 结 论经过几个月的努力,毕业设计终于完成了。回过头想想在这短短的几个月中让自己提高了不少。由于以前没有单独做过关于Java的项目,当看到论文题目的时候,一开始都慌了。但经过借阅相关图书和查阅相关资料,逐渐的明白了该怎样去着手这个项目,对聊天工具有了初步的了解。此聊天工具根据信息时代交流的便捷和快速的需求做了相应的功能实现。这是一个基于Java的聊天工具的设计与实现,它是一个C/S结构的系统,用户通过客户端登录连接到服务端即可开始聊天,正是由于这种结构使得它操作简单、易于维护。在客户端与服务器的连接中使用了Socket网

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1