在线聊天室系统.docx
- 文档编号:25966219
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:11
- 大小:192.69KB
在线聊天室系统.docx
《在线聊天室系统.docx》由会员分享,可在线阅读,更多相关《在线聊天室系统.docx(11页珍藏版)》请在冰豆网上搜索。
在线聊天室系统
1设计目的
随着Internet技术的飞速发展,网络已经成为人们生活中不可缺少的一部分,通过聊天室在线聊天已成为网络上人与人之间沟通、交流和联系的一种方式。
为此,越来越多的网站开始提供在线聊天的功能。
与此同时,聊天室也以其方便、快捷、低成本等优势受到众多企业的青睐,很多企业的网站中也加入了聊天室模块,以达到增进企业与消费者之间、消费者与消费者之间相互交流的目的。
2开发环境
MyEclipse9.0,SQLServer2000,Tomcat6.0,Window7
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
3需求分析
3.1功能需求:
用户打开浏览器,注册登录,登录成功后选择自己喜欢的房间,点进去聊一下,发现可聊天,这东西可以用;
有些玩家大家不喜欢,乱刷屏,就会要求管理员把他踢掉,管理员犀利踢之;
有些用户之间的聊天不喜欢被人看到,就有了悄悄话的选项;
有些用户喜欢添油加醋,聊天内容字体颜色,动作表情都可以添加。
3.2性能需求:
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:
如果聊天室长期开发,必须考虑数据库的负载,管理员有清理数据库的权限;
本聊天室使用数据库,信息与数据库的连接是很频繁的,我们使用JavaBean,能轻松实现数据库与外部信息的交换;
4概要设计
聊天室实现的主要功能是:
接收各个客户端的聊天信息,然后按照其聊天对象将该信息发送到目标浏览器上。
在一个浏览器的窗口中,既能输入上网者的发言,又能看到自己与他人的聊天记录。
同时,为了便于上网者选择谈话对象,窗口中需要提供目前在线者的名单。
4.1功能模型
数据流图如图4-1所示:
调用数据库
JSP
JavaBean
MySQL
调用
返回结果
返回
图4-1数据流
4.2系统逻辑模型
4.2.1用户信息实体E-R图
图4-2用户实体信息E-R图
4.3在线聊天室设计
4.3.1模块图
图4-3模块图
4.3.2模块说明
分为4个模块:
1.数据库通用管理模块:
完成数据库的连接,查询,更新功能封装在JavaBean中(DBConn.java)JSP页面或者其他JavaBean可以通过调用DBConn对象的方法连接操作数据库。
2.用户登录注册模块:
聊天室注册简化,将注册和登录融合一起,第一次登录,如果用户信息表中没有该用户名,即时添加。
下次登录可以继续用此用户,登录后用户就会带着自己的登录信息(session),遨游聊天室模块。
3.聊天室模块
先有个房间列表供用户选择,用户选择自己喜欢的房间进入聊天室。
聊天室有个框架里面分为3个部分:
输入消息
显示消息
在线用户列表
4.管理员功能模块
判断是否为管理员
有个友好的界面
通过点击页面,实现对数据库的删除修改查询
5详细设计与实现
5.1详细数据库编码
createtableuserinfo#用户信息表
(
idintprimarykeyauto_increment,
usernamevarchar(50),
passvarchar(50),
lastlogintimedatetime,
roleint#1-管理员0-普通会员
);
createtablemsginfo#聊天记录表
(
idintprimarykeyauto_increment,
chatroomvarchar(50),
msgfromvarchar(50),
msgtovarchar(50),
chattimedatetime,
chatactionvarchar(50),
msgcontentvarchar(200),
secrettinyint
(1)#1悄悄话0非悄悄话0默认
);
createtableuseronline#在线用户表
(
idintprimarykeyauto_increment,
chatroomvarchar(50),
usernamevarchar(50),
lastchattimedatetime,
);
5.2详细图表介绍
1.注册登录模块
login.jsp
logincheck.jsp
图5-1登陆界面
2.聊天室模块
图5-2聊天室
图5-3聊天室内
3.管理员模块
图5-4管理员登陆界面
5.3编码处理
数据库通用管理模块DBConn.java
注册登录模块
login.jsp登录界面弄个表单提交再加上JS的空值验证
logincheck.jsp登录检测处理
UserinfoMgr.java封装了登录检测用户信息和添加用户信息方法的JavaBean
方法有check()saveToDB()
聊天室模块
sessioncheck.jsp检测session信息判断用户是否登录
chatframe.jsp框架包含显示在线列表输入三个框架
JavaBean有
Msg.java聊天消息封装体
UserOnline在线用户封装体
ChatRoomMgr.java聊天室管理
子模块:
聊天室列表选择模块
roomlist.jsp聊天室选择页面
roomlistdeal.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踢人功能
管理员踢人实现
manager.jsp
先判断是不是管理员,如果不是,提示并退出窗口
本页面直接对数据库操作,显示所有在线玩家列表,和最近发言时间
checkbox复选框传递用户名串names
kick.jsp
接下来是爽快的踢人操作
调用ChatRoomMgr的logout()方法,依次传递names[i]就实现批量踢人踢完之后提示,并刷新manager.jsp
测试的情况分析
1.注册登录功能的测试
比如正确账号admin,密码123
(1)测试数据:
输入账号admin输入密码123
预期的输出结果:
跳转到roomlist.jsp页面并且能获得session值
实际运行结果如下图所示:
运行结果符合预期情况。
(2)测试数据:
输入账号admin124
预期的输出结果:
提示您输入的用户或密码错误,请重新输入
实际运行结果如下图所示:
您输入的用户或密码错误,请重新输入
运行效果符合预期情况。
(3)测试数据:
输入账号admin000,123(这个账号数据库里没有)
预期的输出结果:
直接注册成功,跳转到roomlist.jsp页面
运行结果符合预期情况。
5.总结
本设计实现了在线聊天系统的基本功能,虽然没有华丽的界面,超强的性能,就练手学习而言绰绰有余。
通过在线聊天室的设计,感觉动手能力增强了很多,JAVA编程能力有了比较大的提升。
设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会。
软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战。
本文是软件工程在线聊天室系统的开发说明,重点描述运用软件工程知识对系统进行分析、设计和实现的思想,其中包括软件生命周期的三个主要方面:
软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。
通过对开发本系统的文档的书写,更进一步学习了软件开发的全过程,把软件工程知识与实际开发软件相结合,规范了实际开发软件程序的全过程,为将来的毕业设计做准备。
总之,本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大大丰富了自己的专业知识和技能。
由于各种原因,系统的功能还没有得到进一步的完善,以后会继续努力,在今后的学习过程中,不断地提高自己。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 聊天室 系统