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、中需要提供目前在线者的名单。4.1 功能模型数据流图如图 4-1 所示:调用调用数据库JSPJavaBean返回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.用户登录注册模块: 聊天室注册简化, 将注册和登录
5、融合一起, 第一次登录, 如果用户信息表中没有该用户名,即时添加。下次登录可以 继续用此用户,登录后用户就会带着自己的登录信息 (session), 遨游聊天室模块。3.聊天室模块 先有个房间列表供用户选择,用户选择自己喜欢的房间 进入聊天室。聊天室有个框架里面分为 3 个部分:输入消息 显示消息 在线用户列表4.管理员功能模块 判断是否为管理员 有个友好的界面 通过点击页面,实现对数据库的删除修改查询5详细设计与实现5.1 详细数据库编码create table userinfo #用户信息表(id int primary key auto_increment, username varch
6、ar(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 tinyint(1) #1 悄悄话 0 非悄悄
7、话 0 默认);create table useronline #在线用户表(id int primary key auto_increment, chatroom varchar(50), username varchar(50), lastchattime datetime,);5.2详细图表介绍1.注册登录模块 login.jsp logincheck.jsp图 5-1 登陆界面 2.聊天室模块图 5-2 聊天室图 5-3 聊天室内3.管理员模块图 5-4 管理员登陆界面5.3编码处理数据库通用管理模块DBConn.java注册登录模块 login.jsp登录界面 弄个表单提交 再加上
8、JS 的空值验证logincheck.jsp 登录检测处理UserinfoMgr.javaJavaBean封装了登录检测用户信息和添加用户信息方法的方法有 check() saveToDB()聊天室模块sessioncheck.jsp 检测 session 信息判断用户是否登录 chatframe.jsp 框架 包含 显示 在线列表 输入 三个框架 JavaBean有Msg.java 聊天消息封装体UserOnline 在线用户封装体ChatRoomMgr.java 聊天室管理子模块:聊天室列表选择模块roomlist.jsp 聊天室选择页面roomlistdeal.jsp 聊天室选择并处理页
9、面信息显示模块showmsg.jsp 聊天信息显示页面getmsg.jsp 聊天信息加载页面 实现无刷新showmsg的任务: 1. 加载真正得到消息,并实时刷新的页面 , 实现不 闪烁效果。 2. 确定加载内容的位置getmsg的任务 : 1. 刷新,JS 实现无声音 2. 各种操作得到结果 3. 在具 体位置显示结果 在线列表模块onlinelist.jsp 在线用户列表页面 信息输入模块input.jsp 信息输入页面sendmsg.jsp 信息输入处理 logout.jsp 离开房间处理changeroom.jsp 重新选择房间处理管理员模块maneger.jsp 管理员高级页面kic
10、k.jsp 踢人功能管理员踢人实现manager.jsp 先判断是不是管理员,如果不是,提示并退出窗口 本页面直接对数据库操作, 显示所有在线玩家列表, 和最近发言 时间checkbox 复选框传递用户名串 nameskick.jsp 接下来是爽快的踢人操作 调用 ChatRoomMgr的 logout() 方法,依次传递 namesi 就实 现批量踢人踢完之后提示,并刷新 manager.jsp测试的情况分析1. 注册登录功能的测试 比如正确账号 admin , 密码 123( 1)测试数据:输入账号 admin 输入密码 123 预期的输出结果:跳转到 roomlist.jsp 页面 并且
11、能获得 session 值 实际运行结果如下图所示:运行结果符合预期情况。( 2)测试数据:输入账号 admin 124 预期的输出结果:提示您输入的用户或密码错误,请重新输入 实际运行结果如下图所示: 您输入的用户或密码错误,请重新输入 运行效果符合预期情况。(3) 测试数据:输入账号 admin000, 123 ( 这个账号数据库里没有 ) 预期的输出结果:直接注册成功,跳转到 roomlist.jsp 页面 运行结果符合预期情况。5.总结本设计实现了在线聊天系统的基本功能, 虽然没有华丽的界面, 超强的性能, 就练手学习而言绰绰有余。通过在线聊天室的设计, 感觉动手能力增强了很多, JA
12、VA编程能力有了比较 大的提升。设计本系统, 是对自己专业知识的一次检验, 也是一次增强自身综合 素质机会。软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶 段,这是对我们知识与能力的一种挑战。 本文是软件工程在线聊天室系统的开发 说明,重点描述运用软件工程知识对系统进行分析、设计和实现的思想, 其中包 括软件生命周期的三个主要方面: 软件定义(问题定义、可行性研究、需求分析)、 软件开发(总体设计、详细设计、编码、测试)和运行维护。通过对开发本系统 的文档的书写, 更进一步学习了软件开发的全过程, 把软件工程知识与实际开发 软件相结合,规范了实际开发软件程序的全过程,为将来的毕业设计做准备。总之,本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大 大丰富了自己的专业知识和技能。 由于各种原因, 系统的功能还没有得到进一步 的完善,以后会继续努力,在今后的学习过程中,不断地提高自己。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1