BBS论坛系统设计与实现.doc_第1页
BBS论坛系统设计与实现.doc_第2页
BBS论坛系统设计与实现.doc_第3页
BBS论坛系统设计与实现.doc_第4页
BBS论坛系统设计与实现.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 Java 程序设计程序设计 课程结业报告课程结业报告 设计题目 BBS 论坛系统设计与实现论坛系统设计与实现 UML 设计 主界面模块 帖模块设计与实现设计 主界面模块 帖模块设计与实现 学 院 班 级 学 号 姓 名 指导教师 设计时间 2 目录目录 摘要摘要 4 1 1 引言引言 5 1 11 1 编写目的编写目的 5 1 21 2 产品背景产品背景 5 2 BBS2 BBS 论坛介绍论坛介绍 5 2 12 1 产品特征产品特征 5 2 22 2 用户特征用户特征 6 2 32 3 产品功能产品功能 7 2 42 4 一般性限制一般性限制 8 2 4 1 运行环境 8 2 4 2 设计和实现约束 8 3 3 需求分析需求分析 9 3 13 1 功能需求功能需求 9 3 1 13 1 1 关于用户的权限功能的需求关于用户的权限功能的需求 9 3 1 23 1 2 数据流图与数据加工数据流图与数据加工 10 3 23 2 数据需求数据需求 11 3 2 1 概念结构设计 11 3 2 2 逻辑设计 12 3 3 1 服务系统的菜单设计 13 3 3 4 3 4 开发工具的选择开发工具的选择 13 3 53 5 UMLUML 设计 个人模块 设计 个人模块 15 3 5 1 用例图 15 3 5 2 序列图 15 3 5 3 状态图 16 3 5 4 数据库概要 17 4 4 接口设计接口设计 18 4 14 1 用户接口用户接口 18 4 24 2 结构接口结构接口 18 5 5 总体设计总体设计 19 5 15 1 结构框架介绍结构框架介绍 19 5 25 2 整个系统操作介绍整个系统操作介绍 19 5 35 3 数据库整体设计数据库整体设计 20 5 45 4 论坛所需绝大部分功能进行划分论坛所需绝大部分功能进行划分 21 6 6 运行设计运行设计 23 6 16 1 运行模块组合运行模块组合 23 6 26 2 运行控制运行控制 23 6 2 1 注册以及会员登陆 23 6 2 2 修改会员注册信息和忘记密码 24 6 2 3 浏览帖子 25 6 2 4 发表帖子 个人模块 25 6 2 5 管理员删除帖子 28 6 2 66 2 6 主界面设计 个人模块 主界面设计 个人模块 29 6 36 3 运行时间运行时间 32 7 心得体会结论心得体会结论 32 4 8 参考文献参考文献 32 摘要摘要 现今是网络时代 信息的交流不再单单是面对面的交流还增加了虚拟网络的 交流 由于其方便快捷及其对地域时间等因素的的要求的淡化 Internet 上的交 流早已占据着一个极其重要的地位 人们可以通过在互联网上收到最新的消息 也可以通过互联网进行信息的交流 而论坛就是大家进行信息交流的其中一个渠 道 论坛 BBS 是一种在 Internet 网上开放的信息服务系统 通过论坛用户 可以方便的实现信息的交换和文件的共享 本系统主要完成了基于 JSP 技术的校内论坛的设计和实现 主要实现了客户 端和服务器端的动态交互 该系统主要包含 用户信息管理 模块 论坛内 容实现及排版 模块 用户权限所对应的功能实现 模块 论坛文章发布 回复 模块 四大模块 本论文详细描述了论坛的结构 功能以及具体设计过程 系统采用了 JSP 技术以及 JavaBeans 组件技术和 JDBC 技术实现 关键词 关键词 JSP 论坛系统 SQL server Java 5 1 引言 1 1 编写目的 本项目为 BBS 论坛系统 书写此文档是为了确定用户对本系统的真正需求 确定一份完整 准确 清晰 具体的系统要求及设计方案 从而有效地帮助开 发人员实现此系统的各个模块和各项功能 也让用户对此系统有更全面的了解 此文档包含了用户对系统的具体要求 系统的功能需求等 可作为用户需 求的确定书和总体设计的依据 也是验证和维护系统的依据 1 2 产品背景 随着网络的高速发展 网络资源已经走进了广大人民的生活 网络传播消 息已经被越来越多的人们所接受 为了更多的实现网络信息的传播 达到新闻 的及时性与新鲜性 所以我们迫切需要设计这样一个 BBS 论坛系统 本论坛不是以营利为目的 我们为会员和游客提供了浏览新闻帖子的权限 并且对于会员拥有发表帖子和对其他会员所发表帖子进行评论的权限 为了使 所发表的内容积极 健康 真实 我们设置了一个管理员的登录模式 管理员 拥有对会员信息进行删除 对会员所发表的文章进行审核的权限 也有对其评 论和文章进行删除的权利 2 BBS 论坛介绍 2 1 产品特征 特性 1 用户可自定义用户名 密码 密码提示问题和答案 个人头衔 门派 签名 自我简介等信息 可以自定义个性头像和登陆风格 6 特性 2 可以发新信息 新帖 回复 跟随 等 可以发起投票统计并自动统 计调查结果 可提供图形化显示功能 特性 3 用户可以在论坛内部相互发送短消息 系统自动提示未读短消息 特性 4 管理员可以发布各类论坛公告 最新公告以滚动条的形式出现在论坛最 上方 特性 5 管理员可自由设定分论坛的主题 可同时设置多个论坛 每个分论坛都 具有定时开通功能 可为每个分论坛配置版主 分论坛管理员 特性 6 所有的网友发言信息必须经过管理员审核通过才能发布 提供 控制开 关 即如果审核通过 点 通过 按钮即可 需要删除的点 删除 按钮即可 特性 7 可以根据发帖的主题 内容关键字 作者 分论坛等信息搜索论坛内已 有的文章 特性 8 管理员可控制论坛的开通和关闭 可设定关闭后不可再发帖或不可再访 问 特性 9 系统可自动检测在线用户 IP 地址 操作系统 浏览器版本并可显示所 有在线用户 特性 10 根据注册用户填写的注册信息 在用户生日到来时自动提醒 特性 11 自动统计在线用户数并列表显示在线用户 自动统计用户的发帖数 跟帖数 回复数 访问次数和点击量 2 2 用户特征 用户类说明 用户用户是面向所有的网友 他们希望有用一个 公众就关心的重大问题和疑难问题交流的平 台 网友可以从网吧 办公司 家里上网来 论坛交流讨论 用户希望能在论坛注册 发 帖 发送短消息 论坛检索等功能 7 一般管理员管理员在论坛中主要负责发布各种论坛公告 设定安全过滤 审核网友发言信息 定时开 通论坛 2 3 产品功能 注册 用例 用户可自定义个人信息 登陆 用力 会员可以登陆系统 发帖回复 用例 会员可以发新信息 回复等 可以发起投票统计并自动统 计调查结果 可提供图形化显示功能 发送短消息 用例 用户可以在论坛内部相互发送短消息 系统自动提示未 读短消息 内容安全过滤 用例 系统对网友的发言进行过滤 系统对报警的信息自动 添加特别记号重点标明 论坛检索 用例 用户可以搜索论坛内已有的文章 用户检索 用例 系统可自动检测在线用户 IP 地址 操作系统 浏览器版本 并可显示所有在线用户 生日提醒 用例 系统在用户生日到来时自动提醒 发布公告 用例 管理员可以发布各类论坛公 设定分论坛 用例 管理员可自由设定分论坛的主题 可同时设置多个论坛 每个分论坛都具有定时开通功能 可为每个分论坛配置版主 审查信息 用例 所有的网友发言信息必须经过管理员审核通过才能发布 定时开通论坛 用例 管理员可控制论坛的开通和关闭 可设定关闭后不可 再发帖或不可再访问 论坛在线统计 用例 自动统计在线用户数并列表显示在线用户 自动统计 用户的发帖数 跟帖数 访问次数和点击量 8 2 4 一般性限制 2 4 1 运行环境 系统应该运行在 Windows XP 或以上版本的平台上 支持 Microsoft IE 5 0 和 6 0 版本的浏览器 服务器采用 Windows NT 2003 操作系统 2 4 2 设计和实现约束 软件开发语言为 JAVA 数据库系统为 SQL Server 2003 图 2 1 产品功能示意图 9 3 需求分析 3 1 功能需求 BBS 论坛系统大致可以分为两个组成部分 面向管理员的论坛管理系统和 面向所有用户的论坛服务系统 如前所述 在我们的系统中 BBS 一般是以 web 方式登录 因而 无论是管理员方还是用户方都不必安装该系统 但是 为了 解释网页代码中的服务器端脚本语言代码 服务器端必须安装相应的 web 服务 器 比如 Apache IIS 脚本代码解释引擎 比如 Apache Tomcat 推荐 和 数据库服务器 如 SQL Server 所有用户都通过密码验证后登录论坛管理系 统 进行相应的后台管理如用户管理 讨论区管理和文章管理 3 1 1 关于用户的权限功能的需求 论坛系统应该能够在用户通过帐户密码验证登录论坛服务系统后 判断用 户级别识别四类不同权限级别的用户 第一类是游客 拥有浏览文章 查询注册用户个体最基本信息的权限 第二类是一般用户 能够在论坛讨论区发表 浏览 回复主题 管理个人信 息等 第三类是管理员 能够对相应主题进行删除 精华 对回复的帖子进行删除 封锁 ID 以及解除对一般用户的封锁 第四类是主管理员 拥有最高权限 能够在管理员的权限的基础上增加 管理员权限更改 详细的用户权限起始流程如图 3 1 10 图 3 1 论坛登录各类流程图 说明 1 所有服务请求都有需要验证用户权限的级别 即 x usergrade 的值 0 1 2 3 游客为 3 比如 回复主题的权限是 x 0 1 或者 2 比如 精华文章的权限要求为 x 0 或 2 2 管理员增加的是一个 管理 模块 3 1 2 数据流图与数据加工 下面以 找回密码 更改密码 发表 置顶主题 删除帖子 赋予 取消用户管理 员权限 等请求为例 作出具体的数据流图 以示说明 11 图 3 2 数据加工说明 功能 1 接收用户的发表 置顶主题 删除帖子等请求 用户 ID 用户信息 目标序号 附带内容或信息 根据用户 ID 查询用户表以检验用户是否具有对 应权限 如有则将发文请求信息送到对应的处理程序 进一步处理 如无则向 用户提示出错 功能 2 查询数据库 根据发表 设精华文章 删除帖子等请求 用户 ID 用户 信息 目标序号 附带内容或信息 产生 updata insert select 等语句更改 或删除数据 同时修改连接的表的部分数据 3 2 数据需求 根据系统的数据流图和数据加工说明 我们编撰系统的数据结构 3 2 1 概念结构设计 根据对系统的需求分析结果 我们设计部分 E R 图如下 权限权限 审核审核 2 12 1 D1用户信息用户信息 执行对执行对 应模块应模块 2 22 2 D3 D2 更新数据库更新数据库 更新显示页面更新显示页面 发表 置顶主 题 删除帖 子等请求 一般一般 用用 户户 出错信息返回 分析权 限 图图 3 2 系统系统 2 层图 发表文章 层图 发表文章 系统系统 服务 名称 名称 浏览 模块 模块 文章服务 日期 日期 2004 4 24 编号 编号 1 1 3 1 输入 输入 输出 输出 处理 处理 局部数据元素 局部数据元素 注释 注释 12 图 3 3 BBS 用户实体及其属性 图 3 4 BBS 单元实体及其属性 3 2 2 逻辑设计 我们初步将 E R 图转换成关系模型如下 超简单版 用户 用户 id 用户名 密码 真名 地址 性别 生日 qq 昵称 注册日期 发文总 数 用户权限级别 个性签名 文章 文章编号 发文人的用户 id 用户名 用户个性签名 此两项通过用 户 id 在用户表中读取 访问人数 回复人数 文章名 文章内容 发文日期 由于数据库设计的一般设计要求只要达到三范式 所以 我们不再对以上关 系模式做转化 我们的数据库设计和数据表的设计就以上述关系模式为基础 每个讨论区 类属 创版时间 发文总数 名称 管理员 分 bbs 的 id 用用 户户 身份证号 注册时间 用户名 用户 id 发文总数 权限 个性签名 QQ 出生日期 所发文 id 汇总 密码 13 3 3 系统的菜单设计 如前所述 我们的 BBS 论坛系统提供的是 web 方式登录 即系统用户上 网 并用 IE 访问 BBS 论坛系统 我们的论坛系统的菜单是以网页链接的方式出现的 因而 它不是一般软件的菜单有着严格的层次结构 我们将系统的菜单结构描 述如下 3 3 1 服务系统的菜单设计 在服务系统主页的登录界面应该有三个菜单按钮 登陆 登陆后位 更改 信息 注册 匿名 管理 需管理员权限时显示 他们分别将指系统的不同 功能页面 登录 指向一个需要权限审核的系统服务界面 注册 将会带用户到一 个新用户注册界面 我们以 登录 为二级菜单 在进入主页后可进入登陆或 注册界面 登陆后菜单按照系统功能分为 5 栏二级菜单 个人信息 主页浏览 搜索 退出 管理菜单 个人信息 之下可以根据需要或者是用户方便设置第三级菜单 一般包 括一下几项 1 个人资料浏览 2 密码修改 3 个人资料修改 管理系统的二级菜单按照其应该完成的功能分为一下几项 1 管理员权限授予 回收 在文字框中输入该用户 id 后 点 确认 2 删除用户 在文字框中输入该用户 id 后 点 确认 3 个人资料浏览 4 个人资料修改 管理系统的一级菜单每一项完成一个特定的功能 所以不再需要设计二级菜 单 实际上 因为网页链接存在环行结构 所以在某些四级级菜单中会出现某 些三级级菜单名 这也正是 BBS 系统的菜单结构层次不严谨的缘故 3 4 开发工具的选择 我们能已经说明 BBS 系统的开发涉及到页面设计和网页编程 网页中的服 14 务器脚本语言编程 我们选择使用 JSP Java Server Page 而后台数据库的 设计 我们选用大型数据库软件 MySQL 3 4 1 Java Server Page 的两种访问格式 JSP 是将纯 Java 代码嵌入在 HTML 中实现动态功能的一种技术 它将 HTML 编码从 Web 页面的开发过程中有效的分离出来 可以访问可重用组件 如 Servlet Javabean 和基于 Java 的 Web 应用程序 还支持在 Web 页面中直接嵌 入 Java 程序 JSP 有两种访问格式 请求一个 JSP 文件 请求一个 Servet a 在第一种访问格式中 JSP 文件将访问 Jdbc odbc 或是其它能生成动态内容 并发送到浏览器的组件 如图 2 5 b 在第二种访问格式种 客户端直接请求一个 Servlet 来生成动态内容 并 调用JSP 文件将内容到浏览器 如图 2 6 Servlet 数据库数据库 JSP 文件文件 请求 JDBC 结果 Bean 响应 图 3 6 直接对 Servlet 的请求 浏览器 JSP 文件 Jdbc odb c 图 3 5 浏览器发送 JSP 文件请求 数据库数据库 15 3 5 UML 设计 3 5 1 用例图 系统管理 用户权限 3 5 2 序列图 16 会员浏览贴及发帖 论坛管理员管理会员 3 5 3 状态图 后台会员管理 17 后台论坛分类管理 3 5 4 数据库概要 18 4 接口设计 4 1 用户接口 图形用户界面 1 注册界面 输入储户信息 按确定提交内容 2 登录界面 输入已经注册的用户名 成为正式会员 3 浏览界面 游客和会员都有权浏览其他用户或者管理员所发表的文章 4 发帖界面 会员有权发表帖子 对其他用户所发帖子有权进行评论 5 修改界面 会员有权对自己的个人信息进行修改 5 管理员信息修改 超级管理员及特定的管理员具有此权限 可以删除会 员信息 删除所发的不良消息的帖子和评论 4 2 结构接口 客户端界面获取用户的各项输入 根据不同的操作请求进入相应的操作模 块 每个操作模块获取用户的输入数据 作为发送给服务端的数据消息加上通 讯协议头发送到服务端 服务端接受到数据后 利用协议头解析判断将数据分 19 配给相应的模块进行处理 并将处理结果发送回客户端 5 总体设计 5 1 结构框架介绍 如同 5 1 所示 为我们 BBS 论坛的结构框架图 本结构采用 B S 结构 不需要下载安装任何的软件 普通用户在 web 端登录 BBS 有多个选择进入论 坛 比如会员登录或者匿名登录 之后 web 端与服务端交换数据后传输到后 台进行信息的更新与连接到指定的区域 以达到信息更新的目的 B S 结构图 帖子发表模块 基本信息模块 用户管理模块 论 坛 评 论 模 块 管 理 员 特 权 模 块 Web 端发 送其 相应 请求 客服端接收 并执行相应 功能 5 2 整个系统操作介绍 图 5 1 整体系统框架图 20 管理员会员 登录 游客 浏览 显示 发 表 帖 子 评 论 修 改 个 人 资 料 删 除 会 员 删 除 帖 子 删 除 评 论 匿名 发 表 帖 子 5 3 数据库整体设计 对 13 张表 bbs1 bbslink bbsnews myuser board bookmark class config friend log message online vote 之间的层次 当在外模式下更改数 据时数据流向进行规范 图 5 2 系统操作流程 图 21 8 log 10 bbsnews 1 config 11 vot e 7 friend 9 bbslink 6 bookmark 5 class 4 board 2 myuse r 12 messag e 13 online 3 bbs1 5 3 数据库表 E R 图说明 箭头初始为高级数据库表 他可以向箭头指向的低级数据库复制信息 低级数 据库也可以主动向高级数据库读取信息 数据的更改必须由 1 config 开始流向 目的数据库表 比如说更改数据表 5 必须先修改 1 和再修改 2 最后才是修改 5 5 4 论坛所需绝大部分功能进行划分 共计有用户登录模块 主页模块 文章服务模块 个人信息管理模块 注 册模块 管理模块等六类模块共计 26 个小板块 图 5 3 数据库表 E R 图 22 4 4 管理模块管理模块 1 1 首页首页 3 登录登录 5 个人信息管 个人信息管 理理 2 2 注册模块注册模块 页尾 页首 新用户注 册界面 完成注册 登陆界面 登陆错误 登陆失败页面 管理页面 菜单栏 论坛变 量设置 斑竹管 理页面 帖子管理 用户管理 管理员管理 登陆页面 管理员页面退出 更新论 坛数据 查看个人资料修改个人资料 6 6 文章服务模块文章服务模块 分论坛 菜单 浏览帖子 在分论坛发新帖 子 论坛发帖错误信息 对指定 帖子发 言 发帖结果 修改帖子结果 图 5 3 论坛系统详细 E R 图 23 6 运行设计 6 1 运行模块组合 游客 匿名 登录 会 员 注 册 会 员 登 录 会 员 发 帖 会 员 评 论 会 员 修 改 信 息 管 理 员 删 除 帖 子 管 理 员 删 除 会 员 Web 端与服务端 交换数据 浏 览 帖 子 更 新 会 员 信 息 发 表 帖 子 发 表 评 论 删 除 帖 子 更新后台 数据 Web 端发送请求 6 2 运行控制 6 2 1 注册以及会员登陆 1 注册时用户会提供用户名 密码 昵称 个性签名 用户的所有个人 24 信息存于网站数据库中中 以用于登陆 发表帖子和评论帖子 2 用户名为不超过 7 个字的汉字或不超过 14 个字节的数字字母下划线 等 3 注册时需设定 6 位数字密码 用户自行设置 后可修改密码 4 下图为用户的注册页面 有用户所需填的所有信息 5 会员登陆成功后可以直接进行发表论坛文章 评论别人所发文章 更 改个人信息的操作 6 下图为用户登录界面 6 2 2 修改会员注册信息和忘记密码 25 用户注册成功后 可以修改信息 6 2 3 浏览帖子 1 帖子均为注册会员所发或者管理员更新的新闻消息 2 用户根据帖子的分类 选择自己感兴趣的帖子然后点击阅读即可 3 用户可以看到帖子所发作者和发帖时间 6 2 4 发表帖子 26 1 发表帖子的权限必须是注册会员 匿名登录的游客没有发表权限 2 发表帖子的时候只需要书写标题和内容即可 3 所发内容必须积极健康 当确认发表的时候 点击左下角的 发表 按钮即可 部分代码如下 if name equals null out print 对不起 你暂时不能发帖 请登录 INPUT class button on onclick window location href showTest jsp name for i 0 i 0 i if str charAt i str str substring 0 i 1 return str function Trim str return LTrim RTrim str function check if Trim document reply title value alert please intput the title document reply title focus return false if Trim document reply cont value alert plsease input the content document reply cont focus return false return true 28 input type hidden name name value input type hidden name tit value 标题 内容 6 2 5 管理员删除帖子 1 所发帖子必须经过管理员的审核 2 管理员如果遇到了所发帖子内容不符合道德 本 BBS 论坛的宗旨等 可 以对所发帖子进行删除的处理并有权利删除所发帖子的会员消息 29 6 2 6 主界面设计 登陆后的主界面截图如下 部分代码 item1 item2 item1 mover item2 mover subitem1 subitem1 mover subitem2 subitem2 mover color 595959 background color EEE5DE width 100px height 25px padding 3px item1 mover background color b0b0b0 30 item2 border top 1px solid b0b0b0 item2 mover background color 2037d7 subitem1 background color 7EC0EE subitem2 background color 7EC0EE 狼友的家 用户自定义 div id sub1 class subitem1 onclick window location href resetinfo jsp name onmouseover change menu sub1 block onmouseout change menu sub1 none 修改个人信息 div id sub12 class subitem2 onclick windo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论