在线聊天室系统.doc

上传人:11****ws 文档编号:2321636 上传时间:2019-05-06 格式:DOC 页数:10 大小:227.17KB
下载 相关 举报
在线聊天室系统.doc_第1页
第1页 / 共10页
在线聊天室系统.doc_第2页
第2页 / 共10页
在线聊天室系统.doc_第3页
第3页 / 共10页
在线聊天室系统.doc_第4页
第4页 / 共10页
在线聊天室系统.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

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

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

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

4、JSP JavaBean MySQL调用返回结果返回图 4-1 数据流4.2 系统逻辑模型调用数据库4.2.1 用户信息实体 E-R 图用户Id 号 用户名 密码最近登录时间是否为管理员聊天信息所在房间发表人用户名发表对象用户名 发表时间动作和表情聊天内容是否悄悄话Id发送在线用户Id用户名所在房间最近聊天时间登录M111图 4-2 用户实体信息 E-R 图4.3 在线聊天室设计4.3.1 模块图在线聊天室系统登录注册模块 聊天室模块 管理员模块数据库管理模块房间列表选择模块 聊天信息显示模块 信息输入模块 在线用户列表模块图 4-3 模块图4.3.2 模块说明分为 4 个模块: 1.数据库通

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

6、页面,实现对数据库的删除修改查询5 详细设计与实现5.1 详细数据库编码create table userinfo #用户信息表(id int primary 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

7、(50),chattime datetime,chataction varchar(50),msgcontent varchar(200),secret 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.聊天室模块图

8、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 聊天消息封装体

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

10、ndmsg.jsp 信息输入处理logout.jsp 离开房间处理changeroom.jsp 重新选择房间处理管理员模块maneger.jsp 管理员高级页面kick.jsp 踢人功能管理员踢人实现manager.jsp先判断是不是管理员,如果不是,提示并退出窗口本页面直接对数据库操作,显示所有在线玩家列表,和最近发言时间checkbox复选框传递用户名串names kick.jsp接下来是爽快的踢人操作调用ChatRoomMgr 的logout()方法,依次传递namesi就实现批量踢人踢完之后提示,并刷新manager.jsp测试的情况分析1.注册登录功能的测试比如正确账号 admin

11、, 密码 123(1)测试数据:输入账号 admin 输入密码 123预期的输出结果:跳转到 roomlist.jsp 页面 并且能获得 session 值实际运行结果如下图所示:运行结果符合预期情况。(2)测试数据:输入账号 admin 124预期的输出结果:提示您输入的用户或密码错误,请重新输入 实际运行结果如下图所示:您输入的用户或密码错误,请重新输入运行效果符合预期情况。(3)测试数据:输入账号 admin000, 123 (这个账号数据库里没有)预期的输出结果:直接注册成功,跳转到 roomlist.jsp 页面运行结果符合预期情况。5.总结本设计实现了在线聊天系统的基本功能,虽然没

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。