基于JSP的安全在线聊天室系统设计Word格式.docx
- 文档编号:17252388
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:13
- 大小:201.63KB
基于JSP的安全在线聊天室系统设计Word格式.docx
《基于JSP的安全在线聊天室系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于JSP的安全在线聊天室系统设计Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
2.3.1确定对系统的综合要求3
2.3.2分析建模3
2.2.3系统逻辑模型4
3.在线聊天室系统的设计6
3.1模块设计6
4.在线聊天室系统的编码和测试7
4.1系统编码7
4.1.1聊天室的界面7
4.1.2页面处理8
4.2系统测试10
4.2.1黑盒测试的内容10
4.2.2使用黑盒测试的情况分析11
5.总结11
参考文献12
1.概述
1.1软件工程的概述
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。
同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。
这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
软件工程的目标是:
在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。
追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。
软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。
需求活动包括问题分析和需求分析。
问题分析获取需求定义,又称软件需求规约。
需求分析生成功能规约。
设计活动一般包括概要设计和详细设计。
概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。
详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。
实现活动把设计结果转换为可执行的程序代码。
确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。
维护活动包括使用过程中的扩充、修改与完善。
1.2在线聊天室概述
聊天室实现的主要功能是:
接收各个客户端的聊天信息,然后按照其聊天对象将该信息发送到目标浏览器上。
在一个浏览器的窗口中,既能输入上网者的发言,又能看到自己与他人的聊天记录。
同时,为了便于上网者选择谈话对象,窗口中需要提供目前在线者的名单。
2.在线聊天室的分析
2.1问题定义
就是提供一个网友能够通过浏览器实现在线聊天的场所
2.2可行性研究
2.2.1技术可行性
Jsp+JavaBean+MySQL实现,绝对可行,没的说。
2.2.2经济可行性
几乎无成本,几天搞定。
2.2.3操作可行性
用户注册登录,选择聊天室,然后聊天。
哪个管理员邪恶点,还会踢人。
操作可行性研究完毕。
2.3需求分析
2.3.1确定对系统的综合要求
1.功能需求:
用户打开浏览器,注册登录,登录成功后选择自己喜欢的房间,点进去聊一下,发现可聊天,这东西可以用;
有些玩家大家不喜欢,乱刷屏,就会要求管理员把他踢掉,管理员犀利踢之;
有些用户之间的聊天不喜欢被人看到,就有了悄悄话的选项;
有些用户喜欢添油加醋,聊天内容字体颜色,动作表情都可以添加。
2.性能需求:
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:
如果聊天室长期开发,必须考虑数据库的负载,管理员有清理数据库的权限;
本聊天室使用数据库,信息与数据库的连接是很频繁的,我们使用JavaBean,能轻松实现数据库与外部信息的交换;
。
2.3.2分析建模
功能模型
数据流图如图2-2所示:
图2-2数据流
2.2.3系统逻辑模型
用户信息实体E-R图
聊天信息实体E-R图
在线用户信息实体E-R图
数据库设计:
createtableuserinfo#用户信息表
(
idintprimarykeyauto_increment,
usernamevarchar(50),
passvarchar(50),
lastlogintimedatetime,
roleint#1-管理员0-普通会员
);
createtablemsginfo#聊天记录表
chatroomvarchar(50),
msgfromvarchar(50),
msgtovarchar(50),
chattimedatetime,
chatactionvarchar(50),
msgcontentvarchar(200),
secrettinyint
(1)#1悄悄话0非悄悄话0默认
createtableuseronline#在线用户表
lastchattimedatetime,
3.在线聊天室设计
3.1模块设计
分为4个模块:
1.数据库通用管理模块:
完成数据库的连接,查询,更新功能封装在JavaBean中(DBConn.java)JSP页面或者其他JavaBean可以通过调用DBConn对象的方法连接操作数据库。
2.用户登录注册模块:
聊天室注册简化,将注册和登录融合一起,第一次登录,如果用户信息表中没有该用户名,即时添加。
下次登录可以继续用此用户,登录后用户就会带着自己的登录信息(session),遨游聊天室模块。
3.聊天室模块
先有个房间列表供用户选择,用户选择自己喜欢的房间进入聊天室。
聊天室有个框架里面分为3个部分:
输入消息
显示消息
在线用户列表
4.管理员功能模块
判断是否为管理员
有个友好的界面
通过点击页面,实现对数据库的删除修改查询
4.在线聊天室系统的编码和测试
4.1系统编码
4.1.1聊天室系统的界面截图。
注册登录模块
login.jsp
logincheck.jsp
聊天室模块
管理员模块
4.1.2页面处理
这里一笔带过,具体代码见源文件
数据库通用管理模块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
4.2系统测试
信息技术深深融入业务生活,使得软件产品质量的要求变得很高。
这也使我们为提高软件测试的效率来寻求各式各样的方法。
而软件测试的方法和技术是多种多样的。
对于软件测试技术,可以从不同的角度加以分类:
按测试阶段可分为:
单元测试、集成测试、确认测试。
测试任何产品都有两种方法:
如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;
如果知道产品的内部过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。
前一种方法称为黑盒测试,后一种方法成为白盒测试。
4.2.1黑盒测试的内容
功能测试也称为黑盒测试,用于验证系统的各项功能是否能正常完成。
由于实际情况的多样性,需要由多人重复测试,在不同情况下执行各项功能操作,其输出就是该功能的执行结果。
黑盒测试着重测试软件功能。
黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误。
黑盒测试发现下述类型错误:
(1)功能不正确或遗漏了功能。
(2)界面错误。
(3)数据结构错误或外部数据库访问错误。
(4)性能错误。
(5)初始化和终止错误。
4.2.2使用黑盒测试的情况分析
采用等价划分的有效等价类和无效等价类进行测试。
1.注册登录功能的测试
比如正确账号admin,密码123
(1)测试数据:
输入账号admin输入密码123
预期的输出结果:
跳转到roomlist.jsp页面并且能获得session值
实际运行结果如下图所示:
运行结果符合预期情况。
(2)测试数据:
输入账号admin124
提示您输入的用户或密码错误,请重新输入
您输入的用户或密码错误,请重新输入
运行效果符合预期情况。
(3)测试数据:
输入账号admin000,123(这个账号数据库里没有)
直接注册成功,跳转到roomlist.jsp页面
5.总结
本设计实现了在线聊天系统的基本功能,虽然没有华丽的界面,超强的性能,就练手学习而言绰绰有余。
通过在线聊天室的设计,感觉动手能力增强了很多,JAVA编程能力有了比较大的提升。
设计本系统,是对自己专业知识的一次检验,也是一次增强自身综合素质机会。
软件工程这门课程将我们从局部的编写程序带入了整体开发软件的阶段,这是对我们知识与能力的一种挑战。
本文是软件工程在线聊天室系统的开发说明,重点描述运用软件工程知识对系统进行分析、设计和实现的思想,其中包括软件生命周期的三个主要方面:
通过对开发本系统的文档的书写,更进一步学习了软件开发的全过程,把软件工程知识与实际开发软件相结合,规范了实际开发软件程序的全过程,为将来的毕业设计做准备。
总之,本次设计锻炼了实践能力,增长了我发现问题、解决问题的能力,大大丰富了自己的专业知识和技能。
由于各种原因,系统的功能还没有得到进一步的完善,以后会继续努力,在今后的学习过程中,不断地提高自己。
参考文献
[1]张海藩,软件工程导论(第5版),清华大学出版社,2008
[2]李建刚等,JSP网络编程技术与实践,清华大学出版社,2008
[9]汤一平,Java语言程序设计,科学出版社,2006
[10]孙卫琴,java面向对象编程[M],电子工业出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 安全 在线 聊天室 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)