1、第一章 绪 论. 1第二章 BBS论坛的介绍. 2第三章 开发环境概述. 331 关键技术. 332 数据库技术. 633 VBScript及JavaScript脚本语言. 7第四章 系统总体规划与设计. 941 数据结构的设计. 942 系统结构的设计. 1043 系统的综合要求. 1244 系统的数据元素要求. 1345 系统的逻辑模型. 18第五章 系统主要功能详细设计. 1951 基本算法. 1952 ASP网页数据库的连接. 2053 ASP网页数据库的操作. 2254 ASP网页安全性的实现方法. 2555 在贴子中实现超文本信息输入和显示. 28第六章 系统的运行效果. 3261
2、 运行环境. 3262 运行结果. 32第七章 总结与展望. 33致 谢. 33参考文献. 34第一章 绪 论进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件
3、开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。Internet起源于20世纪60年代末、70年代初,当时,美国国防部为了将充斥于军事基地内各种厂商的电脑主机互连,让它们可以进行数据交换以便研究工作顺利进行,于是成立了ARPA网络计划。ARPA计划尝试建设一个网络系统,它可将各种不同厂商的电脑连接起来。随着这个计划的成功,各学术单位,研究机构也纷纷与ARPA计划所建立的ARPANet连接。到了20世
4、纪80年代,Internet这个名词因势产生,它代表着这十年来所构建涵盖全球各地的网络系统。从1990年起,商业使用的Internet在美国急速地扩大,而Internet也从原来属于少数人使用的网络系统转变为普通百姓也能够使用的网络系统。最初的Internet资源服务都还停留在文本模式,1989年,量子物理实验室(CERN)下的一个研究小组着手开发一种全新的Internet服务,它可以在网络上传送图片、文本、影像、声音等多媒体数据。于是由Tim Berners Lee领导的小组开发出了一种主从、分布式的网络服务系统,这就是WWW,俗称“万维网”。所谓WWW其实就是连上Web服务器访问资源,取得
5、的内容就是所谓的“主页”(HomePage)。进入的网页通常不会只有一页,而是整个网站的内容。“网站”是一种呈现在网络上的新兴媒体,通过Internet已经成为一个实时的,多媒体的信息传播渠道。它的载体主要是电脑,范围覆盖全球各地,没有国界,不分人种,时时刻刻地提供服务。目前,人们渐渐开始把网站称之为广播、电视、报刊以外的第四新闻媒体,以“共享、公平、公正、创新、国际化、团队精神”为特征的网络文明也已逐渐成为这个时代的标志,人们越来越习惯于通过Internet网络获取信息,通过Internet在网站上发表自己对社会对生活的理解和建议。本文设计实现一个基于Web的通用BBS网站,具有BBS网站应
6、该具有的相关功能。第二章 BBS论坛概述BBS系统就是提供给注册用户一个平台,会员用户可以通过Internet接入,登录论坛,在这个平台上发表文章、阅读文章、回复文章等等。此类系统通常有以下四种类型的操作用户:匿名用户、普通用户、版面管理员、超级管理员。每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。与之相应,此类系统通常应具有以下功能:用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、主题查找、作者查找、个人资料维护、找回密码、版面管理、版主管理、用户管理、友情链接管理等等,所有操作都可以由用户在客户端浏览器中完成,
7、而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。这就是所谓的B/S结构应用系统,B/S结构即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻
8、辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓N-Tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。将应用程序分成好几个离散逻辑组件,就是多层式结构 (N-Tier) 应用程序。最常见的选择是分成三个部分:表示层、事务逻辑层和数据层(3-Tier),
9、不过也有其它的组合。多层式结构应用程序,在一开始是解决某些与传统客户端/服务器 (主从式) 应用程序相关的问题,但是随着 Web 的出现,此结构已经成为主导新程序之开发的结构。下面就是3-Tier结构各层功能以及经常采用的技术作个简介:表示层主要运行于客户端浏览器,采用Script (脚本)语言编写。HTML、JavaScript、VBScript是此类应用系统中展示层最常用的脚本编制语言,结合CCS以及ActiveX技术,能设计出交互相当灵活功能又相当强大的客户端网页。事务逻辑层设计通常有三个选择:ASP网页、COM或COM+组件、DBMS中所执行的预存程序。将程序代码的一部分,建立成执行于
10、数据库管理系统 (DBMS) 中的预存程序,使数据与程序代码储存在相同的位置,有助于最佳化执行效率,但是,预存程序都依赖于特定的数据库系统,在编写和侦错方面都相当复杂,只适宜于大型的商业应用系统。以 COM 对象的方式,编写中间层 (Middle Tier) 事务逻辑,可以使用全功能的语言,来产生经过编译的执行程序,执行效率也相当高,此外,在 COM 对象中包装事务逻辑,还可以清楚地将此程序代码与网页内含的展示程序代码分隔,这样可以使应用程序更易于维护,但是,COM对象的部署也有一定的麻烦,新编写的组件对象,只有在服务器重新启动后才能被应用程序调用。用ASP 网页设计事务逻辑相对来说比较简单,
11、但是,ASP网页采用脚本语言来编写事务逻辑,比如VBScript,程序代码只有在执行时才被翻译,这样会降低执行效能,此外,ASP 网页中的程序代码也是难以维护的,因为事务逻辑程序代码与建立使用者接口的展示程序代码彼此混杂在一起。数据层较为灵活,视系统规模可选择Sybase、Oracle、My SQL、SQL server或者MS Access。综上所述,结合BBS论坛系统实际需要,本BBS系统采用B/S结构。论文设计开发的系统为通用BBS系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的WEB平台。另外,通用系统应该具备较大的可扩展性,目前,ASP.NET技术发展较快,未来应该能以
12、较小的成本用ASP.NET重写本系统,因此,这次设计开发的BBS论坛事务逻辑层设计采用ASP网页;至于数据层,本系统采用最基本的MS Access数据库系统,重写时采用SQL等大型数据库。第三章 开发环境概述设计开发的BBS论坛系统要求客户端支持IE6.0以上或与之兼容的浏览器软件,客户端硬件最低要求对应于IE6.0的硬件平台要求。服务器端要求支持ASP以及MS Access数据库。BBS论坛的开发环境和开发工具为:Windows xp,PWS,FrontPage2000,MS Access。31 关键技术311 ASP技术ASP技术是一种类似HTML(Hypertext Markup Lan
13、guage超文本标识语言)、Script与CGI(Common Gateway Interface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。其特点归纳如下:1. ASP可以和HTML或其他脚本语言(VB Script与Java Script)互相嵌套。2. ASP是一种在Web服务器端运行的脚本语言,因此,程序代码完全保密。3. ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。4. ASP内置ADO组件,因此可以轻松地存取各种数据库,大大缩短了程序
14、开发时间。5. ASP可以将运行结果以HTML的格式传送至客户端浏览器,因此ASP可以适用于各种浏览器。下面来介绍一下ASP的几个内置对象。1.Request对象。HTTP通讯协议是一种请求与响应(Request/Response)的通讯协议,因此通常由客户端向Web服务器提出请求,Web服务器才会响应信息。因此在ASP中,特别将“客户端提出的要求”与“Web服务器响应的信息”等动作封装成Request对象与Response对象。换而言之,Request对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等等。2.Response对象,每一种程序语言或开发工具一定
15、都有与用户沟通的界面或函数,ASP也不例外。在ASP中负责将信息传达到用户的对象就是Response对象。3.Server对象,Server对象允许用户取得服务器提供的各项功能,例如,Server对象的CreateObject方法允许客户端用户建立一个ActiveX Server组件实例,其所建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。如果希望此对象实例可以跨多个ASP网页,就要用到Session对象保留该组件实例,直到Session对象的运行时间到了,或是在其他ASP网页调用Session对象的Abandon方法,此组件实例才会被释放。4.Session对象,Session对象在ASP程序编写中占了相当重的份量,由于网页是一种无状态的程序,因此几乎无法知道用户的浏览状态。必须通过Session对象记录用户的相关信息,以供用户再次对此Web服务器提出要求时作确认,例如,在某些特定的网页中,常需要用户输入确认的账号和密码,假如这些身份确认的结果无法保留,那岂不是每一个网页都需要重新输入一次密码。换而言之,每一个Session的用户,Web服务器均会自动的为它们建立一个Session。必须说明,Session对象只能适用于具备Cookie功能的浏览器。