BBS论坛系统设计与实现

上传人:沈*** 文档编号:125421445 上传时间:2022-07-26 格式:DOC 页数:37 大小:3MB
收藏 版权申诉 举报 下载
BBS论坛系统设计与实现_第1页
第1页 / 共37页
BBS论坛系统设计与实现_第2页
第2页 / 共37页
BBS论坛系统设计与实现_第3页
第3页 / 共37页
资源描述:

《BBS论坛系统设计与实现》由会员分享,可在线阅读,更多相关《BBS论坛系统设计与实现(37页珍藏版)》请在装配图网上搜索。

1、Java程序设计课程结业报告设计题目:BBS论坛系统设计与实现 UML设计、主界面模块、帖模块设计与实现 学 院: 班 级: 学 号: 姓 名: 指导教师: 设计时间: 目录摘要41.引言51.1编写目的51.2产品背景52.BBS论坛介绍52.1 产品特征52.2 用户特征62.3 产品功能72.4 一般性限制82.4.1 运行环境82.4.2 设计和实现约束83 需求分析93.1功能需求93.1.1关于用户的权限功能的需求93.1.2数据流图与数据加工103.2数据需求113.2.1概念结构设计113.2.2逻辑设计123.3.1服务系统的菜单设计133.4. 开发工具的选择133.5 U

2、ML设计(个人模块)153.5.1 用例图:153.5.2 序列图153.5.3 状态图163.5.4 数据库概要174接口设计184.1用户接口184.2结构接口185 总体设计195.1 结构框架介绍195.2整个系统操作介绍195.3 数据库整体设计205.4 论坛所需绝大部分功能进行划分216 运行设计236.1运行模块组合236.2 运行控制236.2.1. 注册以及会员登陆236.2.2. 修改会员注册信息和忘记密码246.2.3. 浏览帖子256.2.4. 发表帖子(个人模块)256.2.5. 管理员删除帖子286.2.6 主界面设计(个人模块)296.3运行时间327 心得体会

3、结论328 参考文献32摘要现今是网络时代,信息的交流不再单单是面对面的交流还增加了虚拟网络的交流,由于其方便快捷及其对地域时间等因素的的要求的淡化,Internet上的交流早已占据着一个极其重要的地位。人们可以通过在互联网上收到最新的消息,也可以通过互联网进行信息的交流。而论坛就是大家进行信息交流的其中一个渠道。 论坛(BBS)是一种在Internet网上开放的信息服务系统,通过论坛用户可以方便的实现信息的交换和文件的共享。本系统主要完成了基于JSP技术的校内论坛的设计和实现,主要实现了客户端和服务器端的动态交互。该系统主要包含:用户信息管理模块;论坛内容实现及排版模块;用户权限所对应的功能

4、实现模块;论坛文章发布/回复模块,四大模块。本论文详细描述了论坛的结构、功能以及具体设计过程。系统采用了JSP技术以及JavaBeans组件技术和JDBC技术实现。 关键词:JSP,论坛系统, SQL server, Java。 1.引言1.1编写目的本项目为BBS论坛系统,书写此文档是为了确定用户对本系统的真正需求,确定一份完整、准确、清晰、具体的系统要求及设计方案,从而有效地帮助开发人员实现此系统的各个模块和各项功能,也让用户对此系统有更全面的了解。此文档包含了用户对系统的具体要求,系统的功能需求等;可作为用户需求的确定书和总体设计的依据,也是验证和维护系统的依据。1.2产品背景随着网络的

5、高速发展,网络资源已经走进了广大人民的生活,网络传播消息已经被越来越多的人们所接受。为了更多的实现网络信息的传播,达到新闻的及时性与新鲜性。所以我们迫切需要设计这样一个BBS论坛系统。本论坛不是以营利为目的,我们为会员和游客提供了浏览新闻帖子的权限、并且对于会员拥有发表帖子和对其他会员所发表帖子进行评论的权限。为了使所发表的内容积极、健康、真实,我们设置了一个管理员的登录模式。管理员拥有对会员信息进行删除,对会员所发表的文章进行审核的权限。也有对其评论和文章进行删除的权利。2.BBS论坛介绍2.1 产品特征特性1. 用户可自定义用户名、密码、密码提示问题和答案、个人头衔、门派、签名、自我简介等

6、信息,可以自定义个性头像和登陆风格;特性2. 可以发新信息(新帖)、回复(跟随)等,可以发起投票统计并自动统计调查结果,可提供图形化显示功能;特性3. 用户可以在论坛内部相互发送短消息,系统自动提示未读短消息;特性4. 管理员可以发布各类论坛公告,最新公告以滚动条的形式出现在论坛最上方;特性5. 管理员可自由设定分论坛的主题,可同时设置多个论坛,每个分论坛都具有定时开通功能。可为每个分论坛配置版主(分论坛管理员);特性6. 所有的网友发言信息必须经过管理员审核通过才能发布,提供“控制开关”,即如果审核通过,点“通过”按钮即可,需要删除的点“删除”按钮即可;特性7. 可以根据发帖的主题、内容关键

7、字、作者、分论坛等信息搜索论坛内已有的文章;特性8. 管理员可控制论坛的开通和关闭,可设定关闭后不可再发帖或不可再访问;特性9. 系统可自动检测在线用户IP地址、操作系统、浏览器版本并可显示所有在线用户;特性10. 根据注册用户填写的注册信息,在用户生日到来时自动提醒特性11. 自动统计在线用户数并列表显示在线用户;自动统计用户的发帖数、跟帖数(回复数)、访问次数和点击量。2.2 用户特征用户类说明用户用户是面向所有的网友,他们希望有用一个公众就关心的重大问题和疑难问题交流的平台。网友可以从网吧,办公司,家里上网来论坛交流讨论。用户希望能在论坛注册,发帖,发送短消息,论坛检索等功能。一般管理员

8、管理员在论坛中主要负责发布各种论坛公告,设定安全过滤,审核网友发言信息,定时开通论坛2.3 产品功能“注册”用例:用户可自定义个人信息;“登陆”用力:会员可以登陆系统;“发帖回复”用例:会员可以发新信息,回复等,可以发起投票统计并自动统计调查结果,可提供图形化显示功能;“发送短消息”用例:用户可以在论坛内部相互发送短消息,系统自动提示未读短消息;“内容安全过滤”用例:系统对网友的发言进行过滤,系统对报警的信息自动添加特别记号重点标明;“论坛检索”用例:用户可以搜索论坛内已有的文章;“用户检索”用例:系统可自动检测在线用户IP地址、操作系统、浏览器版本并可显示所有在线用户;“生日提醒”用例:系统

9、在用户生日到来时自动提醒;“发布公告”用例:管理员可以发布各类论坛公“设定分论坛”用例:管理员可自由设定分论坛的主题,可同时设置多个论坛每个分论坛都具有定时开通功能。可为每个分论坛配置版主;“审查信息”用例:所有的网友发言信息必须经过管理员审核通过才能发布;“定时开通论坛”用例:管理员可控制论坛的开通和关闭,可设定关闭后不可再发帖或不可再访问; “论坛在线统计”用例:自动统计在线用户数并列表显示在线用户;自动统计用户的发帖数、跟帖数、访问次数和点击量。图 2.1 产品功能示意图2.4 一般性限制2.4.1 运行环境 系统应该运行在Windows XP或以上版本的平台上 支持 Microsoft

10、 IE 5.0 和6.0版本的浏览器 服务器采用 Windows NT 2003 操作系统2.4.2 设计和实现约束 软件开发语言为 JAVA 数据库系统为 SQL Server 20033 需求分析3.1功能需求BBS论坛系统大致可以分为两个组成部分:面向管理员的论坛管理系统和面向所有用户的论坛服务系统。如前所述,在我们的系统中,BBS一般是以web方式登录。因而,无论是管理员方还是用户方都不必安装该系统。但是,为了解释网页代码中的服务器端脚本语言代码,服务器端必须安装相应的web服务器(比如Apache,IIS),脚本代码解释引擎(比如Apache Tomcat(推荐))和数据库服务器(如

11、SQL Server)。所有用户都通过密码验证后登录论坛管理系统,进行相应的后台管理如用户管理,讨论区管理和文章管理。3.1.1关于用户的权限功能的需求论坛系统应该能够在用户通过帐户密码验证登录论坛服务系统后,判断用户级别识别四类不同权限级别的用户。第一类是游客,拥有浏览文章,查询注册用户个体最基本信息的权限;第二类是一般用户,能够在论坛讨论区发表/浏览/回复主题,管理个人信息等;第三类是管理员,能够对相应主题进行删除/精华,对回复的帖子进行删除,封锁ID以及解除对一般用户的封锁;第四类是主管理员,拥有最高权限,能够在管理员的权限的基础上增加:管理员权限更改。详细的用户权限起始流程如图3.1图

12、3.1 论坛登录各类流程图说明:1 所有服务请求都有需要验证用户权限的级别,即x(usergrade)的值(0,1,2,3(游客为3);比如:回复主题的权限是x=0,1或者2。比如:精华文章的权限要求为x=0或2。2 管理员增加的是一个管理模块。3.1.2数据流图与数据加工下面以“找回密码/更改密码,发表/置顶主题,删除帖子,赋予/取消用户管理员权限,”等请求为例,作出具体的数据流图,以示说明:权限审核2.1D1用户信息执行对应模块2.2D3D2更新数据库更新显示页面发表/置顶主题,删除帖子等请求一般用 户出错信息返回分析权限图3.2 系统2层图(发表文章)图3.2数据加工说明:功能1: 接收

13、用户的发表/置顶主题,删除帖子等请求(用户ID、用户信息、目标序号、附带内容或信息),根据用户ID查询用户表以检验用户是否具有对应权限,如有则将发文请求信息送到对应的处理程序,进一步处理,如无则向用户提示出错;功能2:查询数据库,根据发表/设精华文章,删除帖子等请求(用户ID、用户信息、目标序号、附带内容或信息)产生updata,insert,select等语句更改或删除数据,同时修改连接的表的部分数据;3.2数据需求根据系统的数据流图和数据加工说明,我们编撰系统的数据结构:3.2.1概念结构设计系统:服务 名称:浏览模块:文章服务 日期:2004.4.24编号:1.1.3.1输入: 输出:

14、处理:局部数据元素:注释:根据对系统的需求分析结果,我们设计部分E-R图如下:用 户身份证号注册时间用户名用户id发文总数权限个性签名QQ出生日期所发文id汇总密码图3.3 BBS用户实体及其属性 每个讨论区类属创版时间发文总数名称管理员分bbs的id图3.4 BBS单元实体及其属性3.2.2逻辑设计我们初步将E-R图转换成关系模型如下(超简单版): 用户(用户id,用户名,密码,真名,地址,性别,生日,qq,昵称,注册日期,发文总数,用户权限级别, 个性签名)文章(文章编号,发文人的用户id,(用户名,用户个性签名(此两项通过用户id在用户表中读取)访问人数, 回复人数,文章名,文章内容,发

15、文日期) 由于数据库设计的一般设计要求只要达到三范式,所以,我们不再对以上关系模式做转化,我们的数据库设计和数据表的设计就以上述关系模式为基础。3.3 系统的菜单设计如前所述,我们的BBS论坛系统提供的是web方式登录,即系统用户上网,并用IE访问BBS论坛系统,我们的论坛系统的菜单是以网页链接的方式出现的,因而,它不是一般软件的菜单有着严格的层次结构。我们将系统的菜单结构描述如下:3.3.1服务系统的菜单设计在服务系统主页的登录界面应该有三个菜单按钮: 登陆(登陆后位:更改信息)、注册、匿名、管理(需管理员权限时显示)。他们分别将指系统的不同功能页面。“登录”指向一个需要权限审核的系统服务界

16、面,“注册”将会带用户到一个新用户注册界面,我们以“登录”为二级菜单,在进入主页后可进入登陆或注册界面,登陆后菜单按照系统功能分为5栏二级菜单:个人信息、主页浏览、搜索、退出、管理菜单。“个人信息”之下可以根据需要或者是用户方便设置第三级菜单,一般包括一下几项:(1)个人资料浏览;(2) 密码修改;(3) 个人资料修改;管理系统的二级菜单按照其应该完成的功能分为一下几项:1、 管理员权限授予/回收;(在文字框中输入该用户id后,点确认);2、 删除用户(在文字框中输入该用户id后,点确认);3、 个人资料浏览;4、个人资料修改。管理系统的一级菜单每一项完成一个特定的功能,所以不再需要设计二级菜

17、单。 实际上,因为网页链接存在环行结构,所以在某些四级级菜单中会出现某些三级级菜单名,这也正是BBS系统的菜单结构层次不严谨的缘故。3.4. 开发工具的选择 我们能已经说明,BBS系统的开发涉及到页面设计和网页编程,网页中的服务器脚本语言编程,我们选择使用JSP(Java Server Page)。而后台数据库的设计,我们选用大型数据库软件MySQL。3.4.1 Java Server Page的两种访问格式JSP是将纯Java代码嵌入在HTML中实现动态功能的一种技术。它将HTML编码从Web页面的开发过程中有效的分离出来,可以访问可重用组件,如Servlet,Javabean和基于Java

18、的Web应用程序,还支持在Web页面中直接嵌入Java程序。JSP有两种访问格式:l 请求一个JSP文件;l 请求一个Servet;a) 在第一种访问格式中,JSP文件将访问Jdbc+odbc或是其它能生成动态内容并发送到浏览器的组件。如图2.5:浏览器JSP文件Jdbc+odbc图3.5浏览器发送JSP文件请求数据库b) 在第二种访问格式种,客户端直接请求一个Servlet来生成动态内容,并调用Servlet数据库JSP文件请求 JDBC结果Bean响应图3.6直接对Servlet的请求JSP文件将内容到浏览器。如图2.6:3.5 UML设计3.5.1 用例图: 系统管理:用户权限:3.5.

19、2 序列图 会员浏览贴及发帖:论坛管理员管理会员:3.5.3 状态图后台会员管理:后台论坛分类管理:3.5.4 数据库概要4接口设计4.1用户接口图形用户界面:1.注册界面:输入储户信息,按确定提交内容。2.登录界面:输入已经注册的用户名,成为正式会员。3.浏览界面:游客和会员都有权浏览其他用户或者管理员所发表的文章。4.发帖界面:会员有权发表帖子。对其他用户所发帖子有权进行评论。5修改界面:会员有权对自己的个人信息进行修改。5.管理员信息修改:超级管理员及特定的管理员具有此权限,可以删除会员信息,删除所发的不良消息的帖子和评论。4.2结构接口客户端界面获取用户的各项输入,根据不同的操作请求进

20、入相应的操作模块,每个操作模块获取用户的输入数据,作为发送给服务端的数据消息加上通讯协议头发送到服务端。服务端接受到数据后,利用协议头解析判断将数据分配给相应的模块进行处理,并将处理结果发送回客户端。5 总体设计5.1 结构框架介绍 如同5.1所示,为我们BBS论坛的结构框架图,本结构采用B/S结构,不需要下载安装任何的软件。普通用户在web端登录BBS,有多个选择进入论坛(比如会员登录或者匿名登录),之后web端与服务端交换数据后传输到后台进行信息的更新与连接到指定的区域。以达到信息更新的目的。B/S结构图帖子发表模块基本信息模块用户管理模块论坛评论模块管理员特权模块Web端发送其相应请求客

21、服端接收并执行相应功能图5.1 整体系统框架图5.2整个系统操作介绍图5.2 系统操作流程图管理员会员登录游客浏览显示发表帖子 评论修改个人资料删除会员删除帖子删除评论匿名发表帖子5.3 数据库整体设计对13张表:bbs1 bbslink bbsnews myuser board bookmark class config friend log message online vote之间的层次、当在外模式下更改数据时数据流向进行规范。图 5.3 数据库表E-R图8.log10.bbsnews1.config11.vote7.friend9.bbslink6.bookmark5.class4.b

22、oard2.myuser12.message13.online3.bbs15.3 数据库表E-R图说明:箭头初始为高级数据库表,他可以向箭头指向的低级数据库复制信息,低级数据库也可以主动向高级数据库读取信息。数据的更改必须由1.config开始流向目的数据库表。比如说更改数据表5,必须先修改1和再修改2最后才是修改5。5.4 论坛所需绝大部分功能进行划分共计有用户登录模块、主页模块、文章服务模块、个人信息管理模块、注册模块、管理模块等六类模块共计26个小板块。4管理模块1.首页3登录5个人信息管理2.注册模块页尾页首新用户注册界面完成注册登陆界面登陆错误登陆失败页面管理页面菜单栏论坛变量设置斑

23、竹管理页面帖子管理用户管理管理员管理登陆页面管理员页面退出更新论坛数据查看个人资料修改个人资料6文章服务模块分论坛菜单浏览帖子在分论坛发新帖子论坛发帖错误信息对指定帖子发言发帖结果修改帖子结果图5-3 论坛系统详细E-R图6 运行设计6.1运行模块组合游客匿名登录会员注册会员登录会员发帖会员评论会员修改信息管理员删除帖子管理员删除会员Web端与服务端交换数据浏览帖子更新会员信息发表帖子发表评论删除帖子更新后台数据Web端发送请求6.2 运行控制6.2.1. 注册以及会员登陆1、注册时用户会提供用户名、密码、昵称、个性签名。用户的所有个人信息存于网站数据库中中,以用于登陆、发表帖子和评论帖子。

24、2、 用户名为不超过7个字的汉字或不超过14个字节的数字字母下划线等。3、注册时需设定6位数字密码,用户自行设置,后可修改密码。4、下图为用户的注册页面,有用户所需填的所有信息。 5、会员登陆成功后可以直接进行发表论坛文章,评论别人所发文章,更改个人信息的操作。6、下图为用户登录界面:6.2.2. 修改会员注册信息和忘记密码用户注册成功后,可以修改信息:6.2.3. 浏览帖子1.帖子均为注册会员所发或者管理员更新的新闻消息。2.用户根据帖子的分类,选择自己感兴趣的帖子然后点击阅读即可。 3.用户可以看到帖子所发作者和发帖时间6.2.4. 发表帖子1.发表帖子的权限必须是注册会员,匿名登录的游客

25、没有发表权限。 2.发表帖子的时候只需要书写标题和内容即可。 3.所发内容必须积极健康,当确认发表的时候,点击左下角的“发表”按钮即可。 部分代码如下: % if(name.equals(null) out.print(对不起,你暂时不能发帖 请登录); % INPUT class=button_on onclick=window.location.href=showTest.jsp?name=&tit= value=返回 type=button发表新贴!-/javascript去空格函数 function LTrim(str) /去掉字符串 的头空格var i;for(i=0;i=0;i-)

26、if(str.charAt(i)!= &str.charAt(i)!= ) break;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(

27、plsease input the content!);document.reply.cont.focus();return false;return true;-input type=hidden name=name value=input type=hidden name=tit value=标题:内容:6.2.5. 管理员删除帖子1.所发帖子必须经过管理员的审核。2.管理员如果遇到了所发帖子内容不符合道德,本BBS论坛的宗旨等。可以对所发帖子进行删除的处理并有权利删除所发帖子的会员消息。6.2.6 主界面设计登陆后的主界面截图如下:部分代码:.item1, .item2, .item1_

28、mover, .item2_mover, .subitem1, .subitem1_mover, .subitem2, .subitem2_movercolor:#595959; background-color:#EEE5DE; width:100px; height:25px; padding:3px;.item1_moverbackground-color:#b0b0b0;.item2border-top:1px solid #b0b0b0;.item2_moverbackground-color:#2037d7; .subitem1background-color:#7EC0EE;.s

29、ubitem2background-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=window.location.href=info.jsp?name= onmouseover=change_menu( su

30、b1,block ) onmouseout= change_menu( sub1,none ); 查看个人信息div id=sub13 class=subitem2 onclick=window.location.href=resetpwd.jsp?name= onmouseover=change_menu( sub1,block ) onmouseout= change_menu( sub1,none ); 修改密码欢迎你:      a href=showMost.jsp?name=狼友之家| 学习交流 a href=showTest.js

31、p?tit=siji&name=四级六级 a href=showTest.jsp?tit=kaoyan&name=考研复习 a href=showTest.jsp?tit=comp&name=计算机 a href=showTest.jsp?tit=qiuzhi&name=求职应聘 天下杂谈 a href=showTest.jsp?tit=joke&name=笑话天地 a href=showTest.jsp?tit=joke&name=奇事异事 a href=showTest.jsp?tit=huyou&name=忽悠一下 6.3运行时间端访问使用浏览器,网页代码不占用客户端时间,客户端和服务端

32、通信占用网络传输时间,服务端对数据库操作占用服务器cpu时间。其中网络传输时间主要由网络传输速度决定,在网速较高的环境下不是主要考虑因素。服务器对数据库的操作时间取决于服务器性能及同时访问量的多少以及所使用的数据库功能,在大规模访问量之下,该时间可能会成为系统性能的瓶颈客户。7 心得体会结论 通过这学期JAVA课程的学习,我学会了J2SE的基础知识和运用的方法。然后通过课程设计,自学了JSP的一些知识,同时锻炼了自己使用J2SE的能力,收获颇丰。虽然这个BBS系统的设计过程并不是一帆风顺的,但是在老师的指导和队友们的共同努力下,我克服了其中的各种困难,完成了我在系统中界面设计的部分,虽然系统中还有许多BUG,但是我相信在以后的使用中,我会慢慢修复这些问题,学习新的知识,不断的完善自己,提高自己的编程水平。8 参考文献1、 马士兵的java视频教程(雷大江老师所给资料)2、 Java教材(机械出版社)3、 Jsp教程(网上IT学院)37

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!