收藏 分享(赏)

网络聊天室系统设计与实现.doc

上传人:weiwoduzun 文档编号:2665091 上传时间:2018-09-24 格式:DOC 页数:62 大小:2.49MB
下载 相关 举报
网络聊天室系统设计与实现.doc_第1页
第1页 / 共62页
网络聊天室系统设计与实现.doc_第2页
第2页 / 共62页
网络聊天室系统设计与实现.doc_第3页
第3页 / 共62页
网络聊天室系统设计与实现.doc_第4页
第4页 / 共62页
网络聊天室系统设计与实现.doc_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、科研训练网络聊天室系统设计与实现Design and implementation of network chat room system学 生 姓 名 XXX专 业 软件工程学 号 1305XXXXX指 导 教 师 李 XX 祝 XX学 院 计算机科学技术学院长春理工大学实习报告二一六年六月 长春理工大学实习报告起 止 周 1719 周 数 3实习地点 计算机学院专业实验室南区研 1213 选 题 自 选实习目的:培养学生未来进入职场的素质,以及企业级行业解决方案系统的分析、设计、实现等企业级综合应用能力。主要任务通过项目开发培养学生的职业素质,按照软件工程的思想,训练学生掌握面向对象分析/

2、设计(UML 建模)、编码规范、概要设计方法、详细设计方法、模块划分方法等技能;培养学生的编程思想和基本工作技能,培养学生的编程能力。实习要求:要求学生能掌握软件开发的基本能力,具有项目开发的实际经验,按照专业方向或本人就业方向选择一个项目进行实际开发,能熟练运用常用的程序设计语言和开发工具,完成整个开发过程。实习内容及进度安排:每个同学的课题的主要研究内容,完成的主要功能、按周完成的工作(总计 3 周,每周具体完成的内容要写清楚)指导教师评语:成绩:长春理工大学实习报告指导教师/带队教师(签字)2016 年 6 月 日长春理工大学实习报告I目录一、 引言 1二、 需求分析 12.1 系统运行

3、环境需求 .12.2 模块功能分析 .12.3 系统功能结构 32.4 系统数据流图 32.4.1 顶层数据流图 .32.4.2 一层数据流图 .32.4.3 二层数据流图 .42.5 数据字典 5三、 概要设计 53.1 系统总体结构设计 53.1.1 结构设计系统 .53.1.2 系统功能模块结构 .63.2 数据库设计 83.2.1 概念设计 .83.2.2 逻辑设计 .83.2.3 物理设计 .9四、 详细设计 94.1 流程图 94.1.1 用户注册登录 .94.1.2 在线用户显示模块 .11长春理工大学实习报告II4.1.3 用户交流聊天模块 .124.1.4 聊天信息显示模块

4、.134.1.5 系统消息显示模块 .144.1.6 管理员管理用户模块 .144.1.7 辅助功能 .154.2 算法 164.2.1 用户对话存储算法 .164.2.2 检测用户是否被踢算法 .164.2.3 检测当前用户是否有新消息算法 174.3 界面设计 184.3.1 登录首页 .18长春理工大学实习报告III4.3.2 注册界面 .194.3.3 聊天室界面 .204.4 工程结构设计 204.5 各类功能设计 214.5.1 实体类 .224.5.2 数据库操作 Dao 层 234.5.3 监听器 .234.5.4 业务逻辑 service 层 234.5.5 工具箱 Util

5、s 244.5.6 Actions 24五、 系统实现 245.1 用户注册登录模块 255.1.1 用户注册 .255.1.2 用户登录 .265.2 在线用户显示模块 285.3 用户交流聊天模块 295.4 聊天信息显示模块 305.5 系统消息显示模块 325.6 管理员管理用户模块 325.7 辅助功能 33六、 总结与体会 356.1 开发中遇到的问题 356.2 问题分析与解决方法 35长春理工大学实习报告IV6.3 经验与教训 35参考文献 37附录 38长春理工大学实习报告11、引言随着网络的大幅度普及,以及网络技术快速发展,人们通过网络进行交流的方式发生着巨大的变化,人们不

6、再拘泥于移动电话的通话模式,越来越多的人通过网络聊天工具进行交流,网络聊天室便是非常典型的聊天工具之一。聊天室系统的即时交流方式满足了网络中人们同时与多人进行聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。本设计所完成的网络聊天室具有常用聊天室的所有功能,包括使用账号登录聊天室、注册账号、显示在线用户列表、显示系统消息、两人之间进行私密聊天、消息提醒、发送表情、修改发送文字颜色;同时,为了管理聊天室中的用户使用语言的文明,赋予管理员踢出使用不文明语言的用户功能,显示全部聊天信息。该系统采用 B/S(浏览器/服务器)结构进行开发,参考网络中正在使用的大型聊天室的架构、分析聊天

7、室可实现功能,结合本次设计的相关要求,进行开发设计并写出需求分析说明书。该系统具体开发环境:使用 Windows8.1 专业版作为服务器运行平台,服务器开发语言使用 Java 语言,前台使用 Jsp 技术、JavaScript、Jquery 语言,系统框架使用 Struts2+Hibernate+Spring 框架,后台数据库使用 MySql 数据库。2、需求分析该系统采用 B/S 模式设计,开发目的主要是提供一个基于网络的安全文明的供多人聊天社交平台。2.1 系统运行环境需求该系统是在 windows 8.1 专业版操作系统下,搭建的运行平台,使用myEclipse 作为开发工具, mySq

8、l 作为数据库,Java 语言作为系统后台开发语言。JSP 技术作为前台开发语言,其中使用 JavaScript 以及 Jquery 作为脚本语言。工程框架使用 Struts+Spring+Hibernate 框架。(1)服务器配置:配置 apache-tomcat-7.0.39 服务器。长春理工大学实习报告2(2)客户端要求配置:谷歌浏览器、狐火浏览器以及 IE 浏览器 5.0 以上版本。2.2 模块功能分析(1)用户注册登录模块新用户在使用该聊天室系统时,必须先进行注册新用户操作,后台将注册信息添加到数据库中,用于胡勇登录验证;在注册成功之后再进行登录;当用户名与密码匹配成功,即可进入聊天

9、室系统。(2)在线用户显示模块当用户登录进入系统后,该页面实现在线用户的统计,并将在线用户依次显示出来。如果当前用户属于管理员角色,则在普通用户角色的右边显示“踢下线”链接,如果当前用户属于普通用户角色,则正常显示在线用户名。(3)用户交流聊天模块该模块主要负责发送信息内容,选择聊天对象;除此之外,可以修改聊天内容的字体颜色以及发送的表情。发言的颜色和发言的表情通过下拉式组合框实现。发言内容书写完毕后。通过点击“发送”按钮,发送聊天内容。(4)聊天信息显示模块当用户选择聊天对象并发送聊天内容后,显示出当前发送的内容以及之前的历史聊天内容,聊天的内容只有对话的两人可见,其他人不可见。当用户退出系

10、统后,再次登录进入聊天室时,两人的对话记录依然存在。(5)系统消息显示模块系统消息提示所有用户,聊天室的文明守则,以及当其他用户进入、离开或被管理员踢出聊天室的情况。(6)管理员管理用户模块管理员用户可以与其他用户聊天,并且随时监督其他用户的言行,一长春理工大学实习报告3旦出现不文明用语,即将改用户踢出聊天室。(7)辅助功能辅助功能包括:显示全部聊天信息、退出聊天室、检测用户是否有新消息。显示全部信息是指当用户之间的聊天信息占满全屏的时候,点击显示全部信息,即可看到全部的聊天内容。退出聊天室是指用户离开聊天室。检测用户是否有新信息,当用户收到其他用户发来的消息时,提示用户。2.3 系统功能结构

11、网 络 聊 天 室用户注册登录模块在线用户显示模块用户交流聊天模块聊天信息显示模块系统消息显示模块管理用户模块辅助功能显示全部聊天信息退出聊天室注册登录检测用户是否有新消息图 2-1 功能结构图2.4 系统数据流图2.4.1 顶层数据流图长春理工大学实习报告4网 络 聊 天 室聊 天 用 户 聊 天 用 户图 2-2 顶层数据流图2.4.2 一层数据流图聊 天 用 户聊 天 用 户客 户 端服 务 器 端写 聊 天 内 容返 回返 回读 取提 交存 储图 2-3 一层数据流图2.4.3 二层数据流图长春理工大学实习报告5聊 天 用 户客 户 端 客 户 端客 户 端服 务 器 端辅 助 功 能

12、发 送 内 容聊 天 信 息系 统 信 息踢 出 用 户在 线 人 员 列表 显 示操 作监 控显 示显 示操 作用 户 注 册 信 息 聊 天 内 容保 存 保 存图 2-4 二层数据流图2.5 数据字典表 2-1 用户名数据字典数据项名称:用户名数据项别名:username说明:用户唯一标识类型:varchar长度:20取值范围及含义:用户登录聊天室的用户名长度在 120 之内不论数字、字符还是符号。长春理工大学实习报告6表 2-2 密码数据字典表 2-3 级别数据字典3、概要设计3.1 系统总体结构设计3.1.1 结构设计系统数据项名称:密码数据项别名:password说明:用户登陆密码

13、类型:varchar长度:20取值范围及含义:用户登录聊天室的密码长度在 120 之内不论数字、字母还是符号。数据项名称:级别数据项别名:type说明:用户身份级别类型:varchar长度:20取值范围及含义:用户登录聊天室的角色,管理员(admin)或者普通用户(user)。长春理工大学实习报告7在线用户显示模块用户交流聊天模块聊天信息显示模块系统消息显示模块管理用户模块显示全部聊天信息退出聊天室管理用户模块注册用 户 注 册用 户 登 录管 理 员 用 户 登 录 普 通 用 户 登 录提示用户有新信息图 3-1 总体结构图3.1.2 系统功能模块结构(1)用户注册登录模块用户注册是添加用

14、户到数据中,只能注册普通用户,当注册验证信息合格,即可登录进入聊天室。注 册用 户 名1密 码2检 测 信 息3登 录4添 加 到 数 据 库3.1图 3-2 用户注册登录 H 图长春理工大学实习报告8(2)在线用户显示模块当用户登录进入系统后,该页面实现在线用户的统计,并将在线用户依次显示出来。如果当前用户属于管理员角色,则在普通用户角色的右边显示“踢下线”链接,如果当前用户属于普通用户角色,则正常显示在线用户名。(3)用户交流聊天模块交流包括选择聊天对象,选择发送表情,字体颜色。聊 天选 择 对 象1选 择 表 情2选 择 字 体 颜色3发 送4图 3-3 用户聊天 H 图(4)聊天信息显

15、示模块聊天信息的显示,首先系统必须获得与当前用户正在进行聊天的对象,根据聊天对象的用户名,获得存储在系统中的聊天记录,传送到浏览器客户端,浏览器客户端进行 1s 刷新界面,从而获取两人之间的私密聊天记录并显示在界面上。聊 天 信 息 显 示确 认 对 象1获 取 对 话 信 息2页 面 刷 新3长春理工大学实习报告9图 3-4 聊天信息显示 H 图(5)系统消息显示模块系统信息包括:聊天室守则、系统公告。系 统 信 息 显 示用 户 登 录1获 取 系 统 信 息2页 面 刷 新3存 储 用 户 名1.1图 3-5 系统信息显示 H 图(6)管理员管理用户模块管理员用户可以与其他用户聊天,并且

16、随时监督其他用户的言行,一旦出现不文明用语,即将改用户踢出聊天室。(7)辅助功能辅助功能包括:显示全部聊天信息、退出聊天室。显示全部信息是指当用户之间的聊天信息占满全屏的时候,点击显示全部信息,即可看到全部的聊天内容。退出聊天室是指用户离开聊天室。3.2 数据库设计3.2.1 概念设计E-R 图:该系统只存在用户一个实体,用户的属性包括:id、用户名、密码、级别。长春理工大学实习报告10用 户用 户 名密 码Id级 别图 3-6 E-R 图3.2.2 逻辑设计表 3-1 用户表3.2.3 物理设计数据库类型使用 mySql 数据库,用户表的主键为 id。4、详细设计4.1 流程图4.1.1 用

17、户注册登录用户表字段名 数据类型 长度 说明 描述id int 4 不空 用户 iduserName varchar 20 不空 用户名password varchar 20 不空 登录密码type varchar 20 不空 用户级别长春理工大学实习报告11用户注册的时候,操作人员输入想取的用户民,输入自创密码与确认密码,点击注册;此时,系统会首先检测两次密码是有一致,若不一致,提示用户密码不一致,请重新输入。若一致,检测用户名是否已经被注册过,若已经被注册,提示是用户,已被注册。若为被注册,系统添加用户注册信息到数据库 user 表中。界面提示用户注册成功,并跳转到登录界面。注册的用户默认

18、type 是普通用户,即 user。开 始输 入 用 户 名 、 密码 、 确 认 密 码两 次 密 码 是 否 一 致用 户 名 是 否 已 被 注 册存 入 数 据 库提 示 用 户 注 册 成 功跳 转 到 登 录 界 面结 束提 示 用 户否是是否图 4-1 注册流程图用户登录的时候,用户输入用户名,密码,点击进入按钮,系统获取用户所填写的用户名与密码,首先判断该用户名是否存在于数据库,若不存在,提示用户不存在该用户,请重新填写或注册,若该用户名存在,则判断密码与用户名是否匹配,若不匹配,提示用户密码错误,请重新填写,若匹配,进入长春理工大学实习报告12聊天室界面。开 始输 入 用 户

19、 名 、 密 码判 断 用 户 名 是 否 存 在用 户 名 与 密 码 是 否 匹 配进 入 聊 天 室结 束提 示 用 户否否是是图 4-2 登录流程图4.1.2 在线用户显示模块当用户登录进入聊天室时,系统会将用户的信息存入 application 属性的 userMap 中,进入系统后,在 jsp 中获取 userMap,将所有的用户信息中的用户名显示出来。长春理工大学实习报告13开 始获 取 用 户 信 息存 入 application中进 入 jsp页 面获 取 属 性 userMap显 示 用 户 名结 束1s刷 新 jsp页 面图 4-3 显示在线人数流程图4.1.3 用户交流

20、聊天模块用户实现找人聊天,点击聊天对象的用户名,获取聊天对象,填写发送内容,选择表情、与发送字体的颜色,点击发送即可进行聊天。在未选择聊天对象时,点击发送,提示用户选择聊天对象;在未填写发送的内容点击发送时,提示用户未填写发送内容。发送的表情默认为微笑着,字体颜色默认为黑色。长春理工大学实习报告14开 始用 户 名 是 否 为 空发 送 内 容 是 否 为 空提 示 用 户选 择 表 情 和字 体 颜 色点 击 发 送结 束是否是否将 聊 天 信 息 存 入application图 4-4 发送信息流程图4.1.4 聊天信息显示模块聊天信息显示,首先必须保证聊天对象的用户名不为空,当不为空时,

21、系统将获取用户名,在 application 作用域中获得,相应的聊天记录属性,返回到 jsp 中,并显示在界面中。长春理工大学实习报告15开 始获 取 用 户 名在 application中 获 取对 话 属 性将 属 性 传 送 到 jsp显 示 在 界 面 上结 束1s刷 新 jsp页 面图 4-5 显示聊天记录流程图4.1.5 系统消息显示模块在用户登录聊天室时,系统存储聊天室的聊天守则,并获取登录的用户名,存储系统公告(XXX 进入聊天室!);当用户离开聊天室时,修改系统公告(XXX 离开聊天室!);当用户被管理员踢出聊天室时,修改系统公告(XXX ,被管理员踢出聊天室!)。长春理工

22、大学实习报告16开 始获 取 用 户 名将 聊 天 室 守 则 和 系 统 公 告 存入 application中将 属 性 传 送 到 jsp显 示 在 界 面 上1s刷 新 jsp页 面结 束图 4-6 显示系统信息流程图4.1.6 管理员管理用户模块当用户使用了不文明的语言,管理员有权利该用户踢出聊天室。获取用户名,在 application 中的 userMap 中获得相应的用户 session,清除该 session即可将用户踢下线。长春理工大学实习报告17开 始获 取 用 户 名在 application中 获 取userMap属 性获 得 相 应 session清 除 sessi

23、on结 束1s刷 新 jsp页 面图 4-7 管理员管理用户流程图4.1.7 辅助功能显示与某人的全部聊天信息,当聊天的内容占满全屏,点击显示全部消息,即可显示全部信息。当用户离开聊天室时,系统获取当前用户名,并释放 user 的 session。检测用户是否有新消息:长春理工大学实习报告18开 始获 取 session中 的 call属 性Call属 性 中 是 否 有 值将 值 返 回 至 jsp将 id为 该 值 的 背 景 色 变 成 红 色结 束Jsp刷 新 ( 1s)否是图 4-8 检测信息流程图4.2 算法4.2.1 用户对话存储算法首先获取进行对话双方的用户名以及 id,再比较

24、两者的 id 若 id1标签的背景色为红色。长春理工大学实习报告21开 始用 户 登 录 , 存 储 call属性用 户 对 话 , 向 call写 入 发出 对 话 者 的 用 户 名检 测 call属 性 中 是 否有 值向 jsp传 参 call, jsp遍 历 出call中 的 所 有 值匹 配 上 的 表 格 tr变 成 红色 , 提 示 用 户 有 新 消 息表 格 tr的 ID是 否 与 call的 中值 相 等开 始无 消 息Jsp 1s检 测颜 色 不 变否是是否图 4-11 检测当前用户是否有新消息算法4.3 界面设计4.3.1 登录首页登陆首页是写在 index.jsp 中的,前台主要运用 jsp 动态网页技术。并使用JavaScript 语言判断用户是否正确输入用户名以及密码。在登录界面可以点击注长春理工大学实习报告22册用户进入用户注册界面。图 4-12 登录界面4.3.2 注册界面

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报