BBS详细设计说明书(共15页).doc

上传人:飞****2 文档编号:16793299 上传时间:2022-05-18 格式:DOC 页数:15 大小:273.50KB
返回 下载 相关 举报
BBS详细设计说明书(共15页).doc_第1页
第1页 / 共15页
BBS详细设计说明书(共15页).doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《BBS详细设计说明书(共15页).doc》由会员分享,可在线阅读,更多相关《BBS详细设计说明书(共15页).doc(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上BBS详细设计说明书目录前言随着计算机网络的飞速发展,网民人数越来越多,BBS论坛作为一种交流思想和感情的桥梁,快捷方便,正受到越来越多网友的喜爱,并深刻地影响人类的交流方式。BBS是互联网一种人与人之间交互的必备工具,特别是做网站必备。BBS可以通过WEB浏览器访问,并且实现上传文件等诸多功能。网民们便逐步开始接受这种使用方便快捷、功能日渐强大的系统。在它上面网民们可以张贴和发布各种各样的信息,讨论各式话题。随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。每个网站

2、几乎都拥有自己的BBS或者BBS链接, BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务1、引言1.1编写目的 通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事。通过此bbs论坛的编写,熟悉ASP.NET的工作流程。1.2软件背景 大约是从1991年开始,国内开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降

3、价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为2种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者

4、都更乐意加入。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平1.3定义 根帖:即是顶层的帖子,点击“发言”按钮,输入的发言就会成为根帖,根帖中的Layer (即帖子所在的层) 等于1 ,Order(即帖子的序号) 也等于1。父帖和子帖:子帖就是父帖的回复帖子,父帖和子帖会拥有相同的RootID(即相应根帖的ID 号) ,根帖的RootID 等于它自己的ID ,根帖的ParentID(即父帖的ID 号) 等于

5、0 ,所以判断一个帖子是不是根帖就看它的ParentID 是否等于0 ,子帖的Layer 等于父帖Layer 加1。1.4参考资料 基于.NET的Web数据库开发技术实践教程 江红 余青松 编著 清华大学出版社数据库系统概论 王珊 萨师煊 编著 高等教育出版社2、系统的结构 3、模块设计说明 3.1功能模块设计 通过对系统进行详细的需求分析,获得了一个最优的设计方案,将系统划分为若干功能子模块。为了方便后期的设计与编程工作,在划分系统功能模块时尽量注重模块的独立性,努力做到高内聚,低耦合。3.1.1用户注册登陆模块要完成论坛的各项操作,用户必须登陆论坛系统,如果没有论坛帐户,用户注册是必须的。

6、用户命令如果是退出,则清除用户的状态信息,并返回BBS 首页,如果是登录则使用SQL-Server连接数据库,取得用户输入的帐号和密码并查询数据库,将得出的结果和用户输入的信息做比较,验证正确,显示用户已经登陆到系统,错误将返回消息让用户从新输入.如果用户想注册帐户,则返回注册页面,用户填写信息后,将检测信息的正确性,如果帐号允许注册,则完成帐号的注册,将信息写入到数据库中,如果帐户已经存在,则返回错误信息,告诉用户帐号存在,请用户重新输入,并完成注册,进程结束。3.1.2 帐户信息模块当用户登陆系统后,在个人工具箱中,可以通过点击个人资料修改的链接来修改个人资料(其中帐户名是不允许修改的),

7、通过最近发表的话题来查看和修改自己发布的帖。3.1.3文章发布模块用户登陆系统后可以查看其他所有用户发的文章,并可以发布自己的话题,也可响应回复其他用户和自己发表的话题。3.1.4公告制度模块论坛管理员可以通过后台管理系统发布论坛公告,公告可以选择版面,公告的主题,并可以设置字体的颜色大小等工具,支持UBB Code论坛的制度上可以设置对文章操作的客户积分。例如用户每发一篇文章,则增加一定量的积分。3.1.5版块管理模块论坛管理员可以通过后台管理系统控制论坛的版块,管理员可以完成下列功能:添加分类或版面,版面配置或删除;并可以对已存在的版块设置属性(包括名称,类别,隐藏,属性,默认风格,主题,

8、回复,排序等)。3.1.6信息管理 模块信息管理模块主要完成下面的功能:社区信息配置;添加管理员; 编辑管理员;设定等级;配置权限;重新登录;安全退出;用户等级;管理团队;用户列表;黑名单;用户查询。以上的功能完成了整个论坛的配置,用户的管理,管理员的管理都可以通过对应的链接来完成。3.2功能3.2.1提供完善的用户登录功能,要求为不同用户提供分级权限。3.2.2提供标准的加贴、删贴功能,并且每一个帖子的内容不加限制,帖子必须能显示加贴时间、作者,以及是否有回贴,有多少个回贴。3.2.3提供回帖功能,每个回帖有父贴。父帖与子帖是一对多的关系,删除父帖后,子帖也连带被删除。3.2.4提出精华区的

9、概念,为每个版面都提供一个精华区,其中内容是多次提出的热点问题。3.2.5完全是WWW模式,即只要有浏览器即可访问本BBS 系统。3.3设计方法基于WEB的通用BBS系统其系统定义部分采用面对对象的系统分析方法,并结合传统的结构化分析方化,设计出其系统模型,如果采用面向对象的程序设计语言开发系统,则可以很方便地从系统分析阶段平滑地过渡到设计阶段。但是,本系统采用ASP技术,我们知道ASP不支持继承和强类型转换等面向对象程序设计所必需的功能,只能采用一定的技术措施,用传统的结构型程序设计方式实现诸如继承等这类功能。下面就部分系统实现做一下简要说明:3.3.1系统主页面 Main.asp这是BBS

10、网站的HomePage,程序首先进行用户身份判断。本系统用户身份信息经登录后保存在SESSION对象的USERNAME和ADMINBOARD两个变量里。匿名用户(既Guest)这两个变量为空或没有定义;普通用户USERNAME变量有用户在本系统注册的会员昵称,但其ADMINBOARD变量没有定义或为空;版主用户其ADMINBOARD变量保存有他管理版面的ID;如果ADMINBOARD变量为“0”则为超级会员。依据程序对用户所做的判断,插入相应用户的功能操作菜单。这就实现了不同层次对象的同一方法的不同功能。譬如Guest:main.asp载入的功能菜单为genhead.asp,Super:mai

11、n.asp载入的功能菜单则为superhead.asp。注意:功能菜单文件其实就是普通的aspx文件,按照各自所属的操作对象列示其相应的功能链接。3.3.2. 各级别用户私有功能的实现方法私有功能是不能为比其级别高的用户所继承的功能。因此,私有功能ASP网页应进行具体某个级别身份的识别,非这个级别层次的用户则被拒绝访问。3.3.3. 各级别用户公有功能的实现方法公有功能是可以为比其级别高的用户所继承的功能。因此,公有功能ASP网页只进行比其级别低的用户身份的识别,如果此用户级别低则拒绝继续访问。此外,高级别的用户可以进行功能重载,譬如,匿名用户只能查看本系统会员列表,但是,超级会员在查看的同时

12、,还可以进行管理操作,如修改,删除等。下面是所有公用功能的重载列表:Guest:useradmin.asp 查看本论坛注册会员列表Super:useradmin.asp 查看并管理本论坛注册会员列表Guest:adminorlist.asp 查看本论坛版主列表Super:adminorlist.asp 查看并管理本论坛版主列表Adminor:articleadmin.asp 自已管理辖版面范围内的贴子维护Super:articleadmin.asp 本论坛所有版面贴子维护Adminor:linkadmin.asp 添加或维护自已曾添加的友情链接Super:linkadmin.asp 维护所有友

13、情链接列表Adminor:newpost.asp 在自已管理版面发布公告Super:newpost.asp 在任一版面发布公告3.3.4. 会员用户积分的计算模型会员用户每提交一篇文章,可以积十分。回复某篇文章,则可以积五分,同时原文作者积三分。3.3.5. 版主申请条件以及计算模型版主申请条件:为正式注册会员;一个会员最多管理二个版面;一个版面最多五个管理员。计算机模型:用户提出申请,超级用户审批。审批完成前此会员不能再次就同一版面申请版主权限。3.3.6超文本信息输入具有普通会员身份以上级别的用户,发表贴子或回复贴子时,可以在其贴子内插入诸如滚动文字,字体大小颜色不同的文字,以及超链接等等

14、。系统接受用户输入时对带格式文本应进行相应的编码(Encode),系统显示带超文本信息的贴子时则应进行相应的解码(Decode)。userlog.asp源代码如下:%objRS.CloseJudge if super administrator or board managerif bLogSucc=1 then strSQL=SELECT * FROM adminorlist WHERE username= & strUsername & set objRS=objDBConn.Execute(strSQL) if err.number0 then response.write 数据库操作失

15、败:&err.description end if If Not objRS.EOF Then if objRS(status)=Y then session(adminboard)=Cint(objRS(manbid) end if end ifWrite Log objRS.close strSQL=INSERT INTO loginfo(userid,userip,intime) strSQL=strSQL & VALUES( & strUserName & , strSQL=strSQL & request.servervariables(remote_host) & , strSQL

16、=strSQL & now() & ) set objRS=objDBConn.execute(strSQL) if err.number0 then response.write 数据库操作失败:&err.description end ifend ifobjRS.closeobjDBConn.CloseSet objRS=NothingSet objDBConn=Nothing%a id=reinput href=setTimeout(location.href = reinput.href,1000);确定了用户的会员身份以后,在每个需要进行身份识别的ASP网页插入身份识别代码,如果此用

17、户具有访问这个ASP网页的权限,则输出其相应的HTML文件,否则,系统转到用户登录网页要求用户重新登录以取得访问此ASP功能网页的合法身份。例如,论坛基本信息设置ASP网页需要访问者具有超级会员身份,在本网页前必须插入以下一段代码:%Check the Super Administrator RightResponse.Expires=0if Session(adminboard) 0 Then Response.redirect userlog.asp?errmsg=您没有超级用户管理权限,请重新登录或退出! End If%3.4流程逻辑 3.5接口3.5.1用户接口本系统采用的标准的VB编

18、写,内部套用Java脚本、XML、CSS,风格统一,用户可通过一个窗体即可完成所有的输入工作,本模块不涉及大图片、音频和视频等,这样能保证输出时的快速性。用户可以直观的查看数据和填写数据,尽可能的简化操作,其主界面简便易于使用。3.5.2外部接口系统的数据库连接主要采用访问SQL-Server数据库的方式,这样的连接方法简单,避免了直接连接所产生的弊端,所有的数据库操作都交给SQL-Server,数据库的访问全部由操作系统内部来完成。数据库的接口采用ADO.NET连接实现。使用SQL Server2005来存放BBS的所有数据,包括用户信息,文章数据,用户信件,用户消息,系统数据等。3.5.3

19、内部接口ADO.NET完成应用程序和数据库的连接;3.6存储分配数据库设计,在整个BBS 系统中,首先设计了三个数据库:其一、就是User (用户信息数据库) , 用来存放登记在本BBS 系统的用户信息,包括用户的ID 号、姓名、E - Mail 地址、密码等个人信息。其中用户的ID号是自动编号,并没有特殊的意义,只是用来表示唯一的一名用户,其他各列都是文本类型。在此库中并没有为用户设计权限,即所有的用户在此库中都是平等的。其二、是Board(版面数据库) ,用来记录版面的名称、版主的ID 号、版面的ID 号等信息,这里版主的ID 与User 库中的用户ID 是相关联的,即该表的Boardma

20、ster 与User 表中的UserID 是一致的, 通过Boardmaster 必定能找到位于User 库中属于该版主的一些个人信息,这样它与User 库相结合,就能够为不同的用户划分了不同的两个权限,一是版主权限,二是普通用户权限。其三、是Announce (帖子数据库) ,其中存放所发送帖子的ID、题目、作者、连接地址、子帖号、父帖号、帖子的内容、长度、所在的层次,以及所在版面等信息,在这里通过是否有子帖、是否有父帖、父帖的个数、所在的层次等项建立一个帖子的二级树状结构。为了代码的维护以及系统实现的容易性,只采用了二级结构,即只有父帖才能有回帖,回帖下面不能再有回帖,一组帖子中只能有一个

21、父帖,但可以有多个子帖。同时为了能够显示该帖子的影响程度,可加上一个点击数一项,表示该帖子被查看过的次数。此外,为了能够把大家都感兴趣的话题集中起来,也就是要加上一个精华区,这样必然要有一个。3.7限制条件在整个BBS 系统的设计过程中,WEB 数据库访问技术是至关重要的,它完全影响着开发工具的选择、服务器端脚本的选择、数据库的选择,以及执行速度、安全性等多方面因素,而实现WEB 数据库访问的方法多种多样。这里选择ADO 技术来实现本BBS 系统与数据库的连接,这可以把ADO 与ASP 结合起来,建立提供数据库信息的网页内容,在网页中执行SQL 命令,对数据库进行查询、插入、更新、删除等操作,

22、在ADO 中可以用VB脚本 ,Java脚本 语言来控制数据库的访问和查询结果的输出。3.8测试计划实现目标:没有注册的用户能够在登录时自动注册,并给出友好提示。帖子列表支持分页显示,使得可以轻松查看所有帖子。帖子拥有点击统计,更方便了解热点话题。站长版面管理实现WEB在线编辑,管理工作更加轻松随意。超强帖子查询功能。根据您感兴趣的内容快速获得信息,可对帖子按主题和发言人姓名按版面进行查询。其中,主题查询实施模糊查询方法。3.9尚未解决的问题 当初现帐号,密码等通常的错误时,用户可以重新输入信息,即可解决,或是重新启动客户端,当出现无法连接数据库或者是查询中的错误,通常系统管理员重新启动服务即可

23、解决,由于数据库的连接错误是全局的,所以重新启动服务是最佳的操作。4系统维护设计 用于系统的检查与维护的检测点和专用模块,在这个版本中没有出,将会在后续开发中增加,例如自动重新启动服务,自动纠正数据的错误。以及用户数据的安装问题,密码的加密问题.5结束语本系统采用WWW 技术,采用流行的B/S 开发模式,现已基本实现了BBS 论坛的基本功能,使注册用户之间的交流更为简单、方便、灵活,而且使用方便、扩展性好、便于维护,是传统BBS 系统的一大改进。在这次bbs课程设计中小组得到了很大的提高和发展,在此感谢一切给与了帮助的同学及老师,同时在此说一声老师辛苦了。 sky工作室成员:徐维5137林晓燕5161王超5140李晋科5146专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com