资源描述
BBS 论坛论坛摘要摘要BBS 已经成为人们获取信息、发表言论的重要场所。它由论坛注册用户所发表的大量主题组成。近些年来,随着校园网建设的发展,大学校园网 BBS 也越来越火,因此建设一个好的 BBS 显得越来越有必要了.本文论述了开发一个简单的BBS 系统所用到的关键技术和方法。其中运用了 ASP 技术、ACCESS 数据库等等, 对上述技术的实现方法进行了详细的讨论,介绍了在 WEB 服务器上,利用 ASP技术和 ADO 等技术,实现了一个简单的 BBS 系统的设计与开发,并详细讨论了该系统的实现过程及其结构。关键字:BBS 论坛,基本功能,扩展功能,ACCESS 数据库,ASPAbstract Forum and chat room has become for people to obtain information and the important place of expression.It published a large number of registered users by the Forum of themes.In recent years, as the development of the campus network, Internet forums and chat rooms, university campuses have more fire.So building a good forum and a chat room are becoming increasingly necessary. This paper discusses the development of a simple system to use chat rooms, forums and the key technologies and methods.With the use of ASP, ACCESS database and so on.The realization of the above methods are discussed in detail, introduced a Web server.ASP and ADO, such as technology, a simple forums and chat rooms, the system design and development,and discussed in detail the structure of the system and its processes. KeywordS: BBs Forum, basic, functions expanded, ACCESS database, ASP目录第一章第一章 绪论绪论 .11.1BBS 的发展背景.11.2 BBS 对大学生学习生活的影响.11.2.1BBS 提供了丰富的网络学习资源 .11.2.2 BBS 促进了协作学习 .11.2.3 BBS 提高了学生自主学习能力 .2第二章第二章 软件介绍及基本原理软件介绍及基本原理 .32.1 ADO 技术.32.2 开发环境及工具.42.3 ASP 有关的内置对象的设置.42.3.1Request 对象.42.3.2Response 对象.42.3.3Server 对象.42.3.4Session 对象.52.4 与 ADO 有关的设置.5第三章第三章 系统需求规划系统需求规划 .63.1 需求分析.63.2 功能设计.93.2.1 基本功能设计.93.2.2 扩展功能设计.93.3 设计可扩充功能的接口.11第四章第四章 功能模块与数据库设计功能模块与数据库设计 .124.1 设计框架.124.2 模块的划分及设计.134.3 设计数据库.154.4 创建数据库.15第五章第五章 系统实现与测试系统实现与测试 .195.1 验证性测试.195.2 添加、编辑和删除功能测试.21第六章第六章 结束语结束语 .236.1 系统的特点与局限性.236.1.1 特点.236.1.2 局限性.236.2 实施过程中的一些体会.23致致 谢谢 .25参考文献参考文献 .261第一章第一章 绪论绪论1.11.1BBSBBS 的发展背景的发展背景BBS 是在 1992 年底随着国际互联网的开始流行而迅速发展起来的.互联网的产生使得以前只能在本地访问的 BBS 可以被全世界随意访问, 这对大多数人来说是极具诱惑力的.BBS 是一个有多人参加的讨论系统,在 BBS 上大家可以对一个共同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人进行沟通.按照网站的性质以及服务对象来分,迄今有以下几种类型:一是校园 BBS.校园 BBS 作为主要的集中地,在 BBS 领域具有举足轻重的地位. 由于校园 BBS 的繁荣,吸引了很多的社会人士参与.二是专业 BBS.一般是由各个著名的大公司组建,人们可以利用其交流自己对商品的看法,更为重要的是可以解决商品使用中的问题.三是商业 BBS.它是由 ISP 建立的 BBS 站点,这类 BBS 站点各种信息比较多,内容相当丰富. 四是小型局域 BBS.一般是由个人或小型集体建立,为小范围信息交流服务. 五是业余 BBS.一般由 BBS 爱好者个人利用一些免费空间办的 BBS,目的是为广大网友提供一个在某些专业上的交流场所.六是新闻媒体 BBS.是由新闻媒体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所. 随着互联网事业的蓬勃发展.BBS,这个具有强大实时交互功能,信息交流的平台,使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法.1.21.2 BBSBBS 对大学生学习生活的影响对大学生学习生活的影响1.2.1BBS1.2.1BBS 提供了丰富的网络学习资源提供了丰富的网络学习资源论坛是一个经过学习者整理加工过的网络资源汇 en 集中心,从新闻、学习到娱乐、体育,从文字到视频、音频,BBS 汇集了各种形式、内容的网络资源。不少 BBS 都设有专门的 NetResources(网络资源)板块;FTP 技术和 BT 技术的发展更是为 BBS 站内资源的更新、共享提供了方便。如今,大部分大学的 BBS 论坛都有相应的 FTP 服务器,不少 BBS 还与网络新兴的 BT 技术、Blog(博客)技术等连接起来 BBS 水木清华站就有“水木 Blog”的栏目) 。21.2.21.2.2 BBSBBS 促进了协作学习促进了协作学习基于网络的论坛社区也是各种学习资源组合的场所,为学习者提供了学习环境。作为一个学生参与论坛的网络活动可包括许多种学习的意义,在特定板块内,论坛参与者围绕某个话题或者问题,通过发表、回复话题、版面讨论、站内信件等方式进行互动讨论、相互探讨,形成了一种以学习者为中心的学习方式。从教育网内人气排名前十名的论坛的网友参与的情况来看,在各大学习板块里,基本上每张帖子提出的问题都可以得到网友友好的、认真的回复解答,有着浓郁的协作探讨的学习气氛和良好的学习效果。1.2.31.2.3 BBSBBS 提高了学生自主学习能力提高了学生自主学习能力网络学习的本质是一种自主学习,论坛提供了丰富的网络学习资源,使学习者能自主选择和控制学习地点、学习时间、学习方法和学习内容。在论坛里,学生可以自主地围绕学习问题,通过发帖、回复的形式提出讨论,寻求解答帮助,提高了学习的积极性和自主学习的能力。3第二章第二章 软件介绍及基本原理软件介绍及基本原理2.12.1 ADOADO 技术技术ADO (ActiveX Data Objects) 是微软公司提供给网页开发者在网页中存取数据库的最新技术, 它也是ASP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源, 数据源不仅包括数据库,而且包括dBase、Excel、Foxpro、Access 或文本文件等一些小型的数据表, 所以, 只要是ODBC 驱动程序所能存取的数据源皆是ADO 存取的对象。ADO主要是由Connection对象、Command对象、Parameter对象、Dataset对象、Field对象、Property对象及Error对象等七个对象与Fields数据集合、Properties数据集合、Parameters数据集合及Errors数据集合等四个数据集合所组合而成, 其功能概述如下:ADO 提供的七个对象:(1)Connection 对象负责对指定的数据源进行连接,除此之外,它还可以通过事物(Transaction)来确保在事物中所有的数据源变更的全部成功。(2)Command 对象负责对数据库提供请求,也就是传递指定的 SQL 使命,除此之外,也可能通过 Command 对象对数据库发出数据定义语言(DDL ,Data Definition Language)。(3)Parameter 对象负责传递 Command 对象所需要的 SQL 命令参数。(4)DataSet 对象负责浏览和操作从数据库取出的数据。(5)Field 对象表示指定 DataSet 对象的数据字段。(6)Property 对象表示 ADO 的各项对象属性值。(7)Error 对象负责记录连接过程所发生的错误信息。ADO 的七个对象及四个数据集合相互的关系图如图 2-1 所示:4如图 2-1 ActiveX Data Object 关系图2.22.2 开发环境及工具开发环境及工具软件: Internet Information Server(IIS) 5. 0, Dreamweaver MX, ACCESS 2000。2.32.3 ASPASP 有关的内置对象的设置有关的内置对象的设置2.3.12.3.1RequestRequest 对象对象HTTP 通讯协议是一种请求与响应(Request/Response)的通讯协议,因此通常由客户端向Web 服务器提出请求,Web服务器才会响应信息。因此在ASP中,特别将“客户端提出的要求”与“Web 服务器响应的信息”等动作封装成Request 对象与Response对象。换言之, Request 对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies 等等。2.3.22.3.2ResponseResponse 对象对象每一种程序语言或开发工具一定都有与用户沟通的界面或函数, ASP 也不例外。在ASP 中负责将信息传达到用户的对象就是Response 对象。2.3.32.3.3ServerServer 对象对象Server 对象允许用户取得服务器提供的各项功能,例如 Server 对象CreateObject 方法允许客户端用户建立一个 ActiveXServer 组件实例,其建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。如果希望此对象实例可以跨多个ASP 网页,就要用到 Session 对象保留该组件实例,直到 Session 5对象的运行时间到了,或是在其他ASP 网页调用 Session 对象的 Abandon 方法,此组件实例才会被释放。2.3.42.3.4SessionSession 对象对象Session 对象在 ASP 程序编写中占了相当重的份量, 由于网页是一种无状态的程序, 因此几乎无法知道用户的浏览状态。必须通过 Session 对象记录用户的相关信息, 以供用户再次对此 Web 服务器提出要求时作确认, 例如, 在某些特定的网页中, 常需要用户输入确认的账号和密码, 假如这些身份确认的结果无法保留, 那岂不是每一个网页都需要重新输入一次密码。必须说明, Session 对象只能适用于具备 Cookie 功能的浏览器。2.42.4 与与 ADOADO 有关的设置有关的设置在本BBS 系统中主要对 ADO 提供的四个数据集合进行了设置:(1)Connection 对象包含 Errors 数据集合, 在 Errors 数据集合中包含数据源响应失败时所建立的 Errors 对象.(2) Command 对象包含Parameters 数据集合, 在Parameters 数据集合中包括Command 对象所有的Parameters 对象.(3) DataSet 对象包含Fields 数据集合, 在Fields 数据集合中包含DataSet 对象的所有Field 数据字段对象.(4)Connection 对象、Command 对象、DataSet 对象与Field 对象皆包含一个Properties 数据集合, 在Properties 数据集合中包含所对应Connection 对象、Command 对象、DataSet 对象与Field 对象的Property 对象.6第三章第三章 系统需求规划系统需求规划用户使用论坛,有一定的流程:用户注册登陆进入论坛,就某个话题(主题帖)展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,通过搜索功能查找已有的话题;管理员通过管理功能创建、编辑、删除论坛的板块,管理注册用户,管理帖子,设置论坛基本参数。这样的流程就决定了论坛的需求,如图 3-1 所示: 图 3-1 论坛流程图3.13.1 需求分析需求分析 从流程图上可以看到论坛完成的走向,其实每一个流程的节点处都有许多功能,如表 3-1:论坛板块列表浏览帖子发帖回帖搜索帖子编辑帖子删除帖子精华帖置顶帖子转移帖子用户注册用户登陆控制用户权限修改注册信息设置论坛参数管理板块管理用户表 3-1 论坛功能列表在这十六个凌乱无序的需求进行整理、归纳、再构建系统的整体框架,设计出数据实体、接口、用户界面,最终将所有功能需求转化为可以编码实现的程序框架。首先,通过观察论坛所有功能需求,可以发现在这十六个功能需求中,如果按照7不同事务分类,可以分为四类对象:板块、帖子、用户和论坛。这四类对象,可以设计为四个数据实体,如果用数据库存储它们,即可以设计四个基本数据表。如图 3-2: 图 3-2板块类有浏览列表和管理两个方法,管理方法又可以分为创建、修改和删除3 个子方法,如图 3-3: 图 3-3 板块对象的相关用例图帖子类有浏览、发帖、回帖、搜索和管理 5 个方法,浏览方法又可以分为列表和查看 2 个子方法,管理方法又可以分为编辑、删除、置顶、转移、指定精华5 个子方法,如图 3-4:论坛配置信息表模块信息表帖子信息表用户信息表 8图 3-4 帖子对象的相关用例图用户类有注册、登陆和管理 3 个子方法,管理方法又分为添加、删除和设置权限 3 个子方法,如图 3-5:图 3-5 用户对象的相关用例图论坛一般存在两种用户,分别为注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,在本论坛中,管理员的权限是上级权限。与注册用户相关的功能,其实就是论坛前台的主要功能。论坛系统的前台,是用户讨论9问题的平台,发帖、回帖一直贯穿用户整个的前台活动。同时,由于论坛系统的帖子管理是管理员在帖子浏览时进行的,所以编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖等功能也安排在前台实现。其他与管理员相关的功能,包括板块管理、用户管理和论坛设置等都是管理员在后台进行的操作。3.23.2 功能设计功能设计3.2.13.2.1 基本功能设计基本功能设计通过需求分析,论坛的基本功能可以从众多的需求中筛选出来。顾名思义,基本功能就是构成论坛系统的必要功能,具备这些功能的 Web 系统即是论坛。基本功能:发帖。论坛最初是为了相互讨论话题而诞生的,发表帖子就是表达自己的看法,与他人进行讨论,因此发帖是论坛首要的功能。浏览帖子。发表了帖子,就要供他人浏览查看,与他人分享自己的想法和经验。回帖。浏览了他人发表的帖子,想要发表自己的想法,参与讨论,就可以回复这个帖子。其实,发帖浏览帖子回帖三大功能周而复始的循环进行,就构成论坛。每个参与论坛的人,主要目的就是发帖,查看已经发表的帖子,针对自己感兴趣的帖子进行回帖,参与讨论。三大基本功能的相互关系如图 3-6:图 3-6 基本功能的相互关系图3.2.23.2.2 扩展功能设计扩展功能设计除了基本功能之外,其他的论坛功能都是扩展功能。注册登陆。原先的论坛在发帖回帖时,需要填写自己的笔名。这样,经10常发帖的人总是要重复填写笔名,比较麻烦。因此,论坛扩展了用户注册登陆功能,参与论坛的注册自己的笔名以及个人信息,拥有论坛中的身份,发言时就不需要重复填写个人信息了。分板块浏览帖子。随着论坛帖子数量的增多,讨论相同话题的帖子聚集在一起,引出了论坛新的扩展功能,即分板块浏览帖子,属于同一板块的帖子讨论同样的话题。这样,就使得对某一话题感兴趣的用户不会被其他帖子干扰,也有利于相同兴趣的用户相互间讨论,不易跑题。编辑帖子。发帖回帖的用户,如果需要修改更新自己发表的帖子内容,就引出了编辑帖子内容这个扩展功能,提供给用户更新自己发言的选择。对于论坛管理员,可以编辑任何帖子的内容,也算是提供给管理员进行管理的选择。删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子,这就引出了删除帖子的扩展功能。转移帖子。论坛划分了板块,如果帖子内容不属于所在板块的关注话题,那么管理员可以选择将此帖移动到所属话题的板块中去,这就引出了移动帖子的扩展功能。这个功能是随着板块功能的出现而出现的,板块将帖子进行了分组,从而提出了随板块移动帖子的要求。置顶帖子。帖子一般是根据发表以及回复时间到序排列的,这样先发的帖子就慢慢排到后面,管理员如果需要强调某些帖子重要,又必看性,就要打乱默认的排列顺序,将这些帖子放在列表的最前端,不再按照时间进行顺序的变化,但是还要保证其他帖子按照时间变化顺序进行排列,这就引出了置顶帖子的扩展功能。指定精华帖。如果管理员认为某个帖子的内容非常好,可以打上标记,推荐给看帖的用户,这就引出了指定精华帖的扩展功能。用户可以选择只看打上标记的精华帖。搜索帖子。论坛中的帖子越来越多,用户需要从大量的帖子中找到自己需要的内容,这就引出了搜索帖子的扩展功能。管理板块。论坛板需要先创建,才能被使用,管理员还可以删除修改板块的相关信息,因此管理板块是管理员使用的扩展功能。11设置参数。论坛一般有一些初始化信息,比如论坛名称,每页显示帖子数量等参数信息,管理员也可以在后台界面自行设置,这页属于扩展功能。管理用户。管理员可以对论坛的注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户权限,对违规用户可以删除,这个扩展功能便于管理员对论坛用户的管理。论坛的扩展功能如图 3-7:图 3-7 论坛的扩展功能图3.33.3 设计可扩充功能的接口设计可扩充功能的接口 列出了所有基本的和扩展功能之后,在设计时需要考虑以后扩充的余地,即在给论坛添加新的功能的时候,原有的功能正常可用,不受影响。或者丰富扩展某个功能时,能够方便衔接。这就要求在设计程序时,每个功能保留开放的接口,通过接口可以对功能进行扩充,也可以与新功能进行挂接。其实现的原理及思路如图 3-8:12图 3-8 功能的可扩充接口实现原理图13第四章第四章 功能模块与数据库设计功能模块与数据库设计4.14.1 设计框架设计框架 在确定了论坛系统的设计思路之后,还需要归纳成系统的相关模块,每个模块实际上就是功能的合理组合。 由于已经将功能做了前台与后台的分类,因此模块也应该分为两大类:前台模块和后台模块。用户在前台的注册、登陆,以及修改个人的注册信息组合成注册信息组合成注册登陆模块。用户浏览板块、浏览主题帖列表、查看帖子组合成浏览模块。用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。管理员编辑帖子、删除帖子、转移帖子、置顶帖子和精华帖子组合成管理帖子模块。以上 4 个模块是前台模块。后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建、修改和删除板块为管理板块模块;添加、删除和设置权限为管理用户模块。如图 4-1:图 4-1 BBS 的模块体系图从用户角度分析问题,首先区分系统中有几种用户,目前的论坛系统,为了使其清楚易懂,简化了用户体系,论坛中只有两种用户:注册用户和管理员。一般论坛中的版主权限,划分为管理员,这也是为了使读者容易分清论坛的使用者14和管理者。对于注册用户,在论坛中的行为可归纳如下:注册个人身份,登陆论坛,登陆成功后可以修改自己的注册信息。这些行为只与用户自身相关,功能独立,设计成注册登陆模块。浏览板块列表,选择某板块,浏览其下的主题帖列表,查看帖子内容,搜索需要的帖子。这些行为是用户读取论坛的板块及其帖子的相关信息,设计成浏览模块。发帖回帖,可以发表新帖子,也可以回复已有的帖子,同时可以编辑自己写的帖子内容。这些行为是用户参与论坛讨论,发表自己见解的行为,设计为发帖回帖模块。管理员需要负责整个论坛的正常运转,因此他需要更多的管理功能,可以归纳为如下行为:具备注册用户的所有功能。因为管理员也是论坛用户,可以参与论坛中的讨论。管理帖子。管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华帖,置顶帖子,转移发错板块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。管理板块。论坛中的板块,需要管理员进行创建、管理板块信息,这些针对板块的操作,设计成管理板块模块。管理用户。用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自主添加、删除用户,这些针对用户信息的操作,设计成管理用户模块。4.24.2 模块的划分及设计模块的划分及设计 每个模块的功能都真实反映需求,通过对需求的认真分析,可以设计出符合要求的单独模块。但是,对于一个论坛系统来说,要很好地把握系统地构架,把零散地功能模块用一条主线串连起来,构建完整的系统。 对论坛系统来说,联系各个模块的主线是使用者的权限,用户能够使用论坛的哪些功能是由用户的权限决定的。论坛的每个功能都与相应的权限对应。例如,注册用户具有浏览帖子、发帖、回帖的权限,那么他就能使用论坛中的浏览、发15帖、回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同类事务的功能模块,也是有相互关系的。 因此,浏览模块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程决定的,如图 4-2: 图 4-2 帖子相关模块关系图管理板块模块与浏览模块关联,是由帖子与板块的父子关系决定的。帖子依附于板块,先有板块,后有帖子,帖子必须发表在某个板块中,如图 4-3:图 4-3 管理板块模块于浏览模块关系图 管理用户模块与注册登陆模块关联,是由同一类对象用户决定的。注册后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登陆证明自己在论坛中的身份,如图 4-4: 图 4-4 管理用户模块与注册登陆模块关系图弄清楚模块间的相互关系,就可以设计出论坛系统的整体架构了,如图 4-5: 16图 4-5 系统整体架构图系统因入口的不同而分为前台系统与后台系统。前台系统包括注册登陆模块、浏览模块、发帖回帖模块、管理帖子模块;后台包括管理用户模块、管理板块模块。之所以要把属于管理员权限的管理帖子模块归属于前台,是因为,对于一个论坛系统,帖子是最主要的,为了方便管理,管理员需要一边浏览查看一边进行管理,管理时需要了解帖子的详细内容,以及相关回帖信息,因此将帖子的管理界面融合在前台的浏览界面中。至于其他的模块则比较清楚,是根据用户的权限划分的。4.34.3 设计数据库设计数据库本系统所使用的数据库服务器为ACCESS 2000,它在ACCESS 2000 的基础上, 扩展了ACCESS的总体功能与性能、工具界面更加方便合理、全面的数据完整性保护、系统安全性更高。ACCESS 2000 的数据库空间不会受限于Device空间大小, 方便了数据空间的扩展, 使ACCESS 2000 作为一个网络数据库管理系统,其扩展已超出了单个物理计算机的限制,并且多服务器“分布式”事物的内在支持更加充分.本系统主要使用了存储过程Stored Procedure, 所谓Stored Procedure实际上就是一段保存在数据库中的程序, 通过一个名称的命名,其中包含有处理数据库存取与运算的SQL语句, 并且将这样的程序文件紧密结合在数据库中,这样我们的前台应用系统在执行过程中,可以直接执行数据库中设置好的Stored Procedure,甚至可以传递参数。4.44.4 创建数据库创建数据库ACCESS 2000 的Manager管理工具是一个非常好用的可视化管理工具, ACCESS 2000 中提供的datetime和text两种字段类型,其中datetime是用来保存日期和时间数据的,text 是用来保存不定长度的备注说明内容的, 有了这两个数据17类型, 应用系统中就不用再为输出格式和限制字符串长度而增加额外代码了。数据表间关系如以下表格:编号字段名称说明1ID2UserName名字3UserPass密码4Membercode用户类型5UserMailEMAIL6UserHonor头衔7UserSex性别8NewMessage新留言9PostTopic发表原贴10PostRevert发表回贴11DelTopic被删贴子12GoodTopic收录精华13Experience经 验 值14UserFace头像 URL15UserRegTime注册日期16UserLandTime最后登陆日期17UserFriend好友的 ID 列表18UserInfo个人信息资料表 4-1 用户表(BBSXP_Users)编号字段名称说明1ID留言 ID2UserName留言人3Incept接收留言的人4Content留言内容185DateCreated留言时间表 4-2 用户消息表(BBSXP_Messages)编号字段名称说明1ID2ThreadID所属的主题 Id3IsTopic是否为主题帖4UserName发帖人用户名5Subject标题6Content正文内容7PostTime创建时间表 4-3 论坛回帖表(BBSXP_Posts)编号字段名称说明1ID2ForumID所属版块3Topic标题4UserName用户名5LastName最后回复的用户6PostTime主题发表时间7LastTime最后回复时间8IsDel是否被删主题9Views浏览次数10Replies回复次数表 4-4 论坛主题表(BBSXP_Threads)编号字段名称说明1ID192UserName用户名3Title标题4Content内容5Hide0=公开 1=保密6DateCreated发表日期表 4-5 论坛日志表(BBSXP_Calendar)编号字段名称说明1ID2RankName等级名称3PostingCountMin最少经验值表 4-6 论坛等级表(BBSXP_Ranks)编号字段名称说明1ID2ForumName论坛名称3Moderated论坛版主4TolSpecialTopic主题类型5ForumIntro论坛介绍6ForumThreads主题数7ForumPosts帖子数8LastTopic最后发表主题9LastName最后发帖人的名称10LastTime最后发表时间表 4-7 论坛板块表(BBSXP_Forums)之所以这样设计数据表间关系,主要是考虑论坛中各个对象得相互关系,帖子属于板块,回复帖从属于主题帖,帖子的作者属于用户,因此板块、主题帖、20回复帖是一层层的从属依赖关系,帖子的作者必须是论坛的用户,帖子不能脱离板块、用户而单独存在。21第五章第五章 系统实现与测试系统实现与测试本论坛系统完成之后,就必须设计许多的测试用例来验证本系统的正确性,容错能力/恢复能力,信息安全性,可靠性等,尽可能多地找出系统的错误所在。5.15.1 验证性测试验证性测试在登录论坛之前,论坛首页上显示 “您的当前状态是:未登录!”此时,该用户除了能够进行用户注册之外,没有任何权限访问论坛的任何一个模块。当点击任何一个功能按钮时,页面将会显示:“您没有登录,请返回!”当用户点击“注册”按钮,页面便跳转到用户注册界面(如图 5-1) ,若注册成功,则显示“注册成功” (如图 5-2) ,否则显示“发生错误返回” 。图 5-122 图 5-2当点击登录按钮,则页面跳转到登录界面(如图 5-3)用户成功登陆之后,页面即显示您的当前状态为“已登录” (如图 5-4) 。只有当用户登录之后才能够修改该用户的信息,否则,当用户点击“修改注册信息”按钮时,页面会显示“没有登录,取不到用户信息。请返回” 。 图 5-323 图 5-45.25.2 添加、编辑和删除功能测试添加、编辑和删除功能测试当管理员点击“新建论坛”按钮,页面即跳转到图 5-5,管理员可以根据需要添加某些论坛,若添加成功则显示“添加成功” ,否则显示错误信息。 24图 5-5有了论坛的添加当然也少不了论坛的编辑和删除(如图 5-6) ,点击编辑按钮,则论坛信息全部变为编辑状态,当编辑完成,则点击更新,否则点取消。若要删除某个论坛,在点击删除按钮时会有确认信息提示,以防错误操作(如图 5-7) 。若这些操作成功,则页面显示更新过的数据,否则提示错误信息。图 5-6图 5-725第六章第六章 结束语结束语6.16.1 系统的特点与局限性系统的特点与局限性 6.1.16.1.1 特点特点本系统最大的特点就是结构简单,界面清晰、简洁,一目了然。它不同于网络上的其他论坛的地方在于,主界面只显示每个板块的名称,板块描述,建立时间以及版主,而不细列出每个板块里的主题情况,这样就使原本繁杂的主界面大大简化,层层分明,给人一种很干净清新的感觉,不会象其他网络论坛一样使人眼花缭乱,不知从何处进入板块才好。本系统还有一个特点就是可扩展性非常强。由于采用的是原型法的开发模式,一开始只是对论坛的基本功能,即浏览帖子、发帖和回帖这三个功能进行了设计,而后来的注册登陆、分板块浏览帖子、编辑帖子、删除帖子、转移帖子、置顶帖子、指定精华帖、搜索帖子、管理板块、设置参数、管理用户以及文件的上传和下载等功能则是在后来的开发中陆续添加进去的。6.1.26.1.2 局限性局限性 事物总是一分为二的,本论坛系统的优点也就导致了它的局限性,由于界面简洁,每个板块没有列出所包含的主题,用户必须点击进入才能看到该板块中的所有主题,然后点击回复,这样就加大了用户的工作量,令他们的操作有些许累赘。第二,用户在发帖之后,并不能马上对自己发的帖子进行修改或删除,要想进行这些操作,必须进入管理登录界面,这样使得登录过的用户必须又要再登录一遍,又一次增加了用户操作的复杂性。这一点还有待改进。第三,由于最初的设计没有考虑到头衔的显示,因此在对用户进行管理的时候,头衔的管理和用户其他信息及权限的管理是分开的,这样就导致了管理员的工作量有所增加。最后,由于时间的关系,本论坛没有实现系统自动对发帖的用户增加积分的功能,这是本论坛的一大瑕疵。6.26.2 实施过程中的一些体会实施过程中的一些体会为期多月的毕业设计已经接近尾声了,本系统的整个实施过程中,遇到了很多很多的困难。看着自己的设计从无到有,从最初的雏形到如今的完整系统,虽说算不上完善,但也基本符合需求,这不仅仅是自己这几个月来辛勤劳动的结晶,26更是对自己学习成果的一个检验。在最初选择 ASP 和 ACCESS 2000 作为开发工具的时候,我考虑到 ASP 的强大功能和 ACCESS 良好的可移植性很适合做 Web 开发,但是也考虑到我以前从来没有使用过这两种工具来开发项目,也就是说对于这两种工具的使用我没有任何的经验,这无形之中就增加了我做毕业设计的难度,我必须从头开始学习 asp 和 ACCESS。我的感觉是 ASP 跟 JAVA 很相似,而 ACCESS 上手很难,但是一旦学懂了,就会发现它真的很有用,并且越来越觉得所掌握的知识远远不够用。在我开发的整个过程中我在不断的学习,一边学一边做,很多时候在一个问题上要花好几个小时甚至一两天,当我好不容易将这个问题解决时才发现其实这是个很小的问题,也许只是由于不了解它的一个对象或者时一个函数的功能。但是,每当我费尽心思解决了一个关键问题时,那种成功的喜悦和茅塞顿开的感觉是没有办法来形容的,它不仅让我感受到自己知识的浅薄也会激励我更加努力的去学习更多的东西,好把我的设计做的更完善更好,因为我根本就不会知道自己在接下来的设计中又会遇到怎样的挫折。从我的毕业设计上很容易看出来这个系统的稚嫩,很多地方的需求没有考虑到,很多功能实现的也很不完善,这可能跟我平时很少上网逛论坛有很大的关系。虽说在老师的指导下已经改进了很多,一些我觉得不必要而实际上很必要的功能虽然增加进去了,但是这个系统已经少了一种一气呵成的感觉,很多地方都能够看出需求变更的影子。这也让我更加体会到了一个良好的软件需求对一个软件系统来说是多么的重要了。毕业设计将我学习的知识进行了一次综合,我必须将以前所学融会贯通,且灵活运用并且更加深入地研究学习之后才能完成我的设计,这也正是学习的真谛,希望我能够成功地通过这次检验,成为一个优秀的毕业生。27参考文献参考文献1 钟玉,阳昊,浅谈大学校园网 BBS,益阳师专学报,2004 年 11 月,P22 刘冰,从BBS 看校园网络文化对大学生学习的影响,现代远程教育研究,2005 年 2 期,P3-43 邵斐,基于 Web 的 BBS 系统的建立,金陵职业大学学报,2003 年 3 月,P14 李勇平,陈峰波,ASP 基础教程,清华大学出版社,2006 年 2 月,P12-135 胡百敬 姚巧玫,ACCESS 2003 数据库开发详解,电子工业出版社 , P25-336 曹斌、韩中孝,aspt 数据库系统项目开发实践 ,北京:科技出版社,2005,P1027 Karli Watson Christian Nagel,C#入门经典(第 3 版),清华大学出版社, 2006-1-5,P56-698 陈宗兴. ACCESS2000 程序设计M . 北京: 中国铁道出版社, 1999,P43-489 万峰科技,ASP 网站开发,电子工业出版社,2005 年 8 月,P143-17110 王少锋,UML 面向对象建模方法与技术,北京:清华大学出版社,2004 .10,P55-12011 吴建,郑潮,汪杰,UML 基础与 ROSE 建模案例,人民邮电出版社,2004 年9 月,P98-12412 孟凡琦,ASP + ACCESS 动态网站开发从基础到实践,北京:电子工业出版社,2005,P237-31213 张蓓,ASP 通用模块及典型系统开发,人民邮电出版社,2006,P38-5414 Frentzen, Jeff,GO WITH USENET FOR RELIABLE ONLINE RESEARCH, Week, 07401604, 02/09/98, Vol. 15, Issue 6 ,P415 郝刚,严治国 何宇光,ASP.NET 2.0 开发指南,人民邮电出版社,2006 年5 月, P129,16 Reid Goldsborough,Usenet Can Still Be Useful,Tech Directions. Ann Arbor: Feb 2006. Vol. 65, Iss. 7; pg. 9, P1 17 考夫曼(Kauffman,J.) 唐格勒西纳姆(Thangarathinam,T.) ,ASP.NET 2.0数据库入门经典(第 4 版),清华大学出版社,P31-4818 蒋凡高俊波张敏王煦法,BBS 中主题发现原型系统的设计与实现,中国科学28技术大学计算机科学与技术系, P245-33719 Kusatsu, Kohei Tsuda and Ruck Thawonmas,Keyword Discovery by Measuring Influence Rates on Bulletin Board Services, Shiga 525-8577, Japan20 Jingfang Xu, Yangbo Zhu, and Xing Li,An Article Language Model for BBS Search, Department of Electronic Engineering,Tsinghua University,Beijing 100084, P.R. China,P7521 林金霖,ASP 实务经典M. 北京: 中国铁道出版社, 1999,P69-7222 王映雪, 肖平, 佟秋利,HTML 网页制作M . 北京: 清华大学出版社, 1998,P53-59
展开阅读全文