版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一个跨平台的聊天系统设计目录 31.1研究背景和意义 31.2跨平台技术的现状和发展趋势 41.3论文主要工作 4 5 72.1涉及的JAVA技术原理 72.2开发环境与工具平台选择 9 3.1功能需求 3.3本章小结 4.1系统架构设计 4.2客户端设计思路 4.2.2WEB端设计思路 4.3系统页面设计 4.3.1GUI端页面设计 244.4数据库设计 24.4.1数据库概念设计 314.4.2数据库逻辑设计 32第5章系统实现 3 3 6.1测试方案 436.2测试用例 46.3测试总结 46 7.1总结 477.2展望 47 随着Internet技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,大的,而且网站的缓存技术不足以长时间保存聊天记录信息,所以我选择开发了1)聊天系统的设计与实现。在系统的设计中,首先基于聊天业务进行了系统端和GUI端进行开发的需求;最后为了规范开发工作,对整个项目进行了工程化2)Web端的设计与实现。首先针对聊天业务进行数据库设计;然后基于用户登录的安全问题,设计了注册登录等功能;最后从聊天系统的稳定出发,解决了3)GUI端的设计与实现。创建一个套接字,并尝试连接服务器的套接字。当连接建立时,服务器会创建一个Socket对象。客户端和服务器现在可以通过对联的Socket实例通信的双方借助于socket里面的方法,获得输出流和输入流完成关键词:webGUI即时通讯跨平台socket多线程第1章引言随着移动互联网的快速发展以及5G通讯和物联网技术的普及,客户端的数量4时通讯场景下的聊天业务作为一个重要的功能,可以提升企业竞争力和用户对产该系统可以针对聊天的不同需求,短时间内在不同终端开发出符合用户需求的应1.2跨平台技术的现状和发展趋势天,主要分为三类。分别是Hybrid混合开发技术、原生渲染技术和自渲染技术。Hybrid混合开发技术主要依赖于webview的技术,webview是浏览器在移动端的一层壳,它的功能支持很有限,性能也较差,这个技术的代表有Ionic、Cordova、将逻辑转化为原生控件来渲染UI界面,这个技术的典型应用也很多。自渲染技术 1.3论文主要工作本文是软件工程跨平台聊天系统的设计与实现说明,重点运用软件工程知识对系统进行分析、设计实现和测试的思想的具体描述。利用Java语言开发了一个跨平台、多线程的网络即时聊天系统,包括服务器端和客户端以及基于Tomcat等聊天系统、聊天web端、聊天GUI端。1)聊天系统的设计与实现。在系统的设计中,首先基于聊天业务进行了系统端和GUI端进行开发的需求;最后为了规范开发工作,对整个项目进行了工程化2)Web端的设计与实现。首先针对聊天业务进行数据库设计;然后基于用户登录的安全问题,设计了注册登录等功能;最后从聊天系统的稳定出发,解决了3)GUI端的设计与实现。创建一个套接字,并尝试连接服务器的套接字。当连接建立时,服务器会创建一个Socket对象。客户端和服务器现在可以通过对联的Socket实例通信的双方借助于socket里面的方法,获得输出流和输入流完成1.4论文架构第3部分主要内容是对软件进行了基本需求的分析实现的目标与主要功能,以及对整个系统的总体结构进行了分析,并给出了系统6第4部分主要内容是系统设计。从系统的两个终端的整体架构设计出发,分析了客户端设计思路(GUI端设计思路;WEB端设计思路),整理了系统的页面设计(GUI端页面设计;WEB端页面设计;服务器页面设计),最后是对数据库的概念和逻辑设计。第5章节主要内容是系统实现,既包括系统架构实现、功能页面的实现,整个系统都分为WEB端和GUI端两个部分展开描述。第6部分主要是对系统实现功能的测试。通过编写测试用例实现了对系统的功能测试。最终测试结果在论文中也有所体现。第7章节总结与展望。最后,列出了参考文献和致谢。7第2章相关开发技术(一)多线程机制它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立,线程又称为轻量级进程,多线程技术允许在一个app里面启动多个执行轻量程序,使多段程序同时竞争CPU资源,从而提高系统效率。而对于网络通讯工具来说,多线程的特性是必须的,不仅是为了效率,而且可以实现同时处理多个请(二)网络流Java中的网络通讯以及文件的读取都是以一种流的概念来理解的,这样网络上数据的传输其实就等同于看成一台机器上文件的读取,有利于理解和编写运用程序,java类库中提供了丰富的IO流类资源以及网络编程类资源,软件开发人员可以方便地编写网络应用程序。(三)例外处理Java通过面向对象的方法来处理例外。在一个方法的运行过程中,如果发生错误,则这个方法生成代表该例外的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛弃一个例外。运行时系统在方法的调用栈中查找,从生成例外的方法开始进行回溯,直到找到包含相应例外处理的方法为止,这一个过程称为捕获一个例外。(四)跨平台Java语言的一个非常重要的特点就是与平台的无关性。而使用java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入java语言虚拟机后,java语言在不同平台上运行时不需要重新编译。Java语言使用模式java虚拟机屏蔽了与具体平台相关的信息,使得java语言编译程序只需生成在java虚拟机上运行的目标代码(字节码),就可8(五)网络通讯与socket编程套接字(socket)为两台计算机之间的通信提供了一种机制,套接字使用TCP就早已赫赫有名。该语言只是让我们不必了解底层操作系统的细节就能有效地使(六)TCP过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对(七)JDBC数据库技术JDBC全称是JavaDatabaseConnectivitystandard,它是一个面向对象的应用程序接□(API),通过它可访问各类关系数据库。JDBC也是java核心类库的一部分。JDBC的最大特点是它独立于具体的关系数据库。与ODBC(OpenDatabaseSQL语句,结果集以及其他的数据库对象,这使java程序能方便地与数据库交互servlet,JSP等)都能通过sql语句或存储在数据库中的过程来存取数据库。(八)SWING界面设计Java提供了丰富的多媒体编程接□,java语言的内置类库对多媒体技术的支持能力92.2开发环境与工具平台选择Java是一种可以编写跨平台应用软件的面向对象的程序设计语言。它既是一要用于桌面程序,控制台开发(JFC),EE用于企业级开发(JSP,EJB等),ME则IDEA全称IntelliJIDEA,是用于java语言开发的集成环境(也可用言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUIIDEA就提供这种基于语法的选择,在默认设置中Ctrl+W,可以实现选取范围的显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的Project视图中,你还可以选择多种的视图方式;历史记录功能:不用通过版本管理服务器,单纯的IDEA就可以查看任何工程中文件的优越支持:IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主所有的get/set方法,你可以不用进行任何行自动分析,检测不符合规范的,存在风险的代码,并加亮显示;对JSP的完全方法或类;EJB支持:不需要任何插件完全支持EJB(6.0支持EJB置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的publicstaticvoidmain(String[]args){}你可以在模板中预设pm控制完美支持:集成了目前市面上常见的所github,让开发人员在编程的工程中直接在IntellijIDEA里就能完成代码的提交、MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言,它使得存储、更新和存取信息1)功能强大MySQL中提供了多种数据库存储引擎,各引擎各有所长,适用于不同的应用场合,用户可以选择最合适的引擎以得到最数亿的高强度的搜索Web站点。MySQL5支持事务、视图、存储过程、触发器2)支持跨平台MySQL支持至少20种以上的开发平台,包括Linux、Windows、FreeBSD、IBMAIX、AIX、FreeBSD等。这使得在任何平台下编写的程序都可以进行移植,而不需要对程序做任何的修改。3)运行速度快高速是MySQL的显著特性。在MySQL中,使用了极快的B树磁盘表 (MyISAM)和索引压缩;通过使用优化的单扫描多连接,能够极快地实现连接;SQL函数使用高度优化的类库实现,运行速度极快。4)支持面向对象PHP支持混合编程方式。编程方式可分为纯粹面向对象、纯粹面向过程、面句对象与面向过程混合3种方式。5)安全性高灵活和安全的权限与密码系统,允许基本主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码的安全。6)成本低MySQL数据库是一种完全免费的产品,用户可以直接通过网络下载。7)支持各种开发语言MySQL为各种流行的程序设计语言提供支持,为它们提供了很多的API函8)数据库存储容量大MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建,表空间的最大容量为64TB,可以轻松处理拥有上千万条记录的大型数据库。9)支持强大的内置函数PHP中提供了大量内置函数,几乎涵盖了Web应用开发中的所有功能。它内置了数据库连接、文件上传等功能,MySQL支持HTML(HyperTextMark-upLanguage)即超文本标记语言,是目前网络上应用常用的web服务器软件有IIS、APACHE、Tomcat、Re制作的网页需要用Tomcat来解释执行。然而Tomcat只是一个jsp的容器,可以解析html但效率远没有apache高,可将二者进行整合,即java的程序由tomcat进行负荷。另外tomcat和apache的配置文件都是一个XML文件。WindowsXP:处于方便考虑,选用WindowsXP作为主要系统平台。Servlet是运行在Java服务器端的程序,用于接收和响应来自客户端基于HTTP者继承它的实现类。核心方法:service,任何客户端的请求都会经过该方法。(三)创建群聊功能与GUI端该功能同理,与注册登录功能同理,聊天界面监听键盘获取用户要发送的文字消息,通过对象流发送给服务器端,服务器端判断用户是私聊还是群聊,并将消息进行对应的转发。(1)易用性需求保持系统界面简洁视觉感官舒适,系统功能的结构清晰逻辑合理,设置该有的按键和提示,保证人机之间的交互流畅,清晰的视觉层次,规则的版面。用户使用过程中方便简洁。(2)安全性需求系统设置具有权限的控制,保证运行的安全。在无登录的情况下用户不可进行信息的调整,管理员也有权限的设定,没有管理员的登录,后台的管理不可进行,保证用户信息以及商品信息的安全,此外系统的兼容能力较强,并且整套系统在预期的时间内完成。(3)可维护性需求当一个技术发生了变化或者是业务发生了变化时,不可避免将会给它们带来一个系统性的改变,不但需要我们进行设计和实现的调整,甚至还需要我们进行一些关于产品界限的调整。本次系统中所有的软件设计都应该在系统的构架上进行考虑,并且能够采取尽量小的代价来适应该样的变更。常见的技术手段有面向对象分析和设计的基础上和模型。本章主要为大家简单地详细介绍整个跨平台聊天系统的主要功能需求分析和非功能需求分析,因为跨平台聊天系统我做的是web端和gui端两个终端,这两个终端的功能有一部分差异,所以在系统功能应用需求管理分析中分开描述了GUI端功能需求和WEB端功能需求。GUI端包含了注册登录、私聊及群聊、好友在线列表等多个功能的应用需求进行分析。WEB端包含了注册登录、更新个人信息、异地登录异常退出、添加好友、创建群聊、接收和发送消息等多个功能的应用需求进行分析。第4章系统设计整个系统的设计分为两大模块,分别是GUI端的操作以及WEB端的数据管理。具体的架构设计如下图4-1所示:图4-1系统架构设计图GUI端登录或注册时与服务器取得联系后,服务器将相关请求数据交送数据库服务器,存取过程执行完毕后服务器将多线程的监听客户端的各种活动,若接收到活动请求则不断的完成各项数据交互工作。TCP以及JDBC之间的框架如图4-2所示。功能;群聊功能;实时好友在线状态;解决并发问题,使用多线程;绑定数据库,用于存储用户信息;使用网络编程技术,在局域网下多机互联。我将整个聊天室项目分为了三个主要的部分,分别是:客户端(Client),服务器端(Server),数据库。GUI端项目结构的类结构图如图4-4所示。客户端客户端服务器端王册信息注册失败返回点击注册按钮)传这用户信息点击发送按钮AloneThreadConnClie理友列表的类ManegerClientConnSer公共类回到登陆界面登陆失败返回菇信息传输图4-4GUI端项目结构的类结构图密码,昵称等等)。在实际上线的项目中,数据库的作用是至关重要的。本项目中使用的数据库是MYSQL数据库(项目中绑定数据库需要使用JDBC)。客户端:客户端(Client)或称为用户端,是指与服务器相对应,为客户提供多线程和HashMap(哈希表)数据结构,接收每个客户端的信息以及每个客户端发送到服务器端的信息,通过解析后判断出客户端的行为并作出相应的操作以及将信息进行转发。通过JDBC接口与服务器本地数据库相连。一开始我是先将五个GUI界面(登陆,注册,好友在线列表,服务器管理界面)编写出来,因为这样便于后续项目后台的调试,而且看起来会更直观。写好了GUI界面后,就可以使用Socket编写一个网络传输的雏形了(将服务器端和客户端分两个项目写),我使用的是对象流,因为为了传输数据的安全和传输的便利,我使用的“消息类”Massage,用于存放要传输的消息。接下来是登陆,注册功能,首先由登陆/注册的界面监听键盘输入,获取用户输入的信息,并由客户端后台将信息封装成Massage类并通过对象流ObjectOutStream发送给服务器端,服务器端接收Massage类后解析后判断用户的行为是登陆还是注册,再通过JDBC与数据库查询或者更改信息,返回登陆或注册结果,并回送给客户端,客户端提示是否登陆成功或注册成功。私聊以及群聊功能,与上同理,聊天界面监听键盘获取用户要发送的文字消息,通过对象流发送给服务器端,服务器端判断用户是私聊还是群聊,并将消息进行对应的转发。实时好友在线状态显示,我认为整个项目最难的一个功能。首先要在服务器端后台再创建一个HashMap,存放每个在线用户,每当有用户上线或者下线的时候都要及时遍历整个HashMap,并将实时的好友在线状态发送给每个客户端。4.2.2WEB端设计思路项目需求:登录,注册,更新个人信息,异地登录异常,退出,添加好友(查看好友资料、修改备注),创建群聊(查看群成员信息、修改群名),接送和发送消息(文字、图片、文件均可)。WEB端项目结构的类结构图如图4-5所示。javawebjavaweb网页聊天室录提醒好友图片图4-5WEB端项目结构的类结构图前端页面用的post请求,到这个请求后会把请求和顺带参数信息传送到后台,后台接受这个请求找到对应的接口去执行对应的controller里的对应的方法,然后执行,再然后controller会调用service层的业务逻辑,service有会去访问dao(实体类beanentity)层来连接mysql(db)数据库。Websocker是h5中提供的在单个tcp连接上进行全双工通信的协议。JSR356定义了websocket在java中的api,实现如tomcat的实现tomcat.websocket.jar。Java中使用websocket的修饰方法是:OnOpen、On字符串消息;处理二进制消息;处理pong消息)、OnError。4.3.1GUI端页面设计(1)用户登录页面:用户登录页面主要包含用户名输入框,密码输入框和登录按钮,用户登录页面布局设计如下图4-6所示:图4-6GUI端用户登录页面(2)注册界面主要包含账号、姓名、密码、确认密码、注册、返回,如图4-7所账号姓名密码确认密码注册(3)好友在线列表即显示多人聊天室,我的好友名单,如图4-8所示:好友背景图片好友1好友2好友3图4-8GUI端好友在线列表页面(4)聊天界面,如图4-9所示:webchatwebchat聊天室好友X图4-9GUI端聊天界面4.3.2Web端页面设计(1)用户登录页面:用户登录页面主要包含用户名输入框,密码输入框和登录按钮,用户登录页面布局设计如下图4-10所示:背景图片背景图片用户名密码登录还没账号?立即注册图4-10WEB端登录页面(2)聊天室页面:聊天室页面包含当前登录用户的信息、展示和朋友最新聊修改操作的“设置”按钮,如图4-11所示:(3)“设置”页面:有“更新个人信息”和“退出”两个按钮;“更新个人信息”可以更改用户的昵称、个性签名、头像;“退出”即回到登录页面,如图4-12所昵称用户名昵称昵称用户名注册时间朋友设置退出头像修改图4-12WEB端设置页面(4)添加好友功能的页面设计,首先点击“朋友”,再点击“新的朋友”,页面会显示搜索框,搜索框会提示“输入用户名或昵称以搜索”。如图4-13所示。消息消息朋友好友1好友2图4-13WEB端添加好友流程图(1)在搜索框里面输入用户A名称或昵称(前提是该用户已注册过本聊天系统账号),点击“搜索”,即会显示用户A的信息,如图4-14所示。头像昵称头像消息好友1好友2图4-14WEB端添加好友流程图(2)好友1好友2图4-15WEB端添加好友流程图(3)消息消息好友1好友2图4-16WEB端添加好友流程图(4)(5)点击“朋友”,点击某一好友,即可查看好友资料以及修改备注,其功能页面展示,如图4-17所示。消息朋友设置好友1好友2昵称昵称发消息图4-17WEB端查看好友资料及修改备注(6)点击“朋友”,点击“创建群聊”,然后选择想要创建群聊的好友,创建群聊。如果没有选择超过2人及2人以上,系统会提示“至少选择两人才能创建群组”。该聊功能的页面设计如图4-18所示:头像好友1好友2设置新的朋友好友1好友2关闭消息朋友图4-18WEB端创建群聊聊天室页面4.3.3服务器页面设计服务器页面展示如图4-19所示。图4-19服务器页面数据库管理是整个系统的一个核心所在,系统对于数据的显示、存储、检索、更新等各种操作,都需要这个系统的数据库支持。4.4.1数据库概念设计(1)用户表E-R图用户表中包括的字段信息主要有:用户ID,用户ID是每一个用户的唯一标识,角色ID代表着用户不同的身份信息,作为登录时判断身份的象征。帐号的字段意思是在登录过程中所需要使用的帐号信息,密码字段代表对应的账号的密码,姓名代替表示作为注册用户的真实姓名,状态字段分为0和1两种。用户表E-R图,如图4-20所示:系统用户系统用户用户ID角色ID帐号密码姓名状态(1)用户表0和1两种状态,1为正常,0为禁用。如下表4-1所示;属性名类型长度意义外键用户账户名用户密码真实姓名是是第5章系统实现系统分为web端与gui端,web端架构实现截图如下图5-1所示:Sa要用到的sql.sql图5-1web端架构图Gui端系统架构实现图如下图5-2所示:>图5-2gui端功能架构5.2.1GUI端功能页面实现(一)用户登录界面开启服务器,用户注册自己的账号、密码,进行数据库中的匹配后成功登陆至首页如下图5-3所示。GUI端登录界面的布局代码如代码5-1所示:publicclassCilentConnServpublicbooleanCheckUser(Objebooleanb=false;//布尔类型的变量用于表明//实例化一个Socket//设置信息类型user.getMassage().setMassageType(MassageType.MASSAGE_//设置时间user.getMassage().setDate(System.out.println("user已发送"+user);//实例化对象输入流等待服务器回送信息ObjectInputStreamois=newObjectInputStream(socket.getInputStream();System.out.println("//读取服务器回送的对象信息Massagemassage=(Massage)ois.readObjif(massage.getMassageType().equals(MaSystem.out.println("登录成功!");ClientConnServerThreadClientConnServerThread(user.getName(),ManagerSocket.addSocket(user.getName(),socke//将线程放入管理线程的类中System.out.println("登录失败");}}}5.2.2WEB端功能页面实现(一)用户登录界面开启服务器,用户注册自己的账号、密码,进行数据库中的匹配后成功登陆至首页如下图5-4所示。WEB端登录界面的布局代码如代码5-2所示:代码2用户登录布局代码StringuserName=request.geStringpwd=request.getUseruser=userService.validateLogrequest.getSession().setAttributResponseUtil.respAppJson(response,ResultDTO.buildSucces}ResponseUtil.respAppJson(response,ResultDTO.buildFailure("系统异常");5.2.3客户端和服务器端获取链接(多线程)的布局代码如代码5-3所示:publicclassClientConnServerThreadextendsThpublicClientConnServerThread(Stringusername,Sockets){}}System.out.println("不停的读取从服务器发来的消息");ObjectInputStreamois=newObjectInputStream(s.getInputStream();Massagem=(Massage)ois.reSystem.out.println(m.geif(m.getMassageType().equals(MassaStringmm=m.getOwner()+":"+m.getMassage()+"["+mif(ManagerChatJFramecjf.jTextArea_up.appe}}}elseif(m.getMassageT}if(!ManagerFirendListManagerFirendList.addWebChatFriendlist(s,wcStringupdateuser=updateuser=m.geWebChatFriendlistwebChatFriendliManagerFirendList.getWebChatFriendlist(it.next(webChatFriendlist.updateFriend(updateuser//将实时的在线信息存入ManagerFrientUpdate第5章系统实现}ManagerFrientUpdate.updateuser=uManagerFrientUpdate.updateuse}}JOptionPane.showMessageDialog(null,"连接已中断!");}5.2.4WEB端和GUI端实时聊天功能页面实现(SOCKET通信及相关代码)如代码5-4所示。publicclassChatJFpublicChatJFrame(StringuserName,Stringfriend){}publicvoidLoginInitjf.setTitle("WebChat聊天室:"+userName);//jf.setLocation(widthL了jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置退出方式L了BorderLayoutborder_layout=newBorderLayout();CilentChatJframec=newCilentC//更新hashmap中的CilentChajf.add(panel_north,BorderLJPanelpanel_center=c.Creatjf.add(panel_center,Borde/*ClientConnServerThManegerClientConnServer.getClientConnServerThread(userNamCilentChatJframemmc=ManagerChatJFrame.getCilentChatJframc.jTextArea_up.append("系统消息:"+userName+",欢迎您来到WebChat"+"Ir\n");if(!friend.equals("多人聊天室")){c.jTextArea_up.append("系统消息:您正在与"+friend+"聊天!"+"Irln");c.jTextArea_up.append("系统消息:欢迎加入多人聊天室!"+"Ir\n");}publicstaticvoidmain(Stri//SwingUtilities.invokeLater(webclient.view.ChatJFrame::Lo如代码5-5所示。//静态代码块注册驱动Class.forName("com.mysql.jdbc.D}}第5章系统实现publicstaticConnectiongetConnection()throwsSQLException{}*释放资源,适用于DQL语句publicstaticvoidclose(Connectionconn,Stateme}L}}5.2.6创建mysql数据库的代码如代码5-6所示。代码5-6创建mysql数据库的代码publicbooleantoMysqlLogup(UserLogupu){1/获取预编译的数据库操作对象ps=conn.prepareStatemenps.setString(1,u.getCps.setString(2,u.getPasswps.setString(3,u.getPassw}}第6章系统测试本项目采用黑盒测试技术。测试流程如下图6-1所示:开始开始系统培训/了解系统制定测试需求编写测试用例测试执行缺陷记录测试总结结束测试用例说明书编写测试计划测试分析报告测试需求测试记录测试计划6.2测试用例在本系统中的测试环节中,主要针对跨平台聊天系统中的所有功能点进行最后测试,测试的目的在于检查系统是否可以正常运行,并检查运行过程中是否出现异常,然后对出现的bug进行修复。在跨平台聊天系统的测试中主要使用的方法是黑盒子测试,利用对应功能的测试用例表的设计,根据对应功能点的运行情况,对每个功能点进行测试,分步进行检查,最后得出总结。根据测试方案进行测试,书写测试用例表内容如下表6-1所示:测试范围功能测试1、跨平台聊天功能2、WEB端3、GUI端本跨平台聊天系统系统的设计和服务目标将最终确立在一个基本的模式上,即完成跨平台聊天系统所实现的所有功能正常运行。系统分为两个部分,第一部分是GUI端界面,还有一部分是web端界面,根据两个运行平台不同的模块分别进行测试。根据测试内容书写测试用例表,GUI端功能测试用例如下表6-2所示。系统名称实时聊天实时聊天功能,该功能实现GUI端用户与web端用户实时聊天是否正常运行前提条件打开服务端,用户注册登录GUI端账户;好友已注册登录WEB端,并向gui端用户发送好友申请预期结果:1用户注册账户注册成功2用户登录账户登录成功3申请成功4打开聊天框成功5在聊天框发送消息给web端用户发送成功6的消息接收成功关联缺陷表6-3WEB端功能测试用例实时聊天实时聊天功能,该功能实现WEB端用户与GUI端用户实时聊天是否正常运行打开服务端,用户注册登录WEB端账户;好友已注册登录GUI端,并向web端用户发送好友申请1用户注册账户注册成功2用户登录账户登录成功3用户同意好友申请4打开聊天框成功5在聊天框发送消息给gui端用户发送成功6消息接收成功关联缺陷此次测试采用黑盒测试方法。做了许多测试用例,但限于篇幅只写出了几个典型的测试用例。在测试的整个过程中,每个模块的功能都比较成功,但也发现了一些问题,如在数据库等多方面没有数据的时候出现异常等,发现后及时做了修改。目前系统还存在很多值得改进的地方,将会在今后使用和维护中不断完善此跨平台聊天系统。第7章总结与展望随着互联
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广告投放分销代理协议
- 英语听力常考的题目及答案
- 第八课 自主创业与诚信经营教学设计高中思想政治选择性必修2 法律与生活统编版(部编版)
- 在线教育政策法规-洞察与解读
- 河北省秦皇岛市抚宁县驻操营学区初中信息技术 熟悉计算机的基本硬件特性教学设计 新人教版
- 2026年度边检专业题库道含完整答案(历年真题)
- 2026年江西省景德镇市中小学教师招聘考试题库及答案
- 2026年江西抚州社区工作者考试试题题库及答案
- 2026年边检专业必考试题库含答案解析
- 2026年高考理科综合新高考I卷真题试卷
- 2026年保安员考试题库及答案(1000题)
- 固定式钢梯 防护栏 钢平台30个安全隐患附依据
- 招商金融服务协议书
- 招标代理机构选取服务方案投标文件(技术方案)
- 2025年广东省深圳市生地会考真题试卷及答案
- 2025年大学《动植物检疫-检疫法规与标准》考试模拟试题及答案解析
- GB/T 3048.8-2025电线电缆电性能试验方法第8部分:交流电压试验
- 公司买房送员工协议书
- 起重机司机知识培训课件
- 2025年药店培训处方销售管理制度培训考核试题(含答案)
- (正式版)XJJ 104-2018 《地下工程非膨胀混凝土结构防腐阻锈防水抗裂技术规程》
评论
0/150
提交评论