本科毕设论文bbs留言板的设计与实现.docx
- 文档编号:11945542
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:33
- 大小:657.03KB
本科毕设论文bbs留言板的设计与实现.docx
《本科毕设论文bbs留言板的设计与实现.docx》由会员分享,可在线阅读,更多相关《本科毕设论文bbs留言板的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。
本科毕设论文bbs留言板的设计与实现
分类号密级
UDC编号
华中师范大学汉口分校
本科毕业论文
题目BBS留言板的设计与实现
院(系)信息科学与技术学院
专业计算机科学与技术
年级2005级
学生姓名戴伦
学号2005911016
指导教师宾云峰、杨健
二〇〇九年五月
华中师范大学汉口分校
学位论文原创性声明
本人郑重声明:
所呈交的学位论文是本人在导师指导下独立进行研究工作所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
学位论文作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于
1、保密□,在_____年解密后适用本授权书。
2、不保密□。
(请在以上相应方框内打“√”)
学位论文作者签名:
日期:
年月日
导师签名:
日期:
年月日
摘要
摘要:
我们通过BBS,可以展示每一个人的风采、优点,发布个人对一些事物的看法,增强个人与个人之间,团体与团体,个人与团体之间的交流联系,在Internet上实现信息的传递,提高办事效率。
因此论坛建设在Internet应用上的地位显而易见,它已成为现代人勾通和获取信息的重要组成部分,从而倍受人们的重视。
该系统以Internet为平台,前台可使任何人注册、登陆在论坛上进行发贴及讨论,版主或者前台管理者也可以进行一部分管理。
而管理员也可以在后台进行相关的管理。
本系统使用Microsoft公司倡导的ASP作为开发工具,Access为后台数据库,构建一个小型的基于NET的网络论坛系统,从功能需求到框架规划再到数据库设计。
关键词:
动态网页ASP数据库论坛连接
Abstract
Abstract:
Wecanshoweveryone’selegance,advantageandsomeviewsofthingsbyforum.ItcanstrengthentherelationshipofindividualsandgroupsandimparttheinformationintheInternet,sothatitimprovestheefficiency.SoforumbuildinInternetusingstatusonobviously,itbecomesmoderncolludewithandobtaintheimportantcomponentofmessagealready,thustakespeople'sattention.ItregardsInternetasplatformandithasalotoffunctions.Theusercanuseittoreachitspropose,andtheadministratorcancarryonrelevantmanagementinthebackstage.
ThissystemusetheASPthattheMicrosoftcompanyinitiated.TheAccessisthebackstagedatabaseandsetupasmallscaledaccordingtoNETnetworkforumsystem.Itneedstodofunctionrequestrametheprogramminganddesignadatabase.
Keywords:
DynamicStateWebPageASPDatabaseBBSConjunction.
一、绪论
1.1问题的提出及研究意义
BBS是BulletinBoardSystem的缩写,即电子公告板。
它是以文字为主的界面,为广大网友提供了一个彼此交流的空间。
BBS与E-mail都是早期Internet最普遍的应用之一,至今仍然广泛使用。
随着网络信息技术的发展,使得论坛社区这种现代的网络交流方式迅速发展起来,人与人的沟通不再是面对面的单一方式,在网络上的匿名性的保护色下,令原本拙于言辞的人们,透过网络更能畅所欲言。
BBS系统可以提供给注册用户一个平台,会员用户可以通过Internet接入,登录本系统,在这个平台上发表文章、阅读文章、回复文章等等。
BBS为人们交流带来了全新的方式。
用户可以通过BBS系统随时取得最新的资讯,也可以通过BBS系统来和别人各种自己感兴趣的问题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事。
BBS已经成为一种呈现在网络上的新兴媒体,它通过Internet已经成为一个实时的,多媒体的信息传播渠道。
它的载体主要是电脑,范围覆盖全球各地,没有国界,不分人种,时时刻刻地提供服务。
与此同时用户也越来越习惯于通过Internet网络获取信息,通过Internet在网站上发表自己对社会对生活的理解和建议。
在WEB2.0的时代背景下,BBS已经成为一个独立的产品,虽然BLOG日益风行,但是它和BLOG不可能相互取代,这也代表着WEB2.0的两个大的特点:
个性化和社会化,增强BBS社区的可用性,才能对用户真正有利。
1.2BBS留言板的设计与实现分析
本BBS系统为B/S结构应用系统。
B/S结构即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
早期的软件系统多以此作为首选设计标准。
B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓N-Tier结构。
B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
采用多层式结构(N-Tier)应用程序。
最常见的是分成三个部分:
表示层、事务逻辑层和数据层(3-Tier),随着Web的出现,此结构已经成为主导新程序之开发的结构。
综上所述,结合本系统实际需要,本BBS系统采用B/S结构,使用微软公司的技术解决方案。
开发环境采用微软的FrontPage2007+PWS。
引入WindowsDNA概念,将WindowsDNA应用到系统开发中。
采用3-Tier软件结构:
表示层采用HTML、JavaScript或VBScript结合CSS、ActiveX技术来编写;事务逻辑层,考虑到本系统为通用BBS系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的WEB平台,特别是个人用户想在一些免费主页空间搭建自己的论坛,而这类免费主页空间通常只支持ASP来处理服务器端数据或数据库,另外,通用系统应该具备较大的可扩展性,目前,ASP.NET技术发展较快,未来应该能以较小的成本用ASP.NET重写本系统,因此,本系统事务逻辑层设计采用ASP网页;至于数据层,本系统采用最基本的MSAccess数据库系统,视需要,系统作较小的改动就可以移植到其它大型数据库系统
1.3课题的主要研究内容
本文讨论的是一个基于Web的通用BBS网站,它具有BBS网站应该具有的所有功能。
要实现这样的功能,离不开后台数据库的支持。
用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。
本文中数据库服务器端采用了MicrosoftAccess数据库作为ODBC(OpenDatabaseConnectivity)数据源,使Web与数据库紧密联系起来。
完成Web服务器端的用户管理、帖子管理、版面管理、数据库管理、浏览和查找、短消息功能等设计、实现与完善以及整个实验网站的组织建立和测试工作
此系统有以下四种类型的操作用户:
匿名用户、普通用户、版面管理员、超级管理员。
每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。
与之相应,此类系统通常应具有以下功能:
用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、主题查找、作者查找、个人资料维护、找回密码、版面管理、版主管理、用户管理、友情链接管理等等,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。
二、相关的理论、技术基础
2.1ASP技术[1]
ASP技术是一种类似HTML(HypertextMarkupLanguage超文本标识语言)、Script与CGI(CommonGatewayInterface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。
其特点归纳如下:
1.ASP可以和HTML或其他脚本语言(VBScript与JavaScript)互相嵌套。
2.ASP是一种在Web服务器端运行的脚本语言,因此,程序代码完全保密。
3.ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。
4.ASP内置ADO组件,因此可以轻松地存取各种数据库,大大缩短了程序开发时间。
5.ASP可以将运行结果以HTML的格式传送至客户端浏览器,因此ASP可以适用于各种浏览器。
下面来介绍一下ASP的几个内置对象。
Request对象,我们知道HTTP通讯协议是一种请求与响应(Request/Response)的通讯协议,因此通常由客户端向Web服务器提出请求,Web服务器才会响应信息。
因此在ASP中,特别将“客户端提出的要求”与“Web服务器响应的信息”等动作封装成Request对象与Response对象。
换而言之,Request对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等等。
Response对象,每一种程序语言或开发工具一定都有与用户沟通的界面或函数,ASP也不例外。
在ASP中负责将信息传达到用户的对象就是Response对象。
Server对象,Server对象允许用户取得服务器提供的各项功能,例如,Server对象的CreateObject方法允许客户端用户建立一个ActiveXServer组件实例,其所建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。
如果希望此对象实例可以跨多个ASP网页,就要用到Session对象保留该组件实例,直到Session对象的运行时间到了,或是在其他ASP网页调用Session对象的Abandon方法,此组件实例才会被释放。
Session对象,Session对象在ASP程序编写中占了相当重的份量,由于网页是一种无状态的程序,因此几乎无法知道用户的浏览状态。
必须通过Session对象记录用户的相关信息,以供用户再次对此Web服务器提出要求时作确认,例如,在某些特定的网页中,常需要用户输入确认的账号和密码,假如这些身份确认的结果无法保留,那岂不是每一个网页都需要重新输入一次密码。
换而言之,每一个Session的用户,Web服务器均会自动的为它们建立一个Session。
必须说明,Session对象只能适用于具备Cookie功能的浏览器。
2.2ADO技术[3]
ADO(ActiveXDataObjects)是微软公司提供给网页开发者在网页中存取数据库的最新技术,它也是ASP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源,数据源不仅包括数据库,而且包括dBase、Excel、FoxPro、Access或文本文件等一些小型的数据表,所以,只要是ODBC驱动程序所能存取的数据源皆是ADO存取的对象。
ADO主要是由Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象及Error对象等七个对象与Fields数据集合、Properties数据集合、Parameters数据集合及Errors数据集合等四个数据集合所组合而成,其功能概述如下。
ADO提供的七个对象:
[4]
1.Connection对象负责与指定的数据源进行连接,除此之外,它还可以通过事物(Transaction)来确保在事物中所有的数据源变更的全部成功。
2.Command对象负责对数据库提供请求,也就是传递指定的SQL命令。
换而言之,Command对象必须经过一个已经建立的连接(Connection对象)发出数据操作语言(DML,DataManipulationLanguage)来操作数据源的数据,这些命令通常包括INSERT(增加记录)、DELETE(删除记录)、UPDATE(更新记录)、或是SELECT(以Recordset的形式选取数据)等。
除此之外,也可以通过Command对象对数据库发出数据定义语言(DDL,DataDefinitionLanguage),例如CREATETABLE(建立数据表)、DROPTABLE(删除数据表)或ALTERTABLE(修改数据表结构)等。
3.Parameter对象负责传递Command对象所需要的SQL命令参数。
4.RecordSet对象负责浏览和操作从数据库取出的数据,换而言之,RecordSet对象就像是一个二维的数组,数组的每一行表示一个数据记录,而每个数剧列包含一个或多个数据字段,即Field对象。
5.Field对象表示指定RecordSet对象的数据字段。
6.Property对象表示ADO的各项对象属性值,换而言之,每个ADO对象都会有一组描述和控制对象行的属性。
7.Error对象负责记录连接过程所发生的错误信息。
ADO提供的四个数据集合:
[5]
1.Connection对象包含Errors数据集合,在Errors数据集合中包含数据源响应失败时所建立的Error对象。
2.Command对象包含Parameters数据集合,在Parameters数据集合中包括Command对象所有的Parameter对象。
3.RecordSet对象包含Fields数据集合,在Fields数据集合中包含RecordSet对象的所有Field数据字段对象。
4.Connection对象、Command对象、RecordSet对象与Field对象皆包含一个Properties数据集合,在Properties数据集合中包含所对应Connection对象、Command对象、RecordSet对象与Field对象的Property对象。
ADO的七个对象及四个数据集合相互的关系图如下:
ActiveXDataObject关系图如图1所示:
图1ActiveXDataObject关系图
2.3数据库技术
1、MSAccess数据库[9]
数据库(Database)是一系列信息资源的集合。
在一个数据库中,与一个项目有关的所有信息都可以叫做一条记录(Record)。
每一条记录都是由一系列的字段(Field)组成的。
一系列记录的集合就构成了数据表格(Table)。
对于一个简单的“平面文件”的数据库来说,它仅包含了一个数据表格,而对一个“关系型”数据库来说,它却包含两个或两个以上的数据表格,表格的各字段之间存在这一种或多种关系(有时可以把这种关系叫做“链接”)。
简单的平面文件数据库的用途非常有限,而关系型数据库却能够包含数据以百万计甚至以亿计的记录,并可以利用复杂的标准对这些记录进行操作,例如排序和统计。
把它们叫做“关系型”数据库,是因为需要在这些数据表格的字段之间建立特定的链接关系。
关系型数据库的优点在于:
通过将一个表格中的字段与另一个表格中的字段联系起来,两个表格之间的信息可以相互调用,可以避免信息的重复记录,也可以避免管理上的混乱。
因此关系型数据库可以减小数据库的体积,这对于大型的数据库来说具有非常重要的意义。
建立WEB站点时,可以使用两种主要的数据库:
MicrosoftSQLServer和MicrosoftAccess。
MicroSQLServer是一种功能齐全的客户机/服务器数据库产品,适用于系统经常被大量的用户查询的情况。
对于查询次数有限的情况,则可以采用中小型数据库的代表产品MicrosoftAccess。
MicrosoftAccess是理想的入门级产品,它提供了大量的向导,可以辅助完成数据库的创建和管理。
2、数据源(DSN)
ASP网页通过DSN数据源或者DSN-less方式连接网页数据库。
DSN数据源方式:
ASP网页通过标准的ODBC(OpenDataBaseConnectivity)数据源DSN(DataSourceName)接口访问数据库数据。
ODBC属于一种标准的数据接口,提供各类应用程序一个数据访问的标准方法。
ODBC规范为应用程序提供了一套高层调用接口规范和基本于动态链接库的运行支持环境。
使用ODBC开发数据库应用程序时,应用程序调用的是标准的ODBC函数和SQL语句,数据库的底层操作由各个数据库的驱动程序完成。
使用DSN数据源方式,用户必须以手工的方式进行ODBC配置,添加一个指向用户数据库的系统数据源DSN,ASP网页使用DSN数据源字符串连接至用户数据库,例如:
strDB-DSN=”DSN=DSN名称;uid=XXX;pwd=xxx”
DSN-less数据源方式:
使用本方式连接数据库,就必须自行提供DSN数据的相关信息,最重要的是驱动程序。
例如:
strDBConn=”DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=c:
\userdb.mdb”
3、结构查询语言(SQL)
SQL是结构查询语言(StructureQueryLanguage)的英文缩写,它是使用关系模型数据库的应用语言,由IBM在七十年代开发出来的,实现了关系型数据库中的信息检索。
1992年制定了SQL标准SQL-92,它的全名是“InternationalStandardISO/IEC9075:
1992,DatabaseLanguageSQL”。
SQL标准的确定使大多数数据库厂家纷纷采用SQL语言作为其数据库检索语言。
利用SQL语言,可以查询和管理自己的数据库。
它由大约30条命令构成,但实际只需要少数的几个命令就可以完成相当多的工作,常用的SQL查询命令有:
Select、Insert、Delete、Update等。
三、系统分析
3.1需求分析
系统的综合要求
1、系统界面要求
系统的初始界面假定用户是匿名登录,用户可以通过初始界面提供的统一的用户登录接口,登录进入各自的操作界面
2、系统功能要求
本系统操作用户按不同级别依次可分为:
匿名用户、普通会员用户、版主会员用户、超级用户。
高级别的用户可以继承低级别用户的公用功能。
同时,各级别用户具有一定的只有以本级别身分登录才具有的私有功能。
匿名用户功能要求---通用功能:
查看各版面文章、查看系统版主列表、查看系统会员列表;私有功能:
注册为系统正式会员、会员找回遗失密码、登录为正式会员。
普通会员功能要求---通用功能:
发表或回复帖子、个人资料维护、退出或重新以匿名身分登录;私有功能:
申请为版面版主、注销会员资格。
版主会员功能要求---通用功能:
帖子管理、张贴公告、友情链接管理
超级用户功能要求---通用功能:
论坛基本设定、版面管理、版主会员管理、普通会员管理
3、系统性能要求
对于帖子查看、发表帖子以及回复帖子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。
4、安全性保密性可靠性等其它方面的要求
高级别用户的所有管理操作要有针对低级别用户的身分识别功能,以防止低级别的用户越权执行高级别用户才具有的操作功能。
3.2系统的数据要求
根据系统的功能需求,本系统管理和维护以下几种数据元素(实体Entity):
会员、管理员、论坛、论坛版面、帖子、友情链接、日志。
1、会员实体
会员用户包含这样一些基本属性:
用户名、用户密码、用户密码提示问题、用户密码提示问题答案、用户EMAIL、用户真名、性别、出生年月日、主页URL、联系方式、证件名称、证件号码、积分。
其中,用户名为用户唯一标志,不允许重名。
积分为此用户在本论坛发表文章以及文章被其它用户关注程度所累积的分数,作为衡量此用户在本论坛活跃程度的一个标志。
2、管理员
管理员实际上派生于会员用户,意味着只有会员用户才有资格申请本论坛各版面的管理权限,因此,他除了包含会员用户所有的基本属性以外,还应包含以下几个属性:
申请管理版面、申请理由、申请被批准状态。
一个管理员可以管理几个版面,一个版面可以由几个管理员管理,所以,应该有一个管理员序号来唯一标志这个实体。
另外,管理员也分为两类,一类是超级管理员,具有管理和维护本论坛所有数据信息的权限,另一类是普通版主,只能管理与某版面相关的数据信息,可以用申请管理版面以及申请被批准状态来区分这两类管理员,如果申请管理版面为零用申请被批准通过,则此会员就为超级管理员,如果申请管理版面在本论坛存在且申请被批准通过,则此会员就为版主管理员,否则,此会员仍为普通会员。
3、论坛
论坛基本信息比较稳定,只能为超级管理员所维护,此实体包括以下一些基本属性:
论坛名称、论坛版权信息、论坛公告、公告内容。
4、版面
论坛版面包含这样一些基本属性:
中文名称、英文名称、版面简介、版面公告。
此外,论坛版面实体与管理员实体有联系,与帖子实体也有联系。
5、帖子
帖子包含以下一些基本属性:
所属版面,作者,标题,帖子类型,所属主贴,回复数量,点击次数,标题图像,帖子内容,帖子书写时间,最后一次更新帖子时间。
帖子包括两种类型:
主帖和回复。
帖子序号为此帖子唯一标志。
本系统实体之间主要有以下几类联系(Relation):
用户与论坛版面之间存在管理联系(M:
N)、用户与帖子之间(1:
M)、用户与友情链接(1:
M)、用户与日志(1:
M)、论坛版面与帖子(1:
M)
几个基本实体-联系图(ER图)如图2,图3所示:
3.3系统的逻辑模型
逻辑模型设计如图4所示:
*系统逻辑模型数据流简要说明:
1、匿名用户与信息处理系统之间
系统的输入数据流:
注册资料、登录数据、找回密码数据
系统的输出数据流:
用户遗失密码、某篇帖子内容、会员
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 论文 bbs 留言板 设计 实现