基于b_s的qq聊天软件的设计与实现内容摘要:

整个程序修改容易,不会因为其中一个功能模块出现错误而影响整个系统。 经济可行性 经过详细周密的调查,借鉴成功的开发案例,采用科学有效的开发方式,可以降低开发的成本,达到经济高效的目的。 本系统在开发方面主要使用了、 、 MySQL 等软件,而这些软件在网上均可以免费下载,因此,在开发成本方面可以说是非常低,所以,该系统在经济方面可行。 功能需求 经过详细的调查,首先可以确定的是系统需要有“普通用户”和“管理员”这两个角色。 用例分析 管理员主要负责对系统中用户进行管理和维护,普通用户主要负责对聊天界面进行设置以及进行聊天和聊天的设置,以上两个实体的主要功能如下图所示: 表 1 基本用例 实体 功能 普通用户 注册、登录 聊天、设置字体的大小,颜色、设置背景颜色、试听音乐 管理员 登录、管理在线用户、管理聊天记录、管理音乐文件 根据分析,系统中的两个实体,“普通 用户”和“管理员”的用例图如下图所示: 9 普 通 用 户管 理 员注 册登 录聊 天字 体 设 置音 乐 试 听背 景 色 设 置登 录在 线 用 户 管 理用 户 资 料 管 理聊 天 记 录 管 理过 滤 字 段 管 理音 乐 管 理 e x t e n d s u s e s u s e s u s e s u s e s u s e s u s e s u s e s u s e s u s e s u s e s u s e s u s e s 图 2 系统用例图 场景分析 ( 1)用户注册场景 用户输入注册要填写的内容后,点击注册进行验证,如果验证合法,则会对后台数据库做数据的插入操作,插入成功后,即注册成功,跳转到登录页面,否则继续停留在注册页面。 用户注册的顺序图如图 3 所示: : 用 户: 注 册 页 面 : 后 台 数 据 库 : 登 录 页 面请 求 注 册验 证 合 法注 册 失 败注 册 成 功 图 3 用户注册顺序图 10 ( 2)用户 登录场景 用户输入用户名和密码后,后台数据对用户输入的数据进行验证判断,如果后台数据库存在该用户,且密码正确,则跳转到聊天页面,否则登录失败,继续停留在登录页面。 用户登录的顺序图如图 4 所示: : 用 户: 登 陆 页 面 : 后 台 数 据 库 : 聊 天 页 面请 求 登 录身 份 验 证验 证 失 败登 录 成 功 图 4 用户登录顺序图 11 4 系统设计 系统总体设计 根据以上聊天系统的需求分析,本聊天系统可将模块分为普通用户登陆的前台聊天子系统模块和后台管理员管理子系统模块。 其中普通用户模块包括登 录模块、聊天模块、退出模块,聊天模块又包含各种聊天相关功能的子功能模块和在线歌曲试听的子功能模块,管理员模块包括登录模块、管理模块、退出模块,其中管理模块又包括管理系统用户的各个功能子模块和管理歌曲的各个功能子模块。 普通用户和管理员的退出聊天室模块机制是类似。 系统总体模块框架划分如图 5 所示: 图 5 系统总体模块架构 系统功能模块 本系统在 J2EE[4]平台下使用 B/S 架构进行设计, MySQL 作为后台数据库,实现管理员对聊天室的管理、用户 登陆聊天室聊天等功能的管理和实现,包括前台模块和后台管理模块。 本聊天室系统使用 MyEclipse 软件开发,以 Struts2[5]框架作为主要的技术框架,以 JSP 技术编写页面。 作为一个只需要 WEB[2]浏览器,不需要下载客户端就能实现的聊天室,虽然不需要客户端的存在,但是在前台依然必须要具备基本的用户注册、登陆功能。 普通用户 注册 登录 聊天 背景设置 音乐试听 字体设置 管理员 过滤字段管理 在线用户管理 用户资料管理 聊天记录管理 歌曲管理 12 前台页面的模块 在前台模块中,用户只有通过注册账号后,拥有了账号才能登陆,在登录模块中用户输入了注册好的账号与密码,通过验证后,进入到聊天模块,在聊天模块中,可以进行字体大小、颜 色的设置,可以改变页面的背景颜色,可以发送表情,除了这些以外,还有音乐试听模块。 前台页面的模块又可以分为登陆模块和聊天模块。 登陆模块其中包括了用户注册账号,合法注册用户登陆账号,找回密码,资料修改等等。 ( 1)用户注册模块 用户将个人信息填写完整,点击注册进行验证,如果验证合法,对数据库做插入操作,插入成功,则完成注册,完成注册后页面跳转到登陆页面,如果验证没有通过,则继续停留在注册页面。 ( 2)登陆账号模块 当用户输入用户名和密码后,点击登录对输入的信息进行验证,即查看数据库是否存在该用户,若存在,则对 密码进行核对,若密码正确,则登陆到聊天界面,否则停留在登录界面。 ( 3)找回密码模块 当用户忘记密码时,通过注册时填写的问题以及问题的答案找回密码。 点击找回密码,跳到下一步页面,输入要找回密码的用户的用户名,点击下一步,根据输入的用户名,查找到用户注册时输入的密码提示问题,并填入密码提示问题的答案,点击下一步,进行验证,若输入答案错误,则跳到登录页面,若答案正确,则跳到下一步的页面,输入新密码,点击下一步,完成密码修改,跳到登录页面。 聊天界面则包括一个用户与另一个用户之间的私聊,一个用户与多用户之间的群聊 ,设置修改字体、字号、颜色、变换背景色、音乐试听等功能。 聊天室的前台功能模块划分图如图 6 所示: 后台页面的功能模块 在后台页面模块中,管理员通过用户名与密码登录到后台管理页面,在后台管理模块中,又可以分为在线用户管理模块、用户资料管理模块、过滤字段管理模块、聊天记录管理模块、音乐管理模块等几个模块。 ( 1)用户资料管理 对每一个已经注册了的用户注册时填写的资料进行增删改查的管理。 ( 2)在线用户管理 通过查询数据库,统计在线人数并在界面显示出来,并且对一些非法用户可以实行踢除处理。 13 ( 3)过 滤字段管理 设置需要过滤的内容,即设置在用户聊天时不能发送的非法内容,插入到数据库中,经由数据库筛选非法聊天内容并自动屏蔽优化聊天室。 ( 4)聊天记录管理 通过查询数据库中的聊天记录表,将聊天记录显示到界面上,需要导出聊天记录时,导出聊天记录,方便备份聊天记录。 ( 6)音乐管理 上传音乐文件,即在数据库中对音乐表进行插入数据操作,查询数据库中的音乐文件,并显示到界面,还能删除上传了的音乐文件。 后台页面的模块划分图如图 7 所示: 图 6 前台页面模块划 分图 图 7 后台页面模块划分图 系统流程图 经过以上的需求分析和初步的设计,可以初步确定本系统有两个角色,分别是普通用户和管理员,前面已经对本系统进行了初步的设计,初步确定了本系统的功能模块,为了更方便、更清晰地展现本系统的功能,下面画出了不同使用者不同权限的流程图。 普通用户具有注册登录、音乐试听、聊天、设置背景颜色、退出权限,其中聊天功能中包括群聊、私聊、设置字体字号和颜色、发送表情等权限。 普通用户的系统流程图如图 8 所示: 管理员若以普通用户的身份,则具有普 通用户的所有权限,若是以管理员的身份登录,则具有登录、用户资料管理、过滤字段管理、在线用户管理、聊天记前台页面 用户注册 用户登录 找回密码 聊天室 聊天 功能设置 音乐试听 群聊 私聊 字体字号 字体颜色 背景颜色 聊天表情 管理员登录 后台管理 在线用户管理 用户资料管理 聊天记录管理 音乐管理 过滤字段管理 14 录管理、音乐管理等权限。 管理员的系统流程图如图 9 所示: 图 8 普通用户系统流程图 图 9 管理员系统流程图 普通用户 用户注册 注册成功 登录 聊天室 登录成 功 背景颜色 聊天 试听音乐 字体设置 字体设置 字体设置 字体设置 登录失败 管理员 登录 后台管理 在线用户管理 在线用户管理 在线用户管理 在线用户管理 在线用户管理 登录成功 15 5 数据库设计 数据库概念结构设计 经过分析,得出本系统有普通用户和管理员两个角色,本系统还有过滤字段、管理聊天记录、音乐试听等功能,因此,本系统的实体有用户、过滤条件、聊天记录、音 乐,这些实体的实体属性图如下列图所示: 图 10 用户实体属性图 图 11 过滤条件实体属性图 图 12 聊天记录实体属性图 聊天记录 记录编号 发送人 发送时间 发送内容 接收人 过滤条件 过滤编号 过滤字段 用户 用户编号 用户名 密码 用户类型 密码提示问题 提示答案 是否在线 16 图 13 歌曲实体属性图 经过系统功能的初步确定和数据库中实体的初步确定,得到了聊天的 ER图如下图所示: 图 14 聊天 ER 图 数据库逻辑结构设计 聊天室 作为网络 服务 的一个重要应用, 它的数据库在整个系统中占据着极其重要的作用,其 数据库在网站建设 和 网络营销中发挥着 非常重要的作用。 普通 的静态 网站 是没有数据库的 , 而 具有数据库的网站网页我们通常称为动态页面,也就是说 拥有数据库的网站 页面 的内容 不是 一成 不变的,页面上内容或部分内容 是可以根据数据库中 数据的变化而改变的,是动态生成的 , 这就使得动态 网站内容更灵活,维护更方便,更新更便捷。 歌曲信息 音乐编号 歌曲名字 歌手姓名 歌曲路径 用户 用户名 密码 聊天 用户 用户名 密码 聊天编号 发送人 发送内容 接收人 发送时间 N M 17 本系统采所需要的数据库结构如图 15 所示。 图 15 聊天室关系图 数据库物理结构设计 数据库的设计 一般情况下 是以一个已经 开发出来 的数据库管理系统为 基础进行设计 的, 我们平常开发中比较 常用的数据库管理系统有 MySQL、 SQL Server[15]、 Oracle 等。 在本系统开发中,由于 MySQL 是一个 开源的、快速的、多用户的 SQL 数据库服务器,而且 MySQL 能在不同的平台上工作,所以 我采用了 MySql数据库管理系统 作为基础进行数据库设计 ,建立的数据库名为 chatsys的数据库。 根据 聊天软件的需求,对应的数据库表的设计及其功能如下: ( 1) 用户信息表: 存放用户注册时填写的用户信息,如存放用户名、密码密码提示问题、密码提示问题答案等内容; ( 2) 歌曲信息表: 存放歌曲的信息,如歌曲名、歌曲歌手等; ( 3) 聊天记录信息表: 存放用户在聊天过程中产生的聊天信息; ( 4) 过滤条件信息表: 存放要过滤的字段,即存放用于过滤聊天信息的条件, 用于屏蔽非法聊天信息; 18 用户信息表如下表所示: 表 2 用户表 (user) 列名 注释 类型 是否为主键 长度 是否为空 u_id 用户 ID Int 是 否 name 用户名 Varchar 否 40 否 pwd 密码 Varchar 否 40 是 type 用户类型。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。