BBS博客网站设计与实现毕业设计论文.docx
- 文档编号:10954153
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:34
- 大小:1.19MB
BBS博客网站设计与实现毕业设计论文.docx
《BBS博客网站设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《BBS博客网站设计与实现毕业设计论文.docx(34页珍藏版)》请在冰点文库上搜索。
BBS博客网站设计与实现毕业设计论文
内容摘要
在当下网络已比较发达的今天。
各类BBS系统都比较的成熟。
在此本人以学习的心态,以检验大学期间所学知识为目的,从实践出发设计本BBS系统。
本系统是基于Java语言的B/S架构模式的动态1BBS论坛系统。
并采用当下较为成熟的B/S框架,如Struts2(Web应用程序框架)、Hibernate(数据库连接框架)。
考虑到本系统为学生系统,所以数据库选择体积小、功能强到的MySQL数据库。
本论文按软件生命周期法设计的。
较详细的进行系统可行分析、系统需求分析、总体设计、详细设计、系统实现、系统测试与维护的阐述。
并通过文字、图形、表格的形式较为详细介绍本系统整体设计与架构。
关键字:
BBS、java、JavaWeb、Web、Browser/Server模式
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
1、绪论
1.1BBS论坛现况
当前BBS论坛已经较为成熟及普遍。
存在于校园,目前大多数大学都建立有BBS论坛系统。
应用于商业,作为产品宣传、产品推销、产品售前售后服务、消费者讨论等。
应用于技术讨论,一方面用户可以将问题发表到论坛中,让其他人帮助解决,另一方面是帮别人解决问题,不管是解决还是被解决,从中都可以解决问题、扩展知识面,如CSDN论坛。
BBS应用场景已经相当普遍。
1.2研究本课题的意义
虽然目前BBS系统在我国较为普遍与成熟,在用户体验、界面设计、技术应用等都达到了一定的高度。
作为学生设计的BBS系统是无法比及当下已经在使用的系统的。
那么作为学生的我研究本课题的意义在于将多面学习到的零散的技术进行整合开发,实现网站的动态交互效果。
从而提升自己的技术水平与开发手段,也提升自己的开发经验。
2、系统可行性分析
可行性分析主要目的确定一个新的系统开发价值与可行性。
分析解决该系统的利弊。
从而判断系统的规模与实现。
最后分析系统完成后所带来的效益是否达到值的投资的开发的程度。
可行性分析包括:
系统可行性分析、经济可行性分析、操作可行性分析。
2.1技术可行性分析
本系统使用Java开发语言的B/S模式系统。
Java是具有开源、跨平台等特点。
时下具备了完善、成熟的框架支持B/S模式的框架。
其涉及的技术有:
HTML、javaScript、ajax、JSP、Struct2、Hibernate、MySQL数据库。
所以本系统在技术上可行的。
2.2经济可行性分析
当前电脑已经非常的普遍,BBS系统作为一个应用型软件系统所需要的最基本开发工具其实早就具备。
另一方面,在本系统中所使用的开发语言、开发平台、开发技术要么是开源的、要么可以破解。
所以在开发本系统的经济需求是很少的。
在经济上是可行。
2.3操作可行性分析
在进行用户需求分析的前提下,用户需求并不是很复杂。
在以用户需求为出发点。
界面设计较为简洁明了。
功能设计也较为人性化,用户可按照提示能够快速的入手。
所以本系统在操作上也是可行的。
3、本系统慨况
3.1本系统的研究思路
确立系统的需求,确立系统的操作者(权限),确立系统的被操作对象(主题与回复),确定功能需求。
设计数据库结构。
设计系统架构。
完成本系统。
3.2本系统技术路线
在多种动态网站开发技术中,各有优缺点。
本系统选择jap动态网站开发技术。
系统前台页面则使用html+javascript+ajax+css。
后台数据数据库使用体积小,功能强大的MySQL数据即可。
3.3本系统的技术难度
(1)技术的整合衔接
(2)数据库连接方式
(3)数据库设计
(4)浏览器兼容性
3.4本系统的开发环境
(1)Web服务器:
Tomcat6.0
(2)数据库服务器:
MySQL5.5
(3)开发工具:
MyEclipse10.0
(4)开发语言:
Java
(5)开发技术:
HTML+javaScript+ajax+JSP+Struct2+Hibernate+MySQL
4、需求分析
为了开发出真正满足用于需求的系统和为了减少日后工作带了不必要的麻烦。
按照用户需求的需要,从以下几方面对系统进行如下几个方面的需要分析。
。
如下图由用户需求而得的系统总层次方框图(4-1)
系统总层次方框图(4-1)
4.1系统需求分析
在对用户的初步调查与分析得知,该系统主要包含了如下的角色:
(1)游客:
可以阅读贴子,注册会员
(2)普通会员:
查看帖子,用户登录,管理个人的基本信息,查看自己发表了的主题,修改用户的一些基本信息(修改密码,系修改头像),发表主题(帖子),发表回复,删除与编辑主题(帖子)
(3)版主:
实现会员的权限外,还可以对自己所属版面下的主题进行删除、锁定、解锁、屏蔽、解除屏蔽、设置精华的功能。
还可以发表公告贴
(4)超级版主
可以实现版主的权限外。
还可以对其下属的版面的版主进行编辑(删除版主,增加版主、编辑版主)
(5)管理员:
可以实现除超级版主的权限外,分类管理、版面管理、会员管理。
4.2功能需求分析
由系统需要的分析可以得出:
1.系统前台展示模块
系统前台展示模块包含主页、主题列表页、主题回复页、搜索、登陆与注册。
2.系统后台管理模块
分类-版面管理:
增加分类/版面、删除分类/版面、更新分类/版面、上下移动分类/版面。
用户管理:
删除用户、锁定用户、修改用户角色等功能。
4.3实体-联系分析
根据对本系统的需求及功能的分析,本系统涉及6个实体:
角色、用户、分类、版面、主题、回复。
上述的实体的E-R图如下:
角色E-R图主题E-R图
用户E-R图回复E-R图
分类E-R图版面E-R图
5、系统总体设计
经过需求分析阶段的工作,对需求进行有了大致的了解。
当下就是将用户的需求模型化、可见化的展现出了。
即对本系统进行总体的设计。
初步设计出系统的总体轮廓。
如图5-1层次图。
图(5-1)
5.1搜索模块设计
搜索模块设计的目的是为了让用户能够开始的得到自己感兴趣的文章,也是一中提升用户体验的方式。
搜索分为高级搜索与主题搜索。
5.1.1高级搜索设计
在高级搜索中提供了按主题搜索、按文章作者搜索、按文章所属分类搜索、按文章所属版面搜索、发表开始时间搜索、发表结束时间搜索,也可以任意多条件组合搜索。
如下(5-1-1)层次图
图(5-1-1)
5.1.2主题搜索设计
主题搜索的设计目的是为给用户提供一个快速的、简单的主题查询,查询的条件为主题包含的关键字。
5.2用户管理模块设计
用户作为系统的使用者,不同的使用则拥有不同的操作权限。
用户当权限允许才可以相应的操作,对于本系统的用户可以划分层:
游客、普通会员、版主、超级版主、管理员五用户类型。
5.2.1游客设计
作为游客拥有最低的用户权限,即查看论坛系统的公共版块,另外可以进行注册成员和登陆功能。
如图(5-2-1)游客层次图
图(5-2-1)图(5-2-2)
5.2.2普通会员设计
普通会员除了拥有游客的权限外,还可以发表主题。
对自己活别人发表的主题进行回复。
可以进入个人中心,查询自己的会员信息,删除自己已发表的主题,修改自己已发表的主题,修改头像,修改密码等操作。
如图(5-2-2)普通会员层次图
5.2.3版主设计
版主除了拥有普通的会员权限外,还可以对版面进行部分操作的权限,比如对版主所在的版面删除主题,删除回复的操作,对应主题进行锁定,对主题进行屏蔽,对主题解锁/解除屏蔽的操作。
对好的主题设置为推荐贴。
如图(5-2-3)版主层次图
图(5-2-3)图(5-2-4)
5.2.4超级版主设计
超级版主是对一个分类的进行管理的角色。
除了具有版主的权限外,可以其的版面进行操作,如删除版面,添加版面,编辑版面,上下移动版面,更新版面的版主。
可以分类下的主题/回复进行操作,类似于版主的操作。
如图(5-2-4)层次图。
5.2.5管理员设计
管理员拥有最高用户权限,不仅可以管理用户,还可以分类和版。
对用户管理包括:
删除用户,锁定用户(锁定的拥有不能登陆)。
对分类的操作包括:
增加新的分类,删除分类,编辑分类,上下移动分类等。
对版面的操作包括:
增加新的版面,删除版面,编辑版面,上下移动版面等。
如下图(5-2-5)管理员层次图。
图(5-2-5)
5.3分类管理模块设计
分类模块即是类似版面的集合。
是为更有效的管理版面而设计,而且分类的设计使得本系统更具有层次感。
在分类模块中包含:
增加分类功能、删除分类功能、编辑分类功能、显示分类列表功能、上下分类功能、添加超级版主、删除超级版主功能、删除超级版主功能。
如图(5-3)层次图
图(5-3)图(5-4)
5.4版面管理模块设计
版面是包含主题的集合,版面的设计也是为便于管理主题,相类似的主题应放到同一的版面下。
在版面管理模块中应包含增加版面功能、删除版面功能、编辑版面功能、显示版面列表功能、上下移动版面功能、增加版主功能、编辑版主功能、删除版主功能。
如图(5-4)层次图。
5.5文章管理模块设计
文章包含主题(贴子)和回复,文章也是用户之间交流的实体,用户一方面通过发表主题提出讨论的话题。
另一方面用户通过回复发表自己对某一个话题(主题)提出自己的见解。
所以在文章管理模块中应包含主题管理模块与回复管理模块。
5.5.1主题管理模块设计
主题也是用户操作的一个实体对象,也称为贴子,对于主题模块应该包含删除主题功能,发表主题功能(发表公告贴:
一般为具有管理权限的用户发表的贴子,如管理员、版主等,发表置顶帖:
该类型贴一般为用户较关心的时事贴,发表普通贴)、编辑主题功能、锁定主题功能(锁定的主题不回复)、解锁主题功能、屏蔽主题功能(屏蔽的主题只有在具有管理权限的用户才会显示,对应没有管理权限的用户是不显示的)、查询主题功能、将主题设为精华帖(具有管理权限的用户可以将某个好的贴设为精华)。
如图(5-5-1)主题模板层次图。
图(5-5-1)图(5-5-2)
5.5.2回复管理模块设计
回复页是用户操作的一个实体对象,用于参与主题讨论的载体对象。
回复模块相对于主题模块并没有提供过多功能。
但应该具备发表回复功能、删除回复功能、查询回复列表功能。
如图(5-5-2)回复模块层次图。
5.6权限管理模块设计
由本系统的需求分析可得,本系统只有五种类型的用户:
游客、普通会员、版主、超级版主、管理员。
为了减少系统的操作量,本系统的权限以固化与权限表中。
权限的级别分别为:
普通会员、版主、超级版主、管理员。
这几种权限的所具有的操作权限对应用户管理模块中的普通会员模块、版主模块、超级版主模块、管理员模块中所对应的功能操作。
5.7对象模型设计
由需求分析的实体-联系分析得,而实体在java编程中映射成对象,即JavaBean对象。
实体-联系映射到Java中的关系如下如图(5-7)类图
图(5-7)
5、系统详细设计
在该阶段的目标是确定应该怎么样具体的实现需求的系统,即在该阶段对目标系统进行精确的描述。
对每一个模块的功能进行逻辑实现。
在B/S模式下,客户端与服务器的交互,首先是通过用户在浏览器服务器URL请求给服务器端,有服务器处理用户请求后,在将请求结果返回给浏览器,显示给用户。
这其实就是基于请求响应模式,用户每点击一次超链接,就是在向服务器端发送一个用户请求。
服务器端在接收到用户请求后,经过服务器的处理后,将处理结果封装到超文本中,响应到客户端浏览器中。
如图(5-0)事件跟踪图
图(5-0)
5.1数据库设计
由系统需求分析的实体-联系分析可得,数据库的逻辑表包含有:
权限表、用户表、分类表、版面表、主题表、回复表。
在本系统中使用的数据库为MySQL数据库。
这些表数据库表结构如下图所示。
版面表(bbs_forum)
权限表(bbs_role)
用户表(bbs_user)
主题表(bbs_topic)
回复表(bbs_reply)
分类表(bbs_category)
5.2有关用户功能设计
有系统的总体设计的用户管理模板得到,有关用户功能包含有:
用户注册、用户登录、用户注销、查看用户信息、查看用户发表的主题列表、查看用户发表的主题、修改用户密码、修改用户头像等功能。
5.2.1用户注册
用户注册首先在客户端对用户的输入信息进行校验。
只有注册用户输入正确的信息后才提交到服务器端,而在服务器端在次对注册信息进行校验。
在服务器验证成功的将用户保存到数据库中,若服务器端验证失败,则没有注册成功,并返回用户注册页面。
将用户保存到数据库即注册成功。
如图(5-2-1)用户注册状态图。
图(5-2-1)
5.2.2用户登陆
用户登录首先也需要在客户端验证登录信息格式是否正确,格式不正确的是不能够提交。
在登录信息的格式正确的情况下,才提交到服务器端,判断登陆名与密码在数据的用户是否存在于数据库中,若有则登陆成功,若无则登陆失败。
如图(5-2-2)用户登陆状态图。
图(5-2-2)
5.3分类有关功能设计
分类有关的功能包括:
增加分类、删除分类、编辑分类、查看分类列表、上下移分类、编辑超级版主等。
如图(5-3)分类有关功能状态图
图(5-3)
5.3.2新增分类
增加分类必须先在客户端对新增的分类进行验证。
客户端成功还有以进行服务器端的验证。
验证成功后才可以向数据库中增加新分类。
新增分类后返回到分类列表。
如图(5-3-2)新增分类状态图。
(5-3-2)
5.3.3编辑分类
编辑分类类似于新增分类。
也得必须先在客户端对新增的分类进行验证。
客户端成功还有以进行服务器端的验证。
验证成功后才可以向数据库更新分类。
编辑分类后返回到分类列表。
5.3.4删除分类
删除分类虽没有验证这道步骤。
但当执行删除分类这个操作的同时,还有删除分类下的所有版面及其下的所有主题与回复。
删除完分类后同样要返回到分类列表。
5.3.5上移与下移分类
上下移动分类的目的是改变分类在页面上展示先后顺序。
上下移动分类虽不需要验证。
但在上下移动分类是必须判断分类是否是第一个分类与最后一个分类。
因为第一个分类不能上移,最后一个分类不能下移。
如图(5-3-5)上下移动分类状态图。
图(5-3-5)
5.3.6分类的超级版主操作
分类的超级版主操作包含:
新增超级版主、更新超级版主和删除超级版主。
不管是那种操作,其实都是在更新分类。
在新增超级版主与更新超级版主都必须先获取具有超级版主权限的用户,从而选择指定的用户作为当前分类的超级版主。
5.4版面有关功能设计
在版面主要功能包括:
新增版面、删除版面、编辑版面、上下移动版面。
5.4.1新增版面
新增版面如新增分类一样。
必须先通过客户端的验证,然后再通过服务器验证。
对符合验证规则的版面才对其进行数据库的插入操作,完成新增版面的功能需求。
而且在新增版面时必须要确定新增的版面所属的分类。
在完成新增版面操作后返回分类列表(在分类列表中包含有版面列表)。
如图(5-4-1)新增版面状态图。
图(5-4-1)
5.4.2删除版面
版面是相似主题的存储集合。
那么在删除版面的同时,必须也要删除版面下的所有主题。
主题关联着回复,所以还要删除下属主题的所有回复。
删除完版面返回到分类列表。
5.4.3编辑版面
编辑版面操作,其实就是更新版面的信息,如版面名称以及版面描述。
所以在编辑版面时,必须进行客户端验证和服务器端验证。
只有符合版面名称规则和版面描述规则才对其进行数据库的更新操作。
如图(5-4-3)编辑版面状态图。
图(5-4-3)
5.4.5上移与下移版面
版面上下移动功能,其目的是改变版面在页面中的显示顺序。
从而可以突出版面之间轻重之分、突出重点。
版面上下移动的范围是在同一个分类下进行。
而且最上的版面不能上移,最下的版面不能下移。
上下移动版面后返回到分类列表。
5.4.6版面的版主操作
版面的版主操作包括:
增加版主、更新版主、删除版主。
这些操作其实是对版面进行更新操作。
对应增加版主与更新版主之前必须先获取到具有版主权限所有用,然后再这些用户中选择用户作为版主,一个版面只有一个版主。
在进行更新版面操作后返回到分类列表。
5.5主题有关功能设计
主题作为一个论题的发起者。
其功能模块应包括:
发表主题、删除主题、编辑主题等功能。
为了便于用户快速的查询相应的主题,所以还应提供一些查询操作,查询公告贴、查询置顶帖、查询精华帖、查询推荐贴和搜索功能。
对于主题还应提供一些制约功能,如锁定、屏蔽等操作。
5.5.1发表主题
发表主题需要先进行客户端验证,确定发表的主题所属的版面,主题标题不能为空,主题的内容不能为空。
然在进行服务器验证。
并且还要验证用户是否登陆,只有登陆的用户才可以发表主题。
在经过一系列的验证过后才主题进行插入操作。
完成发表主题后转发到主题-回复列表。
如图(5-5-1)发表主题状态图。
图(5-5-1)
5.5.2删除主题
删除主题只有管理员、主题所属版主、主题所属的超级版主和发表主题的作者才具备的权限。
所以验证登录用户权限。
同时在删除主题的同时,删除主题下是回复,并修改版面中的主题数与文章数。
如图(5-5-2)删除主题状态图。
图(5-5-2)
5.5.3编辑主题
编辑主题要进行客户端与服务器的验证。
同时要判断用户是否登陆。
用户只要在登陆的状态才对自己发表的主题进行编辑。
5.5.4锁定/屏蔽/解锁/主题
锁定/屏蔽主题是限制用户对主题操作的一种手段。
如锁定的主题不能回复,屏蔽的主题非权限允许不显示。
锁定/屏蔽/解锁/为所属的版主、超级版主、管
理员才具有的操作。
所以要进行登录用户验证。
完成操作后返回到主题列表。
5.5.5搜索主题
搜索主题功能的设计为了用户能快速的查找到自己想要看的主题。
搜索主题模块包含了单条件主题搜索和组合条件主题搜索。
1、单条件主题搜索
单条件主题搜索的搜索对象为主题的标题,若主题标题中包含有用户输入的关键,则该主题被查询出来。
2、组合条件主题搜索
组合条件搜索可以按主题标题搜索,可以按主题作者进行搜索。
可以搜索指定分类、指定版面下搜索主题,可以按发表开始时间、结束时间搜索主题。
当然也可以任意组合搜索主题。
如图(5-5-5-2)组合条件主题搜索状态图。
图(5-5-5-2)
5.6回复有关功能设计
回复作为参与论题讨论的一个实体。
包含有发表回复和删除回复等功能。
5.6.1发表回复
用户发表回复必须在登录状态下才可以进行。
还有回复的内容不能为空。
所以需要在客户端和服务器进行回复内容的验证。
在发表回复的同时,需要更新主题回复数量和最后回复。
另外还有更新版面的文章数(回复也是文章的一种形式),在完成这一系列的操作后,返回到主题回复列表。
1.简单回复:
在简单回复中,回复内容只能为文本内容,表情图片等,但插入外部图片等多媒体文件。
2.引用回复:
引用回复引用他人回复的内容作为的自己的回复内容。
3.高级回复:
在高级回复中,回复内容不仅可以为文本内容,表情图片等还可以插入外部图片等多媒体文件。
在发表回复的时候要进行登录验
证和回复内容不为空验证。
如图(5-6-1-3)高级回复状态图。
图(5-6-1-3)
5.6.2删除回复
删除回复需要版主权限、超级版主权限、管理员权限才可以进行操作。
所以需要进行登录验证。
只有符合这些角色的用户才可以进行操作。
另外删除回复的同时,需要更新主题的回复数(回复数-1),更新版面的文章数(文章数-1)。
删除完回复后转发到主题回复列表。
6、系统实现
本系统使用基于Java的M(模型:
JavaBean)V(试图:
JSP)C(控制:
Struts2)框架设计模式,实现业务逻辑、数据、界面显示分离。
6.1数据库连接
在数据库连接使用Hibernate框架,对于Hibernate底层使用的是JDBC技术,从而实现数据库的建立连接,发送操作数据库的语句并处理结果。
数据库连接配置文件(hibernate.cfg.xml):
数据库连接语句:
数据库的增、删、改、查,都先得到Session对象,然后通过该对象进行操作。
6.2系统主要功能模块设计
6.2.1主页显示设计
在主页中包含有各类主题列表和分类-版面列表。
如图(6-2-1)主题效果图。
图(6-2-1)
6.2.2发表主题模块设计
在发表主题模块中,包含有登陆验证、分类验证、版面验证、主题标题验证、主题内容验证。
如图(6-2-2)
图(6-2-2)
部分关键代码:
6.2.3回复主题模块设计
回复模块提供三种回复方式:
简单、应用、高级
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BBS 博客 网站 设计 实现 毕业设计 论文