BBS论坛的设计与实现资料.docx

上传人:b****6 文档编号:8995336 上传时间:2023-02-02 格式:DOCX 页数:15 大小:207.74KB
下载 相关 举报
BBS论坛的设计与实现资料.docx_第1页
第1页 / 共15页
BBS论坛的设计与实现资料.docx_第2页
第2页 / 共15页
BBS论坛的设计与实现资料.docx_第3页
第3页 / 共15页
BBS论坛的设计与实现资料.docx_第4页
第4页 / 共15页
BBS论坛的设计与实现资料.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

BBS论坛的设计与实现资料.docx

《BBS论坛的设计与实现资料.docx》由会员分享,可在线阅读,更多相关《BBS论坛的设计与实现资料.docx(15页珍藏版)》请在冰豆网上搜索。

BBS论坛的设计与实现资料.docx

BBS论坛的设计与实现资料

BBS论坛的设计与实现

摘要:

当今,信息传播速度非常快,并且信息交流的形式更多的体现为以人为本,在互联网的新时代,信息是由每个人贡献出来的,各个人共同组成互联网信息源,每个人即是信息的管理者也是信息的传播者,而为了更好的进行信息交流,产生了各种基于信息交互的论坛,开发论坛的目的主要是借助网络先进的技术实现对某一个问题进行交流和探讨。

本文设计的BBS论坛,采用ASP+Access和B/S模式,客户端只需要通过浏览器就能够访问论坛网页,确保服务器的安全。

论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,还可以对网友的问题及时地解决,获取对自己有用的知识。

该论坛可以直接嵌入到某些单位的网站中直接使用,也可以为BBS论坛开发者提供一些参考依据。

关键词:

BBS论坛;网站开发;ASP

一、绪论

(一)BBS的发展背景

BulletinBoardSystem即电子公告板,BBS的最早功能是用来公布股市行情等信息,不能完成文件的传输,并且只能在苹果电脑上运行。

1978年在美国芝加哥开发出最早的一套BBS系统,之后开发出基于苹果机的BulletinBoardSystem和大众信息系统(People,sMessageSystem)2种BBS系统,当时个人计算机诞生时,并没有基于个人计算机的BBS系统,直到1983年BussLane用Basic语言改写出了基于个人计算机系统的BBS,经ThomasMach努力完成了个人计算机的第1版BBS系统——RBBS-PC,由于此套系统的源程序全部公开,因此后来开发的其他的BBS系统时都以此为框架,使得RBBS-PCBBS赢得了鼻祖的美称。

在那个年代并不能实现站与站之间的沟通和联络技术.1984年美国的TomJonning开发出了具有电子公告功能的FIDO,通过该软件可以实现站际连线和自动互传信息的功能,并且站与站之间可以在一个预定的共同时间发送和接收电子邮件,这样BBS通过网络可以直接交互,为后来BBS的发展奠定了一定的技术基础,在功能实现上信息的交流,随着其软件功能的不断完善可随时取得国际最新的软件及信息,并且通过BBS可以与网友讨论计算机软件、硬件、Internet、多媒体、程序设计等等各种话题,更可以利用BBS系统来刊登一些广告或者寻找志同道合的朋友,大家借助这个平台可以相互交流,取得各自所需的信息,从而增加自身的阅历!

国内大约是1991年拥有第一个BBS网站,1996年开始流行并发展起来。

国内的BBS站按性质划分为2种:

一种是商业BBS站,如新浪网等;另一种是业余BBS站,如各种高校的BBS论坛等.从构建方式上BBS分为PCBBS和InternetBBS,PCBBS是利用电话网构建的网站,InternetBBS是利用Internet构建的网站,由于最近几年Internet使用费用的下降,基本上BBS都是InternetBBS。

1999年是中国网络迅速发展的一年,一些BBS站也迅速发展起来,比如各个高校的论坛非常的活跃,为大学生提供了一个交流的平台。

目前国内的BBS站基本上向着着个性化和专业化的方向发展。

(二)BBS的研究意义

目前,各种论坛实现的主题模块涵盖文化、生活、社会、时事、体育、娱乐、情感等各项领域,并且是一个经过管理员整理编辑过的网络资源库。

不少BBS都设有专门的网络管理员,并且专门从事搜集网络信息;特别是一些网站为了提高浏览量和营造宣传效果,他们把一些社会热点放到网络以引起网友和媒体的关注,如天涯论坛、中华网社区、猫扑等等,他们的社会影响力逐步引起媒体和公众的关注,FTP技术和BT技术的日益完善为BBS站内资源的更新、共享提供了极大的方便。

并且大部分大学的BBS论坛都有专门的FTP服务器,还与一些新兴技术如BT技术、Blog技术、微博、QQ空间等建立链接,使得他们的影响力逐步增强。

基于网络的论坛社区即是各种学习资源组合的场所,也为学习者提供了学习环境.许多参与论坛网络活动的网友相聚在特定板块内,论坛参与者围绕某个话题或者问题,通过发表、回复话题、版面讨论、站内信件等方式进行互动讨论、相互探讨,形成了一种以交流为中心的学习方式。

目前各个网站基本上把论坛作为主流网站的补充,每个商业网站都有论坛,网站版主通过了解论坛信息的回复和发表意见的情况可以掌握该信息的浏览量,并且每个用户在阅读后可以直接发表意见,用户之间又可以直接相互探讨对该信息的一些意见,这种交流方式极大的促进了信息的传播.

二、相关技术概述

(一)ASP。

NET3.5的简介

ASP.NET3。

5是面向对象的开发模型,使用ASP。

NET能够提高代码的重用性,降低开发和维护的成本,开发的Web页面被称之为WebForm窗体,使用ASP。

NET能够创建与Windows桌面应用程序相似的用户界面,并且ASP.NETWeb应用程序是编译型而非解释型的Web开发技术,ASP.NET3。

5让开发人员能更容易的创建出更强大的Web应用程序,ASP。

NET内置对象包括Request、Response、Application等,虽然ASP是一个可以称得上是“过时的”技术,但是在ASP。

NET开发人员中依旧可以使用这些对象。

这些对象不仅能够获取页面传递的参数,某些对象还可以保存用户的信息,如Cookie、Session等.Web应用程序在传统的意义上来说是无状态的,Web应用不能像WinForm那样维持客户端状态,所以在Web应用中,通常需要使用内置对象进行客户端状态的保存。

这些内置对象能够为Web应用程序的开发提供设置,配置以及检索等功能.

(二)ADO简介

ADO是微软公司提供给网页开发者在网页中存取数据库的最新技术,它也是ASP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源,数据源不仅包括数据库,而且包括dBase、Excel、Foxpro、Access或文本文件等一些小型的数据表,所以,只要是ODBC驱动程序所能存取的数据源皆是ADO存取的对象。

ADO主要是由Connection对象、Command对象、Parameter对象、Dataset对象、Field对象、Property对象及Error对象等七个对象。

(三)Access数据库

考虑到本系统为一BBS论坛,数据量不是很多,故选择Access2000作为系统数据库。

Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS)它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。

它具有存储方式单一、面向对象、界面友好、易操作、集成环境及处理多种数据信息、支持ODBC等特点,比较适合中小型数据库的开发。

三、需求分析

(一)BBS论坛的开发环境需求

结合本系统实际需要,本BBS系统采用B/S结构,使用微软公司的技术解决方案。

该论坛借助Dreamweavermx进行界面的设计,主要使用了DIV+CSS的技术,后台数据库主要是在Access环境下进行创建,最终形成一个可以运行的论坛网站。

本系统要求客户端支持IE6.0以上或与之兼容的浏览器软件,客户端硬件最低要求对应于IE6.0的硬件平台要求。

服务器端要求支持ASP以及Access数据库。

本系统的开发环境和开发工具为:

Windowsxp,ASP。

net,DreamweaverMX,Access等。

(二)BBS论坛的功能需求

通常的BBS论坛的功能要素包括用户注册、用户登录、发帖、回复帖和管理员维护、浏览列表、创建板块、修改板块、删除板块、搜索、置顶、设置权限等等,他们所完成的功能基本上是对数据库的增加、删除、修改、插入,通过不同的语句即可实现不同的功能。

根据这些要素设计出小型BBS系统的功能模块主要有:

用户注册:

用户名不允许重名;用户登录:

允许注册用户和访客登录;查询主帖:

分页显示主帖的标题等信息;详细信息:

查询主帖的详细信息及其全部回复信息;发表新主帖:

可以输入新帖并插入数据库中;回复:

对某个主帖进行回复;管理员登录:

只允许管理员登录.帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表和查看2个子方法,管理方法又可以分为编辑、删除、置顶、转移、指定精华5个子方法。

用户类有注册、登陆和管理3个子方法,管理方法又分为添加、删除和设置权限3个子方法。

根据以上的功能需求分析,我们可以得出论坛的流程图如下:

图3。

1论坛流程图

四、BBS论坛详细设计

(一)论坛整体模块设计

在确定了论坛系统的设计思路之后,还需要归纳成系统的相关模块,每个模块实际上就是功能的合理组合。

由于已经将功能做了前台与后台的分类,因此模块也应该分为两大类:

前台模块和后台模块。

用户在前台的注册、登陆,以及修改个人的注册信息组合成注册信息组合成注册登陆模块。

用户浏览板块、浏览主题帖列表、查看帖子组合成浏览模块.用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。

管理员编辑帖子、删除帖子、转移帖子、置顶帖子和精华帖子组合成管理帖子模块。

以上4个模块是前台模块。

后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建、修改和删除板块为管理板块模块;添加、删除和设置权限为管理用户模块.具体模块设计如下:

图4。

1BBS论坛模块结构图

(二)系统数据库设计

本系统所使用的数据库服务器为ACCESS2003,它在ACCESS2003的基础上,扩展了ACCESS的总体功能与性能、工具界面更加方便合理、全面的数据完整性保护、系统安全性更高。

ACCESS2003的数据库空间不会受限于Device空间大小,方便了数据空间的扩展,使ACCESS2003作为一个网络数据库管理系统,其扩展已超出了单个物理计算机的限制,并且多服务器“分布式”事物的内在支持更加充分.本系统主要使用了存储过程StoredProcedure,所谓StoredProcedure实际上就是一段保存在数据库中的程序,通过一个名称的命名,其中包含有处理数据库存取与运算的SQL语句,并且将这样的程序文件紧密结合在数据库中,这样我们的前台应用系统在执行过程中,可以直接执行数据库中设置好的StoredProcedure,甚至可以传递参数。

具体的数据表如下:

首先是用于存储注册用户信息的数据表User,它的主键是UserID,LoginName字段是用户登录名,在登录页中使用该名字来登录,而UserName是用户注册的全名,不是登录用的名称,如下表所示。

表3。

1数据表User

字段名

字段类型

允许空

说明

UserID

int

用户唯一标识,主键,自动增量

LoginName

varchar(50)

登录名

UserName

varchar(50)

用户名

Password

varchar(50)

密码

Address

varchar(100)

住址

Homepage

varchar(50)

个人主页

Email

varchar(50)

邮箱地址

用于存储用户发布的主帖信息的数据表Topic,它的主键是TopicID,UserLoginName字段是发帖用户的登录名,Title是帖子的标题,Content是主帖的详细内容,如下表:

表3。

2数据表Topic

字段名

字段类型

允许空

说明

TopicID

int

主帖唯一标识,主键,自动增量

UserLoginName

varchar(50)

发帖者登录名

Title

varchar(50)

主帖标题

Content

varchar(50)

主帖内容

CreateTime

varchar(100)

发帖时间

IP

varchar(50)

用户机器IP

用于存储用户回复帖子信息的数据表Reply,它的主键是ReplyID,TopicID字段与主帖表的TopicID字段关联,UserLoginName是回帖用户的登录名,Title是回帖的标题,Content是回帖的详细内容,如下表。

表3。

3数据表Reply

字段名

字段类型

允许空

说明

ReplyID

int

回帖唯一标识,主键,自动增量

TopicID

int

主帖标识,与主帖关联

UserLoginName

varchar(50)

发帖者登录名

Title

varchar(50)

回帖标题

Content

varchar(50)

回帖内容

CreateTime

varchar(100)

发表时间

IP

varchar(50)

用户机器IP

用于存储注册管理员信息的数据表adminUser,它的主键是UserID,LoginName字段是管理员登录名,在登录页中使用该名字来登录,而UserName是用户注册的全名,不是登录用的名称,如下表。

表3。

5数据表adminUser

字段名

字段类型

允许空

说明

UserID

int

用户唯一标识,主键,自动增量

LoginName

varchar(50)

管理员登录名

UserName

varchar(50)

用户名

Password

varchar(50)

密码

五、BBS论坛的实现

(一)用户模块界面的实现

用户模块界面的流程图如下:

图5。

1用户模块界面流程图

当用户在登录的时候,会有一个验证码的文本框,而验证码的实现是通过访问servlet技术实现的,在打开登录界面时,servlet会自动向首页发送一组图片,并且发送一个相应存放数字的session,当用户提交信息时,系统就会在session中提取数字并和用户的数字进行比较,错误则会弹出错误信息。

图5.2验证码提示界面

当用户在登录成功后,或者选择游客模式进入论坛时,会跳转到论坛的主界面,主界面的实现主要是通过HTML的〈iframe〉标记,将页面划分成两个部分,左面的部分是用户的操作框,右面是论坛的信息部分.已登录的用户可以通过左面的操作框来对自己的一些资料进行修改,也可以选择退出等其他操作。

图5。

2论坛主界面

(二)帖子模块的实现

帖子模块的流程图如下:

图5。

3帖子模块流程图

编写帖子模块首先遇到的难点是分页功能的实现,当打开某个论坛时,如果论坛中的帖子数量不能在一页中显示出来,那么怎样进行处理。

在一些参考学习后,本系统最后编写了一个分页bean,来解决这个难题,系统就可以把页数的信息,封装到bean里面,并且进行相关的显示,帖子主界面如下:

图5.4帖子主界面

当用户进入某分论坛时,就会显示出分页信息,并且把相关的帖子封装到response响应中,发送给用户.当我们每次查看某个帖子,或回复某个帖子时,帖子表里的字段,ReNum(回复数量),ClickNum(点击数量)都会进行自增。

进入帖子后,系统会根据文章发表时间的顺序,讲帖子和相关的回复显示出来.分论坛界面显示如下:

图5。

5分论坛界面

(三)后台管理模块的实现

后台管理模块的流程图如下所示:

图5。

6管理模块流程图

后台管理模块是管理员对论坛进行管理的平台,在此模块实现的过程中,最重要的一点就是权限的控制,只有管理员的身份才可以对此模块进行操作,权限的控制已经交给了控制组件进行完成。

管理员可以在此模块中主要完成对帖子和会员的管理,管理员可以通过用户的ID和用户名对其进行搜索,从而实现管理。

管理员界面如下:

图5。

7管理员界面

同时,此外管理员还可以进行添加和修改论坛的信息,界面如下:

图5.8管理员操作界面

六、总结

本系统最大的特点就是结构简单,界面清晰、简洁,一目了然.它不同于网络上的其他论坛的地方在于,主界面只显示每个板块的名称,板块描述,建立时间以及版主,而不细列出每个板块里的主题情况,这样就使原本繁杂的主界面大大简化,层层分明,给人一种很干净清新的感觉,不会象其他网络论坛一样使人眼花缭乱,不知从何处进入板块才好.本系统还有一个特点就是可扩展性非常强。

由于采用的是原型法的开发模式,一开始只是对论坛的基本功能,即浏览帖子、发帖和回帖这三个功能进行了设计,而后来的注册登陆、分板块浏览帖子、编辑帖子、删除帖子、转移帖子、置顶帖子、指定精华帖、搜索帖子、管理板块、设置参数、管理用户以及文件的上传和下载等功能则是在后来的开发中陆续添加进去的.

毕业设计将我学习的知识进行了一次综合,我必须将以前所学融会贯通,且灵活运用并且更加深入地研究学习之后才能完成我的设计,这也正是学习的真谛,希望我能够成功地通过这次检验,成为一个优秀的毕业生.

参考文献

[1]刘冰,从BBS看校园网络文化对大学生学习的影响,现代远程教育研究,2005年2期,P3—4

[2]李勇平,陈峰波,ASP基础教程,清华大学出版社,2006年2月,P12—13

[3]胡百敬姚巧玫,ACCESS2003数据库开发详解,电子工业出版社 , P25—33

[4]陈宗兴。

ACCESS2000程序设计[M].北京:

中国铁道出版社,1999,P43—48

[5]万峰科技,ASP网站开发,电子工业出版社,2005年8月,P143—171

[6]吴建,郑潮,汪杰,UML基础与ROSE建模案例,人民邮电出版社,2004年9月,P98-124

[7]孟凡琦,ASP+ACCESS动态网站开发从基础到实践,北京:

电子工业出版社,2005,P237—312

[8]张蓓,ASP通用模块及典型系统开发,人民邮电出版社,2006,P38—54

[9]郝刚,严治国何宇光,ASP.NET2.0开发指南,人民邮电出版社,2006年5月, P129,

[10]Kusatsu,KoheiTsudaandRuckThawonmas,KeywordDiscoverybyMeasuringInfluenceRatesonBulletinBoardServices,Shiga525—577,Japan

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1