毕业设计论文专用纸.docx
《毕业设计论文专用纸.docx》由会员分享,可在线阅读,更多相关《毕业设计论文专用纸.docx(17页珍藏版)》请在冰豆网上搜索。
毕业设计论文专用纸
BBS—论坛系统的设计与实现
学校:
昆明理工大学津桥学院
系部:
计算机科学及电子信息工程系
专业:
计算机科学与技术
年级:
2007级
学生姓名:
李加顺
学号:
200716021204
指导教师:
代飞
TheDesignandImplementationofBBS
University:
OxbridgeKunmingUniversityofScienceandTechnology
Department:
ComputerScienceandElectronicInformationEngineering
Specialty:
ComputerScienceandTechnology
Class:
2007
Student’sName:
LijiaShun
Student’sNumber:
200716021204
FacultyAdviser:
FeiDai
BBS—论坛系统的设计与实现
摘要
通用论坛BBS系统是按照MVC模式进行设计实现的,采用Tomcat作为后台服务器,以SQL数据库作为数据服务器,使用Struts进行逻辑控制,表现层用JSP页面显示,用于在网络上为网民提供一个信息发布、获取的场所。
实现了查看、发表、删除帖子功能,论坛帖子版块控制,注册用户可以修改自己的个人信息、增加好友与黑名单以及用户之间发送短信息,管理员可以对用户、帖子,版块、用户组、版块权限和用户组权限进行管理。
论文从问题的提出、基本设计思想、数据的流向到具体的设计过程都做出了详细论述。
关键词:
BBS;论坛;主题;回复
TheDesignandImplementationofBBS
Abstract
ThegeneralforumBBSsystemisbasedonmodeofMVC,usingTomcatasthewebserver.ThedataisstoredintheMySQLdatabase.TheStrutsandSpringrealizesthelogicalcontrolandtheperformanceleveldemonstratedwiththeJSPpage.Thesystemisusedtoprovideaplacewherepeoplecanreleaseandgaininformationonline.Thesystemprovidethefunctiontolookover,deliveranddeletetheinformationandtheuserregisteredcanchangetheirowninformation,addgoodfriendsandblacklist.Theusersalsocantransmitinformationbetweeneachother.Themanagermaytotheuser,thecard,thesector,theusergroup,thesectorjurisdictionandtheusergroupjurisdictioncarriesonthemanagement.Thepaperfromthequestionproposedthatthebasicdesignthoughtthatdatahasmadethedetailedelaborationflowdirectiontotheconcretedesignprocess.
KeyWords:
BBS;forum;topic;Reply
引言
1.课题研究背景
BBS系统最初是为了给计算机爱好者提供一个互相交流的地方。
70年代后期,计算机用户数目很少且用户之间相距很远。
因此,BBS系统(当时全世界一共不到一百个站点)提供了一个简单方便的交流方式,用户通过BBS可以交换软件和信息。
到了今天,BBS的用户已经扩展到各行各业,除原先的计算机爱好者们外,商用BBS操作者、环境组织、宗教组织及其它利益团体也加入了这个行列。
只要浏览一下世界各地的BBS系统,你就会发现它几乎就象地方电视台一样,花样非常多。
起初的BBS系统是报文处理系统。
系统的唯一目的是在用户之间提供电子报文。
随着时间的推移,BBS系统的功能有了扩充,增加了文件共享功能。
因此,目前的BBS用户还可以相互之间交换各种文件。
只需简单地把文件置于BBS系统,其它用户就可以极其方便地下载这些文件。
随着Internet技术的快速发展,人与人之间交流方式逐渐增多。
网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方式。
此外,为了方便人们在某一专业领域探讨问题很发表意见。
Internet上还出现了在线论坛。
在论坛上,人们可以对某一领域提出自己遇见的问题,即发某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出解决问题的方法。
2.国内外发展现状
1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(ComputerizedBulletinBoardSystem/Chicago),此乃最早的一套BBS系统。
之后随着苹果机的问世,开发出基于苹果机的BulletinBoardSystem和大众信息系统(PeoplesMessageSystem)2种BBS系统。
1981年IBM个人计算机诞生时,并没有自己的BBS系统。
直到1982年,BussLane才用Basic语言为IBM个人计算机编写了一个原型程序。
其后经过几番增修,终于在1983年通过CapitalPCUserGroup(CPCUG)的CommunicationSpecialInterestGroup会员的努力,改写出了个人计算机系统的BBS。
经ThomasMach整理后,终于完成了个人计算机的第1版BBS系统——RBBS-PC。
这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。
大约是从1991年开始,国内开始了第一个BBS站。
经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。
1996年更是以惊人的速度发展起来。
国内的BBS站,按其性质划分,可以分为2种:
一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。
由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。
多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络ChinaFidoNet(中国惠多网)。
于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。
这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。
由于业余BBS站拥有这种优势,所以使用者都更乐意加入。
这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。
一般BBS站都是由志愿者开发的。
他们付出的不仅是金钱,更多的是精力。
其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平
国内的BBS站,大多数还是大型综合性BBS站。
随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨。
但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。
尽管BBS站台的数量在不断增长,但BBS的发展过程,也出现了一些问题。
由于国内使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。
虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。
另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。
而国内自己开发的BBS基本上都是处于最原始的JSPMODEL1模式,这种模式是控制层与表示层合二为一,虽然开发简单,但是拥有很差的扩展性,可维护性,这样极大的限制了BBS站点的扩展,
于是在这种情况下,本文提出了目前比较流行的,基于MVC模式的Sturts的BBS论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛!
3.研究内容
BBS系统就是提供给注册用户一个平台,会员用户可以通过Internet接入,登录论坛,在这个平台上发表文章、阅读文章、回复文章等等。
此类系统通常有以下四种类型的操作用户:
匿名用户、普通用户、版主、管理员、超级管理员。
每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。
与之相应,此类系统通常应具有以下功能:
用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、主题查找、作者查找、个人资料维护、找回密码、版面管理、版主管理、用户管理、友情链接管理等等,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。
这就是所谓的B/S结构应用系统,B/S结构即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
早期的软件系统多以此作为首选设计标准。
B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓N-Tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
结合BBS论坛系统实际需要,本BBS系统采用B/S结构。
论文设计开发的系统为通用BBS系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的Web平台。
另外,通用系统应该具备较大的可扩展性,而Java语言是面向对象的,面向对象编程注重程序的可扩展性,且Java语言是跨平台执行的,JSP相对其他网页编程语言有更多的优点,所以本系统采用Java+JSP作为编程语言。
4.目的与意义
为了进行更好的交流,用户想就自己的专业和爱好能和其他的用户进行及时专业的交流,这就有了论坛,这样以来我们就可以在网络这个虚拟的空间中方便地实现交流。
Internet上发布信息主要是通过网站来实现的,获取信息是要在网站论坛中和Internet“海洋”中按照一定的检索方式将所需要的信息的。
因此论坛建设在Internet应用上的地位显而易见,它已成为现代人勾通和获取信息的重要组成部分,从而倍受人们的重视。
现在各个大学网站都有BBS论坛,在BBS上,同学与同学之间,老师之间可以非常轻松的进行交流,有网络的地方,不同的地区和国家的各种不同的人都可加入到BBS上进行交流。
这也节省了大量的教育资源,和充分的利用教育资源。
3.技术路线
本系统是一个B/S结构的BBS系统,用户操作界面通过JSP技术实现,系统后台处理通过Servlet技术实现。
本系统开发前期的准备工作:
(1)开发平台:
由于在本系统开发过程中需要编写JSP和Java代码,为了减少编写不同类型的代码所带来的频繁的开发工具之间的切换,本系统的开发平台采用eclipse3.3.2。
(2)运行平台:
由于系统使用了JSP和Servlet技术,所以需要一个JSP,Servlet的容器,用来解析和运行JSP,Servlet文件。
本系统运行平台采用的是tomcat-5.5.26。
(3)JDK版本:
系统开发和运行时所使用的JDK版本是1.5.0。
(4)使用的框架:
为了增加系统的可维护性和重复使用性,本系统采用了Struts框架,其版本为1.3.10。
(5)系统数据库:
本系统使用的数据库是SqlServer2000。
本系统的开发步骤:
(1)配置JDK和Tomcat:
安装jdk1.5.0并在系统环境变量中进行相应配置;安装tomcat-5.5.26并在系统环境变量中进行相应配置。
(2)配置Eclipse:
安装eclipse3.3.2;安装Tomcat插件,安装emf插件,安装lomboz插件;在eclipse中配置Java,设置Lomboz,调出Lomboz各个菜单并进行相应配置。
(3)引入Struts框架:
在应用项目中导入Struts1.3.10中的相应jar包。
(4)配置web.xml文件:
由于引入了Struts框架,并且系统中的主控制器ActionServlet是Struts框架中的元素并且它是一个servlet,所以需要在web.xml中进行相应的配置。
(5)建立Struts配置文件:
由于Struts是一个框架,所以它具有自己的配置文件,否则Struts就不具有灵活性了,也就不能称之为框架了,本系统使用了Struts默认的配置文件名即struts-config.xml。
(6)开发视图层:
开始编写视图文件即JSP文件。
(7)开发ActionForm:
由于使用了Struts框架,所以我们不在需要通过request.getParameter()来获取请求中的参数了,Struts框架通过ActionForm来封装请求中的参数,所以我们需要定义ActionForm来封装请求中参数,然后供Action使用。
(8)开发Action:
Action也成为后端控制器,它用来接收ActionForm,然后,调用后台业务逻辑,最后,返回给ActionServlet相应的视图关键字并附带业务逻辑处理结果。
注意,开发ActionForm应该在Action之前,因为ActionForm是被Action调用的,是为Action服务的。
(9)开发Model:
Model即业务逻辑模型,它被Action所调用,用来处理请求参数,并将业务逻辑结果返回给Action。
7.本文的结构
第一章:
需求分析。
第二章:
系统设计。
本章首先介绍系统的目标,确定系统的功能结构,绘制系统业务流程图,浏览一下系统的典型页面,实现系统的开发环境,系统的业务逻辑编码规则以及文件的组织结构。
第三章:
系统实现。
本章主要介绍系统实现的软硬件平台,以及相应模块的实现和系统运行时的关键界面。
第四章:
数据库设计。
本章首先对数据库进行简单的分析,数据库的概念设计,数据库的逻辑结构。
第五章:
公共类设计。
第1章需求分析
1.1需求概述
开发编程BBS系统的目的是提供一个供编程者交流的平台,为广大编程者提供交流经验、探讨问题的社区。
因此,编程体验BBS最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。
此外,为了记录主题的发表者和主题的回复者信息,系统还需要提过那个用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题。
浏览者只能浏览主题信息。
根据用户的需求及上面的分析,编程体验BBS需要具备以下功能:
显示各论坛类别及版面、查看版面下所有根贴、查看精华帖子、查看自己发表的帖子、搜索帖子、查看根贴内容、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理、用户管理和用户注册。
2.1 可行性分析
商业软件是根据客户的根本目的和需要而设计和开发的,可行性是开发的系统具有使用价值和生命力的保证。
2.1.1 社会可行性
当前社会是一个网络化的社会,网络就在人们周围,人们从网络上获取并发布信息,而本系统正是应这一需求而产生,为企业,个人发布,获取有价值的信息提供场所。
所以本系统具有社会可行性。
2.1.2 技术可行性
1.2.1技术可行性分析
2.1.1开发语言综述
本系统是基于面向对象思想的JAVA语言中J2EE平台进行编写,J2EE平台具有以下优点
1.简化结构:
J2EE平台支持简化的、基于组件开发模型,由于J2EE基于Java编程语言和J2SE平台,它提供了编写一次,随处运行的可移植性,遵循J2EE标准的所有服务器都支持该模型。
EJB组件使编写应用程序更为简单。
尽管EJB体系结构复杂,但应用程序开发人员一般都必再编写访问系统服务的代码,EJB容器会实现系统级的服务,例如,事务、安全性等。
另外,J2EE还支持异构环境。
基于J2EE的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于J2EE的程序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。
J2EE标准还允许客户订购与J2EE兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用。
2.提高开发效率:
由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。
例如:
图形设计师创建JSP模板,商业逻辑由该领域的专家完成,JSP页面和EJB由Java工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。
3.可移植性强:
除了Java语言固有的可移植性外,EJB体系结构在Bean和支持该Bean的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将Bean从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。
4.重用性好:
由于在EJB模型中,各个软件组件都是严格分离的,因此,可以从现有的软件组件装配出服务器端应用程序,这与从现有的JavaBean可以装配出客户端应用程序一样,使软件能够重用。
5.易于维护:
基于组件的设计简化了应用程序的维护。
由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。
6.可伸缩性:
企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。
J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。
7.被广泛接受:
主要的IT供应用商都采纳EJB体系结构,不同供应商的产品只要符合EJB体系结构,就都是可互操作的。
2.1.3 经济可行性
经济可行性是指软件所带来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会给使用者带来经济效益。
首先随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格不断下降,设计本系统所投入的资金下降。
与使用本系统为企业发布、获取信息所节省的价值相比,应用本系统带来的收益较大,经济效益可观,所以在经济上是可行的。
2.2 需求分析
需求分析虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。
随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中所处的地位愈加突出[1]。
所谓需求,是指用户对目标软件系统在功能、行为、性能设计约束等方面的要求。
在需求分析工作中,系统分析人员对用户的需求进行调查和分析,确定现有环境的特征,正确定义目标软件的特征。
因此,需求分析工作是对应用环境及其问题进行理解和分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化。
通用论坛BBS系统设计实现以下功能:
①用户中心:
包括用户注册、用户登录、用户注销、增加好友、删除好友、增加黑名单、删除黑名单、发送短信息、查看短信息、删除短信息、修改个人资料等功能。
②主题中心:
包括主题分类(论坛版块)、查看主题、查看回复、发表主题、发表回复、对主题或回复进行搜索等功能。
③管理员中心:
管理员对论坛进行一些基本的维护,包括对帖子的删除、置顶、设为精华帖,对用户的删除、授权,对版块的权限管理,对用户组及用户组的权限的管理等[2]。
④统计功能:
对论坛的相关参数进行统计。
2.2.1 用户中心
当用户进入网站首页时,会有一个登录窗口,已经注册的会员用户可以在这个窗口中登录。
没有登录的用户只能查看主题,不能发表主题或评论。
登录之后,用户就可以发表主题或回复;查看或修改自己个人信息,包括修改用户头像,可以选择自己喜欢的图片作为自己的头像;可以给好友发送短信息,查看或删除自己收到的信息;用户可以在好友与黑名单里设置自己的关系网,让用户与自己的好友交流更加方便,也可在让用户不接收不愿意见到的人的信息。
没有注册的用户可以在登录窗口中点击注册超链接进入新用户注册页面,输入用户名、密码、密码提示问题、提示问题答案及安全邮箱,即可注册成为网站的会员。
密码提示问题是为找密码设置的,当用户忘记密码或密码丢失后可以通过输入提示问题答案来找回密码,如果用户回答正确,系统会自动发送一封邮件到用户的安全邮箱里,提示用户修改密码。
2.2.2 主题中心
系统有版块,主题和回复,其中版块是对主题的分类,回复是在主题下发表的,是用户对主题的评论。
当用户进入首页时会显示论坛的所有版块及每个版块下的主题数,帖子总数,最后发表主题的用户、时间。
进入版块之后显示该版块下的主题及该主题下的回复数,点击数,最后发表评论的用户、时间。
。
点击主题名进入主题页面,该页面有主题内容,发表该主题的用户的用户名、积分、用户组、注册时间,该主题下的回复及发表回复的用户的个人信息。
已登录用户可以在版块下发表主题,在主题下发表回复,还可以按关键字对主题或回复进行搜索,并支持模糊查询。
匿名用户只能查看主题内容,对主题或回复进行搜索,但不能发表主题,不能发表回复。
2.2.3 管理员功能
管理员作为一个特殊的用户,除了拥有普通用户拥有的功能外,还可以修改用户权限,管理用户组,管理版面,设置版主,控制用户组权限。
版主作为权限最少的管理者只能对自己所管理的版面的主题进行删除、置顶,设置精华贴,屏蔽用户的回复,编辑版面说明等。
2.2.4 统计功能
显示论坛当前注册总人数、当前帖子总数、论坛点击总数、当前在线人数,会员人数以及游客人数。
用户表现积分排行,调动用户积极性。
用户每次上线、发表主题或回复都会得到相应的积分,并以此来体现用户的活跃程度。
系统会对主题按点击数进行排序,对版面按主题数进行排序,帖子点击统计,方便了解热点话题。
本日版面排行榜,本日作者排行榜。
第2章系统设计
2.1系统目标
对于典型的数据库管理系统,尤其是对象论坛这样的数据流量特别大的网络管理系统,必须马子使用方便、操作灵活等设计需求。
本系统在设计师应该满足一下几个目标:
☑采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。
☑全面展示系统内所有分类的帖子,并进行分页显示。
☑为用户提供一个方便、快捷的主题信息查看功能。
☑实现在线发表帖子。
☑提供登录模块,主要用于管理员登录系统和发表帖子时留下发表者的信息。
☑用户随时都可以查看自己发表的帖子。
☑对用户输入的数据,系统镜像严格的数据检验,竟可能排除人为的错误。
☑系统最大限度地实现了易维护性和易操作性。
☑系统运行稳定、安全可靠。
2.2系统功能结构
用户访问论坛首页面后,可进行查看版面下的根贴信息、查看自