1、1毕 业 论 文 ( 设 计 )BBS 论坛姓 名 学 号 年 级 专 业 计算机科学与技术 系 (院) 信息学院 指导教师 年 月 日2目录摘 要 .4Abstract.41 绪论 .51.1BBS 的发展背景 .51.2 BBS 对大学生学习生活的影响 .61.2.1BBS 提供了丰富的网络学习资源 .61.2.2 BBS 促进了协作学习 .61.2.3 BBS 提高了学生自主学习能力 .62 软件介绍及基本原理 .72.1 ADO 技术 .72.2 开发环境及工具 .82.3 ASP 有关的内置对象的设置 .82.3.1 Request 对象 .82.3.2 Response 对象 .8
2、2.3.3 Server 对象 .92.3.4 Session 对象 .92.4 与 ADO 有关的设置 .93 系统需求规划 .103.1 需求分析 .103.2 功能设计 .143.2.1 基本功能设计 .143.2.2 扩展功能设计 .153.3 设计可扩充功能的接口 .184 功能模块与数据库设计 .194.1 设计框架 .194.2 模块的划分及设计 .214.3 设计数据库 .234.4 创建数据库 .235 系统实现与测试 .245.1 验证性测试 .245.2 添加、编辑和删除功能测试 .276 结束语 .296.1 系统的特点与局限性 .296.1.1 特点 .296.1.2
3、 局限性 .306.2 实施过程中的一些体会 .30致 谢 .32参考文献 .323摘 要BBS 已经成为人们获取信息、发表言论的重要场所。它由论坛注册用户所发表的大量主题组成。近些年来,随着校园网建设的发展,大学校园网 BBS 也越来越火,因此建设一个好的 BBS 显得越来越有必要了.本文论述了开发一个简单的 BBS 系统所用到的关键技术和方法。其中运用了 ASP 技术、ACCESS 数据库等等, 对上述技术的实现方法进行了详细的讨论,介绍了在 WEB 服务器上,利用 ASP 技术和 ADO 等技术,实现了一个简单的BBS 系统的设计与开发,并详细讨论了该系统的实现过程及其结构。关键字:论坛
4、,基本功能,扩展功能,数据库,ASP AbstractForum 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, universit
5、y 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 m
6、ethods 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: Forum basic functions, and expanded database, ASP41 绪论1.1BBS 的发展背
7、景BBS 是在 1992 年底随着国际互联网的开始流行而迅速发展起来的.互联网的产生使得以前只能在本地访问的 BBS 可以被全世界随意访问, 这对大多数人来说是极具诱惑力的.BBS 是一个有多人参加的讨论系统,在 BBS 上大家可以对一个共同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人进行沟通.按照网站的性质以及服务对象来分,迄今有以下几种类型:一是校园 BBS.校园 BBS 作为主要的集中地,在 BBS 领域具有举足轻重的地位. 由于校园 BBS 的繁荣,吸引了很多的社会人士参与.二是专业 BBS.一般是由各个著名的大公司组建,人们可以利用其交流自己对商品的看法,更
8、为重要的是可以解决商品使用中的问题.三是商业 BBS.它是由 ISP 建立的 BBS 站点,这类 BBS 站点各种信息比较多,内容相当丰富. 四是小型局域 BBS.一般是由个人或小型集体建立,为小范围信息交流服务. 五是业余 BBS.一般由 BBS 爱好者个人利用一些免费空间办的 BBS,目的是为广大网友提供一个在某些专业上的交流场所.六是新闻媒体 BBS.是由新闻媒体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所. 随着互联网事业的蓬勃发展.BBS,这个具有强大实时交互功能,信息交流的平台,使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可
9、以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法.1.2 BBS 对大学生学习生活的影响1.2.1BBS 提供了丰富的网络学习资源论坛是一个经过学习者整理加工过的网络资源汇 en 集中心,从新闻、学习到娱乐、体育,从文字到视频、音频,BBS 汇集了各种形式、内容的网络资源。不少 BBS 都设有专门的 NetResources(网络资源)板块; FTP 技术和 BT 技术的发展更是为 BBS 站内资源的更新、共享提供了方便。如今,大部分大学的 BBS 论坛都有相应的 FTP 服务器,不少BBS 还与网络新兴的 BT 技术、Blog(博客)技术等连接起来 BBS 水木清华站就有
10、“水木Blog”的栏目) 。1.2.2 BBS 促进了协作学习基于网络的论坛社区也是各种学习资源组合的场所,为学习者提供了学习环境。作为一个学生参与论坛的网络活动可包括许多种学习的意义,在特定板块内,论坛参与者围绕某个话题或者问题,通过发表、回复话题、版面讨论、站内信件等方式进行互动讨5论、相互探讨,形成了一种以学习者为中心的学习方式。从教育网内人气排名前十名的论坛的网友参与的情况来看,在各大学习板块里,基本上每张帖子提出的问题都可以得到网友友好的、认真的回复解答,有着浓郁的协作探讨的学习气氛和良好的学习效果。1.2.3 BBS 提高了学生自主学习能力网络学习的本质是一种自主学习,论坛提供了丰
11、富的网络学习资源,使学习者能自主选择和控制学习地点、学习时间、学习方法和学习内容。在论坛里,学生可以自主地围绕学习问题,通过发帖、回复的形式提出讨论,寻求解答帮助,提高了学习的积极性和自主学习的能力。2 软件介绍及基本原理2.1 ADO 技术ADO (ActiveX Data Objects) 是微软公司提供给网页开发者在网页中存取数据库的最新技术, 它也是ASP内置的重要组件,ADO 主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源, 数据源不仅包括数据库,而且包括dBase、Excel、Foxpro、Access 或文本文件等一些小型的数据表 , 所以, 只要是ODBC 驱
12、动程序所能存取的数据源皆是ADO 存取的对象。 ADO主要是由Connection对象、Command对象、Parameter对象、Dataset对象、Field 对象、Property 对象及Error对象等七个对象与Fields数据集合、Properties数据集合、Parameters数据集合及Errors数据集合等四个数据集合所组合而成, 其功能概述如下:ADO 提供的七个对象:(1)Connection 对象负责对指定的数据源进行连接 ,除此之外 ,它还可以通过事物(Transaction)来确保在事物中所有的数据源变更的全部成功。(2)Command 对象负责对数据库提供请求 ,也
13、就是传递指定的 SQL 使命,除此之外,也可能通过 Command 对象对数据库发出数据定义语言(DDL ,Data Definition Language)。(3)Parameter 对象负责传递 Command 对象所需要的 SQL 命令参数。(4)DataSet 对象负责浏览和操作从数据库取出的数据。(5)Field 对象表示指定 DataSet 对象的数据字段。(6)Property 对象表示 ADO 的各项对象属性值。(7)Error 对象负责记录连接过程所发生的错误信息。6ADO 的七个对象及四个数据集合相互的关系图如图ActiveX Data Object 关系图2.2 开发环境
14、及工具软件: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 对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及coo
15、kies 等等。2.3.2 Response 对象每一种程序语言或开发工具一定都有与用户沟通的界面或函数, ASP 也不例外。在ASP 中负责将信息传达到用户的对象就是Response 对象。2.3.3 Server 对象Server 对象允许用户取得服务器提供的各项功能,例如 Server 对象CreateObject 方法允许客户端用户建立一个 ActiveXServer 组件实例 ,其建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。如果希望此对象实例可以跨多个ASP 网页,就要用到 7Session 对象保留该组件实例,直到 Session 对象的运行时间到了 ,或是在其他A
16、SP 网页调用 Session 对象的 Abandon 方法,此组件实例才会被释放。2.3.4 Session 对象Session 对象在 ASP 程序编写中占了相当重的份量, 由于网页是一种无状态的程序, 因此几乎无法知道用户的浏览状态。必须通过 Session 对象记录用户的相关信息, 以供用户再次对此 Web 服务器提出要求时作确认 , 例如 , 在某些特定的网页中, 常需要用户输入确认的账号和密码, 假如这些身份确认的结果无法保留, 那岂不是每一个网页都需要重新输入一次密码。必须说明, Session 对象只能适用于具备 Cookie 功能的浏览器。2.4 与 ADO 有关的设置在本B
17、BS 系统中主要对 ADO 提供的四个数据集合进行了设置:(1)Connection 对象包含 Errors 数据集合, 在 Errors 数据集合中包含数据源响应失败时所建立的 Errors 对象.(2) Command 对象包含Parameters 数据集合, 在Parameters 数据集合中包括Command 对象所有的Parameters 对象 .(3) DataSet 对象包含Fields 数据集合, 在Fields 数据集合中包含DataSet 对象的所有Field 数据字段对象.(4)Connection 对象、Command 对象、DataSet 对象与 Field 对象皆包
18、含一个Properties 数据集合, 在Properties 数据集合中包含所对应Connection 对象、Command 对象、DataSet 对象与Field 对象的 Property 对象.3 系统需求规划用户使用论坛,有一定的流程:用户注册登陆进入论坛,就某个话题(主题帖)展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,通过搜索功能查找已有的话题;管理员通过管理功能创建、编辑、删除论坛的板块,管理注册用户,管理帖子,设置论坛基本参数。这样的流程就决定了论坛的需求,如图所示:8论坛流程图3.1 需求分析从流程图上可以看到论坛完成的走向,其实每一个流程的节点处都有许多
19、功能,如下表:论坛功能列表论坛板块列表 浏览帖子 发帖回帖 搜索帖子编辑帖子 删除帖子 精华帖 置顶帖子转移帖子 用户注册 用户登陆 控制用户权限修改注册信息 设置论坛参数 管理板块 管理用户在这十六个凌乱无序的需求进行整理、归纳、再构建系统的整体框架,设计处数据实体、接口、用户界面,最终将所有功能需求装化为可以编码实现的程序框架。首先,通过观察论坛所有功能需求,可以发现在这十六个功能需求中,如果按照不同事务分类,可以分为四类对象:板块、帖子、用户和论坛。这四类对象,可以设计为四个数据实体,如果用数据库存储它们,即可以设计四个基本数据表。如图: 9板块类有浏览列表和管理两个方法,管理方法又可以
20、分为创建、修改和删除 3 个子方法,如图:板块对象的相关用例图帖子类有浏览、发帖、回帖、搜索和管理 5 个方法,浏览方法又可以分为列表和查看2 个子方法,管理方法又可以分为编辑、删除、置顶、转移、指定精华 5 个子方法,如图:论坛配置信息表 模块信息表帖子信息表 用户信息表 10帖子对象的相关用例图用户类有注册、登陆和管理 3 个子方法,管理方法又分为添加、删除和设置权限 3 个子方法,如图:用户对象的相关用例图论坛一般存在两种用户,分别为注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,在本论坛中,管理员的权限是上级权限。与注册用户相关的功能,其实就是论坛前台的主要功能。论坛系统的前台,是用户讨论问题的平台,发帖、回帖一直贯穿用户整个的前台活动。同时,由于论坛系统的帖子管理是管理员在帖子浏览时