收藏 分销(赏)

基于Java即时聊天系统的设计实现分析.doc

上传人:二*** 文档编号:4510329 上传时间:2024-09-26 格式:DOC 页数:77 大小:749KB
下载 相关 举报
基于Java即时聊天系统的设计实现分析.doc_第1页
第1页 / 共77页
亲,该文档总共77页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、- - 本科毕业设计论文基于Java即时聊天系统的设计与实现 学 号:05学生:何晶指导教师:忠诚所在学院:计算机科学技术学院所学专业:计算机科学与技术专业2016年 6月- - word.zl- -摘 要伴随着互联网的高速开展,产生了一系列与互联网相关的新鲜事物,即时聊天系统就是其中最具代表性的产物。即时聊天系统经过不断地开展,凭借其迅速、便捷、即时的特点,逐渐成为一种重要的信息交流工具,受到越来越多的网民的青睐。即时聊天系统开发主要包括两个方面:即时聊天系统效劳器端设计、即时聊天系统客户端设计。即时聊天系统效劳器端设计主要通过Socket套接字建立效劳器,效劳器能够读取和转发从客户端发来的

2、信息,并且能够刷新用户列表。即时聊天系统客户端设计主要通过与效劳器建立连接,从而使效劳器端与客户端的信息进展交流。在这里,网络通信机制原理得到了运用,通过直接继承Thread类来建立多线程。同时,开发中利用了计算机网络编程的根本理论知识,如TCP/IP协议、客户端/效劳器端模式Client/Server模式、网络编程的设计方法等。在网络编程中利用流来实现信息的交换,从而读取和发送信息。即时聊天系统采用myeclipse为根本开发环境和java语言进展编写,通过不断修正和改良初始原型系统,直至此系统完全可行为止。关键词:即时聊天系统;套接字;JavaAbstractAlong with the

3、high-speed development of Internet, produced a series of new things related to the Internet, instant messaging system is the product of one of the most representative. Instant messaging system through constant development, with its fast, convenient, real-time characteristics, being an important muni

4、cation tool, get the favour of a growing number of Internet users. Instant messaging system development mainly includes two aspects: instant messaging system server client, instant messaging system design. Instant messaging system design mainly through the Socket server Socket server, the server can

5、 read and forward from the clients information, and be able to refresh the user list. Instant messaging system design mainly by the client and the server connection is established, which makes the server to municate with the clients information. Here, the principle has been using network munication

6、mechanism, through direct inheritance for building a multithreaded Thread class. At the same time, the use of puter network programming in the development of the basic theory of knowledge, such as TCP/IP protocol, Client/Server mode (Client/Server mode), network programming design method, etc. Using

7、 flow in network programming to achieve the exchange of information, so as to read and send information. Instant messaging system using myeclipse as the basic development environment and the Java language to write, by constantly revised and improved the initial prototype system, until the system is

8、pletely feasible.Key words:Instant messaging system ;socket ;Java- - word.zl- -目 录摘 要IAbstractII第1章 绪论11.1 课题背景11.2 国外开展现状11.2.1 国外开展现状11.2.2 国开展现状11.3 开发目的和意义21.4 系统设计的思想2第2章 方案论证32.1 方案分析32.2 可行性分析32.2.1 经济可行性32.2.2 技术可行性42.2.3 操作可行性42.2.4 法律可行性42.3 方案确实定42.4 系统设计的相关技术4第3章 需求分析83.1 系统根本功能描述83.2 系统

9、需求分析83.3 数据流图83.4 数据字典103.5 用例图12第4章 系统概要设计144.1 系统总体流程图144.2 系统功能模块划分15第5章 系统详细设计与实现185.1 系统设计与实现185.1.1 注册模块185.1.2 登录模块205.1.3 聊天模块225.1.4 后台管理模块255.1.5 其他功能实现285.2 数据库设计31第6章 软件测试与结果分析386.1 软件测试386.1.1 白盒测试386.1.2 黑盒测试386.1.3 系统测试386.2 测试方法与总结396.2.1 测试方法396.2.2 测试总结40结 论41致43参考文献44附 录45- - word

10、.zl- -第1章 绪论1.1 课题背景人类社会在不断的开展,从原始社会开展到如今高度兴旺的文明社会,离不开人类的团结协作及创造力,而交流便是人类在开展过程中至关重要的一项技能。在人类漫长的开展过程中,交流的方式也在不断更新变化。从最早的交流方式直接交流语言、文字等,到后来利用介质的交流方式间接交流飞鸽传书、烽火狼烟等,再到近现代利用工业革命的成果,创造出了远程交流方式电报、等。而到了上世纪末,随着计算机技术和网络技术的高速开展,诞生了一种新型交流方式即时聊天系统。即时聊天系统在沟通、协作方面有着其它交流方式无法比较的优势,它凭借方便、快捷、实时等特点得到了越来越多人的青睐。本课题研究的就是基

11、于Java语言的即时聊天系统。即时聊天系统是为了满足各用户之间进展即时的信息交流而设计的一套系统,作为一种新型的通信和交流工具,即时聊天系统具有极其广泛的开展前景。本系统的主要特性是能动态、实时的完成信息的传递,同时具有高效的交互性,更有效的处理客户请求,同时维护和更新也更加简易。本文接下来会依次介绍即时聊天系统运行所需的环境及其工作流程和各个功能控件的工作原理,并且文中提供了局部程序源代码。1.2 国外开展现状1.2.1 国外开展现状当今国际上对网络通信系统研究的较好的公司有:思科,Sun,Ms等公司,思科主要研究的是底层的传输;MS,Sun公司研究的是应用层。其中MS公司凭借其在操作系统的

12、垄断地位,为了在网络的开展中取得先机,采用了各种各样的手段。但是,其捆绑的msn,无论从功能上,还是技术上来说,都不算是非常先进的。这让人想起了当年的网景公司,网景只是生不逢时。MS不择手段的想打跨网景,可见其对网络的重视。如今,Sun公司在网络应用上捷足先登,凭借着Java,Sun在网络的应用上领先于MS。微软,想用同样的方法搞跨对手,因此它拿出了Visual c#来对抗Java。这些都是在应用层面的开发工具,应用层上的产品就更显种类繁多。ICQ几乎是国际上通用的即时通信工具,由于在我国它的应用不是很广,所以其原理也很少被介绍。Msn,是MS的产品,同样在国没什么市场,所以对其原理也很少被讨

13、论过1。1.2.2 国开展现状国在应用层上的网络应用软件目前开展异常的火爆,因为我国有着网络应用的最大的市场。现在国网络的根底性建立开展迅速,应用软件也层出不穷。不少厂商分别推出了自己的IM,如腾讯QQ、阿里旺旺、新浪UC、移动飞信等,这些都是我们所熟悉的PC端的即时通讯软件。随着智能手机、平板电脑的普及,一些移动端的即时通信系统也如雨后春笋般涌现出来,如小米公司的米聊,腾讯公司的微信,还有年轻人之间很流行的陌陌、游戏玩家常用的YY语音等。这些软件本身功能也越来越丰富,远远超出了单纯的即时聊天系统的畴。现在的即时通信系统不仅仅是人们的沟通工具,还成为了人们利用其进展电子商务、工作、学习等交流的

14、平台。1.3 开发目的和意义在当今社会,不管是个人用户还是企业用户,对沟通的需求总是在不断地开展。传统的沟通交流方式如、 、等已经不能完全满足人们学习、工作、生活的需要。随着计算机软件、计算机网络和移动通信技术的开展融合,集方便、廉价、快捷、实时等优点于一身的即时聊天系统可以说是继电子、万维网之后,互联网上最具有杀伤力的应用。很难想象一台个人电脑没有安装像QQ这样的即时通讯软件。虽然即时聊天系统设计的初衷是聊天,但正如前面所说,其功能已经超出了聊天的畴,随着企业即时通讯工具EIM的出现,IM系统更是成了企业信息发布、资源共享、问题探讨和网络营销的一把利器。通过现有的技术,企业完全可以摒弃通用的

15、免费的即时通讯系统,转而根据自己企业的需求定制开发自己专属的部即时通讯系统,以实现更好的管理,提高员工的工作效率。我们的生活中沟通无处不在,即时聊天系统这类广泛使用的根底软件的研究开发意义深远。对于个人用户而言,能够实现好友即时通讯,传递实时信息,让用户随时随地都可与好友保持畅快有效的沟通。对于企业用户而言,能够实现建立员工交流平台,统一信息发布平台,减少运营本钱,促进企业办公效率。商业即时通讯系统的功能越来越多样化,一些功能也很新颖,如现在流行的语音对讲功能。本系统不比商业系统,没有考虑过多的复杂性,主要实现了根本的通讯功能,以满足学习研究之用。1.4 系统设计的思想基于Java技术的聊天系

16、统主要是探索如何在Java技术下能够实现即时聊天的一些根本功能:用户注册,用户登录,查找其他用户,添加删除好友,添加个性签名,发布和接收系统消息,实现一对一聊天,能够发送表情等功能。论文的设计主要采用了两种研究方法:一是文献资料研究的方法。在研究聊天系统现实中,本人通过图书馆、电子图书馆学习了Java语言中的一些编程技术;二是理论与实际相结合,既然掌握了技术与方法,那么就应该快速的进展实践,在软件的设计过程中,才能够理解到理论与现实的差距,遇到棘手问题,应该快速查阅资料快速攻破。第2章 方案论证2.1 方案分析经过认真的研究与分析,同时综合各种计算机高级语言的特征和适应围,最终决定选择纯面向对

17、象的Java语言来完成即时聊天系统的设计。对于本系统的设计,可以采用C/S和B/S两种不同的模式。在数据库方面,Hibernate和MyBatics都有着很强大的功能,而且Mysql和Oracle也有着不同的优缺点。综上所述,可以得到以下两个方案。方案一:C/S模式+Hibernate+OracleC/SClient/Server构造,即大家熟知的客户机和效劳器构造,其优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给效劳器。对应的优点就是客户端响应速度快。而且Hibernate对数据库进展的是重量级的封装,对整个运行速度不会很慢。而且Oracle体积很大一般在几个GB的

18、安装包,运行时它的存一般是几百兆,但是Oracle集成的功能非常强大。方案二:B/S模式+MyBatics+MysqlB/SBrowser/Server构造即浏览器和效劳器构造,它是随着Internet技术的兴起,对C/S构造的一种变化或者改良的构造。在这种构造下,用户工作界面是通过浏览器来实现,极少局部事务逻辑在前端Browser实现,但是主要事务逻辑在效劳器端Server实现,形成所谓三层3-tier构造。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的本钱和工作量,降低了用户的总体本钱TCO。MyBatics是对数据库的轻量的一个封装,但是sql语句需要自己来设置,配置在xml文件

19、中。而MYSQL非常小,一般几十兆,对主机的存占用也不是很大,安装方便。2.2 可行性分析开发任何一个系统,都是要受到时间和资源等的一些限制。因此,在每一个系统开发之前,都必须要进展可行性分析,这样就可以减少软件开发所带来的风险,也大大的防止了在物力、人力和财力上的浪费2。本系统的可行性分析应包括四个方面:经济可行性、技术可行性、操作可行性和法律可行性。2.2.1 经济可行性计算机网络已经普及,因此在网络设备上不需要进展大的投入。本系统如果采用一个MySQL数据库效劳器,相对于Oracle数据库效劳器本钱偏低。同时,本系统能够让人们的交流更加便捷,其带来的间接效益远远超过了其开发本钱,所以在经

20、济上本系统的设计是具有完全的可行性的。2.2.2 技术可行性此系统可以使用MySQL存储用户信息,由于MyBatics对Sql语句的封装小,这会增加开发过程中的代码量,并且,Oracle运行时很占用存,它集成了很多功能,而且我们用很多功能用不上,所以MySQLl是很满足我们的需求的。MySQL作为一种关联数据库管理系统,将数据保存在不同的表中,是一个平安度高、可靠性好的并且能够支持面向对象设计的数据库系统。同时,MySQL开放源码,速度快、总体拥有本钱低等特点Error! Reference source not found.。并且在易用性、可维护性、灵活性等方面也很好。采用JDBC技术对其进

21、展增删改查,使用套接字来实现网络上客户和效劳器之间的连接,同时采用Hibernate 框架来管理Java 类到数据库表的映射包括从Java数据类型到SQL数据类型的映射,并且提供数据查询和获取数据的方法。所以从技术角度来看本系统的设计是具有完全的可行性的。2.2.3 操作可行性一方面可以让本地机同时作为客户端和效劳器实现一台机器上的即时通讯。另一方面,只要一台以上计算机连接在同一个局域网,并且在作为客户端机器的本系统中设置需要连接的作为效劳器端机器的IP地址,本系统就可以实现局域网通讯,所以操作上完全不存在问题。如果要实现internet上通讯,理论上只需要将效劳器端运行在一个有固定IP的公网

22、上就可以。2.2.4 法律可行性本即时聊天系统的开发,不会侵犯到别人的专利,也不违反国家的相关规定,所以在法律上来说也是可行的。2.3 方案确实定根据以上的分析和总结,很显然方案一更适合我们的完成系统设计。因此,我们使用方案一来进展工程的开发。2.4 系统设计的相关技术本即时聊天系统是基于Java语言的,采用C/S构造,使用MySQL存储用户信息,采用JDBC技术对其进展增删改查,使用套接字来实现网络上客户和效劳器之间的连接,同时采用Hibernate 框架来管理Java 类到数据库表的映射,并且提供数据查询和获取数据的方法。1、Java语言Java是一种通过解释方式来执行的语言,其语法规那么

23、和C+类似。同时,Java也是一种跨平台的程序设计语言3。用Java语言编写的程序,可以运行在任何平台和设备上,如跨越IBM个人电脑、MAC苹果计算机、各种微处理器硬件平台,以及Windows、Unix、OS/2、MAC OS等系统平台,真正实现“一处编写,到处运行。Java非常适合于企业网络和Internet环境,并且已成为Internet中最具影响力、最受欢送的编程语言之一。与目前常用的C+语言相比,Java语言简洁得多,而且提高了可靠性,除去了最大的程序根源错误,此外它还有较高的平安性,可以说它是有史以来最为卓越的编程语言。Java语言编写的程序既是编译型的,又是解释型的。程序代码经过编

24、译之后转换为一种称为Java字节码的中间语言,Java虚拟机JVM将对字节码进展解释和运行。编译只进展一次,而解释在每次运行程序时都会进展。编译后的字节码采用一种针对JVM优化过的机器码的形式保存,虚拟机将字节码解释为机器码,然后在计算机上运行。Java语言的特点包括:简单、面向对象、分布性、可移植性、解释型、 平安性、强健性、多线程、高性能、动态。2、MyEclipse简介MyEclipse,是基于Eclipse开发的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。据官方介绍,诸如三星、IBM、戴尔、惠普、花旗集团、西门子、斯坦福大学、波音公司等知名机构均使

25、用MyEclipse进展Java、JavaEE开发,80%以上的全球财富100强企业均是MyEclipse的用户。MyEclipse提供了对UML、Ajax、Web、Web Services、J2EE、JSP、 XML、 Struts、 JSF、 Java Persistence、 E、扩展数据库以及各种应用效劳器的集成支持4。MyEclipse也全面支持各种主流的第三方框架,让你能够快速高效地进展开发工作。此外,MyEclipse还全面支持各种基于Eclipse平台的插件,允许你自由定制或扩展个性化功能。MyEclipse全面支持Eclipse开源平台的所有功能特性,如果你熟悉Eclipse

26、,那么你能够轻松地上手MyEclipse,包括熟悉的Eclipse快捷键,而且使用MyEclipse完成某项任务往往要比使用Eclipse更加快速、简单5。3、Oracle简介Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。ORACLE数据库系统是美国ORACLE公司甲骨文提供的以分布式数据库为核

27、心的一组软件产品,是目前最流行的客户/效劳器(CLIENT/SERVER)或B/S体系构造的数据库之一。比方SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它7。4、网络通信协议简介网络通信协议为连接不同操作系统和不同硬件体系构造的互联网络提供通信支持,是一种网络通用语言。网络通信的层次构造和网络通信的协议,是开发网

28、络程序的根底。目前在网络编程方面最常用的是TCP/IP和UDP通信协议。通过这些协议,网络通信各主机可以用一种统一而非杂乱的规,高效便捷地相互发送和接收消息。本系统在通讯功能实现中采用了TCP传输协议,直接使用的JavaAPI提供的类Socket和Serversocket等来实现。1TCP传输协议说明TCP协议是面向连接的协议,比方说在客户端A和B进展连接之前必须首先建立数据通路,就向打一样,在通话之前必须先拨号,等待对方的接听以后才能进展通话。TCP协议中数据传输采取的是同步方式,当数据发送到对方时,必须等待接收方的应答信号后才能继续下一次的发送工作,即通常所讲的三次握手。由于TCP协议采用

29、的是这种连接方式,因此由它建立的连接是可靠的。在网络不是十分理想的情况下,速度牺牲很大,但是却能够保证所传输的数据的正确性。2UDP传输协议说明UDP协议采用的是面向无连接的通信方式,它在通信前不需要提前建立通信链路,它是异步的,数据的发送比较迅速,不需要等待应答信号。优点是发送速度较快,但是在数据的一致性方面不好,在网络差的情况下,容易丧失数据包。另外,使用UDP传输数据时对数据是有大小限制的,每个被传输的包必须限定在64KB之6。3JavaSocket(套接字)说明在Java语言里,使用Socket(套接字)模型来封装网络传输的具体动作。Java提供了Socket的相关包,Java中Soc

30、ket的设计采用了面向对象的思路,模拟了TCP协议里客户端和效劳器端的通信流程,并封装了创立连接、发送接收数据流、断开连接等方法。所以,使用Socket包,程序员不仅可以创立客户端和效劳器之间的通信信道,还能实现发送和接收数据流等的网络通信功能8。针对一个特定的连接和通信过程,效劳器和客户端程序里都有一个Socket对象,我们可以想象一下其场景,在通信过程中,有一条虚拟的“光缆构架在效劳器和客户端之间,光缆的两头都插在了Socket这“插座里。事实上,Java采用Socket包是对TCP协议的进一步抽象,更向程序员屏蔽了TCP通信的细节,具体表现在以下两方面。一、 在使用Socket类里的方法

31、建立信道的时候,Socket类屏蔽了通过三次握手建立信道的全部流程,直接向程序员返回信道类的句柄(Socket类的实例)或是出错信息。二、 Socket类向程序员屏蔽了效劳器和客户端之间的物理硬件指标和底层的连接方式,所以我们在使用Socket类开发网络程序时,可以简单地调用其提供的方法来传输数据,而不必关心数据流的传输和接收方式。5、C/S模式20世纪90年代出现并迅速占据主导地位的一种计算模式为客户机/效劳器模式,简称为C/S模式,它实际上就是把主机终端模式中原来全部集中在主机局部的任务一分为二,保存在主机上的局部负责集中处理和汇总运算,成为效劳器;而下放到终端的局部负责为用户提供友好的交

32、互界面,称为客户机。相对于以前的模式,C/S模式最大的改良是不再把所有软件都装进一台计算机,而是把应用系统分成两个不同的角色和两个不同的地位:一般在运算能力较强的计算机上安装效劳器端程序,而在一般的PC上安装客户机程序。正是由于个人PC机的出现使客户机/效劳器模式成为可能,因为PC机具有一定的运算能力,用它代替了上面第一种模式的哑终端后,就可以把主机端的一局部工作放在客户机端完成,从而减轻了主机的负担,也增加了系统对用户的响应速度和响应能力9。客户机和效劳器之间通过相应的网络协议来进展通讯。客户机向效劳器发出数据请求,效劳器将数据传送给客户机进展计算,计算完毕,计算结果可返回给效劳器。这种模式

33、的优点充分利用了客户机的性能,使计算能力大大提高;另外,由于客户机和效劳器之间的通讯是通过网络协议进展的,是一种逻辑的联系,因此物理上在客户机和效劳器两端是易于扩大的。C/S模式是目前占主流的网络计算模式。第3章 需求分析3.1 系统根本功能描述客户端可以实现注册,登录,即时聊天,相互之间收发文件,发送截图,查看历史聊天记录等功能。收发消息时,可以实现离线接收。效劳器端应当建立一个ServerSocket,并且不断进展侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。效劳器端应当是一个信息发送中心,所有客户端的信息都传到效劳器端,由效劳器端根据要求分发信息。在后台管理系统,可以到

34、对用户进展增删改查,查看在线用户,和踢用户下线。3.2 系统需求分析聊天系统不外乎两个方面,效劳器端和客户端。简单分析一下两个方面所要完成的任务,对设计这个程序来说,等于完成了一半。首先来看一下效劳器端的任务: 1效劳器端应当建立一个ServerSocket,并且不断进展侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。 2效劳器端应当是一个信息发送中心,所有客户端的信息都传到效劳器端,由效劳器端根据要求分发信息。以上就是效劳器端最主要的两个任务。不难看出,效劳器端的任务并不复杂。客户端应该完成的工作包括: 1与效劳器端建立通信通道,向效劳器端发送信息。 2接收来自效劳器的信息。

35、相对效劳器而言,客户端的任务更加简单,有了以上的简单分析,可以知道,解决上述四个问题,即完成了该聊天系统的核心。3.3 数据流图数据流图DFD,是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统部的逻辑流向和逻辑变换过程。是构造化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法10。1. 顶层数据流图图3-1 系统顶层数据流图2. 客户端数据流图图3-2 客户端数据流图3. 效劳器端数据流图图3-3 效劳器端数据流图3.4 数据字典数据字典的作用主要是对数据流程图中的数据项,数据构造,数据流,处理逻辑,数据存储和外部实体等方面进展具体的定义Error! Referen

36、ce source not found.。建立数据字典的目的是为了保证全局数据的一致性和准确性。数据字典配以数据流程图就可以从图形和文字两方面对系统做出完整的定义和描述Error! Reference source not found.。1.离线消息表1数据项:MSG_ID含义说明:消息ID别名:消息ID类型:NUMBER2数据项:MSG_CONTENT含义说明:消息容别名:消息容类型:VARCHAR2长度:20003数据项:MSG_SENDFROM含义说明:消息发送者别名:消息发送者类型:INTEGER4数据项:MSG_SENDTO含义说明:消息接收者别名:消息接收者类型:INTEGER5数

37、据项:MSG_SENDTIME含义说明:消息发送时间别名:消息发送时间类型:DATE6数据项:MSG_REMARK含义说明:备注别名:备注类型:VARCHAR2长度:30007数据项:MSG_TYPE含义说明:消息类型,如是群聊消息还是私聊消息别名:消息类型类型:VARCHAR2长度:22.用户信息表1数据项:U_ID含义说明:用户ID别名:用户ID类型:NUMBER2数据项:U_NAME含义说明:用户名别名:用户名类型:VARCHAR2长度:503数据项:U_PWD含义说明:用户密码别名:用户密码类型:VARCHAR2长度:504数据项:U_IP含义说明:IP地址别名:IP地址类型:VARC

38、HAR2长度:505数据项:U_STATE含义说明:用户状态别名:用户状态类型:VARCHAR2长度:506数据项:U_GENDER含义说明:性别别名:性别类型:VARCHAR2长度:507数据项:U_EMAIL含义说明:电子别名:电子类型:VARCHAR2长度:50 8数据项:U_LAST_LOGIN含义说明:最后一次登录别名:最后一次登录类型:DATE9数据项:U_LAST_EXIT含义说明:最后一次退出别名:最后一次退出类型:DATE10数据项:U_REMARKE含义说明:备用别名:备用类型:VARCHAR2长度:300011数据项:U_SIGNATURE含义说明:个性签名别名:个性签名

39、类型:VARCHAR2长度:10012数据项:U_HEAD_IMG含义说明:用户头像别名:用户头像类型:VARCHAR2长度:10013数据项:U_TYPE含义说明:类型别名:类型类型:VARCHAR2长度:5014数据项:U_BIRTHDAY含义说明:用户生日别名:用户生日类型:DATE3.5 用例图1.普通用户的用例图:图3-4 普通用户用例图2.后台管理员的用例图:图 3-5 后台用户用例图第4章 系统概要设计4.1 系统总体流程图图4-1 系统总体流程图4.2 系统功能模块划分本系统主要分为注册、登录、聊天、后台管理四大模块。整个系统的详细构造如图4-2所示。图4-2 系统总体功能模块

40、划分各个功能模块设计如下:1、注册模块在登录界面上有注册按钮,用户可以点击注册,填入个人相关资料,提交给效劳器。效劳器接收到信息后通过纯JDBC方式或者JDBCODBC桥接的方式连接数据库并添加记录。 用户注册流程图如图4-3: 图 4-3 用户注册流程图2、登录模块用户在客户端输入账号和密码,然后建立与效劳器端的连接,告诉效劳器执行登录操作。效劳器收到后,开场通过JDBC读取数据库,然后与用户输入的信息进展比对,如果成功,便翻开主程序窗口。然后客户端向效劳器请求读取好友列表,效劳器收到该请求后从数据库中取出该用户的好友列表,然后向客户端发送这些信息,客户收到后就在主窗口显示好友。 用户登录流

41、程图如图4-4:图4-4 登录流程图3、实时聊天模块客户端首先发送消息到效劳器端,效劳器端程序判断客户端发来的信息类型,如果是普通的聊天消息就根据发送者信息和承受者信息进展消息转发。例如客户端A向客户端B发送消息的处理过程如下:首先A向效劳器发送消息,效劳器程序判断消息类型,如果是普通的聊天消息,那么解析该消息,得到该消息的发送者A,承受者B。接着判断B是否在线,如果在线就将消息发送过去,否那么将消息存入数据库。B接收到A发来的信息,如果是未建立对话窗口,那么在屏幕右下角出现弹窗提示。此外还有群组聊天功能,可以在“官方聊天室功能中实现一对多的聊天,即在聊天室发送的消息是面向所有在线用户的。 用

42、户聊天流程图如图4-5: 图4-5 聊天流程图4、 系统后台管理模块 1系统效劳:效劳器端的管理员可以在这里启动后台的效劳器,发布聊天室公告或者弹窗公告给所有在线用户。如果未开启效劳器,那么在客户端无法登录,并会返回相应的消息提示。 2用户管理:可以根据用户名或者用户ID查询已注册的用户详细信息,并且可以修改、保存相关信息。这是一个对数据库的简单的增删改查的操作。第5章 系统详细设计与实现5.1 系统设计与实现本系统主要分为注册、登录、聊天、后台管理四大模块。下面详细介绍各个模块的具体实现。5.1.1 注册模块正如我们使用的QQ一样,使用之前我们要申请一个QQ号。本系统虽然没有设计这么复杂的流

43、程,但是也必须在登录前注册账号。只有后台数据库里存在的用户才能使用本系统。 注册界面如图5-1所示,填完消息点击注册即可。图5-1 用户注册界面此外,信息填写不完整或填写有误将有错误提示。此处调用了JOptionPane对象的showMessageDialog方法,通过设置该方法的参数显示不同类型的提示框。地址的检测用到了Java里面的正那么表达式相关知识,使用Pattern对象对地址格式的正那么式进展编译,再调用Matcher对象的matches方法判断用户输入的是否与该格式匹配。注册完成后,通过JDBC技术连接MySQL数据库将记录插入数据库表中。注册功能关键代码注册成功窗口代码如下:pr

44、ivate class RegSuccess extends JDialog implements ActionListenerprivate JTextArea txtInfo = new JTextArea();private utton btnLogin = new utton(直接登录);private utton btnReturn = new utton(返回登陆界面);private RegUser user;public RegSuccess(RegUser user,Frame owner, boolean modal) super(owner,modal);this.user = user;s

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服