基于JSPJavaBeanMySQL在线聊天室系统课程设计报告书_第1页
基于JSPJavaBeanMySQL在线聊天室系统课程设计报告书_第2页
基于JSPJavaBeanMySQL在线聊天室系统课程设计报告书_第3页
基于JSPJavaBeanMySQL在线聊天室系统课程设计报告书_第4页
基于JSPJavaBeanMySQL在线聊天室系统课程设计报告书_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PAGE11 / NUMPAGES13基于JSP+JavaBean+MySQL在线聊天室系统设计(海洋学院 数理与信息学院 316000)摘 要随着Internet技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过聊天室在线聊天已成为网络上人与人之间沟通、交流和联系的一种方式。为此,越来越多的开始提供在线聊天的功能。与此同时,聊天室也以其方便、快捷、低成本等优势受到众多企业的青睐,很多企业的中也加入了聊天室模块,以达到增进企业与消费者之间、消费者与消费者之间相互交流的目的。本文是软件工程在线聊天室系统的开发说明,重点运用软件工程知识对系统进行分析、设计实现和测试的思想的具体描述,其

2、中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。通过实际的运用软件工程知识处理问题,加强程序的规性、清晰性、可靠性,并且使得程序易于维护。本软件使用JAVA进行编写,具有良好的兼容性且易于实现。聊天室操作简洁容易上手、结构简单、查找方便、实用性强。关键词:在线聊天室,软件工程,JSP,MySQL目 录 TOC o 1-3 h z u HYPERLINK l _Toc5103 摘 要 PAGEREF _Toc5103 1 HYPERLINK l _Toc9531 1. 概述 PAGEREF _Toc9531 1

3、HYPERLINK l _Toc21275 1.1 软件工程的概述 PAGEREF _Toc21275 1 HYPERLINK l _Toc29407 1.2 在线聊天系统概述1 HYPERLINK l _Toc29580 2需求分析1 HYPERLINK l _Toc16749 2.3.1 确定对系统的综合要求2 HYPERLINK l _Toc11967 2.3.2 分析建模2 HYPERLINK l _Toc27486 2.2.3 系统逻辑模型3 HYPERLINK l _Toc19312 3. 在线聊天室系统的设计5 HYPERLINK l _Toc15960 3.1 模块图5 HYP

4、ERLINK l _Toc15960 3.2模块说明5 HYPERLINK l _Toc9115 4.在线聊天室系统的编码和测试6 HYPERLINK l _Toc25513 4.1 系统编码6 HYPERLINK l _Toc18057 4.1.1 聊天室的界面6 HYPERLINK l _Toc26429 4.1.2 编码处理8 HYPERLINK l _Toc20954 4.2 系统测试9 HYPERLINK l _Toc29129 4.2.1 黑盒测试的容9 HYPERLINK l _Toc24793 4.2.2 使用黑盒测试的情况分析10 HYPERLINK l _Toc7294 5

5、.总结11 HYPERLINK l _Toc11972 参考文献111. 概述1.1 软件工程的概述软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉与到程序设计语言,数据库, HYPERLINK :/baike.baidu /view/973702.htm t _blank 软件开发工具,系统平台,标准, HYPERLINK :/baike.baidu /view/66964.htm t _blank 设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计

6、算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。软件工程的目标是:在给定 HYPERLINK :/baike.baidu /view/45395.htm t _blank 成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。1.2 在线聊天室概述聊天室实现的主要功能是:接收各个客户端的聊天信息,然后按照其聊天对象将该信息发送到目标浏览器上。在一个浏

7、览器的窗口中,既能输入上网者的发言,又能看到自己与他人的聊天记录。同时,为了便于上网者选择谈话对象,窗口中需要提供目前在线者的。2. 需求分析2.1 确定对系统的综合要求1.功能需求:用户打开浏览器,注册登录,登录成功后选择自己喜欢的房间,点进去聊一下,发现可聊天,这东西可以用;有些玩家大家不喜欢,乱刷屏,就会要求管理员把他踢掉,管理员犀利踢之;有些用户之间的聊天不喜欢被人看到,就有了悄悄话的选项;有些用户喜欢添油加醋,聊天容字体颜色,动作表情都可以添加。2.性能需求:为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:如果聊天室长期开发,必须考虑数据库的负载,管理

8、员有清理数据库的权限;本聊天室使用数据库,信息与数据库的连接是很频繁的,我们使用JavaBean,能轻松实现数据库与外部信息的交换;2.2 分析建模2.2.1功能模型数据流图如图2-2所示:JSPJavaBeanMySQL调用返回结果操作数据库返回记录图2-2 数据流2.3 系统逻辑模型2.3.1用户信息实体E-R图用户Id号用户名密码最近登录时间是否为管理员聊天信息所在房间发表人用户名发表对象用户名发表时间动作和表情聊天内容是否悄悄话Id发送在线用户Id用户名所在房间最近聊天时间登录M1112.3.2数据库设计:create table userinfo #用户信息表(id int prim

9、ary key auto_increment,username varchar(50),pass varchar(50),lastlogintime datetime,role int #1-管理员 0-普通会员);create table msginfo #聊天记录表(id int primary key auto_increment,chatroom varchar(50),msgfrom varchar(50),msgto varchar(50),chattime datetime,chataction varchar(50),msgcontent varchar(200),secret

10、 tinyint(1) #1 悄悄话 0 非悄悄话 0默认 );create table useronline #在线用户表(id int primary key auto_increment,chatroom varchar(50),username varchar(50),lastchattime datetime,);3. 在线聊天室设计3.1模块图在线聊天室系统登录注册模块聊天室模块管理员模块数据库管理模块房间列表选择模块聊天信息显示模块信息输入模块在线用户列表模块以上为模块图3.2模块说明分为4个模块: 1.数据库通用管理模块:完成数据库的连接,查询,更新功能 封装在JavaBean

11、中(DBConn.java) JSP页面或者其他JavaBean可以通过调用DBConn对象的方法 连接 操作数据库。2.用户登录注册模块:聊天室注册简化,将注册和登录融合一起,第一次登录,如果用户信息表中没有该用户名,即时添加。下次登录可以继续用此用户,登录后用户就会带着自己的登录信息(session),遨游聊天室模块。 3.聊天室模块 先有个房间列表供用户选择,用户选择自己喜欢的房间进入聊天室。聊天室有个框架里面分为3个部分:输入消息显示消息在线用户列表 4.管理员功能模块判断是否为管理员有个友好的界面通过点击页面,实现对数据库的删除修改查询4.在线聊天室系统的编码和测试4.1 系统编码4

12、.1.1 聊天室系统的界面截图。注册登录模块login.jsplogincheck.jsp聊天室模块管理员模块4.1.2编码处理 数据库通用管理模块 DBConn.java注册登录模块login.jsp 登录界面 弄个表单提交 再加上JS的空值验证logincheck.jsp登录检测处理UserinfoMgr.java 封装了登录检测用户信息和添加用户信息方法的JavaBean方法有check() saveToDB()聊天室模块sessioncheck.jsp检测session信息判断用户是否登录chatframe.jsp 框架 包含 显示 在线列表 输入 三个框架JavaBean有Msg.j

13、ava聊天消息封装体UserOnline 在线用户封装体ChatRoomMgr.java 聊天室管理 子模块:聊天室列表选择模块roomlist.jsp 聊天室选择页面roomlistdeal.jsp聊天室选择并处理页面信息显示模块showmsg.jsp聊天信息显示页面getmsg.jsp聊天信息加载页面实现无刷新showmsg的任务:1.加载真正得到消息,并实时刷新的页面,实现不闪烁效果。2.确定加载容的位置getmsg的任务: 1.刷新,JS实现无声音 2.各种操作得到结果 3.在具体位置显示结果在线列表模块onlinelist.jsp 在线用户列表页面信息输入模块input.jsp信息输

14、入页面sendmsg.jsp信息输入处理logout.jsp 离开房间处理changeroom.jsp 重新选择房间处理管理员模块maneger.jsp管理员高级页面kick.jsp 踢人功能管理员踢人实现manager.jsp先判断是不是管理员,如果不是,提示并退出窗口本页面直接对数据库操作,显示所有在线玩家列表,和最近发言时间checkbox复选框传递用户名串names kick.jsp接下来是爽快的踢人操作调用ChatRoomMgr 的logout()方法,依次传递namesi就实现批量踢人踢完之后提示,并刷新manager.jsp4.2 系统测试信息技术深深融入业务生活,使得软件产品质

15、量的要求变得很高。这也使我们为提高软件测试的效率来寻求各式各样的方法。而软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:按测试阶段可分为:单元测试、集成测试、确认测试。测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品的部过程,可以通过测试来检验产品部动作是否按照规格说明书的规定正常进行。前一种方法称为黑盒测试,后一种方法成为白盒测试。4.2.1 黑盒测试的容功能测试也称为黑盒测试,用于验证系统的各项功能是否能正常完成。由于实际情况的多样性,需要由多人重复测试,在不同情况下执行各项功能操作,其输出就

16、是该功能的执行结果。黑盒测试着重测试软件功能。黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。黑盒测试发现下述类型错误:功能不正确或遗漏了功能。界面错误。数据结构错误或外部数据库访问错误。性能错误。初始化和终止错误。4.2.2 使用黑盒测试的情况分析采用等价划分的有效等价类和无效等价类进行测试。1.注册登录功能的测试比如正确账号 admin , 密码 123(1)测试数据:输入账号 admin 输入密码123预期的输出结果:跳转到roomlist.jsp页面 并且能获得 session值实际运行结果如下图所示:运行结果符合预期情况。(2)测

17、试数据:输入账号admin 124预期的输出结果:提示您输入的用户或密码错误,请重新输入实际运行结果如下图所示:您输入的用户或密码错误,请重新输入运行效果符合预期情况。(3)测试数据:输入账号admin000, 123 (这个账号数据库里没有)预期的输出结果:直接注册成功,跳转到roomlist.jsp页面运行结果符合预期情况。5.总结本设计实现了在线聊天系统的基本功能,虽然没有华丽的界面,超强的性能,就练手学习而言绰绰有余。通过在线聊天室的设计,感觉动手能力增强了很多,JAVA编程能力有了比较大的提升。设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会。软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战。本文是软件工程在线聊天室系统的开发说明,重点描述运用软件工程知识对系统进行分析、设计和实现的思想,其中包括软件生命周期的三个主要方面:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。通过对开发本系统的文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论