1、 2014 届毕业设计说明书 基于 B/S 的 QQ 聊天软件的设计与实现 院 部: 计算机与信息科学学院 学生姓名: 指导教师: 职称 指导教师: 职称 专 业: 计算机科学与技术 班 级: 完成时间: 2014-5 I 摘 要 在当今社会,随着网络的逐渐普及,互联网已经成为 人们生活中必不可少的一部分,人们能够从互连网上获取所需要的信息并且通过互联网与朋友亲人交流,随着网络应用越来越广泛,如何快速获取所需要的信息已经成为时下必须要解决的问题。要开发一个聊天室,首先,在我们脑海中,要有这个聊天室的初步的整体概况。在诸多的公共聊天室中,其核心功能无非都是注册登录、群聊私聊、找回密码、退出,而管
2、理员的核心功能大多数是登录、用户资料管理、在线用户管理、聊天记录管理等功能。在聊天页面中,浏览器不断的对文本或数据库进行刷新、读取,并进行实时更新在线的用户。 本聊天室系统由 JSP技术与 MySQL数据库相结合基于 B/S模式开发完成,以Struts2 框架作为主要的技术框架,以 MyEclipse8.5 作为开发工具,以apache-tomcat-6.0.28 做为服务器 。本聊天室系统的主要有普通用户和管理员两个角色,普通用户主要有注册登录、找回密码、群聊私聊、字体设置、背景颜色设置、在线音乐试听、退出这几个功能;管理员的主要功能有登录、在线用户管理、用户资料管理、过滤字段管理、聊天记录
3、管理、音乐管理。 关键词 : B/S;数据库;聊天室; MySQL II ABSTRACT In todays society, with the growing popularity of the Internet, the Internet has become an essential part of peoples life, people can find needed information from the Internet and communication through the Internet with the friends close relatives, along
4、 with the network application more and more widely, how to quickly get the information they need to have become nowadays must solve the problem.To develop a chat room, first of all, in our mind, to have the general situation of the preliminary overall chat rooms.In many public chat room, its core fu
5、nction is nothing but a registered login, group of private chat, retrieve password, exit, and the core function of the administrator is most login, user information management, user management, online chat records management, and other functions.In the chat page, browser to refresh, reading of the t
6、ext or database, real-time update and on-line users. This chat room system combined by the JSP technology and MySQL database based on B/S pattern development is complete, with the Struts2 framework, as the main technical framework, to MyEclipse8.5 as a development tool, with apache tomcat - 6.0.28 a
7、s a server.This chat room system mainly has two roles ordinary users and administrators and ordinary users are registered login, retrieve password, group of private chat, font, background color Settings, online music audition, exit this a few functions;The main function of the administrator login, o
8、nline user management, user information management, filtering, field management, chat records management, music. Key word: b/s; database; chatroom; mysql III 目 录 1 概述 . 1 1.1 研究开发背景 . 1 1.2 选题的意义 . 2 1.3 国内外研究现状 . 3 1.4 本文组织结构 . 3 2 开发工具及技术介绍 . 5 2.1 开发环境 . 5 2.2 系统开发工具 . 5 2.3 B/S 结构的简介 . 5 2.4 MyS
9、QL 简介 . 6 3 系统需求分析 . 7 3.1 综合需求 . 7 3.2 系统可行性分析 . 7 3.2.1 技术及开发方法可行性 . 7 3.2.2 管理可行性 . 7 3.2.3 经济可行性 . 8 3.3 功能需求 . 8 3.3.1 用例分析 . 8 3.3.2 场景分析 . 9 4 系统设计 . 11 4.1 系统总体设计 . 11 4.2 系统功能模块 . 11 4.2.1 前台页面的模块 . 12 4.2.2 后台页面的功能模块 . 12 4.2.3 系统流程图 . 13 5 数据库设计 . 15 5.1 数据库概念结构设计 . 15 5.2 数据库逻辑结构设计 . 16
10、IV 5.3 数据库物理结构设计 . 17 6 系统详细设计与实现 . 19 6.1 用户注册 . 19 6.2 用户登陆 . 19 6.3 找回密码 . 21 6.4 聊天室 . 22 6.5 后台管理 . 24 7 系 统测试 . 27 7.1 系统测试 . 27 7.2 功能测试 . 27 总 结 . 30 参考文献 . 31 致 谢 . 32 1 1 概述 在网络世界中,聊天室( Chat Room)是一个最常见的服务,它最早起源于BBS 站点,聊天室作为一个在漫漫长夜打发消遣时间的最佳软件,除了能够用于聊天消遣时间以外,还拥有语音 聊天、视频聊天、共享图片、文件等功能。现在随着网络的
11、发展,聊天室发展的速度已经非常迅速了,现在的聊天室技术,都已经运用到了“网络会议”上,现在有很多的会议在网上视频聊天会议 9。 在市面上,聊天室的应用软件出现得比较早,比如说, Microsoft Chat,一个在界面及功能方面都已经非常完善的“聊天室”的应用软件,它是一套独立于浏览器之外的,即与浏览器无关的,需要下载客户端安装使用的套装软件,在使用它之前还需要先熟悉其中的操作界面,才能够使用这个软件,这对于新时代匆匆忙忙,并没有太多时间去学习的网友来说, 是一个非常不方便的缺陷。因此,开发出来一个操作简单,方便,不需要下载客户端安装使用的聊天软件已经成为广大网民的迫切需求。所以,根据网民的需
12、求,越来越多的公司和网站开始开发基于浏览器的,不需要下载客户端安装使用,不需要熟悉界面操作的聊天室,以便造福更多的网友 12。 1.1 研究开发背景 由于电子科技的迅速发展,网络时代到来,人们通讯方式也不断的发生改变,从以前的写信到后来的呼机,到现在的手机,不断地往高科技方向发展。然而人们的聊天的方式也在发生改变,因此聊天室也随之慢慢的发展起来了,慢慢受到人们喜爱,现 在我们 QQ 中就有各种各样的群,有的娱乐、有的技术交流、有的用来工作,总之应用非常广。聊天室的开发是有必要的,其发展的前景也是非常大的。 聊天室现在用于娱乐方面还是比较少的,主要还是用于商业方面,就 目前聊天室的市场结构 来看
13、 , 现在大多数的 网站 几乎都 拥有一个 完全 属于自己的聊天室 ,现在的聊天室,运作起来是非常的简单,当然也有非常复杂的,如像 QQ 和YY 那种聊天的工具。在国外,现在就一个普通的商务网上或者娱乐网站都有属于自己的聊天工具。聊天室的之所以这么普及主要有两个原因 :一、由于现在这方面的技术已经是相当的成熟,开 发这种软件的成本高;二、聊天这种软件不管是运作起来还使用起来都是比较方便的。所有很受人们的欢迎,现在都有很多专门做这种软件的公司了。在我国, 聊天室市场集中度 还不是很 高 , 其中只有一些大型的商业网站或者一些专门娱乐性的网站才有,所有在我国的市场还是相当的大 。 在我国,由于现在
14、的电脑的价格非常的便宜,人们的生活水平的提高,对网络的需要越来越大,除了在网上玩游戏、谈生意、购物、查阅资料以外,还有就是用于聊天娱乐,当我们身处在一个群体当中的时候,不管是在工作还是在学习中也好,我们都会建立起一个属于自己的聊天室,它的 聊天功能是聊天室中运用最广的功能,这是网上最受欢迎和最普通以中聊天方式。聊天具有应用广泛、开发简单、 操作方便、功能齐全、信息传递、简单快捷等的特独有性,因为它是用文字来传播信息,所有用于聊天时候的信息交流比较方便,相当于人与人面对面的交流,受到大多数人喜欢,因此有很多人喜欢在聊天室中聊天,还没面对面那种羞涩 2。 1.2 选题的意义 现在的 通讯系统 ,
15、除了 我们 生活 中用于正常 交流 和联系以外 , 在现在的商业中也慢慢的兴起 , 运用到网上交易中,聊天室为客户 与客户之间的 沟通提供了一个有效 交流 平台,使得与客户之间的聊 天没有时间和空间的距离感 。 在 时间上 ,这边发一条信息到另外一边所用的时间只需要不到 1秒的时间,几乎是立即得到响应, 比 发送一份 邮件 的信息传递速度快了几百倍,非常的节省时间;在经济上,我们打电话是按时间分钟来计费的,如果是长途电话的话更贵,而我们的聊天室是通过互联网来接通的,价格十分便宜。当然我们不能否定邮件和电话,在用于不同的地方,它们又比聊天室好 。 基于 B/S 的 聊天室 是浏览器 /服务的,与
16、基于C/S 架构的腾讯 QQ 等 聊天软件相比 起来 , 这种 B/S7架构的聊天室,是不需要下载安装,直接是在浏览器上运行 。因此, 对于一 个公司和企业来说, 开发一个用于网站 、娱乐或者 论坛 来 交流的聊天室 ,其中包括群聊和私聊,成为了现在众多公司或集体的重要需求 14。 这次开发的基于 B/S架构的聊天室 ,是用现在流行 JAVA1语言来开发的,用MyEclipse8.5 作为开发平台,因为 MyEclipse8.5 开发 B/S6架构运行在浏览器上的系统比较方便,并且用到的数据库是当前非常受欢迎的 MySQL 数据,作为后台数据库存储一些信息,建立一些表格。现在的随着 WEB技术
17、不断加强, B/S 架构的设计模式开始流行起来,因为 B/S架构的是网页版的,作为客 户端只需要在浏览器上操作,没有下载安装客户端的说法。 B/S模式将实现系统核心功能的代码全部都放着到服务器上,只有该系统的服务器够强大就可以无限的运行,如果客户端崩溃,也只是在浏览器上而已,只需要重新打开一个页面就可以了,从某种一定程度上,这个系统只需要开发一个强大的服务器,从而简化了系统的开发和维护。基于 B/S 架构的聊天室系统,与那些 C/S8模式聊天室相比较,最大的优点:只要你有浏览器,就可以随时随地进行聊天,而不需要下载安装客户端,从而实现了客户端零安装、零维护的需求,提高了其中的效率 6。 1.3
18、 国内外研究现状 随着互联网的发展以及普及,网络聊天软件逐渐成为网络用户必备的联络工具,它为广大网民提供了一种方便快捷的沟通方式,而网络聊天室作为出现最早,也是操作简单的网上聊天方式,受到了众多网民的追捧。 在国内, 1999 年 2月,深圳腾讯公司正式发布 OICQ99 beta build 0210,开通腾讯网络聊天服务。 2000 年 5 月,腾讯 QQ 在线人数已经突破 10 万。 2001年 2月 l0日,腾讯 QQ在线人数已经突破 100 万。 2004年 4月份,腾讯 QQ 在线人数的最高记录已经突破了 600万,现在腾讯公司正在把网络 聊天系统往移动聊天方向扩展,如今已经将网络
19、聊天与手机短信息 (SMS)成功结合起来。如今网络聊天软件涉及和影响的范围越来越广,其竞争也越来越激烈。 在国外, MSN 借助和 Windows聊天软件。使用 MSN,可以通过文本、语音、视频与朋友、亲人聊天,还可以与朋友、亲人传输文件,共享图片等。 但是,这些聊天软件都是基于 C/S架构的,都需要通过下载客户端进行安装使用,在更新方面也需要下载更新,而且用户名、密码和聊天记录等都是存在本地机器上的,在安全性和方便性方面都有所欠缺。 Browser/Server(浏览器 /服务器 )结构 ,是随互联网技术伴生的,是对 C/S架构的进行改进的一种结构。在这种结构下,用户不需要通过下载客户端安装
20、使用和更新,只需要有浏览器就可以实现,而且可以随时随地地使用,不会受到时间与地域的影响。与 C/S相比, B/S 的优势是 B/S是 建立在广域网之上的 , 一般情况下只要有操作系统和浏览器就可以了, 不 需要有 专门的网络硬件环境 ,而C/S 则是建立在专用网络上的,必须是小范围网络环境,所以, B/S 架构的聊天室开发起来比 C/S 架构的要简单,容易。而且 B/S架构的聊天室实现了系 统的无缝升级,系统维护开销小。最主要的是 B/S 架构的聊天室是基于浏览器的,与操作平台无关,所以不需要考虑兼容性问题 6。 1.4 本文组织结构 本文围绕着开发一个基于 B/S 的 QQ聊天软件,描述了完
21、成开发这个系统的主要流程,本文分为以下几部分: 第一章 介绍的是基于 B/S 的 QQ聊天软件的研发背景、选题意义和国内外现状; 第二章 介绍的是 QQ 聊天软件要使用的开发环境、开发工具以及要使用到的技术; 第三章 介绍的是 QQ聊天软件的需求分析; 第四章 介绍的是系统的设计与及系统需要有的功能模块; 第五章 介绍的是数据库的设计与创建; 第六章 介绍的是系统的详细 设计与实现; 第七章 主要是对本系统进行测试,证明系统的可行性。 2 开发工具及技术介绍 2.1 开发环境 系统名:基于 B/S的 QQ 聊天 软件 的设计与 实现 操作系统: windows7 32 位 硬件支持: CPU
22、英特尔 Core i5-480M(双核 ) 内存 6GB 显卡 ATI/AMD Radeon HD 64x0M/74x0M 2.2 系统开发工具 开发工具: MyEclipse 8.5 服务器: apache-tomcat-6.0.28 数据库: MySQL 2.3 B/S 结构的简介 在 传统的两层的 C/S 结构中,随着技术慢慢的发展出现了它的局限性, C/S结构模式 比较适合于 那种系统 规模 比较小 、用户 也比 较少、 而且 数据库 还是单一的情况下,并 且 运行的网络环境必须是 安全 的和 快速 (例如局域网 )。由于网络技术的发展之快,所运行的 应用系统的规模 在慢慢的 扩大 ,
23、其中的 复杂性越来越高 ,在现在 多用户、多数据库 、多接口的系统中,并 且网络环境下 也是 非安全的(例如 :Internet)的网络环境中 ,传统的 两层 C/S结构 的应用模型 无法满足现状,跟不上时代步伐,而且这种模式是 单一 的 服务器 ,主要 以局域网为中心的 ,因此想 要把传统的模式 扩展至大型企业 的 广域网或 强大的 Intranet 中是不可能的,因此 B/S 体系结构 三层客户 /服务器模式 随之兴起,成为当今最受欢迎的一种体系结构 8。 三层客户 /服务器模式 是称之为 B/S体系结构,是在以前传统两层的 C/S 结构模式的集成上,增加了一级成为了现在流行的 三层客户
24、/服务器模式 。 B/S 体系结构在逻辑上将应用功能分为 3 层,分别是 显示层、业务层、数据层 。 客户显示层是 服务有客户端的,为 客户 的 图形界面 功能 提供 相对应的 应用服务的, 从而帮助客户迅速快捷的 定位 于 应用服务。业务逻辑层 是在 显示层和数据层之间, 是为企业实现 该企业的 业务逻辑提 ,专门的设计 供 的 一个明确 有效 的层次 ,具有一定的逻辑性 ,在这个层次 中, 封装了与系统 相 关联的应用模型, 同时 把 显 示层和数据库代码 部分的数据层区分开来 数据层是三层模式中最底层 的结构 , 这个层的主要目的是 用来定义、维护、访问和更新数据 ,简单的说,就是管理数据库的,