BBS论坛毕业设计论文 - 图文

更新时间:2024-05-01 15:38:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

引 言

WEB技术不断发展的现在,跨入二十世纪后期,我们吃惊地发现一批通过网络传输信息的新的形式正在从“三大媒介”中的突围出来,从而有了突飞猛进的发展,而BBS论坛在其发展过程中,由一个互联网的日常应用发展成一种日益普遍的社会现象。论坛服务系统的管理已经成为国内网络思想教育以及互联网舆论的主要问题。在网络上,几乎我们每一个人都有自己在某些一定的领域中有感兴趣的话题、情感或心理上的诉求而进行交流的需要,这种需求引发了网络虚拟社区的诞生。针对一些国内以及国外的论坛发展以及管理状况做比较研究,对国内论坛管理水平的提高有很大的意义。

BBS,即电子公告板,它是一种基于远程登录协议访问互联网的形式。随着网络而兴起的服务,那么基于WEB的BBS也开始强调其交流性,于是论坛(Forum)诞生了。

随着网络技术的发展,电子公告板也在不断发生着变化,主要体现在其含义和功能上。目前,国外BBS仍停留在最原始的电子公告板的定义上,Forum它是一种单纯基于网络的用户交流区。在中国的台湾地区,BBS指基于Firebird数据库和Maple(是一种数学和工程计算软件)服务软件上的,提供远程登录协议访问的交流区,。在中国内陆,在意义上严格的讲,BBS基本上仅存于高校,社会上的BBS偶有出现,而且也是属小群体;但是社会上大量存在的论坛,基本上都是仅基于WEB的论坛。

1

第一章 设计相关背景和技术

1.1论坛的国内外发展史

1.西方国家

BBS诞生于21世纪之前的70年代的美国,主要用于其成员之间的信息交流与网络通讯,因为那时还没有搜索引擎,浏览器、更不用说个人网站了。BBS的主要功能就是进行信息的发布,这些信息主要包括新闻信息、交易信息、用户自己发表的感言和网上的互动。

随着web技术逐渐的成熟,发展,其他功能更强的应用出现了,逐渐挤掉了BBS。对新闻信息、个人言论、交易信息的发布这三个功能各自单独演化,发展成三个以下类型的网站分别对应新闻类、博客类和电子商务类。第四个功能互动式问答在将来也会被分离出来但现在还没有出现该领域的网站。

进入到21世纪的前十年,电子公告板把主要的应用转移到了Forum上,逐渐演化出现在的BBS论坛。因此,WEB技术的发展,使得电子公告板的影响力正逐渐的减小,现在我们以美国为例,现在只有少数BBS论坛的存在是主要用于提出和解决问题的,而绝大多数高校基本上已经没有BBS论坛的存在了,而集中表现在针对软件或商品的技术支持电子公告板和技术类的等。对于中文BBS是属于人气极旺的,因为它的管理机制简单,不会有言论的约束,用户们可以自由的进行言论的交互。 通过以上的阐述发现西方国家对BBS的直接研究是很少的,而间接的研究主要集中在针对网络社会中的行为方式、价值观念、人际关系和社会结构方面等,也就是在对网络社会、虚拟社区方面。对虚拟社区的研究主要包括自身特征及社会问题等进行研究。 2.中国港台地区

20世纪80年代,西方的电子公告板传入中国台湾地区,并在20世纪90年代中山大学电子计算中心推出TANet BBS(中文环境的论坛)之后,自此风靡台湾各个大学。甚至一些大学竟然有100多个BBS站之多。相比之下,香港地区的BBS数量却是比不上台湾大学的,并且部分院校的BBS不对外开放,据调查显示香港网民经常使用BBS讨论组的比例只有5%。但是,香港地区的BBS发展势头却是比台湾地区快。

因为BBS在台湾地区出现的时间早,从柯舜智开始涌现出许多关于BBS的文章发表,有更多的人参与到它的研究中,尤其是在人与人之间的沟通交流问题,会议

2

日程设置问题,身份的验证等方面的研究有很强的代表意义,它有很好的前瞻性。自然对于BBS的研究成果是比较丰硕的。 3.中国大陆BBS论坛的发展和现状

北京长城站成为中国大陆最早的BBS论坛,由于20世纪90年代国内互联网普及的条件限制,所以当时每天用户访问量也就只有十几人。在此3年后的春天,曙光BBS站继北京长城站作为中国大陆第一个网络BBS站而开通。由于计算机及其外设的大幅度降价、使得互联网在国内的快速发展已经快达到普及的程度,BBS和Forum逐渐被网民所认识认识,并以惊人的速度发展扩大成长起来。

国内的BBS在二十世纪九十年代的时候到达了一个巅峰状态,网络上涌现了各种各样的网站论坛,因为竞争的关系网络论坛功能更加全面,涉及范围更加广泛,用户数量越来越多。在此之后,由于发展的速度以及无序和不妥善的管理,在网络泡沫(表示发展太快,太神奇的网络)的冲击之下,很多论坛迅速消亡了。自此,国内的BBS进入一个崭新的时代。

据统计,每年使用BBS的网民数量都会大幅度增长,由此可见BBS论坛作为国内互联网的应用在互联网中依然有很重要的地位。在大多数研究者看来,因为论坛易用、实用、简单的特点减减突显,相信BBS论坛在将来会向个性化和专业化的方向发展。

1.2 开发工具的介绍

1.2.1 spring介绍

Spring是完全开源的框架,它由Spring之父Rod Johnson创建。Spring用于整合,好处是解耦。解耦的含义就是:它可以降低组件之间的关联,改善程序结构,它的这个特点充分的体现了系统的维护和扩展的优点。使用Spring框架时,我们主要是用Spring容器的两个特性就是IoC和AoP。

IoC全称Inverse of Control(反向控制或控制反转)。 是类之间存在控制权,此处所说的控制权指的就是对对象的创建和使用, 比如我们现在有类college和类school,而我们之前的做法就是在college中调用school,那么控制权就在college中,这样做的耦合度较高, 如果修改了school,college也要做修改。 我们使用Spring框架后,控制权由spring容器来管理。当college想调用school时,需要由Spirng容器通过进行注入用配置文件。此方案有一种完整而简洁的美感,他把对象的依赖关系有序的建立起来,简化了对象依赖关系的管理,很大程度

3

上简化了面向对象系统的复杂性。

AOP是面向切面编程(也叫面向方面,英文Aspect Oriented Programming的缩写),是不修改源代码的前提下统一给程序动态添加功能的一种技术它是通过预编译的方式和运行期动态代理来实现的。 例如:Struts2中的拦截器,就是使用AOP的思想。使用这种思想编写程序,会使程序更加灵活。

1.2.2Hibernate介绍

1、什么是hibernate?

Hibernate对JDBC进行了封装,对对象进行持久化,并且是一种全自动的工具 。

2、为什么要用到hibernate?

这是一种框架,能得到众程序员的喜欢,主要是因为它的优点: (1)、提高生产力。 (2)、更面向对象化。 (3)、移植性好。 (4)、透明持久化。

不需要特定SQL优化的时候适合使用,但是如果要批量的进行更新、删除都不适合,包括统计。

3、hibernate的使用 (1)配置文件

《1》全局配置文件:hibernate.cfg.xml:主要用来实现整个应用程序中使用的数据库,以及这个应用程序中的对象关系映射;

例子:

4

注意:

1、我们所写的每一个程序的全局配置文件名称都应该是hibernate.cfg.xml,并且默认放在工程的根目录下,也就是与源程序代码同级。每一个工程只能有一个全局配置文件,如果要使用别的位置的配置文件,调用 configuration的有参的构造方法,指定这个配置文件的位置。如果不是用工具编写的,那么这个配置文件应该跟.classpath放在一块。

2、对象--关系映射文件 命名规则:className.hbm.xml ORM 的具体细节 Class to Table Identifier to PK Properties to columns java type as database type

3作用:使程序中实体类与数据库的表一一对应。

5

1.3 建立设置开发和运行环境

1.3.1.安装支持环境,服务器,开发工具

表1-1运行平台安装位置

软件名称 jdk1.7.0_05 Tomcat 6.0.20 Myeclipse 8.6 安装路径 C:\\Program Files\\Java\\jdk1.6.0_02 D:\\kkk\\My Documents\\apache-tomcat-6.0.36 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 配置环境变量

安装Java JDK1.6最重要的也是最容易出错的是设置环境变量。一共需要设置3个环境变量:Path,Classpath和Java_Home(大小写无所谓)。 Windows系统在我的电脑的属性中设置环境变量如下图:

6

点击“高级”选项卡,选择“环境变量”。

在“系统变量”中设置Path,Classpath和Java_Home 3个环境变量,如果曾经设置了就选择“编辑”,没有设置选“新建”。

7

JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径(假设安装在C:\\Program Files\\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开发工具包配置不正确,重新配置。

8

1.3.4 系统运行环境

1.硬件环境

处理器:Inter Pentium(R)Dual-Core CPU T4400 @2.20GHz或更高 内存:128MB或更大容量 硬盘空间:1GB

显卡:NVIDIA GeForce 310M显示适配器 2.软件环境

操作系统:Window 98/2000/xp/win7 Web服务器:Tomcat 6或以上版本 数据库:MySQL

客户端:IE6.0或以上版本

9

第二章 系统需求分析

需求分析要是开发人员通过用户以文档形式或者口述所提出的需求,进行相应的业务调查,将用户不是很专业的需求转变成程序员所能理解的需求,再由需求定义转换成正规的文档说明。需求分析与设计是软件开发中很重要的一个步骤,技术,方法以及图形工具是我们在需求分析过程中用到的,还有一些软件工具统称为建模方法。

它之所以成为网民最常使用的网络服务之一原因是网上论坛的言论宽松自由。本系统的目的就是为用户提供一个网上言论空间。用户可以根据自己的需求浏览信息、任意的发表感想和其他人交换自己的意见就是本论坛的作用。

2.1系统的功能概述

论坛中可以发表个人的帖子来阐述自己的一些观点,在这里首先通过注册使之成为论坛的用户,注册成功后可以发表个人见解。管理员可以对注册的用户进行管理。论坛的目的是为广大的网民提供一个可以自由地发表自己言论的地方。

论坛主要具有以下:用户注册功能,用户登录功能,管理员登陆,发表文章功能,查询帖子功能,浏览帖子功能,个人信息修改功能。

1.系统业务开发

在用户与开发人员对问题的综合需求,这些需求包括功能与性能,运行环境,用户界面需求这些方面,我们对以上的内容进行系统的构建工作,主要是对数据库,业务逻辑,代码编写和测试这些方面的内容进行设计。

2.测试发布

在系统开发好以后,需要进行测试,我们也可以在系统开发过程中进行测试(单元测试),完成后进行统一的系统层面的测试,测试包括对系统的健壮性、稳定性、正确性以及效率方面等,并且要搜集有意义的意见,对系统进行有效的改进。

3.用户注册功能

本系统有注册功能,所有没有注册过的用户,不能操作论坛的增删改功能,只能对论坛上的内容进行浏览。

4.用户登录功能

用户有了进入系统的身份验证号码,还应该设置用户登录的界面 。登陆的用户可以对自己的帖子进行增删改查的操作。设计风格要简捷、美观、易于操作。

5.发表主题功能

10

用户的主要目的就是进入系统后,能够发表帖子,所以应该设计发表帖子功能。设计风格要简捷、美观、易于操作。

6.查看帖子具体内容功能

查看帖子具体内容功能是方便用户点击自己想了解的帖子名称,所以查看功能是必须存在的,对用户提供有选择的观看,只要输入一些关键字就可以了。设计风格要简捷、美观、易于操作。

7.浏览帖子功能

对于所有注册登录的用户以及未登录的人提供浏览帖子的功能。设计风格要简捷、美观、易于操作。

8.个人信息修改模块

用户的信息不应该是终身不变的,比如简介和昵称等内容,应该可以随自己的愿望来修改自己的信息。设计风格要简捷、美观、易于操作。

9.退出功能

为了完成用户的安全退出需要提供退出功能,将session销毁,同样需要设计风格简捷、美观、易于操作。

2.2系统的性能要求

对系统性能的要求包括对数据处理响应时间,系统的灵活性,输入输出精确度,故障处理要求和运行所需求的环境规定等的要求。

2.2.1系统时间特性的规定

在时间性能各方面的处理时间均不超过10秒,例如:当用户注册登录后马上能看到自己发表的主题和帖子。

注意:有时传送时间由当地的网络决定。

2.2.2系统灵活性

说明对该网站的灵活性的要求,即判断该系统是否能够灵活的适应需求的变化,主要体现在以下几个方面如:

1.本网站可以运行在IE6以上的所有版本上;

2.本网站支持能扩大改进,既支持添加新功能模块,一个模块的改变不会影响其他的模块。

11

2.2.3输入输出要求

可以对错误的不完整的数据进行校验(JS校验和validition.xml校验),从而保证了数据的一致性与完整性,这样输出就能满足用户的需求。

2.2.4故障处理要求

如果系统出现问题,我们会在第一时间及时更正,保证用户的使用不受影响。

2.2.5运行环境规定

1.硬件设备:服务器端和客户端Inter Pentium(R)Dual-Core CPU T4400 @2.20GHz。

2.支持软件:服务器端Inter Pentium(R)Dual-Core CPU T4400 @2.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语句进行添加,查询,修改和删除等操作。

12

第三章 总体设计

3.1系统功能描述

本论坛用户分为三种:普通用户、版主和论坛管理员。他们可以操作的功能是不同的,其中,普通用户有:注册新用户、进入论坛、浏览论坛、查看帖子。版主较普通用户来说还可以进行帖子管理,包括删除,修改帖子,发表新贴、查看和修改自己的个人信息等。论坛管理员拥有的权限,可以进行论坛用户管理、帖子管理。

3.2系统功能结构图

BBS论坛 普通用户 版主 管理员 浏览帖子 注册用户 浏览帖子帖子管理查看个人信息发表安全新帖退出浏览帖子帖子管理安全退出图3-1在线论坛结构图

3.1.1根据系统结构图介绍功能

1.用户注册功能

所有未注册的用户,不能操作论坛的功能.只能浏览帖子功能,不能发表帖子,等.所以在点击“ 用户注册”链接后,可以进入用户注册页面,需要用户填写基本信息用户名,还提供了提示用户名是否有重复的名字,密码及密码确认,性别,年龄,电子邮件,并点提交,若输入的信息合法,则注册新用户成功,否则不给予通过.提示输入信息错误.通过注册用户功能注册的新用户只能是普通用户,其权限最低。

2.用户登录功能

点击用户登录链接,输入用户名字和密码,如果输入的信息合法,则登录成功.

13

否则会弹出对话框提示出错,并重新登录. 如果是管理员登录后还可以做更多的操作。例如删除帖子、修改帖子、编辑的操作。哇哇哇哇 3.发表主题功能

任何登录的用户均可以使用发表帖子功能.用户通过点击发表新帖并可以发表一个新的帖子,填写内容后点击“提交”按钮,则会成功提交。 并在主页显示你刚发表的帖子。

4.查看帖子功能

任何登录的用户均可以使用查看功能。用户通过选择要查看的帖子名称显示帖子的内容。

5.浏览帖子功能

任何登录或者不登录的用户均可以使用浏览帖子功能。 6.个人信息设置功能

只要是正确登录的用户都可以修改自己的个人信息,可以通过点击个人信息进入该页面,修改用户的详细个人信息。修改密码功能主要是对于想修改密码的用户所做的操作。

7.后台管理功能

后台管理只有管理员能进入,进入的时候会判断是否是管理员。后台管理操纵着前台的一些模块。主要是论坛管理,论坛管理包括:对帖子的管理,退出系统等操作。

8.退出功能

当所有用户都操作结束后,单击导航栏上的“安全退出”超链接退出论坛。因为登录时是通过session保存用户信息,所以退出时必须要会销毁Session中的所有信息,才能保证数据的安全,而下次再进入论坛时必须重新登录。

通过上面的分析可知,此系统中的操作是有顺序的,比如:只有先登录后才能进行一些操作,可以通过下面的流程图中能看到。下图为系统的执行过程。

14

图3-2系统流程图

由图3-2看出,用户登录系统之后可以做一些操作,可以根据不同的用户可以执行不同的操作。

3.3数据库设计

3.3.1数据表需求分析

1.用户表: 用于存放用户的一些信息。 2.发表帖子表:用于记录所有用户发表的帖子。 3.管理员表:用于存放管理员的信息。 8.根据以上的分析,确定本系统中的实体有: 用户实体:存放用户的信息;

帖子实体:帖子实体和用户存放多对多的联系;

15

图3-3 E-R实体图

3.4数据库逻辑设计

根据以上的设计,数据的字段设计如下:

用户表(user):用于保存用户的注册信息此表共设有7个字段,userId是主键,userName为用户名,userPassword为密码。

表3-1 用户表(clubuser)

名称名称 用户id 用户名 用户昵称 用户密码 用户邮箱 用户生日 用户个性签名 字段名称 数据类型 长度 非空(1可空) userId userName userNickname userPassword userEmail userBirthday userRemark Int Nvarchar Nvarchar Nvarchar Nvarchar timestamp smallint 11 16 20 12 100 200 0 0 0 0 0 0 1 栏目表(post):用于存放栏目的表,共设有5个字段,postId是主键,userId是用户编号(外键)。

表3-2 栏目表(BBS_Cate)

名称名称 字段名称 数据类型 长度 非空(1可空) 16

ID号 用户ID 主题名 作者 发帖时间

postId userId topic matter postTime int Int varchar varchar timestamp 11 11 100 100 0 0 0 0 0 17

第四章 详细设计

经过上面的需求分析、设计、分析,进而进入实际的开发也就是论坛的详细设计,各个模块设计如下:

4.1系统的主界面模块设计

首页:用户进入后会看到的页面,包括导航条(用户注册,用户登录,管理员登陆),界面简单,背景图片给人一种温馨的感觉,这样才能吸引用户的眼球。

图4-1 首页界面

4.2用户模块

用户注册:要想在论坛上发表帖子就要有自己的用户ID号,也就是注册。注册的时候使用validation.xml进行了验证,还进行了用户名的控制,不允许使用与数据库中相同的用户名。主要是通过查询数据库里的内容看是否和输入的文本框的内容相同,如果相同则提示“用户名已经存在”,还判断了用户名,密码等不允许为空和邮箱是不是合法等(下图只显示不许为空的状态)。

18

图4-2 用户注册界面

用户登录:输入已经注册好的用户名和与其相对应的密码,如果是正确的就能登录,否则提示相应的错误信息。

图4-3 登录界面

用户修改:此功能只对于注册过的用户在登录后对自己的个人信息的修改。这里点击个人信息就可以修改,可以修改昵称,密码,邮箱,简介等。修改的时候已经通过session获得了该用户的资料,但是用户注册时候设置的用户名是不可以修改的。只能修改当前用户的其他信息。

19

图4-4 用户修改资料界面

用户对自己帖子的操作:此功能只是用户在登录后对自己的帖子的操作。这里点击管理帖子就可以进行操作,可以删除和修改帖子。修改的时候已经通过session获得帖子内容,能修改当前帖子,不可以批量修改。

图4-5 用户对自己帖子的操作界面

4.3主题帖子模块

主题帖子模块主要包括:发表帖子,查看帖子,删除帖子,分页显示。 发表帖子:主要是注册过的并且登录进来的用户设计的功能,进入发表新帖的页面添加标题和内容后,点击发表就可以发表帖子了。

20

结 论

随着互联网网络技术的发展,我们进入21世纪之后,几乎每一个网民在网络上都有一个自己感兴趣的话题或某种情感在某一领域方面有自己独到的见解、还有在心理的诉求方面需要进行交流,这种需求引发了论坛的诞生。本人结合在同学之间,网友之间的调查了解到具体需要,进而开发了BBS论坛。

本论坛实现了以下的基本功能,浏览帖子、注册登录成为论坛的版主,对帖子的发表以及其他的操作,还有一个回复发表自己看法的功能。通过此论坛线大家可以交流自己的想法、讨论问题、发布各类信息(广告,房屋租赁信息等),俗话说“众人拾柴火焰高”,论坛就是利用大家的力量解决一些个人难以解决的问题。

从查找课题网上搜寻资料开始到系统完成,经历较长一段时间,在这期间,无论是从理论上还是从实践上都学到了很多知识,学会了怎么去分析了解用户的需求,怎么将需求转化为具体的定义,让我成长了很多,在编写代码的过程中我又在专业知识方面得到提升,因为我看了很多的关于JSP和数据库方面的书,个人认为书中的一些实例是对我们最有用处的,因为它是让我们实际直观的了解这些知识。虽然自己很少做这样一个整个的系统,但是我也只能克服种种困难,完成系统需要的功能,并且尽量去完善这些功能,在开发过程中常常遇到无法找到页面比如404错误的问题,但是经过不断的调试已经解决。目前系统已经具备后台管理,用户管理,发表帖子的主要功能,可以投入使用,由于本系统界面简捷大方,使用起来还是非常简单的。

由于本人水平和时间等各方面原因,还有个别功能实现的不是特别好,但是我会在以后的学习和工作中,将努力使系统改进。

26

本文来源:https://www.bwwdw.com/article/2neg.html

Top