BBS详细设计说明书.docx

上传人:b****7 文档编号:15935800 上传时间:2023-07-09 格式:DOCX 页数:15 大小:244.72KB
下载 相关 举报
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_第6页
第6页 / 共15页
BBS详细设计说明书.docx_第7页
第7页 / 共15页
BBS详细设计说明书.docx_第8页
第8页 / 共15页
BBS详细设计说明书.docx_第9页
第9页 / 共15页
BBS详细设计说明书.docx_第10页
第10页 / 共15页
BBS详细设计说明书.docx_第11页
第11页 / 共15页
BBS详细设计说明书.docx_第12页
第12页 / 共15页
BBS详细设计说明书.docx_第13页
第13页 / 共15页
BBS详细设计说明书.docx_第14页
第14页 / 共15页
BBS详细设计说明书.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

BBS详细设计说明书.docx

《BBS详细设计说明书.docx》由会员分享,可在线阅读,更多相关《BBS详细设计说明书.docx(15页珍藏版)》请在冰点文库上搜索。

BBS详细设计说明书.docx

BBS详细设计说明书

BBS详细设计说明书

 

前言

随着计算机网络的飞速发展,网民人数越来越多,BBS论坛作为一种交流思想和感情的桥梁,快捷方便,正受到越来越多网友的喜爱,并深刻地影响人类的交流方式。

BBS是互联网一种人与人之间交互的必备工具,特别是做网站必备。

BBS可以通过WEB浏览器访问,并且实现上传文件等诸多功能。

网民们便逐步开始接受这种使用方便快捷、功能日渐强大的系统。

在它上面网民们可以张贴和发布各种各样的信息,讨论各式话题。

随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。

中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。

每个网站几乎都拥有自己的BBS或者BBS链接,BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务

1、引言

1.1编写目的

通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事。

通过此bbs论坛的编写,熟悉ASP.NET的工作流程。

1.2软件背景

  大约是从1991年开始,国内开始了第一个BBS站。

经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。

1996年更是以惊人的速度发展起来。

国内的BBS站,按其性质划分,可以分为2种:

一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。

由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。

多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络ChinaFidoNet(中国惠多网)。

于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。

这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。

由于业余BBS站拥有这种优势,所以使用者都更乐意加入。

这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。

一般BBS站都是由志愿者开发的。

他们付出的不仅是金钱,更多的是精力。

其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平

1.3定义

  根帖:

即是顶层的帖子,点击“发言”按钮,输入的发言就会成为根帖,根帖中的Layer(即帖子所在的层)等于1,Order(即帖子的序号)也等于1。

父帖和子帖:

子帖就是父帖的回复帖子,父帖和子帖会拥有相同的RootID(即相应根帖的ID号),根帖的RootID等于它自己的ID,根帖的ParentID(即父帖的ID号)等于0,所以判断一个帖子是不是根帖就看它的ParentID是否等于0,子帖的Layer等于父帖Layer加1。

1.4参考资料

  《基于.NET的Web数据库开发技术实践教程》江红余青松编著清华大学出版社

《数据库系统概论》王珊萨师煊编著高等教育出版社

2、系统的结构

3、模块设计说明

3.1功能模块设计

通过对系统进行详细的需求分析,获得了一个最优的设计方案,将系统划分为若干功能子模块。

为了方便后期的设计与编程工作,在划分系统功能模块时尽量注重模块的独立性,努力做到高内聚,低耦合。

3.1.1用户注册登陆模块

要完成论坛的各项操作,用户必须登陆论坛系统,如果没有论坛帐户,用户注册是必须的。

用户命令如果是退出,则清除用户的状态信息,并返回BBS首页,如果是登录则使用SQL-Server连接数据库,取得用户输入的帐号和密码并查询数据库,将得出的结果和用户输入的信息做比较,验证正确,显示用户已经登陆到系统,错误将返回消息让用户从新输入.如果用户想注册帐户,则返回注册页面,用户填写信息后,将检测信息的正确性,如果帐号

允许注册,则完成帐号的注册,将信息写入到数据库中,如果帐户已经存在,则返回错误信息,告诉用户帐号存在,请用户重新输入,并完成注册,进程结束。

3.1.2帐户信息模块

当用户登陆系统后,在个人工具箱中,可以通过点击个人资料修改的链接来修改个人资料(其中帐户名是不允许修改的),通过最近发表的话题来查看和修改自己发布的帖。

3.1.3文章发布模块

用户登陆系统后可以查看其他所有用户发的文章,并可以发布自己的话题,也可响应回复其他用户和自己发表的话题。

3.1.4公告制度模块

论坛管理员可以通过后台管理系统发布论坛公告,公告可以选择版面,公告的主题,并可以设置字体的颜色大小等工具,支持UBBCode论坛的制度上可以设置对文章操作的客户积分。

例如用户每发一篇文章,则增加一定量的积分。

3.1.5版块管理模块

论坛管理员可以通过后台管理系统控制论坛的版块,管理员可以完成下列功能:

添加分类或版面,版面配置或删除;并可以对已存在的版块设置属性(包括名称,类别,隐藏,属性,默认风格,主题,回复,排序等)。

3.1.6信息管理模块

信息管理模块主要完成下面的功能:

社区信息配置;添加管理员;编辑管理员;设定等级;配置权限;重新登录;安全退出;用户等级;管理团队;用户列表;黑名单;用户查询。

以上的功能完成了整个论坛的配置,用户的管理,管理员的管理都可以通过对应的链接来完成。

3.2功能

3.2.1提供完善的用户登录功能,要求为不同用户提供分级权限。

3.2.2提供标准的加贴、删贴功能,并且每一个帖子的内容不加限制,帖子必须能显示加贴时间、作者,以及是否有回贴,有多少个回贴。

3.2.3提供回帖功能,每个回帖有父贴。

父帖与子帖是一对多的关系,删除父帖后,子帖也连带被删除。

3.2.4提出精华区的概念,为每个版面都提供一个精华区,其中内容是多次提出的热点问题。

3.2.5完全是WWW模式,即只要有浏览器即可访问本BBS系统。

3.3设计方法

基于WEB的通用BBS系统其系统定义部分采用面对对象的系统分析方法,并结合传统的结构化分析方化,设计出其系统模型,如果采用面向对象的程序设计语言开发系统,则可以很方便地从系统分析阶段平滑地过渡到设计阶段。

但是,本系统采用ASP技术,我们知道ASP不支持继承和强类型转换等面向对象程序设计所必需的功能,只能采用一定的技术措施,用传统的结构型程序设计方式实现诸如继承等这类功能。

下面就部分系统实现做一下简要说明:

3.3.1.系统主页面Main.asp

这是BBS网站的HomePage,程序首先进行用户身份判断。

本系统用户身份信息经登录后保存在SESSION对象的USERNAME和ADMINBOARD两个变量里。

匿名用户(既Guest)这两个变量为空或没有定义;普通用户USERNAME变量有用户在本系统注册的会员昵称,但其ADMINBOARD变量没有定义或为空;版主用户其ADMINBOARD变量保存有他管理版面的ID;如果ADMINBOARD变量为“0”则为超级会员。

依据程序对用户所做的判断,插入相应用户的功能操作菜单。

这就实现了不同层次对象的同一方法的不同功能。

譬如Guest:

:

main.asp载入的功能菜单为genhead.asp,Super:

:

main.asp载入的功能菜单则为superhead.asp。

注意:

功能菜单文件其实就是普通的aspx文件,按照各自所属的操作对象列示其相应的功能链接。

3.3.2.各级别用户私有功能的实现方法

私有功能是不能为比其级别高的用户所继承的功能。

因此,私有功能ASP网页应进行具体某个级别身份的识别,非这个级别层次的用户则被拒绝访问。

3.3.3.各级别用户公有功能的实现方法

公有功能是可以为比其级别高的用户所继承的功能。

因此,公有功能ASP网页只进行比其级别低的用户身份的识别,如果此用户级别低则拒绝继续访问。

此外,高级别的用户可以进行功能重载,譬如,匿名用户只能查看本系统会员列表,但是,超级会员在查看的同时,还可以进行管理操作,如修改,删除等。

下面是所有公用功能的重载列表:

Guest:

:

useradmin.asp查看本论坛注册会员列表

Super:

:

useradmin.asp查看并管理本论坛注册会员列表

Guest:

:

adminorlist.asp查看本论坛版主列表

Super:

:

adminorlist.asp查看并管理本论坛版主列表

Adminor:

:

articleadmin.asp自已管理辖版面范围内的贴子维护

Super:

:

articleadmin.asp本论坛所有版面贴子维护

Adminor:

:

linkadmin.asp添加或维护自已曾添加的友情链接

Super:

:

linkadmin.asp维护所有友情链接列表

Adminor:

:

newpost.asp在自已管理版面发布公告

Super:

:

newpost.asp在任一版面发布公告

3.3.4.会员用户积分的计算模型

会员用户每提交一篇文章,可以积十分。

回复某篇文章,则可以积五分,同时原文作者积三分。

3.3.5.版主申请条件以及计算模型

版主申请条件:

为正式注册会员;一个会员最多管理二个版面;一个版面最多五个管理员。

计算机模型:

用户提出申请,超级用户审批。

审批完成前此会员不能再次就同一版面申请版主权限。

3.3.6.超文本信息输入

具有普通会员身份以上级别的用户,发表贴子或回复贴子时,可以在其贴子内插入诸如滚动文字,字体大小颜色不同的文字,以及超链接等等。

系统接受用户输入时对带格式文本应进行相应的编码(Encode),系统显示带超文本信息的贴子时则应进行相应的解码(Decode)。

userlog.asp源代码如下:

--#includefile="dbconrw.asp"-->

<%

response.expires=0

OnErrorResumeNext

DimstrUserName

DimstrSQL,objRS

strUserName=Request.Form("username")

strUserPassword=Request.Form("password")

strSQL="SELECT*FROMuserlistWHEREusername='"&strUserName&"'"

setobjRS=objDBConn.Execute(strSQL)

session("username")=""

session("adminboard")=""

DimbLogSucc,repmsg,reptxt,repurl

IfobjRS.EOFThen

'UserDoesn'tExists

bLogSucc=0

repmsg="此用户不存在"

repurl="userlog.asp"

reptxt="请重新登录"

Else

'UserExists

IfobjRS("password")=strUserPasswordThen

bLogSucc=1

session("username")=strUserName

repmsg="欢迎"&strUserName&",您已登录成功"

repurl="main.asp"

reptxt="返回论坛首页"

Else

bLogSucc=0

repmsg="密码输入错误"

repurl="userlog.asp"

reptxt="请重新登录"

Endif

EndIf

%>

--#includefile="dberror.asp"-->

<%

objRS.Close

'Judgeifsuperadministratororboardmanager

ifbLogSucc=1then

strSQL="SELECT*FROMadminorlistWHEREusername='"&strUsername&"'"

setobjRS=objDBConn.Execute(strSQL)

iferr.number<>0then

response.write"数据库操作失败:

"&err.description

endif

IfNotobjRS.EOFThen

ifobjRS("status")="Y"then

session("adminboard")=Cint(objRS("manbid"))

endif

endif

'WriteLog

objRS.close

strSQL="INSERTINTOloginfo(userid,userip,intime)"

strSQL=strSQL&"VALUES('"&strUserName&"','"

strSQL=strSQL&request.servervariables("remote_host")&"','"

strSQL=strSQL&now()&"')"

setobjRS=objDBConn.execute(strSQL)

iferr.number<>0then

response.write"数据库操作失败:

"&err.description

endif

endif

objRS.close

objDBConn.Close

SetobjRS=Nothing

SetobjDBConn=Nothing

%>

<%=repmsg%>

"><%=reptxt%>

setTimeout("location.href=reinput.href",1000);

确定了用户的会员身份以后,在每个需要进行身份识别的ASP网页插入身份识别代码,如果此用户具有访问这个ASP网页的权限,则输出其相应的HTML文件,否则,系统转到用户登录网页要求用户重新登录以取得访问此ASP功能网页的合法身份。

例如,论坛基本信息设置ASP网页需要访问者具有超级会员身份,在本网页前必须插入以下一段代码:

<%

'ChecktheSuperAdministratorRight

Response.Expires=0

ifSession("adminboard")<>"0"Then

Response.redirect"userlog.asp?

errmsg=您没有超级用户管理权限,请重新登录或退出!

"

EndIf

%>

3.4流程逻辑

3.5接口

3.5.1用户接口

本系统采用的标准的VB编写,内部套用Java脚本、XML、CSS,风格统一,用户可通过一个窗体即可完成所有的输入工作,本模块不涉及大图片、音频和视频等,这样能保证输出时的快速性。

用户可以直观的查看数据和填写数据,尽可能的简化操作,其主界面简便易于使用。

3.5.2外部接口

系统的数据库连接主要采用访问SQL-Server数据库的方式,这样的连接方法简单,避免了直接连接所产生的弊端,所有的数据库操作都交给SQL-Server,数据库的访问全部由操作系统内部来完成。

数据库的接口采用ADO.NET连接实现。

使用SQLServer2005来存放BBS的所有数据,包括用户信息,文章数据,用户信件,用户消息,系统数据等。

3.5.3内部接口

ADO.NET完成应用程序和数据库的连接;

3.6存储分配

数据库设计,在整个BBS系统中,首先设计了三个数据库:

其一、就是User(用户信息数据库),用来存放登记在本BBS系统的用户信息,包括用户的ID号、姓名、E-Mail地址、密码等个人信息。

其中用户的ID号是自动编号,并没有特殊的意义,只是用来表示唯一的一名用户,其他各列都是文本类型。

在此库中并没有为用户设计权限,即所有的用户在此库中都是平等的。

其二、是Board(版面数据库),用来记录版面的名称、版主的ID号、版面的ID号等信息,这里版主的ID与User库中的用户ID是相关联的,即该表的Boardmaster与User表中的UserID是一致的,通过Boardmaster必定能找到位于User库中属于该版主的一些个人信息,这样它与User库相结合,就能够为不同的用户划分了不同的两个权限,一是版主权限,二是普通用户权限。

其三、是Announce(帖子数据库),其中存放所发送帖子的ID、题目、作者、连接地址、子帖号、父帖号、帖子的内容、长度、所在的层次,以及所在版面等信息,在这里通过是否有子帖、是否有父帖、父帖的个数、所在的层次等项建立一个帖子的二级树状结构。

为了代码的维护以及系统实现的容易性,只采用了二级结构,即只有父帖才能有回帖,回帖下面不能再有回帖,一组帖子中只能有一个父帖,但可以有多个子帖。

同时为了能够显示该帖子的影响程度,可加上一个点击数一项,表示该帖子被查看过的次数。

此外,为了能够把大家都感兴趣的话题集中起来,也就是要加上一个精华区,这样必然要有一个。

3.7限制条件

在整个BBS系统的设计过程中,WEB数据库访问技术是至关重要的,它完全影响着开发工具的选择、服务器端脚本的选择、数据库的选择,以及执行速度、安全性等多方面因素,而实现WEB数据库访问的方法多种多样。

这里选择ADO技术来实现本BBS系统与数据库的连接,这可以把ADO与ASP结合起来,建立提供数据库信息的网页内容,在网页中执行SQL命令,对数据库进行查询、插入、更新、删除等操作,在ADO中可以用VB脚本,Java脚本语言来控制数据库的访问和查询结果的输出。

3.8测试计划

实现目标:

⑴没有注册的用户能够在登录时自动注册,并给出友好提示。

⑵帖子列表支持分页显示,使得可以轻松查看所有帖子。

⑶帖子拥有点击统计,更方便了解热点话题。

⑷站长版面管理实现WEB在线编辑,管理工作更加轻松随意。

⑸超强帖子查询功能。

根据您感兴趣的内容快速获得信息,可对帖子按主题和发言人姓名按版面进行查询。

其中,主题查询实施模糊查询方法。

3.9尚未解决的问题

当初现帐号,密码等通常的错误时,用户可以重新输入信息,即可解决,或是重新启动客户端,当出现无法连接数据库或者是查询中的错误,通常系统管理员重新启动服务即可解决,由于数据库的连接错误是全局的,所以重新启动服务是最佳的操作。

4系统维护设计

  用于系统的检查与维护的检测点和专用模块,在这个版本中没有出,将会在后续开发中增加,例如自动重新启动服务,自动纠正数据的错误。

以及用户数据的安装问题,密码的加密问题.

5结束语

本系统采用WWW技术,采用流行的B/S开发模式,现已基本实现了BBS论坛的基本功能,使注册用户之间的交流更为简单、方便、灵活,而且使用方便、扩展性好、便于维护,是传统BBS系统的一大改进。

在这次bbs课程设计中小组得到了很大的提高和发展,在此感谢一切给与了帮助的同学及老师,同时在此说一声老师辛苦了。

 

sky工作室成员:

徐维222005*********

林晓燕222005*********

王超222005*********

李晋科222005*********

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

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2