资源描述
BBS 论坛 摘要 BBS 已经成为人们获取信息、发表言论的重要场所。它由论坛注册用户所发 表的大量主题组成。近些年来,随着校园网建设的发展,大学校园网 BBS 也越来越 火,因此建设一个好的 BBS 显得越来越有必要了.本文论述了开发一个简单的 BBS 系统所用到的关键技术和方法。其中运用了 ASP 技术、ACCESS 数据库等 等, 对上述技术的实现方法进行了详细的讨论,介绍了在 WEB 服务器上,利用 ASP 技术和 ADO 等技术,实现了一个简单的 BBS 系统的设计与开发,并详细讨论了该 系统的实现过程及其结构。 关键字:BBS 论坛,基本功能,扩展功能,ACCESS 数据库,ASP Abstract 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 目录 第一章 绪论 1 1.1BBS 的发展背景 .1 1.2 BBS 对大学生学习生活的影响 1 1.2.1BBS 提供了丰富的网络学习资源 .1 1.2.2 BBS 促进了协作学习 1 1.2.3 BBS 提高了学生自主学习能力 2 第二章 软件介绍及基本原理 3 2.1 ADO 技术 3 2.2 开发环境及工具 4 2.3 ASP 有关的内置对象的设置 4 2.3.1 Request 对象 .4 2.3.2 Response 对象 .4 2.3.3 Server 对象 4 2.3.4 Sessio n 对象 5 2.4 与 ADO 有关的设置 5 第三章 系统需求规划 6 3.1 需求分析 6 3.2 功能设计 9 3.2.1 基本功能设计 .9 3.2.2 扩展功能设计 .9 3.3 设计可扩充功能的接口 11 第四章 功能模块与数据库设计 12 4.1 设计框架 12 4.2 模块的划分及设计 13 4.3 设计数据库 15 4.4 创建数据库 15 第五章 系统实现与测试 19 5.1 验证性测试 19 5.2 添加、编辑和删除功能测试 21 第六章 结束语 23 6.1 系统的特点与局限性 23 6.1.1 特点 23 6.1.2 局限性 23 6.2 实施过程中的一些体会 23 致 谢 25 参考文献 26 1 第一章 绪论 1.1BBS 的发展背景 BBS 是在 1992 年底随着国际互联网的开始流行而迅速发展起来的.互联网的 产生使得以前只能在本地访问的 BBS 可以被全世界随意访问, 这对大多数人来说 是极具诱惑力的.BBS 是一个有多人参加的讨论系统 ,在 BBS 上大家可以对一个共 同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人 进行沟通.按照网站的性质以及服务对象来分,迄今有以下几种类型:一是校园 BBS.校 园 BBS 作为主要的集中地,在 BBS 领域具有举足轻重的地位. 由于校园 BBS 的繁 荣,吸引了很多的社会人士参与.二是专业 BBS.一般是由各个著名的大公司组建, 人们可以利用其交流自己对商品的看法,更为重要的是可以解决商品使用中的问 题.三是商业 BBS.它是由 ISP 建立的 BBS 站点,这类 BBS 站点各种信息比较多,内 容相当丰富. 四是小型局域 BBS.一般是由个人或小型集体建立,为小范围信息交 流服务. 五是业余 BBS.一般由 BBS 爱好者个人利用一些免费空间办的 BBS,目的 是为广大网友提供一个在某些专业上的交流场所.六是新闻媒体 BBS.是由新闻媒 体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所. 随着互联网事业的蓬勃发展.BBS,这个具有强大实时交互功能,信息交流的平台, 使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、 阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自 己的看法. 1.2 BBS 对大学生学习生活的影响 1.2.1BBS 提供了丰富的网络学习资源 论坛是一个经过学习者整理加工过的网络资源汇 en 集中心,从新闻、学习 到娱乐、体育,从文字到视频、音频,BBS 汇集了各种形式、内容的网络资源。 不少 BBS 都设有专门的 NetResources(网络资源)板块;FTP 技术和 BT 技术的 发展更是为 BBS 站内资源的更新、共享提供了方便。如今,大部分大学的 BBS 论 坛都有相应的 FTP 服务器,不少 BBS 还与网络新兴的 BT 技术、Blog(博客)技 术等连接起来 BBS 水木清华站就有“水木 Blog”的栏目) 。 2 1.2.2 BBS 促进了协作学习 基于网络的论坛社区也是各种学习资源组合的场所,为学习者提供了学习环 境。作为一个学生参与论坛的网络活动可包括许多种学习的意义,在特定板块内, 论坛参与者围绕某个话题或者问题,通过发表、回复话题、版面讨论、站内信件 等方式进行互动讨论、相互探讨,形成了一种以学习者为中心的学习方式。 从教育网内人气排名前十名的论坛的网友参与的情况来看,在各大学习板块里, 基本上每张帖子提出的问题都可以得到网友友好的、认真的回复解答,有着浓郁 的协作探讨的学习气氛和良好的学习效果。 1.2.3 BBS 提高了学生自主学习能力 网络学习的本质是一种自主学习,论坛提供了丰富的网络学习资源,使学习 者能自主选择和控制学习地点、学习时间、学习方法和学习内容。在论坛里,学 生可以自主地围绕学习问题,通过发帖、回复的形式提出讨论,寻求解答帮助, 提高了学习的积极性和自主学习的能力。 3 第二章 软件介绍及基本原理 2.1 ADO 技术 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.2 开发环境及工具 软件: Internet Information Server(IIS) 5. 0, Dreamweaver MX, ACCESS 2000。 2.3 ASP 有关的内置对象的设置 2.3.1 Request 对象 HTTP 通讯协议是一种请求与响应(Request/Response)的通讯协议,因此通常 由客户端向Web 服务器提出请求,Web服务器才会响应信息。因此在ASP中,特别将 “客户端提出的要求”与“Web 服务器响应的信息”等动作封装成Request 对象 与Response对象。换言之, Request 对象通常包含了用户端的相关信息,如浏览 器的种类、表头信息、表单参数及cookies 等等。 2.3.2 Response 对象 每一种程序语言或开发工具一定都有与用户沟通的界面或函数, ASP 也不例 外。在ASP 中负责将信息传达到用户的对象就是Response 对象。 2.3.3 Server 对象 Server 对象允许用户取得服务器提供的各项功能,例如 Server 对象 CreateObject 方法允许客户端用户建立一个 ActiveXServer 组件实例,其建立 组件实例会随着服务器端完成ASP网页的处理而自动被释放。如果希望此对象实 例可以跨多个ASP 网页,就要用到 Session 对象保留该组件实例,直到 Session 5 对象的运行时间到了,或是在其他ASP 网页调用 Session 对象的 Abandon 方法, 此组件实例才会被释放。 2.3.4 Session 对象 Session 对象在 ASP 程序编写中占了相当重的份量, 由于网页是一种无状 态的程序, 因此几乎无法知道用户的浏览状态。必须通过 Session 对象记录用 户的相关信息, 以供用户再次对此 Web 服务器提出要求时作确认, 例如, 在某 些特定的网页中, 常需要用户输入确认的账号和密码, 假如这些身份确认的结果 无法保留, 那岂不是每一个网页都需要重新输入一次密码。必须说明, Session 对象只能适用于具备 Cookie 功能的浏览器。 2.4 与 ADO 有关的设置 在本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.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.2 功能设计 3.2.1 基本功能设计 通过需求分析,论坛的基本功能可以从众多的需求中筛选出来。顾名思义, 基本功能就是构成论坛系统的必要功能,具备这些功能的 Web 系统即是论坛。 基本功能: 发帖。论坛最初是为了相互讨论话题而诞生的,发表帖子就是表达自己 的看法,与他人进行讨论,因此发帖是论坛首要的功能。 浏览帖子。发表了帖子,就要供他人浏览查看,与他人分享自己的想法 和经验。 回帖。浏览了他人发表的帖子,想要发表自己的想法,参与讨论,就可 以回复这个帖子。 其实,发帖浏览帖子回帖三大功能周而复始的循环进行,就构成论坛。 每个参与论坛的人,主要目的就是发帖,查看已经发表的帖子,针对自己感 兴趣的帖子进行回帖,参与讨论。三大基本功能的相互关系如图 3-6: 图 3-6 基本功能的相互关系图 3.2.2 扩展功能设计 除了基本功能之外,其他的论坛功能都是扩展功能。 注册登陆。原先的论坛在发帖回帖时,需要填写自己的笔名。这样,经 10 常发帖的人总是要重复填写笔名,比较麻烦。因此,论坛扩展了用户注 册登陆功能,参与论坛的注册自己的笔名以及个人信息,拥有论坛中的 身份,发言时就不需要重复填写个人信息了。 分板块浏览帖子。随着论坛帖子数量的增多,讨论相同话题的帖子聚集 在一起,引出了论坛新的扩展功能,即分板块浏览帖子,属于同一板块 的帖子讨论同样的话题。这样,就使得对某一话题感兴趣的用户不会被 其他帖子干扰,也有利于相同兴趣的用户相互间讨论,不易跑题。 编辑帖子。发帖回帖的用户,如果需要修改更新自己发表的帖子内容, 就引出了编辑帖子内容这个扩展功能,提供给用户更新自己发言的选择。 对于论坛管理员,可以编辑任何帖子的内容,也算是提供给管理员进行 管理的选择。 删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除 这些帖子,这就引出了删除帖子的扩展功能。 转移帖子。论坛划分了板块,如果帖子内容不属于所在板块的关注话题, 那么管理员可以选择将此帖移动到所属话题的板块中去,这就引出了移 动帖子的扩展功能。这个功能是随着板块功能的出现而出现的,板块将 帖子进行了分组,从而提出了随板块移动帖子的要求。 置顶帖子。帖子一般是根据发表以及回复时间到序排列的,这样先发的 帖子就慢慢排到后面,管理员如果需要强调某些帖子重要,又必看性, 就要打乱默认的排列顺序,将这些帖子放在列表的最前端,不再按照时 间进行顺序的变化,但是还要保证其他帖子按照时间变化顺序进行排列, 这就引出了置顶帖子的扩展功能。 指定精华帖。如果管理员认为某个帖子的内容非常好,可以打上标记, 推荐给看帖的用户,这就引出了指定精华帖的扩展功能。用户可以选择 只看打上标记的精华帖。 搜索帖子。论坛中的帖子越来越多,用户需要从大量的帖子中找到自己 需要的内容,这就引出了搜索帖子的扩展功能。 管理板块。论坛板需要先创建,才能被使用,管理员还可以删除修改板 块的相关信息,因此管理板块是管理员使用的扩展功能。 11 设置参数。论坛一般有一些初始化信息,比如论坛名称,每页显示帖子 数量等参数信息,管理员也可以在后台界面自行设置,这页属于扩展功 能。 管理用户。管理员可以对论坛的注册用户进行管理,直接添加用户,赋 予相关权限,也可以修改已注册用户权限,对违规用户可以删除,这个 扩展功能便于管理员对论坛用户的管理。 论坛的扩展功能如图 3-7: 图 3-7 论坛的扩展功能图 3.3 设计可扩充功能的接口 列出了所有基本的和扩展功能之后,在设计时需要考虑以后扩充的余地,即 在给论坛添加新的功能的时候,原有的功能正常可用,不受影响。或者丰富扩展 某个功能时,能够方便衔接。 这就要求在设计程序时,每个功能保留开放的接口,通过接口可以对功能进 行扩充,也可以与新功能进行挂接。其实现的原理及思路如图 3-8: 12 图 3-8 功能的可扩充接口实现原理图 13 第四章 功能模块与数据库设计 4.1 设计框架 在确定了论坛系统的设计思路之后,还需要归纳成系统的相关模块,每个模 块实际上就是功能的合理组合。 由于已经将功能做了前台与后台的分类,因此模块也应该分为两大类:前台 模块和后台模块。用户在前台的注册、登陆,以及修改个人的注册信息组合成注 册信息组合成注册登陆模块。用户浏览板块、浏览主题帖列表、查看帖子组合成 浏览模块。用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。管理员 编辑帖子、删除帖子、转移帖子、置顶帖子和精华帖子组合成管理帖子模块。以 上 4 个模块是前台模块。后台模块都是与管理员相关的,设置论坛参数单独为论 坛设置模块;创建、修改和删除板块为管理板块模块;添加、删除和设置权限为 管理用户模块。如图 4-1: 图 4-1 BBS 的模块体系图 从用户角度分析问题,首先区分系统中有几种用户,目前的论坛系统,为了 使其清楚易懂,简化了用户体系,论坛中只有两种用户:注册用户和管理员。一 般论坛中的版主权限,划分为管理员,这也是为了使读者容易分清论坛的使用者 14 和管理者。对于注册用户,在论坛中的行为可归纳如下: 注册个人身份,登陆论坛,登陆成功后可以修改自己的注册信息。这些行为 只与用户自身相关,功能独立,设计成注册登陆模块。 浏览板块列表,选择某板块,浏览其下的主题帖列表,查看帖子内容,搜索 需要的帖子。这些行为是用户读取论坛的板块及其帖子的相关信息,设计成 浏览模块。 发帖回帖,可以发表新帖子,也可以回复已有的帖子,同时可以编辑自己写 的帖子内容。这些行为是用户参与论坛讨论,发表自己见解的行为,设计为 发帖回帖模块。 管理员需要负责整个论坛的正常运转,因此他需要更多的管理功能,可以归纳为 如下行为: 具备注册用户的所有功能。因为管理员也是论坛用户,可以参与论坛中的讨 论。 管理帖子。管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖 子要删除,标识精华帖,置顶帖子,转移发错板块的帖子,这些行为都是针 对帖子的操作,设计成管理帖子模块。 管理板块。论坛中的板块,需要管理员进行创建、管理板块信息,这些针对 板块的操作,设计成管理板块模块。 管理用户。用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功 能。同时,管理员可以自主添加、删除用户,这些针对用户信息的操作,设 计成管理用户模块。 4.2 模块的划分及设计 每个模块的功能都真实反映需求,通过对需求的认真分析,可以设计出符合 要求的单独模块。但是,对于一个论坛系统来说,要很好地把握系统地构架,把 零散地功能模块用一条主线串连起来,构建完整的系统。 对论坛系统来说,联系各个模块的主线是使用者的权限,用户能够使用论坛 的哪些功能是由用户的权限决定的。论坛的每个功能都与相应的权限对应。例如, 注册用户具有浏览帖子、发帖、回帖的权限,那么他就能使用论坛中的浏览、发 15 帖、回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另 外,操作同类事务的功能模块,也是有相互关系的。 因此,浏览模块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程 决定的,如图 4-2: 图 4-2 帖子相关模块关系图 管理板块模块与浏览模块关联,是由帖子与板块的父子关系决定的。帖子依附于 板块,先有板块,后有帖子,帖子必须发表在某个板块中,如图 4-3: 图 4-3 管理板块模块于浏览模块关系图 管理用户模块与注册登陆模块关联,是由同一类对象用户决定的。注册 后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登陆证 明自己在论坛中的身份,如图 4-4: 图 4-4 管理用户模块与注册登陆模块关系图 弄清楚模块间的相互关系,就可以设计出论坛系统的整体架构了,如图 4- 5: 16 图 4-5 系统整体架构图 系统因入口的不同而分为前台系统与后台系统。前台系统包括注册登陆模块、 浏览模块、发帖回帖模块、管理帖子模块;后台包括管理用户模块、管理板块模 块。之所以要把属于管理员权限的管理帖子模块归属于前台,是因为,对于一个 论坛系统,帖子是最主要的,为了方便管理,管理员需要一边浏览查看一边进行 管理,管理时需要了解帖子的详细内容,以及相关回帖信息,因此将帖子的管理 界面融合在前台的浏览界面中。至于其他的模块则比较清楚,是根据用户的权限 划分的。 4.3 设计数据库 本系统所使用的数据库服务器为ACCESS 2000,它在ACCESS 2000 的基础上, 扩展了ACCESS的总体功能与性能、工具界面更加方便合理、全面的数据完整性保 护、系统安全性更高。ACCESS 2000 的数据库空间不会受限于Device空间大小, 方便了数据空间的扩展, 使ACCESS 2000 作为一个网络数据库管理系统,其扩展已 超出了单个物理计算机的限制,并且多服务器“分布式”事物的内在支持更加充 分.本系统主要使用了存储过程Stored Procedure, 所谓Stored Procedure实际 上就是一段保存在数据库中的程序, 通过一个名称的命名,其中包含有处理数据 库存取与运算的SQL语句, 并且将这样的程序文件紧密结合在数据库中,这样我们 的前台应用系统在执行过程中,可以直接执行数据库中设置好的Stored Procedure,甚至可以传递参数。 4.4 创建数据库 ACCESS 2000 的Manager管理工具是一个非常好用的可视化管理工具, ACCESS 2000 中提供的datetime和text两种字段类型 ,其中datetime是用来保存日 期和时间数据的,text 是用来保存不定长度的备注说明内容的, 有了这两个数据 17 类型, 应用系统中就不用再为输出格式和限制字符串长度而增加额外代码了。 数据表间关系如以下表格: 编号 字段名称 说明 1 ID 2 UserName 名字 3 UserPass 密码 4 Membercode 用户类型 5 UserMail EMAIL 6 UserHonor 头衔 7 UserSex 性别 8 NewMessage 新留言 9 PostTopic 发表原贴 10 PostRevert 发表回贴 11 DelTopic 被删贴子 12 GoodTopic 收录精华 13 Experience 经 验 值 14 UserFace 头像 URL 15 UserRegTime 注册日期 16 UserLandTime 最后登陆日期 17 UserFriend 好友的 ID 列表 18 UserInfo 个人信息资料 表 4-1 用户表(BBSXP_Users) 编号 字段名称 说明 1 ID 留言 ID 2 UserName 留言人 3 Incept 接收留言的人 4 Content 留言内容 18 5 DateCreated 留言时间 表 4-2 用户消息表(BBSXP_Messages) 编号 字段名称 说明 1 ID 2 ThreadID 所属的主题 Id 3 IsTopic 是否为主题帖 4 UserName 发帖人用户名 5 Subject 标题 6 Content 正文内容 7 PostTime 创建时间 表 4-3 论坛回帖表(BBSXP_Posts) 编号 字段名称 说明 1 ID 2 ForumID 所属版块 3 Topic 标题 4 UserName 用户名 5 LastName 最后回复的用户 6 PostTime 主题发表时间 7 LastTime 最后回复时间 8 IsDel 是否被删主题 9 Views 浏览次数 10 Replies 回复次数 表 4-4 论坛主题表(BBSXP_Threads) 编号 字段名称 说明 1 ID 19 2 UserName 用户名 3 Title 标题 4 Content 内容 5 Hide 0=公开 1=保密 6 DateCreated 发表日期 表 4-5 论坛日志表(BBSXP_Calendar) 编号 字段名称 说明 1 ID 2 RankName 等级名称 3 PostingCountMin 最少经验值 表 4-6 论坛等级表(BBSXP_Ranks) 编号 字段名称 说明 1 ID 2 ForumName 论坛名称 3 Moderated 论坛版主 4 TolSpecialTopic 主题类型 5 ForumIntro 论坛介绍 6 ForumThreads 主题数 7 ForumPosts 帖子数 8 LastTopic 最后发表主题 9 LastName 最后发帖人的名称 10 LastTime 最后发表时间 表 4-7 论坛板块表(BBSXP_Forums) 之所以这样设计数据表间关系,主要是考虑论坛中各个对象得相互关系,帖 子属于板块,回复帖从属于主题帖,帖子的作者属于用户,因此板块、主题帖、 20 回复帖是一层层的从属依赖关系,帖子的作者必须是论坛的用户,帖子不能脱离 板块、用户而单独存在。 21 第五章 系统实现与测试 本论坛系统完成之后,就必须设计许多的测试用例来验证本系统的正确性, 容错能力/恢复能力,信息安全性,可靠性等,尽可能多地找出系统的错误所在。 5.1 验证性测试 在登录论坛之前,论坛首页上显示 “您的当前状态是:未登录!”此时, 该用户除了能够进行用户注册之外,没有任何权限访问论坛的任何一个模块。当 点击任何一个功能按钮时,页面将会显示:“您没有登录,请返回!” 当用户点击“注册”按钮,页面便跳转到用户注册界面(如图 5-1) ,若注册 成功,则显示“注册成功” (如图 5-2) ,否则显示“发生错误返回” 。 图 5-1 22 图 5-2 当点击登录按钮,则页面跳转到登录界面(如图 5-3)用户成功登陆之后,页面 即显示您的当前状态为“已登录” (如图 5-4) 。只有当用户登录之后才能够修改 该用户的信息,否则,当用户点击“修改注册信息”按钮时,页面会显示“没有 登录,取不到用户信息。请返回” 。 图 5-3 23 图 5-4 5.2 添加、编辑和删除功能测试 当管理员点击“新建论坛”按钮,页面即跳转到图 5-5,管理员可以根据需 要添加某些论坛,若添加成功则显示“添加成功” ,否则显示错误信息。 24 图 5-5 有了论坛的添加当然也少不了论坛的编辑和删除(如图 5-6) ,点击编辑按 钮,则论坛信息全部变为编辑状态,当编辑完成,则点击更新,否则点取消。若 要删除某个论坛,在点击删除按钮时会有确认信息提示,以防错误操作(如图 5-7) 。若这些操作成功,则页面显示更新过的数据,否则提示错误信息。 图 5-6 图 5-7 25 第六章 结束语 6.1 系统的特点与局限性 6.1.1 特点 本系统最大的特点就是结构简单,界面清晰、简洁,一目了然。它不同于网 络上的其他论坛的地方在于,主界面只显示每个板块的名称,板块描述,建立时 间以及版主,而不细列出每个板块里的主题情况,这样就使原本繁杂的主界面大 大简化,层层分明,给人一种很干净清新的感觉,不会象其他网络论坛一样使人 眼花缭乱,不知从何处进入板块才好。 本系统还有一个特点就是可扩展性非常强。由于采用的是原型法的开发模式, 一开始只是对论坛的基本功能,即浏览帖子、发帖和回帖这三个功能进行了设计, 而后来的注册登陆、分板块浏览帖子、编辑帖子、删除帖子、转移帖子、置顶帖 子、指定精华帖、搜索帖子、管理板块、设置参数、管理用户以及文件的上传和 下载等功能则是在后来的开发中陆续添加进去的。 6.1.2 局限性 事物总是一分为二的,本论坛系统的优点也就导致了它的局限性,由于界面 简洁,每个板块没有列出所包含的主题,用户必须点击进入才能看到该板块中的 所有主题,然后点击回复,这样就加大了用户的工作量,令他们的操作有些许累 赘。第二,用户在发帖之后,并不能马上对自己发的帖子进行修改或删除,要想 进行这些操作,必须进入管理登录界面,这样使得登录过的用户必须又要再登录 一遍,又一次增加了用户操作的复杂性。这一点还有待改进。第三,由于最初的 设计没有考虑到头衔的显示,因此在对用户进行管理的时候,头衔的管理和用户 其他信息及权限的管理是分开的,这样就导致了管理员的工作量有所增加。最后, 由于时间的关系,本论坛没有实现系统自动对发帖的用户增加积分的功能,这是 本论坛的一大瑕疵。 6.2 实施过程中的一些体会 为期多月的毕业设计已经接近尾声了,本系统的整个实施过程中,遇到了很 多很多的困难。看着自己的设计从无到有,从最初的雏形到如今的完整系统,虽 说算不上完善,但也基本符合需求,这不仅仅是自己这几个月来辛勤劳动的结晶, 26 更是对自己学习成果的一个检验。在最初选择 ASP 和 ACCESS 2000 作为开发工具 的时候,我考虑到 ASP 的强大功能和 ACCESS 良好的可移植性很适合做 Web 开发, 但是也考虑到我以前从来没有使用过这两种工具来开发项目,也就是说对于这两 种工具的使用我没有任何的经验,这无形之中就增加了我做毕业设计的难度,我 必须从头开始学习 asp 和 ACCESS。我的感觉是 ASP 跟 JAVA 很相似,而 ACCESS 上 手很难,但是一旦学懂了,就会发现它真的很有用,并且越来越觉得所掌握的知 识远远不够用。在我开发的整个过程中我在不断的学习,一边学一边做,很多时 候在一个问题上要花好几个小时甚至一两天,当我好不容易将这个问题解决时才 发现其实这是个很小的问题,也许只是由于不了解它的一个对象或者时一个函数 的功能。但是,每当我费尽心思解决了一个关键问题时,那种成功的喜悦和茅塞 顿开的感觉是没有办法来形容的,它不仅让我感受到自己知识的浅薄也会激励我 更加努力的去学习更多的东西,好把我的设计做的更完善更好,因为我根本就不 会知道自己在接下来的设计中又会遇到怎样的挫折。 从我的毕业设计上很容易看出来这个系统的稚嫩,很多地方的需求没有考虑 到,很多功能实现的也很不完善,这可能跟我平时很少上网逛论坛有很大的关系。 虽说在老师的指导下已经改进了很多,一些我觉得不必要而实际上很必要的功能 虽然增加进去了,但是这个系统已经少了一种一气呵成的感觉,很多地方都能够 看出需求变更的影子。这也让我更加体会到了一个良好的软件需求对一个软件系 统来说是多么的重要了。 毕业设计将我学习的知识进行了一次综合,我必须将以前所学融会贯通,且 灵活运用并且更加深入地研究学习之后才能完成我的设计,这也正是学习的真谛, 希望我能够成功地通过这次检验,成为一个优秀的毕业生。 27 参考文献 1 钟玉,阳昊,浅谈大学校园网 BBS,益阳师专学报,2004 年 11 月,P2 2 刘冰,从BBS 看校园网络文化对大学生学习的影响,现代远程教育研究, 2005 年 2 期,P3-4 3 邵斐,基于 Web 的 BBS 系统的建立,金陵职业大学学报,2003 年 3 月,P1 4 李勇平,陈峰波,ASP 基础教程,清华大学出版社,2006 年 2 月,P12-13 5 胡百敬 姚巧玫,ACCESS 2003 数据库开发详解,电子工业出版社 , P25-33 6 曹斌、韩中孝,aspt 数据库系统项目开发实践 ,北京:科技出版社, 2005,P102 7 Karli Watson Christian Nagel,C#入门经典(第 3 版),清华大学出版社, 2006-1-5,P56-69 8 陈宗兴. ACCESS2000 程序设计M . 北京: 中国铁道出版社, 1999,P43-48 9 万峰科技,ASP 网站开发,电子工业出版社,2005 年 8 月,P143-171 10 王少锋,UML 面向对象建模方法与技术,北京:清华大学出版社,2004 .10,P55-120 11 吴建,郑潮,汪杰,UML 基础与 ROSE 建模案例,人民邮电出版社,2004 年 9 月,P98-124 12 孟凡琦,ASP + ACCESS 动态网站开发从基础到实践,北京:电子工业出版 社,2005,P237-312 13 张蓓,ASP 通用模块及典型系统开发,人民邮电出版社,2006,P38-54 14 Frentzen, Jeff,GO WITH USENET FOR RELIABLE ONLINE RESEARCH, Week, 07401604, 02/09/98, Vol. 15, Issue 6 ,P4 15 郝刚,严治国 何宇光,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-48 18 蒋凡高俊波张敏王煦法,BBS 中主题发现原型系统的设计与实现,中国科学 28 技术大学计算机科学与技术系, P245-337 19 Kusatsu, Kohei Tsuda and Ruck Thawonmas,Keyword Discovery by Measuring Influence Rates on Bulletin Board Services, Shiga 525-8577, Japan 20 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,P75 21 林金霖,ASP 实务经典M. 北京: 中国铁道出版社, 1999,P69-72 22 王映雪 , 肖平, 佟秋利,HTML 网页制作M . 北京: 清华大学出版社, 1998,P53-59
展开阅读全文