《JAVA聊天室毕业论文.docx》由会员分享,可在线阅读,更多相关《JAVA聊天室毕业论文.docx(24页珍藏版)》请在三一办公上搜索。
1、江苏省徐州机电工程高等职业学校毕业设计姓名:杨雪芳学号:OlOooo76系部:信息工程系专业:软件技术设让题目:闲聊室(JaVa)指导老师:SIDDHAKn职称:2012年07月AbstractWiththedevelopmentofInternettechnology,peoplesdaily1ivescannotbeseparatedfromthenetwork.Society,people1ivingandworkingmoreandmoredependentonthedevelopmentofdigitaltechnology,moreandmoredigitai,networked,
2、electronic,virtualization.E-COlnmerCeWiththedevelopmentofincreasinglyclosetopeopleslives.ThecourseofdevelopmentoftheInternetandthecurrentapplicationstatusanddevelopmenttrend,Wecanfullybelievethatnetworktechnologywi11dramaticalIychangethewaywe1iveandwork,andevensocialvaluesmayalsooccurachange.Therapi
3、ddevelopmentofnetwork,theInlernethasbecomethequickaccess,publish,andanimportantchannelfortransmittinginformation,itplayanimportantroleinapersonspolitical,economic,andotheraspectsoflife.Thetraditionalinformatiorrsharingtoolscannotmeettherequirementsofpeopleinstantaccesstoinformation.Therefore,onlinec
4、hatswillbecomethefirstchoiceofthepeople,andagoodchattoolsare:simpleoperation,convenient,user-friendly,savingsystemresources.In1.1 闲聊室的发展1.2 即时通讯的9大应用第二章实现闲聊室的相关技术与环境2.1Java的概述2.2 Java的特2.3 TCP/IP协议常识2.4 SOCKET的简介2.5 系统开发工具第三章网络闲聊系统的系统设ii3.1项目概述主流,尤其在网络技术开发中,面对对象的JaVa语言编程和相关的JaVa技术正在以前所未有的速度发展。网上购物、网
5、上银行、远程教学、网络闲聊、网络嬉戏等都起先运用JaVa技术。而且JaYa使平台无惯性的思想成为现实,独立的Java程序可以被编译为与平台无关的字节码,这种字节码可以运行在任何拥有Java说明器的机器上。真正降低了企业成品和程序员的负担。随着信息科学的进步与互联网络的发展,虽然通过网络的闲聊软件很多,但针对于内部系统的、局域网内的闲聊和公司内部的上卜.级沟通的闲聊通讯软件却很少。所以开发一个此类型的即时通讯系统就变得特别有意义了。1. 1闲聊室的发展闲聊室作为即时通讯的一种,即时通讯(InstantMessenger,简称IM)软件可以说是目前我国上网用户运用率最高的软件,无论是老牌的ICQ,
6、还是国内用户量第一的腾讯QQ,以与微软的MSNMeSSenger都是大众关注的焦点,它们能让你快速的在网上找到你的挚友或工作伙伴,可以实时交谈和互传信息而且,现在不少IM软件还集成J数据交换、语音闲聊、网络会议、电子邮件的功能。IM软件的历史并不久远,但是它一诞生,就马上收到网民的宠爱,并风靡全球。在它的发展史上,以色列人是功不行没的。正是四位以色列籍的年轻人,在1996年7月成立的MirabiIiS公司,并于同年11月推出了全世界第个即时通讯软件ICQ,取意为“我在找你一一ISeekYouw,简称ICQJ知道现在,ICQ已经推出J它的2002a版本,在全球即时通讯市场上占有特别重要的地位。目
7、前,国内最为流行的即时通讯软件是OlCQ(简称QQ).它以良好的中文界面和不断增加的功能形成了肯定的QQ网络文化。Messenger虽出道较晚,但依托微软的强大背景,实力也不行小视。最为WindOHSXP的部分,MeSSenger整合了操作系统的很多功能,如多种形式的闲聊选择、多人的单窗口探讨式沟通以与充分的文件与桌面共享功能等。它的令人耳目新的中文界面和注册方式,连同它强大的功能了,着实吸引了众多的眼球的凝视,此外还有很多有特点的IM软件。第2章系统开发环境与工具的选择2. I本课题开发环境的选择在进行开发之前,首先确定的第一个问题就是,选择编程语言开发环境和开发工具,我选用了JAVA作为开
8、发环境来编写该系统,具体选择缘由如下:选择JAYA语言开发技术:1、就执行平台而言,必需考虑的问题之一是用户可能运用的操作系统。用户可能运用的是Hindows1.inux0JAVA语言具有跨平台性。2、JAVA的Swing组件开发技术可以开发丰富的图形界而,并且SwingPI类供应了丰富的外部接口和方法,可以便利实现系统功能。3、就项目开发而言,纯粹的面对对象,加上数量巨大的类所供应的方法(函数)库的支持,使得利用Java开发各种应用程序,可以说是易如反掌。此外,在程序除错、修改、升级和增加新功能等方面,因其面对对象的特性,使得这些维护也变得特别简洁。4、Java支持内在的多线程运行,供应分布
9、式的并发机制,运行效率高。5、异样处理,为了使JaVa程式更稳定、更平安,Java引入了异样处理机制。能够在程序中产生异样状况的地方,执行相对应的处理,不至于因突发或意外的错误造成执行中断或是死机。通过这种异样处理,不仅能够清楚地驾驭整个程序执行的流程,也使得程序的设汁更为严建。6、高性能,Java可以在运行时干脆将目标代码翻译成机器指令。Sun用干脆说明器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C+的性能没什么区分。1.2 本课题开发工具的选择JaVa的开发工具很多,而且各有优缺点,在这里我选用了Eclipse作为开发工具,Eclipse是个开放可扩展的集成开发环境(ID
10、E)。它不仅可以用于Java的开发,通过开发插件,它可以构建其他的开发工具。Eclipse是开放源代码的项目,并可以免费卜载。支持最新的Java标准,并且缩短了开发周期。始终以其友好的集成开发环境在业界受到广泛的赞誉,这也是Eclipse始终是广阔程序员最宠爱的Java开发工具的缘由之Eclipse的可视化集成开发环境包括文本编辑器、工程创建1:具、对象阅读器和调试器等。用户可以在集成开发环境中创建工程和打开工程,建立、打开和编辑文件,并可以编译、运行和调试应用程序。可以说在Eclipse集成开发环境中开发JaVa程序,快速而且高效。其主要特点如卜丁1 .开放的可扩展的IDE2 .胜利的底层图
11、形界面APl3 .强大的插件加载功能1.3 本课题开发技术的选择木课题选择javaSockel技术开发网络闲聊室。什么是socket?socket是一种用于表达两台机器之间连接“终端”的软件抽象。对于个给定的连接,在每台机器上都有一个socket,你可以想象一个虚拟的电缆”工作在两台机器之间,“电缆”插在两台机器的SOCket上。当然,物理顽件和两台机器之间的“电缆”这些连接装置都是未知的,抽象的全部H的就是为了让我们不必了解更多的细微环节。第3章需求分析3. 1项目概述4. 1.1产品描述:我这个闲聊室是和很多大型的网络闲聊室相比该小闲聊室比较简洁,但能实现闲聊的基本功能,群聊,私聊等,基于
12、时间和技术的缘由,很缺憾传送文件的功能尚未实现。本闲聊室主要由登录界而、闲聊室界面构成。整个设计简洁明白、好用,运用简洁。登录界面J_用户登入端口号客户端闲聊界面图3-1客户端结构图服务器监听忠接收消息发送消思图3-2服务器结构图1.1 1.2产品功能本项目具有以下主要功能客户端:用户登入功能。群聊功能,实现用户和在线的全部用户闲聊方式。私聊功能,实现用户和在线的其他用户对的闲聊方式。获得好友列表功能,把上线的新用户添加到好友列表里。服务端:可以不断的监听客户端恳求发送消息3.2功能需求用户登入需求描述:用户填写用户名,进入闲聊室主界面。执行者:用户正常过程:向服务端恳求连接,并发送登录信息:
13、服务端处理用户信息;返回客户端一个响应,弗出闲聊室主界面:更新在线用户的用户列表信息。公聊需求描述:用户在闲聊室文本区域输入发言内容,闲聊室中的其他在线用户可以正常接受并正确显示(包括上线提示和下线提示I执行者:登入用户正常过程:客户端用户登入胜利后,启动客户端功能线程:客户端将用户发送的信息打包传送给服务端;股务端进行数据分析后,并将用户的信息进行正确的处理:传给处在闲聊室的全部在线其他用户并正常显示。3.2.3私聊需求描述:用户可选择闲聊室的在线用户列表中随意一个用户闲聊,双方发送的信息对于闲聊室的其他用户是不行见的。执行者:私聊用户正常过程:客户端与服务端建立通讯。客户端将用户发送的信息
14、打包传送给服务端。服务端进行数据分析,杳找被选中的用户,并将信息传给选中的用户。选中的用户收到服务器的信息后,正确的显示。特别需求:私聊得选中用户,不能与自己进行私聊。好友列表需求描述:登录的每一个用户都显示在好友列表里。执行者:客户端正常过程:把登陆的用户显示在好友列表里。服务器通知全部用户新用户上线了。客户端接收到消息,进行消息处理,并正确显示。3.2.5用户退出需求描述:用户在正常状况下退出闲聊室。执行者:用户正常过程:向服务器发送用户退出消息。服务器进行用户退出的数据处理。服务器向闲聊室其他用户发送用户下线消息。刷新其他在线用户的用户列表信息。第4章概要设计1.2 1日的该阶段目的在于
15、明确网络闲聊室系统的数据结构和软件总体结构,各个软件模块的功能说明,数据结构的细微环节,系统运行配置与应用方式以与运用的关键技术。1.3 运行环境运行环境见下表。名称操作系统类型举荐操作系统版本举荐硬件(CPU/RAM/HD)数据摩客户端Windows平台windows2000以上P41.7G/256M/40G服务器Windows平windows2000以上P43.6G/8G/120G表4.11.4 体系结构概述本系统采纳C/S的结构设计模式,客户端接收用户的发送的信息到服务器,服务器通过处理转发到另一些客户端。客户端采纳图形用户界面,便利与用户交互。服务器端用限制台的方式便利限制操作。客户端
16、分为用户登录、群聊、私聊、好友列表。用户登录封装在用户登录的界面中,群聊、私聊、用户列表模块封装在闲聊的主界面中。服务器端实现消息接收、消息转发等功能.1.5 功能设计1.5.1 用户登录用户进到登入界面,填写登入用户名实现用户的登入图4T登录图4. 4.2公聊用户登入胜利后进入闲聊界而,通过输入闲聊内容实现和其他的用户闲聊,并可以显示其他用户发送的公聊信息。图4-2群聊图5. 4.3私聊用户通过选择在线用户列表的其他用户,实现和选中的用户进行私聊方式进行沟通,其他用户不行见。图4-3私聊图4.4.4好友列表用户登陆胜利后,经过服务器处理后,通知全部在线的用户有新用户上线并把新用户显示在好友列
17、表里。用户图4-4好友列表图4.4.5用户退出在线的用户点击退出按钮,向服务器发送恳求,服务器接受恳求并处理,并通知全部在线用户该用户退出了,在全部好友列表里移除该用户,退出闲聊页面。图4-5用户退出图第5章具体设计本系统采纳C/S设汁模式,系统分为客户端和服务器端,客户端包括登入模块,闲聊模块。服务器端服务器启动实现模块。6. 1登入功能描述在该登陆页面下,我把端口写死r,只需输入用户名就可以干脆登入闲聊室主界面。登陆界面窗口如下:5.2群聊功能描述用户在文本编辑区域输入信息,单击群聊按钮干脆把信息发送到群聊显示的区域。并且根据发送来的信息中包含好的显示方式正确显示出信息。5.3私聊功能描述
18、用户在文本编辑区域输入信息,选中要私聊的对象,单击私聊按钮干脆把信息发送到该用户私聊显示的区域。并且根据发送来的信息中包含好的显示方式正确显示出信息。私聊对象不能选择白己,假如选择白己,会弹出“不能和自己私聊”的提示框,还有不能不选择私聊对象,假如不选择的话,会弹出“请选择私聊对象”的提示框。私聊界面窗口如图所示:,加?MM-*(tMy*-2127el-m2H7mdri-i,*-XKTMM,4-,*”r.MfWYWM-4,.K-tHKI-W9.fc*M*5.4好友列表功能描述-y“-俱-yjVN-M时象是计科3号Hai服务器端收到用户上线或下线时发送给它的恳求,刷新好友列表。”笈一*3吟在(I
19、ff友:诋G解一友:UW-H1*:CftJUW-H2计科一悔网UW.:【忏M-三WK-HR号【柒】5.5 用户退出功能描述在闲聊页面,单击关闭按钮,该用户就退出了并通知其他在线用户该用户退出了。如图所示:5.6 功能逻辑实现逻辑功能描述木系统采纳数据对象流的形式发送和接受信息。客户端连接服务器胜利后就启动个客户端线程和服务器通信。客户端发送的信息分为:登入消息、群聊消息、私聊消息、用户上下线消息提示等。服务器端启动一个线程不断的监听客户的恳求,当接受到客户恳求时就启动个和该客户端通信的线程。第6章系统测试为了确保本系统能够正常运行,须要在发布之后做次较全面的测试。现将具体操作与过程举例说明如下
20、:6.1 测试举例测试程序登录界而打开程序后,首先出现的是登录页面,输入用户名,点击登录按钮测试程序主界面进入主界面后,主页面会显示群聊信息显示区、私聊信息显示区、文本编辑显示区、在线用户列表区、功能按钮区。用户可以在用户列表中看到目前在线的其他用户,并在群聊信息显示区内看到用户上下线通知和群聊信息,私聊信息显示区内看到私聊的信息。用户可以在文本编辑故示区内输入自己的发送内容,并可以通过单击用户列表名中的用户,进行私聊,发送的信息其他用户不行以见。测试程序退出当单击退出按钮或窗体的关闭时,用户将发送退出信息,离开闲聊室,其他用户可以得到系统提示用户卜线并刷新用户列表。6.2 测试项目由于实际开
21、发过程中还是不行避开地会产生差错,系统中通常可能隐敏若错误和缺陷,不经周密测试的系统投入运行,将会造成不可思议的后果,因此系统测试是软件开发过程中为保证软件质量必需进行的工作。单元测试单元测试也称模块测试或程序测试,单元测试是对每个模块单独进行的,验证模块接1.l与设计说明书是否一样,对模块的全部主要处理路径进行测试且与预期的结构进行比照,还要对全部错误处理路径进行测试。财源码进行审查,比照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。6.2.2系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据
22、共享问题以与检测系统是否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试须要确认从头到尾的功能正常才算完成,应当尽量避开系统测试延到项目末尾进行。结论首先,我选择木课题缘由是刚刚接触JAVA项目,主要也想试一试,更近步的提高自己的实力。并且也可以对网络开发产生爱好,对具有网络功能的项目更有感觉。高校三年的学习期间,通过学校开设的基础课程,扎实系统的学习了软件的基础学问,并对面对对象编程语言有r进一步的理解,对软件专业逐步的建立起自己的学问体系框架。通过这次的学年论
23、文,使自己在JAVA编程语言的运用方面得到一个全面熬炼自己的机会,在这个模块的界面开发方面,充分的学习和利用rJavaSWing界面开发技术,使自己在界面应用和布局方面得到更多的实践,应用SOCkel技术实现网络连接功能,对网络的实现和通信方面有了进步的理解,并通过多线程方面的应用,使客户端和服务端可以实现多任务功能,在整个开发过程当中应用软件1:程的开发步骤,使自己专业理论学问的到进步的巩固,项目开发阅历有不少的收获。通过完成这次学年论文的项目,使自己在项目实际开发方面有r进一步的提高,并使自己感觉到胜利的喜悦,并对自己在专业的将来发展更充溢信念,对自己在今后的工作中有更好的帮助。参考文献(
24、1)胡伏湘雷军环JAVA程序设计好用教程编著清华高校出版社(3)张思民JaVa开发技术与工程实践清华高校出版社(4)陈轶.姚晓昆编著Java程序设计试验指导.北京:清华高校出版社,2006(5)杨昭编著.二级JaVa语言程序设计教程.北京:中国水利水电出版社,2006(6)赵文靖编著.Java程序设计基础与上机指导.北京:清华高校出版社,2006(7)王路群.Java高级程序设计.北京:中国水利水电出版社,2006(8)吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社,2006(9)柳西玲.许斌编著.Java语言应用开发基础.北京:清华高校出版社,2006(10)施筱萍等编著Java
25、程序设计教程第2版.北京:机械工业出版社,2006(三)宛延闿等编著.好用Java程序设计教程.北京:机械匚业出版社,2006(12)陈国君等编著.Java2程序设计基础.北京:清华高校出版社,2006(13)郑莉.王行言.马素霞编著Java语言程序设计.北京:清华高校出版,2006(14)丁振凡主编.Java语言好用教程.北京:北京邮电高校出版社,2005(15)朱喜福等编.Java程序设计.北京:人民邮电出版社,2005(16)参考新浪闲聊室、腌讯闲聊室等致谢在这次的学年论文的设计过程中,通过导师的指导,了解并熟识了完成一个项目的具体过程和步骤,使白已在整个过程当中不段的学习解决问题的实力。软件专业是一门比较热门和前沿的学科,涉与很多学问领域和技术,拥有很多最新学问资料,应在项目的开发过程中,不断的查阅相关的帮助文档。程序的开发过程要养成良好的习惯,并遵循肯定的标准规范,将项U进行合理分析设计。学年论文设计是我们高校期间的一次熬炼,经过这段时间的努力,使白已在专业学问方面有个全面更习的机会,使白已在设计工程中得到最好的实践想炼,并学会了很多在一个项目开发过程中必需具备的素养。我要诚心感谢李艳导师在我的学年论文设计过程中赐我的指导和帮助。
链接地址:https://www.31ppt.com/p-7179900.html