在线聊天室系统.docx

上传人:b****6 文档编号:4509465 上传时间:2022-12-01 格式:DOCX 页数:6 大小:58.35KB
下载 相关 举报
在线聊天室系统.docx_第1页
第1页 / 共6页
在线聊天室系统.docx_第2页
第2页 / 共6页
在线聊天室系统.docx_第3页
第3页 / 共6页
在线聊天室系统.docx_第4页
第4页 / 共6页
在线聊天室系统.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

在线聊天室系统.docx

《在线聊天室系统.docx》由会员分享,可在线阅读,更多相关《在线聊天室系统.docx(6页珍藏版)》请在冰豆网上搜索。

在线聊天室系统.docx

在线聊天室系统

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.jsplogincheck.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编程能力有了比较大的提升。

设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会。

软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战。

本文是软件工程在线聊天室系统的开发说明,重点描述运用软件工程知识对系统进行分析、设计和实现的思想,其中包括软件生命周期的三个主要方面:

软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码、测试)和运行维护。

通过对开发本系统的文档的书写,更进一步学习了软件开发的全过程,把软件工程知识与实际开发软件相结合,规范了实际开发软件程序的全过程,为将来的毕业设计做准备。

总之,本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大大丰富了自己的专业知识和技能。

由于各种原因,系统的功能还没有得到进一步的完善,以后会继续努力,在今后的学习过程中,不断地提高自己。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1