在线聊天室系统

上传人:cn****1 文档编号:473956226 上传时间:2023-01-27 格式:DOC 页数:10 大小:210KB
返回 下载 相关 举报
在线聊天室系统_第1页
第1页 / 共10页
在线聊天室系统_第2页
第2页 / 共10页
在线聊天室系统_第3页
第3页 / 共10页
在线聊天室系统_第4页
第4页 / 共10页
在线聊天室系统_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《在线聊天室系统》由会员分享,可在线阅读,更多相关《在线聊天室系统(10页珍藏版)》请在金锄头文库上搜索。

1、1 设计目的随着Internet技术的飞速开展,网络已经成为人们生活中不可缺少的一局部,通过聊天室在线聊天已成为网络上人与人之间沟通、交流和联系的一种方式。为此,越来越多的开始提供在线聊天的功能。与此同时,聊天室也以其方便、快捷、低本钱等优势受到众多企业的青睐,很多企业的中也参加了聊天室模块,以达到增进企业与消费者之间、消费者与消费者之间相互交流的目的。2 开发环境MyEclipse 9.0,SQL Server 2000,Tomcat 6.0,Window 7JSPJava Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。J

2、SP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。3 需求分析3.1 功能需求:用户打开浏览器,注册登录,登录成功后选择自己喜欢的房间,点进去聊一下,发现可聊天,这东西可以用;有些玩家大家不喜欢,乱刷屏,就会要求管理员把他踢掉,管理员犀利踢之;有些用户之间的聊天不喜欢被人看到,就有了悄悄话的选项;有些用户喜欢添油加醋,聊天内容字体颜色,动作表情都可以添加。3.2 性能需求:为

3、了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:如果聊天室长期开发,必须考虑数据库的负载,管理员有清理数据库的权限;本聊天室使用数据库,信息与数据库的连接是很频繁的,我们使用JavaBean,能轻松实现数据库与外部信息的交换;4 概要设计聊天室实现的主要功能是:接收各个客户端的聊天信息,然后按照其聊天对象将该信息发送到目标浏览器上。在一个浏览器的窗口中,既能输入上网者的发言,又能看到自己与他人的聊天记录。同时,为了便于上网者选择谈话对象,窗口中需要提供目前在线者的。4.1功能模型数据流图如图4-1所示:调用数据库JSPJavaBeanMySQL调用返回结果返回图4

4、-1 数据流4.2 系统逻辑模型用户信息实体E-R图用户Id号用户名密码最近登录时间是否为管理员聊天信息所在房间发表人用户名发表对象用户名发表时间动作和表情聊天内容是否悄悄话Id发送在线用户Id用户名所在房间最近聊天时间登录M111 图4-2 用户实体信息E-R图4.3 在线聊天室设计模块图在线聊天室系统登录注册模块聊天室模块管理员模块数据库管理模块房间列表选择模块聊天信息显示模块信息输入模块在线用户列表模块 图4-3 模块图 分为4个模块: 1.数据库通用管理模块:完成数据库的连接,查询,更新功能 封装在JavaBean中(DBConn.java) JSP页面或者其他JavaBean可以通过

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

6、ry 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

7、tinyint(1) #1 悄悄话 0 非悄悄话 0默认 );create table useronline #在线用户表(id int primary key auto_increment,chatroom varchar(50),username varchar(50),lastchattime datetime,);5.2 详细图表介绍1.注册登录模块login.jsplogincheck.jsp 图5-1 登陆界面2.聊天室模块图5-2 聊天室 图5-3 聊天室内3.管理员模块 图5-4 管理员登陆界面5.3 编码处理 数据库通用管理模块 DBConn.java注册登录模块login.

8、jsp 登录界面 弄个表单提交 再加上JS的空值验证logincheck.jsp 登录检测处理UserinfoMgr.java 封装了登录检测用户信息和添加用户信息方法的JavaBean方法有check() saveToDB()聊天室模块sessioncheck.jsp 检测session信息判断用户是否登录chatframe.jsp 框架 包含 显示 在线列表 输入 三个框架JavaBean有Msg.java聊天消息封装体UserOnline 在线用户封装体ChatRoomMgr.java 聊天室管理 子模块:聊天室列表选择模块 roomlist.jsp 聊天室选择页面 roomlistde

9、al.jsp聊天室选择并处理页面信息显示模块showmsg.jsp聊天信息显示页面getmsg.jsp聊天信息加载页面实现无刷新showmsg的任务:1.加载真正得到消息,并实时刷新的页面,实现不闪烁效果。2.确定加载内容的位置getmsg的任务: 1.刷新,JS实现无声音 2.各种操作得到结果 3.在具体位置显示结果在线列表模块onlinelist.jsp 在线用户列表页面信息输入模块input.jsp信息输入页面sendmsg.jsp信息输入处理logout.jsp 离开房间处理changeroom.jsp 重新选择房间处理管理员模块maneger.jsp管理员高级页面kick.jsp 踢

10、人功能管理员踢人实现manager.jsp先判断是不是管理员,如果不是,提示并退出窗口本页面直接对数据库操作,显示所有在线玩家列表,和最近发言时间checkbox复选框传递用户名串names kick.jsp接下来是爽快的踢人操作调用ChatRoomMgr 的logout()方法,依次传递namesi就实现批量踢人踢完之后提示,并刷新manager.jsp测试的情况分析1.注册登录功能的测试比如正确账号 admin , 密码 1231测试数据:输入账号 admin 输入密码123预期的输出结果:跳转到roomlist.jsp页面 并且能获得 session值实际运行结果如如下图所示:运行结果符

11、合预期情况。2测试数据:输入账号admin 124预期的输出结果:提示您输入的用户或密码错误,请重新输入实际运行结果如如下图所示:您输入的用户或密码错误,请重新输入运行效果符合预期情况。(3)测试数据:输入账号admin000, 123 (这个账号数据库里没有)预期的输出结果:直接注册成功,跳转到roomlist.jsp页面运行结果符合预期情况。5.总结本设计实现了在线聊天系统的根本功能,虽然没有华丽的界面,超强的性能,就练手学习而言绰绰有余。通过在线聊天室的设计,感觉动手能力增强了很多,JAVA编程能力有了比拟大的提升。设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会。软

12、件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战。本文是软件工程在线聊天室系统的开发说明,重点描述运用软件工程知识对系统进展分析、设计和实现的思想,其中包括软件生命周期的三个主要方面:软件定义问题定义、可行性研究、需求分析、软件开发总体设计、详细设计、编码、测试和运行维护。通过对开发本系统的文档的书写,更进一步学习了软件开发的全过程,把软件工程知识与实际开发软件相结合,规X了实际开发软件程序的全过程,为将来的毕业设计做准备。总之,本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大大丰富了自己的专业知识和技能。由于各种原因,系统的功能还没有得到进一步的完善,以后会继续努力,在今后的学习过程中,不断地提高自己。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号