BBS论坛毕业设计论文.docx
- 文档编号:11897164
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:22
- 大小:3.63MB
BBS论坛毕业设计论文.docx
《BBS论坛毕业设计论文.docx》由会员分享,可在线阅读,更多相关《BBS论坛毕业设计论文.docx(22页珍藏版)》请在冰豆网上搜索。
BBS论坛毕业设计论文
引言
WEB技术不断发展的现在,跨入二十世纪后期,我们吃惊地发现一批通过网络传输信息的新的形式正在从“三大媒介”中的突围出来,从而有了突飞猛进的发展,而BBS论坛在其发展过程中,由一个互联网的日常应用发展成一种日益普遍的社会现象。
论坛服务系统的管理已经成为国网络思想教育以与互联网舆论的主要问题。
在网络上,几乎我们每一个人都有自己在某些一定的领域中有感兴趣的话题、情感或心理上的诉求而进行交流的需要,这种需求引发了网络虚拟社区的诞生。
针对一些国以与国外的论坛发展以与管理状况做比较研究,对国论坛管理水平的提高有很大的意义。
BBS,即电子公告板,它是一种基于远程登录协议访问互联网的形式。
随着网络而兴起的服务,那么基于WEB的BBS也开始强调其交流性,于是论坛(Forum)诞生了。
随着网络技术的发展,电子公告板也在不断发生着变化,主要体现在其含义和功能上。
目前,国外BBS仍停留在最原始的电子公告板的定义上,Forum它是一种单纯基于网络的用户交流区。
在中国的地区,BBS指基于Firebird数据库和Maple(是一种数学和工程计算软件)服务软件上的,提供远程登录协议访问的交流区,。
在中国陆,在意义上严格的讲,BBS基本上仅存于高校,社会上的BBS偶有出现,而且也是属小群体;但是社会上大量存在的论坛,基本上都是仅基于WEB的论坛。
第一章设计相关背景和技术
1.1论坛的国外发展史
1.西方国家
BBS诞生于21世纪之前的70年代的美国,主要用于其成员之间的信息交流与网络通讯,因为那时还没有搜索引擎,浏览器、更不用说个人了。
BBS的主要功能就是进行信息的发布,这些信息主要包括新闻信息、交易信息、用户自己发表的感言和网上的互动。
随着web技术逐渐的成熟,发展,其他功能更强的应用出现了,逐渐挤掉了BBS。
对新闻信息、个人言论、交易信息的发布这三个功能各自单独演化,发展成三个以下类型的分别对应新闻类、博客类和电子商务类。
第四个功能互动式问答在将来也会被分离出来但现在还没有出现该领域的。
进入到21世纪的前十年,电子公告板把主要的应用转移到了Forum上,逐渐演化出现在的BBS论坛。
因此,WEB技术的发展,使得电子公告板的影响力正逐渐的减小,现在我们以美国为例,现在只有少数BBS论坛的存在是主要用于提出和解决问题的,而绝大多数高校基本上已经没有BBS论坛的存在了,而集中表现在针对软件或商品的技术支持电子公告板和技术类的等。
对于中文BBS是属于人气极旺的,因为它的管理机制简单,不会有言论的约束,用户们可以自由的进行言论的交互。
通过以上的阐述发现西方国家对BBS的直接研究是很少的,而间接的研究主要集中在针对网络社会中的行为方式、价值观念、人际关系和社会结构方面等,也就是在对网络社会、虚拟社区方面。
对虚拟社区的研究主要包括自身特征与社会问题等进行研究。
2.中国港台地区
20世纪80年代,西方的电子公告板传入中国地区,并在20世纪90年代大学电子计算中心推出TANetBBS(中文环境的论坛)之后,自此风靡各个大学。
甚至一些大学竟然有100多个BBS站之多。
相比之下,地区的BBS数量却是比不上大学的,并且部分院校的BBS不对外开放,据调查显示网民经常使用BBS讨论组的比例只有5%。
但是,地区的BBS发展势头却是比地区快。
因为BBS在地区出现的时间早,从柯舜智开始涌现出许多关于BBS的文章发表,有更多的人参与到它的研究中,尤其是在人与人之间的沟通交流问题,会议日程设置问题,身份的验证等方面的研究有很强的代表意义,它有很好的前瞻性。
自然对于BBS的研究成果是比较丰硕的。
3.中国大陆BBS论坛的发展和现状
长城站成为中国大陆最早的BBS论坛,由于20世纪90年代国互联网普与的条件限制,所以当时每天用户访问量也就只有十几人。
在此3年后的春天,曙光BBS站继长城站作为中国大陆第一个网络BBS站而开通。
由于计算机与其外设的大幅度降价、使得互联网在国的快速发展已经快达到普与的程度,BBS和Forum逐渐被网民所认识认识,并以惊人的速度发展扩大成长起来。
国的BBS在二十世纪九十年代的时候到达了一个巅峰状态,网络上涌现了各种各样的论坛,因为竞争的关系网络论坛功能更加全面,涉与围更加广泛,用户数量越来越多。
在此之后,由于发展的速度以与无序和不妥善的管理,在网络泡沫(表示发展太快,太神奇的网络)的冲击之下,很多论坛迅速消亡了。
自此,国的BBS进入一个崭新的时代。
据统计,每年使用BBS的网民数量都会大幅度增长,由此可见BBS论坛作为国互联网的应用在互联网中依然有很重要的地位。
在大多数研究者看来,因为论坛易用、实用、简单的特点减减突显,相信BBS论坛在将来会向个性化和专业化的方向发展。
1.2开发工具的介绍
1.2.1spring介绍
Spring是完全开源的框架,它由Spring之父RodJohnson创建。
Spring用于整合,好处是解耦。
解耦的含义就是:
它可以降低组件之间的关联,改善程序结构,它的这个特点充分的体现了系统的维护和扩展的优点。
使用Spring框架时,我们主要是用Spring容器的两个特性就是IoC和AoP。
IoC全称InverseofControl(反向控制或控制反转)。
是类之间存在控制权,此处所说的控制权指的就是对对象的创建和使用,比如我们现在有类college和类school,而我们之前的做法就是在college中调用school,那么控制权就在college中,这样做的耦合度较高,如果修改了school,college也要做修改。
我们使用Spring框架后,控制权由spring容器来管理。
当college想调用school时,需要由Spirng容器通过进行注入用配置文件。
此方案有一种完整而简洁的美感,他把对象的依赖关系有序的建立起来,简化了对象依赖关系的管理,很大程度上简化了面向对象系统的复杂性。
AOP是面向切面编程(也叫面向方面,英文AspectOrientedProgramming的缩写),是不修改源代码的前提下统一给程序动态添加功能的一种技术它是通过预编译的方式和运行期动态代理来实现的。
例如:
Struts2中的拦截器,就是使用AOP的思想。
使用这种思想编写程序,会使程序更加灵活。
1.2.2Hibernate介绍
1、什么是hibernate?
Hibernate对JDBC进行了封装,对对象进行持久化,并且是一种全自动的工具。
2、为什么要用到hibernate?
这是一种框架,能得到众程序员的喜欢,主要是因为它的优点:
(1)、提高生产力。
(2)、更面向对象化。
(3)、移植性好。
(4)、透明持久化。
不需要特定SQL优化的时候适合使用,但是如果要批量的进行更新、删除都不适合,包括统计。
3、hibernate的使用
(1)配置文件
《1》全局配置文件:
hibernate.cfg.xml:
主要用来实现整个应用程序中使用的数据库,以与这个应用程序中的对象关系映射;
例子:
注意:
1、我们所写的每一个程序的全局配置文件名称都应该是hibernate.cfg.xml,并且默认放在工程的根目录下,也就是与源程序代码同级。
每一个工程只能有一个全局配置文件,如果要使用别的位置的配置文件,调用configuration的有参的构造方法,指定这个配置文件的位置。
如果不是用工具编写的,那么这个配置文件应该跟.classpath放在一块。
2、对象--关系映射文件
命名规则:
className.hbm.xml
ORM的具体细节
ClasstoTable
IdentifiertoPK
Propertiestocolumns
javatypeasdatabasetype
3作用:
使程序中实体类与数据库的表一一对应。
1.3建立设置开发和运行环境
1.3.1.安装支持环境,服务器,开发工具
表1-1运行平台安装位置
软件名称
安装路径
jdk1.7.0_05
C:
\ProgramFiles\Java\jdk1.6.0_02
Tomcat6.0.20
D:
\kkk\MyDocuments\apache-tomcat-6.0.36
Myeclipse8.6
D:
\SoftWare
1.3.2.安装MySQL数据库
从网上下载MySQL数据库的驱动程序包安装上,打开mysql-essential-5.0.87-win32.msi文件按照提示步骤安装,安装结束后,在编码方面会有问题,这时需要安装的目录下找到my.ini修改其中的编码字符集(default-character-set)第一个修改为gbk第二个修改为utf8,所有的开发环境最好在没有装SQL之前装,如果安装过MySQL不能用,那么下次安装前一定要将之前的安装文件删除干净。
1.3.3配置环境变量
安装JavaJDK1.6最重要的也是最容易出错的是设置环境变量。
一共需要设置3个环境变量:
Path,Classpath和Java_Home(大小写无所谓)。
Windows系统在我的电脑的属性中设置环境变量如下图:
点击“高级”选项卡,选择“环境变量”。
在“系统变量”中设置Path,Classpath和Java_Home3个环境变量,如果曾经设置了就选择“编辑”,没有设置选“新建”。
JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径(假设安装在C:
\ProgramFiles\Java\jdk1.6.0_02),其中包括lib,bin,jre3个文件夹(JAVA_HOME变量很重要,因为在以后运行tomcat,Eclipse时等都需要依靠JAVA_HOME)。
Path这个变量使系统在任何路径下都能识别java命令,设为:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
Classpath为加载类时java所需要的路径,类只有在classpath中,java命令才会识别,设为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(要加.表示当前路径)
特别注意:
◆环境变量值的结尾没有任何符号,不同值之间用;隔开(unix中用:
)。
◆CLASSPATH变量值中的.表示当前目录。
配置完成后我们可以在DOS下,命令行中输入java–version就可以查看到java开发工具包版本;输入java命令(运行),可以看到此命令的帮助信息;输入javac(编译)命令可以看到此命令的帮助信息。
看不到则表示java开发工具包配置不正确,重新配置。
1.3.4系统运行环境
1.硬件环境
处理器:
InterPentium(R)Dual-CoreCPUT44002.20GHz或更高
存:
128MB或更大容量
硬盘空间:
1GB
显卡:
NVIDIAGeForce310M显示适配器
2.软件环境
操作系统:
Window98/2000/xp/win7
Web服务器:
Tomcat6或以上版本
数据库:
MySQL
客户端:
IE6.0或以上版本
第二章系统需求分析
需求分析要是开发人员通过用户以文档形式或者口述所提出的需求,进行相应的业务调查,将用户不是很专业的需求转变成程序员所能理解的需求,再由需求定义转换成正规的文档说明。
需求分析与设计是软件开发中很重要的一个步骤,技术,方法以与图形工具是我们在需求分析过程中用到的,还有一些软件工具统称为建模方法。
它之所以成为网民最常使用的网络服务之一原因是网上论坛的言论宽松自由。
本系统的目的就是为用户提供一个网上言论空间。
用户可以根据自己的需求浏览信息、任意的发表感想和其他人交换自己的意见就是本论坛的作用。
2.1系统的功能概述
论坛中可以发表个人的帖子来阐述自己的一些观点,在这里首先通过注册使之成为论坛的用户,注册成功后可以发表个人见解。
管理员可以对注册的用户进行管理。
论坛的目的是为广大的网民提供一个可以自由地发表自己言论的地方。
论坛主要具有以下:
用户注册功能,用户登录功能,管理员登陆,发表文章功能,查询帖子功能,浏览帖子功能,个人信息修改功能。
1.系统业务开发
在用户与开发人员对问题的综合需求,这些需求包括功能与性能,运行环境,用户界面需求这些方面,我们对以上的容进行系统的构建工作,主要是对数据库,业务逻辑,代码编写和测试这些方面的容进行设计。
2.测试发布
在系统开发好以后,需要进行测试,我们也可以在系统开发过程中进行测试(单元测试),完成后进行统一的系统层面的测试,测试包括对系统的健壮性、稳定性、正确性以与效率方面等,并且要搜集有意义的意见,对系统进行有效的改进。
3.用户注册功能
本系统有注册功能,所有没有注册过的用户,不能操作论坛的增删改功能,只能对论坛上的容进行浏览。
4.用户登录功能
用户有了进入系统的身份验证,还应该设置用户登录的界面。
登陆的用户可以对自己的帖子进行增删改查的操作。
设计风格要简捷、美观、易于操作。
5.发表主题功能
用户的主要目的就是进入系统后,能够发表帖子,所以应该设计发表帖子功能。
设计风格要简捷、美观、易于操作。
6.查看帖子具体容功能
查看帖子具体容功能是方便用户点击自己想了解的帖子名称,所以查看功能是必须存在的,对用户提供有选择的观看,只要输入一些关键字就可以了。
设计风格要简捷、美观、易于操作。
7.浏览帖子功能
对于所有注册登录的用户以与未登录的人提供浏览帖子的功能。
设计风格要简捷、美观、易于操作。
8.个人信息修改模块
用户的信息不应该是终身不变的,比如简介和昵称等容,应该可以随自己的愿望来修改自己的信息。
设计风格要简捷、美观、易于操作。
9.退出功能
为了完成用户的安全退出需要提供退出功能,将session销毁,同样需要设计风格简捷、美观、易于操作。
2.2系统的性能要求
对系统性能的要求包括对数据处理响应时间,系统的灵活性,输入输出精确度,故障处理要求和运行所需求的环境规定等的要求。
2.2.1系统时间特性的规定
在时间性能各方面的处理时间均不超过10秒,例如:
当用户注册登录后马上能看到自己发表的主题和帖子。
注意:
有时传送时间由当地的网络决定。
2.2.2系统灵活性
说明对该的灵活性的要求,即判断该系统是否能够灵活的适应需求的变化,主要体现在以下几个方面如:
1.本可以运行在IE6以上的所有版本上;
2.本支持能扩大改进,既支持添加新功能模块,一个模块的改变不会影响其他的模块。
2.2.3输入输出要求
可以对错误的不完整的数据进行校验(JS校验和validition.xml校验),从而保证了数据的一致性与完整性,这样输出就能满足用户的需求。
2.2.4故障处理要求
如果系统出现问题,我们会在第一时间与时更正,保证用户的使用不受影响。
2.2.5运行环境规定
1.硬件设备:
服务器端和客户端InterPentium(R)Dual-CoreCPUT44002.20GHz。
2.支持软件:
服务器端InterPentium(R)Dual-CoreCPUT44002.20GHz/MySQL,客户端WIN7/IE9/Chrome。
3.接口:
本的接口为80,数据通信协议为TCP/IP。
4.控制:
本设立管理人员,可以对用户和帖子进行增,删,改,查的权利,用户只有发表和查看的权利,未注册的用户只能浏览帖子。
2.3系统的技术
论坛中使用的技术有S.S.H(即struts+spring+hibernate),JSP,MySQL等。
S.S.H框架三大免费开源框架的结合,它是软件开发的半成品,提高软件开发的效率,解决软件开发过程中涉与的通用问题。
这里面有很多优秀的设计理念与模式应用。
例如,struts的MVC框架,我们要了解MVC的概念与大致原理;而hibernate属于ORM系统,属于持久层的解决方案;而spring属于应用程序框架,它是对struts与hibernate的粘合剂,使其达到完全解耦的状态等,这些都需要我们有一个大致的了解。
JSP的运用主要是要知道JSP语法的应用和JSP的几大对象的使用等,还有一些乱码的处理,汉字的处理等。
数据库的操作比较重要。
动态就是操作数据库的数据,对数据库的数据进行调度,所以需要熟悉使用SQL语句进行添加,查询,修改和删除等操作。
第三章总体设计
3.1系统功能描述
本论坛用户分为三种:
普通用户、版主和论坛管理员。
他们可以操作的功能是不同的,其中,普通用户有:
注册新用户、进入论坛、浏览论坛、查看帖子。
版主较普通用户来说还可以进行帖子管理,包括删除,修改帖子,发表新贴、查看和修改自己的个人信息等。
论坛管理员拥有的权限,可以进行论坛用户管理、帖子管理。
3.2系统功能结构图
图3-1在线论坛结构图
3.1.1根据系统结构图介绍功能
1.用户注册功能
所有未注册的用户,不能操作论坛的功能.只能浏览帖子功能,不能发表帖子,等.所以在点击“用户注册”后,可以进入用户注册页面,需要用户填写基本信息用户名,还提供了提示用户名是否有重复的名字,密码与密码确认,性别,年龄,电子,并点提交,若输入的信息合法,则注册新用户成功,否则不给予通过.提示输入信息错误.通过注册用户功能注册的新用户只能是普通用户,其权限最低。
2.用户登录功能
点击用户登录,输入用户名字和密码,如果输入的信息合法,则登录成功.否则会弹出对话框提示出错,并重新登录.如果是管理员登录后还可以做更多的操作。
例如删除帖子、修改帖子、编辑的操作。
3.发表主题功能
任何登录的用户均可以使用发表帖子功能.用户通过点击发表新帖并可以发表一个新的帖子,填写容后点击“提交”按钮,则会成功提交。
并在主页显示你刚发表的帖子。
4.查看帖子功能
任何登录的用户均可以使用查看功能。
用户通过选择要查看的帖子名称显示帖子的容。
5.浏览帖子功能
任何登录或者不登录的用户均可以使用浏览帖子功能。
6.个人信息设置功能
只要是正确登录的用户都可以修改自己的个人信息,可以通过点击个人信息进入该页面,修改用户的详细个人信息。
修改密码功能主要是对于想修改密码的用户所做的操作。
7.后台管理功能
后台管理只有管理员能进入,进入的时候会判断是否是管理员。
后台管理操纵着前台的一些模块。
主要是论坛管理,论坛管理包括:
对帖子的管理,退出系统等操作。
8.退出功能
当所有用户都操作结束后,单击导航栏上的“安全退出”超退出论坛。
因为登录时是通过session保存用户信息,所以退出时必须要会销毁Session中的所有信息,才能保证数据的安全,而下次再进入论坛时必须重新登录。
通过上面的分析可知,此系统中的操作是有顺序的,比如:
只有先登录后才能进行一些操作,可以通过下面的流程图中能看到。
下图为系统的执行过程。
图3-2系统流程图
由图3-2看出,用户登录系统之后可以做一些操作,可以根据不同的用户可以执行不同的操作。
3.3数据库设计
3.3.1数据表需求分析
1.用户表:
用于存放用户的一些信息。
2.发表帖子表:
用于记录所有用户发表的帖子。
3.管理员表:
用于存放管理员的信息。
8.根据以上的分析,确定本系统中的实体有:
用户实体:
存放用户的信息;
帖子实体:
帖子实体和用户存放多对多的联系;
图3-3E-R实体图
3.4数据库逻辑设计
根据以上的设计,数据的字段设计如下:
用户表(user):
用于保存用户的注册信息此表共设有7个字段,userId是主键,userName为用户名,userPassword为密码。
表3-1用户表(clubuser)
名称名称
字段名称
数据类型
长度
非空(1可空)
用户id
userId
Int
11
0
用户名
userName
Nvarchar
16
0
用户昵称
userNickname
Nvarchar
20
0
用户密码
userPassword
Nvarchar
12
0
用户
userEmail
Nvarchar
100
0
用户生日
userBirthday
timestamp
0
用户个性签名
userRemark
smallint
200
1
栏目表(post):
用于存放栏目的表,共设有5个字段,postId是主键,userId是用户编号(外键)。
表3-2栏目表(BBS_Cate)
名称名称
字段名称
数据类型
长度
非空(1可空)
ID号
postId
int
11
0
用户ID
userId
Int
11
0
主题名
topic
varchar
100
0
作者
matter
varchar
100
0
发帖时间
postTime
timestamp
0
第四章详细设计
经过上面的需求分析、设计、分析,进而进入实际的开发也就是论坛的详细设计,各个模块设计如下:
4.1系统的主界面模块设计
首页:
用户进入后会看到的页面,包括导航条(用户注册,用户登录,管理员登陆),界面简单,背景图片给人一种温馨的感觉,这样才能吸引用户的眼球。
图4-1首页界面
4.2用户模块
用户注册:
要想在论坛上发表帖子就要有自己的用户ID号,也就是注册。
注册的时候使用validation.xml进行了验证,还进行了用户名的控制,不允许使用与数据库中一样的用户名。
主要是通过查询数据库里的容看是否和输入的文本框的容一样,如果一样则提示“用户名已经存在”,还判断了用户名,密码等不允许为空和是不是合法等(下图只显示不许为空的状态)。
图4-2用户注册界面
用户登录:
输入已经注册好的用户名和与其相对应的密码,如果是正确的就能登录,否则提示相应的错误信息。
图4-3登录界面
用户修改:
此功能只对于注册过的用户在登录后对自己的个人信息的修改。
这里点击个人信息就可以修改,可以修改昵称,密码,,简介等。
修改的时候已经通过session获得了该用户的资料,但是用户注册时候设置的用户名是不可以修改的。
只能修改当前用户的其他信息。
图4-4用户修改资料界面
用户对自己帖子的操作:
此功能只是用户在登录后对自己的帖子的操作。
这里点击管理帖子就可以进行操作,可以删除和修改帖子。
修改的时候已经通过session获得帖子容,能修改当前帖子,不可以批量修改。
图4-5用户对自己帖子的操作界面
4.3主题帖子模块
主题帖子模块主要包括:
发表帖子,查看帖子,删除帖子,分页显示。
发表帖子:
主要是注册过的并且登录进来的用户设计的功能,进入发表新帖的页面添加标题和容后,点击发表就可以发表帖子了。
图4-6发表帖子界面
查看帖子:
点击帖子的名字就可以查看帖子的具体容。
图4-7查询帖子界面
分页显示:
设置一个pageSize(即每页显示的信息条数)在此系统中pagesize的值为10,每页显示的数目都是10条,以此类推。
最下面主要是页数信息。
图4-8分页设计界面
4.5系统的管理模块
系统管理也就是管理员对后台的操作,包括用户管理,论坛管理。
用户管理:
用户管理主要是管理员对所有已经注册的存在于数据库中的用户进行的管理,都是在用户表完成的操作。
设置管理员:
在struts.xml文件中有对于管理员身份的判断,通过后才可以进入这个页面
删除:
就是删除里面的帖子,在删除的时候会有提示,询问用户是否删除。
如果点确定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BBS 论坛 毕业设计 论文