摘 要
“网络书店论坛系统”是专门针对中小型网络书店开发的通用性很强的论坛系统,集主题发表、回复,用户注册,密码修改,密码找回于一体,同时还集成了管理员对论坛的维护等多种实用的功能,真正实现了对论坛的综合管理。本系统是运用微软可视化编程工具之一Microsoft Visual Studio 2005 开发的,发SQL Server为数据库,界面美观大方,系统运行稳定,并具有如下特点:系统运行效率高,程序结构严谨,运算处理速度快,程序和数据的存储、调用安排得当,节省存储空间;响应速度快,完全通过键盘等操作;可靠性,程序有较好的容错能力,在异常功能进行保护处理;灵活性,图文结合的操作界面,使操作更灵活;操作使用方便性,系统的每个功能都经过精心设计,充分考虑到操作人员的计算机知识较少的特点,全部使用操作人员最熟悉的业务流程、提示用语和操作方式,即使不懂计算机也能熟练操作;通用性,本系统集主题发表、回复,用户注册,密码修改,密码找回,论坛维护于一体,不但满足了用户使用,同时也满足了管理员管理,具有一定的通用性,适合大多数中小型网络书店的要求。
关键字:论坛系统,Microsoft Visual Studio 2005,ASP.NET,SQL Server
Abstract
“The forum system of the network” bookstore is exclusively aim at medium small scaled network bookstore development of the in general use very strong forum system, gather topic to announce, reply, customer register, password modification, the password finds back at the integral whole, in the meantime still integrated the managing person's maintenance to the forum's etc. is various practical functions, real carried out to the comprehensive management of forum.This system's is to make use of a Microsoft can see to turn the plait distance Visual Studio of Microsoft Visual Studio 2005 development, take SQL Server as a database, interface beauty generous, the system circulate stability, and Be have as follows a characteristics:The system circulates an efficiency Gao, the procedure structure is careful, operation processing speed quick, procedure and data of saving, adjust to use arrangement properly, economical saving space;Respond to speed quick, completely pass a keyboard etc. operation;Credibility, the procedure more and so permitted wrong ability and carry on a protection processing in the excrescent function;Vivid, the diagram text combine of operation interface, make operation more vivid;The operation uses convenience, each functions of system pass by to with meticulous care design, full in consideration of operate the characteristics of the personnel's calculator knowledge less, all usage operates personnel's the most familiar business process and hints terminology and operation way, even don't understand a calculator also ability well-trained operation;In general use, this system gathers topic to announce, reply, the customer register, password modify, the password find back and the forum supports at the integral whole, not only satisfied a customer an usage, but also satisfied a managing person a management in the meantime, have certain in general use and suit the request of small scaled network bookstore in the majority.
Key Words:Forum system ,Microsoft Visual Studio 2005,ASP.NET,SQL Server
目 录
前 言. 1
第一章 系统概述. 2
1.1系统介绍. 2
1.2主要功能. 2
1.3 主要模块介绍. 2
1.3.1 主页面. 2
1.3.2 论坛注册模块. 3
1.3.3 论坛登录模块. 4
1.3.4 论坛区选择模块. 5
1.3.5 新文章发布模块. 6
1.3.6 密码找回模块. 7
第二章 需求分析. 8
2.1论坛现状分析. 8
2.2系统的综合要求. 9
2.3系统的数据要求. 9
2.4系统的逻辑模型. 11
第三章 系统分析. 12
3.1 Internet以及Web技术的发展. 12
3.2基于Web的通用BBS系统技术可行性分析. 12
3.3 系统结构. 14
3.4设计模式. 15
第四章 系统设计. 16
4.1 数据库设计. 16
4.1.1 数据库需求分析. 16
4.1.2 数据表的结构. 16
4.1.3 数据表之间关系图. 18
4.2 论坛注册设计. 18
4.3 论坛登录设计. 19
4.4 文章标题显示设计. 20
4.5 新文章发表模块设计. 21
4.6 开发及运行环境. 21
第五章 基本技术. 22
5.1 变量发送与接收. 22
5.2 ADO技术. 22
5.3 结构查询语言(SQL). 23
5.4 JavaScript脚本语言. 23
第六章 系统测试. 25
结束语. 26
参考文献. 27
进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器——服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。
论坛系统可以说是现代社会一种极为常见的互动交流服务系统。大家可以在此发表自己的想法,交流技术、经验,学习心得以及人生的感悟与忧欢,也可以作为用户与商家交流的渠道,商家也可以在此回答用户提出的问题或发布消息。这里用ASP.NET 2.0来设计一个论坛系统。
使用论坛系统,具有邮件服务等所无法比拟的优点。例如:利用论坛可以提出自己遇到的问题,回答的多各多样可以使问题得到最好的解决方法。这些优点能够极大地提高信息的实时性,节省了大量的时间,减少了很多不必要的资源开销。
本系统是以Microsoft Visual Studio 2005为开发工具设计开发的“网络书店论坛系统”连接SQL Server数据库,实现网络店图书论坛系统的基本功能。
“网络书店论坛系统”是专门针对网络书店日常开发的通用性很强的论坛系统,集用户注册,密码修改、找回,主题发表、回复于一体,同时还集成了用户、主题、论坛区管理等多种实用的功能。本系统是运用微软可视化编程工具之一Microsoft Visual Studio 2005 开发的,界面美观大方,系统运行稳定。以SQL Server为数据库。相关系统使用说明请参考Read Me.
按照编程流程,把BBS论坛的模块按照实现功能来划分,包括:
Ø 论坛注册模块:用户的基本信息,密码找回,更改密码。
Ø 论坛登录模块:论坛使用者的一定限制。
Ø 论坛区选择模块:论坛多元化,便于对文章的管理。
Ø 文章标题显示模块:显示某一论坛区的文章。
Ø 文章浏览模块:查看文章详细内容。
Ø 文章回复模块:对文章进行回复。
Ø 文章发表模块:发表新的文章。
Ø 论坛管理模块:用户管理,论坛区管理,文章管理,回复管理。
Ø 论坛主页面模块:对论坛的全局显示。
Ø 数据库设计模块:论坛所需要的数据。
主页面是论坛的门户,子页面的调用要通过主页面实现。另外,主页面还要显示论坛最新信息、网站信息、广告等信息。本系统是集于网络书店下开发的,所以在主页面中要对网络书店有所体现。除此之外,对论坛的最新信息要实时响应。其运行结果如图1-1所示。
图1-1 主页面运行结果
一个论坛需要对其中的用户进行管理,因此,一般只有授权用户才能够享有BBS论坛的一些基本功能,而对于一个初次登录论坛的用户,只有通过注册才能够得到基本授权。
用户在注册过程中,一般需要确认论坛的基本准则和行为规范,再填写基本的用户信息,其中最重要的自然是用户名和密码,这是一个用户在该论坛的身份象征。其次就是当用户的密码忘记时,需要找回密码或设置一个新的密码,那么就需要一定的信息来确认用户,以免用户的密码被其它或不法之人随意修改。在此,用户在注册时填加了“提示问题”和“问题答案”做为用户找回密码的重要信息。
论坛注册模块运行结果如图1-2所示。
图1-2 论坛注册模块运行结果
想要在论坛中进行相应的操作,不但需要用户有在这个论坛上相应的权限,还需要能让论坛知道这一点,这是就是登录模块。用户注册时提供的用户名和密码,就像通行证一样,获得了论坛的认可后,才能开始在论坛之中进行操作。
论坛登录界面运行结果如图1-3所示。
图1-3论坛登录界面运行结果
在论坛中,用户所发表的主题类型不同,如果只在一个区域内显示,对用户的查阅,和管理员的维护带来很多的不便。为此,我们把论坛分为不同的区域,以显示不同类型的文章。这样,用户在发表和查阅文章时,可根据文章类型到相应的论坛区内进行集中性的发表和查阅。管理员在维护论坛时也可以节省很多不必要的时间开销。
论坛区模块运行结果如图1-4所示。
图1-4 论坛区模块运行结果
这个模块的主要功能就是提供给用户一个发表自己的文章的功能。用户在登录之后,通过填写相应的内,如文章标题、文章内容等,就能在论坛中的标题外表中找到自己的文章。
新文章发布模块运行结果如图所示1-5所示。
图1-5 新文章发表运行结果
当用户忘记密码时,可通过此模块来找回密码。在找回密码的过程中,以用户名为介质,以对应用户名的提示问题为唯一标识,进而使用户重置密码。
密码找回模块运行结果如图所示1-6所示。
图1-6 新文章发表运行结果
现在的论坛到处都是,内容也包罗万象。比如在IT行业比较出名的论坛有:中国最大的编程者社区http://bbs.bc-cn.net/index.asp、编程之家http://www.cyait.com 、中国最大的IT社区http://community.csdn.net 等等。总之论坛做的好归于一个人气问题。
想要提高人论坛的人气,要做到以下几点。
1、定位、专一、简约
做论坛切记不要贪心,弄得五花八门,到头来一片混乱,抓不着半点头绪。给论坛的性质定位是很重要的,是文学论坛,娱乐论坛还是综合性的,从一开始就要把角色摆正。例如做文学论坛,就要以文学为主,配上几个娱乐灌水的地方让大家轻松一下,分清主次,千万不要喧宾夺主。专一不等于单调,只是主题明确的意思。风格简约不容忽视,别以为越花哨越吸引人,其实简单明了干净清新的论坛才更吸引人。
2、版面的书写
版面的书写要有层次,有条理。先将一个论坛划分成几个大的区域,再把大区域分成小的版面,尽量不要在版中再增加分版,那样看起来很乱,也会令发帖的用户无所适从。总之,好的论坛给人的第一印象是“眼前一亮”,而不能是一片迷雾。
3、要有自己的风格
这是最重要的一点。网上的论坛何止千万,拷贝别人的一点意义也没有。在做一个论坛之前,你就要有这样的心理准备——我要造出一片世界上没有的叶子来。你要调出自己的颜色来,至少首页的颜色不能给人似曾相识的感觉。
4、论坛规则的制订
一定要在论坛发布前制订出一套可行的发展方案及管理规则来。俗话说,无规矩不成方圆。如果一起步就乱了步伐,那以后还怎么走下去?要习惯给自己定目标,无论是爱好论坛还是商业论坛都希望做好,让更多的人认同,所以总要知道自己希望达到一个什么样的目标,这样才有动力向前。
5、完善的服务
在不影响速度和技术支持的情况下,尽量让论坛丰富多采。可以举行一些定期的选举,选出论坛的最受欢迎会员;可以配备语音、视频聊天室,外挂留言版、电影院等等。当然,此消彼长,用一部分资源提供完善的服务,就要在别的地方节约资源,可以关闭上传文件的功能,关闭随机广告和一些不必要的信息。
1、系统界面要求
系统的初始界面假定用户是匿名登录,用户可以通过初始界面提供的统一的用户登录接口,登录进入各自的操作界面。
2、系统功能要求
本系统应具有通常BBS网站应该具有的所有功能,包括用户注册、用户登录、匿名登录、发表文章、阅读文章、回复别人的文章、分页查找、密码找回、密码修改等,此外,用户在发表贴子时,能输入带格式文本,用户在发表或回复一篇贴子时,能自动累积发表或回复数,以反应此用户在本论坛的活跃程度。
本系统操作用户按不同级别依次可分为:匿名用户、普通会员用户、超级用户。超级用户即论坛维护人员。同时,各级别用户具有一定的只有以本级别身分登录才具有的私有功能。
匿名用户功能要求---通用功能:查看各论坛区信息、文章列表;私有功能:注册为系统正式会员、会员找回遗失密码、登录为正式会员。
普通会员功能要求---通用功能:发表或回复贴子、密码修改。
超级用户功能要求---通用功能:论坛基本设定、版面管理、文章和回复管理、版主会员管理、普通会员管理
3、系统性能要求
对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。
4、安全性保密性可靠性等其它方面的要求
高级别用户的所有管理操作要有针对低级别用户的身分识别功能,以防止低级别的用户越权执行高级别用户才具有的操作功能。
根据系统的功能需求,本系统管理和维护以下几种数据元素(实体Entity):会员、管理员、论坛、论坛版面、贴子。
1、会员实体
会员用户包含这样一些基本属性:用户名、用户密码、用户密码提示问题、用户密码提示问题答案、用户EMAIL、性别、出生年月日、主题,回复,积分。其中,用户名为用户唯一标志,不允许重名。积分为此用户在本论坛发表文章以及回复他人文章的分数,作为衡量此用户在本论坛活跃程度的一个标志。
2、管理员
管理员实际上论坛的维护人员。包含以下几个属性:用户用户管理、论坛区管理、文章和回复管理。一个管理员可以管理几个版面,一个版面可以由几个管理员管理,所以,应该有一个管理员序号来唯一标志这个实体。
3、论坛
论坛基本信息比较稳定,只能为超级管理员所维护,此实体包括以下一些基本属性:论坛名称、论坛版权信息、论坛公告、公告内容。
4、版面
论坛版面包含这样一些基本属性:中文名称、版面简介、版面公告。此外,论坛版面实体与管理员实体有联系,与贴子实体也有联系。
5、贴子
贴子包含以下一些基本属性:所属版面,作者,标题,发表时间,回复内容,贴子内容。贴子包括两种类型:主贴和回复。贴子序号为此贴子唯一标志。
匿名用户 |
普通会员 |
管理员 |
论坛 |
论坛版面 |
贴子 |
回复 |
论坛数据信息处理系统 |
图2-1 系统逻辑模型
系统逻辑模型数据流简要说明:
1、匿名用户与信息处理系统之间
系统的输入数据流:注册资料、登录数据、找回密码数据,修改密码数据
系统的输出数据流:用户遗失密码、某篇贴子内容、版主列表、版面列表
加工逻辑:注册加工、登录加工、用户找回密码加工
2、会员用户与信息处理系统之间
系统的输入数据流:注册资料修改、发表贴子、回复贴子
系统的输出数据流:某篇贴子内容、版面列表
加工逻辑:版主资格申请、注册资料修改、发表贴子,回复贴
3、管理员与信息处理系统之间
系统的输入数据流:注册资料修改、添加用户和论坛区、论坛基本信息维护、论坛所有贴子和回复维护、版主任命
系统的输出数据流:某篇贴子内容、会员列表、版主列表、版面列表、
加工逻辑:注册资料修改、发表贴子、回复贴子、添加版面、论坛基本信息维护、论坛所有贴子和回复维护、版主任命
Internet起源于20世纪60年代末、70年代初,当时,美国国防部为了将充斥于军事基地内各种厂商的电脑主机互连,让它们可以进行数据交换以便研究工作顺利进行,于是成立了ARPA网络计划。ARPA计划尝试建设一个网络系统,它可将各种不同厂商的电脑连接起来。随着这个计划的成功,各学术单位,研究机构也纷纷与ARPA计划所建立的ARPANet连接。到了20世纪80年代,Internet这个名词因势产生,它代表着这十年来所构建涵盖全球各地的网络系统。从1990年起,商业使用的Internet在美国急速地扩大,而Internet也从原来属于少数人使用的网络系统转变为普通百姓也能够使用的网络系统。
最初的Internet资源服务都还停留在文本模式,1989年,量子物理实验室(CERN)下的一个研究小组着手开发一种全新的Internet服务,它可以在网络上传送图片、文本、影像、声音等多媒体数据。于是由Tim Berners Lee领导的小组开发出了一种主从、分布式的网络服务系统,这就是WWW,俗称“万维网”。
所谓WWW其实就是连上Web服务器访问资源,取得的内容就是所谓的“主页”(HomePage)。进入的网页通常不会只有一页,而是整个网站的内容。
“网站”是一种呈现在网络上的新兴媒体,通过Internet已经成为一个实时的,多媒体的信息传播渠道。它的载体主要是电脑,范围覆盖全球各地,没有国界,不分人种,时时刻刻地提供服务。目前,人们渐渐开始把网站称之为广播、电视、报刊以外的第四新闻媒体,以“共享、公平、公正、创新、国际化、团队精神”为特征的网络文明也已逐渐成为这个时代的标志,人们越来越习惯于通过Internet网络获取信息,通过Internet在网站上发表自已对社会对生活的理解和建议。
BBS系统就是提供给注册用户一个平台,会员用户可以通过Internet接入,登录本系统,在这个平台上发表文章、阅读文章、回复文章等等。
此类系统通常有以下四种类型的操作用户:匿名用户、普通用户、版面管理员、超级管理员。每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的操作界面。与之相应,此类系统通常应具有以下功能:用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、主题查找、作者查找、个人资料维护、找回密码、版面管理、版主管理、用户管理、友情链接管理等等,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。这就是所谓的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技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
将应用程序分成好几个离散逻辑组件,就是多层式结构 (N-Tier) 应用程序。最常见的选择是分成三个部分:表示层、事务逻辑层和数据层(3-Tier),不过也有其它的组合。多层式结构应用程序,在一开始是解决某些与传统客户端/服务器 (主从式) 应用程序相关的问题,但是随着 Web 的出现,此结构已经成为主导新程序之开发的结构。下面就是3-Tier结构各层功能以及经常采用的技术作个简介:
表示层主要运行于客户端浏览器,采用Script (脚本)语言编写。HTML、JavaScript、VBScript是此类应用系统中展示层最常用的脚本编制语言,结合CCS以及ActiveX技术,能设计出交互相当灵活功能又相当强大的客户端网页。
事务逻辑层设计通常有三个选择:ASP.NET网页、COM或COM+组件、DBMS中所执行的预存程序。将程序代码的一部分,建立成执行于数据库管理系统 (DBMS) 中的预存程序,使数据与程序代码储存在相同的位置,有助于最佳化执行效率,但是,预存程序都依赖于特定的数据库系统,在编写和侦错方面都相当复杂,只适宜于大型的商业应用系统。以 COM 对象的方式,编写中间层 (Middle Tier) 事务逻辑,可以使用全功能的语言,来产生经过编译的执行程序,执行效率也相当高,此外,在 COM 对象中包装事务逻辑,还可以清楚地将此程序代码与网页内含的展示程序代码分隔,这样可以使应用程序更易于维护,但是,COM对象的部署也有一定的麻烦,新编写的组件对象,只有在服务器重新启动后才能被应用程序调用。用ASP.NET 网页设计事务逻辑相对来说比较简单,但是,ASP.NET网页采用脚本语言来编写事务逻辑,比如VBScript,程序代码只有在执行时才被翻译,这样会降低执行效能,此外,ASP.NET 网页中的程序代码也是难以维护的,因为事务逻辑程序代码与建立使用者接口的展示程序代码彼此混杂在一起。
数据层较为灵活,视系统规模可选择Sybase、Oracle、My SQL、SQL server或者MS Access。
综上所述,结合本系统实际需要,本BBS系统采用B/S结构,使用微软公司的技术解决方案。开发环境采用微软的FrontPage2000+PWS。引入Windows DNA 概念,将Windows DNA 应用到系统开发中。采用3-Tier软件结构:表示层采用HTML、JavaScript或VBScript结合CSS、ActiveX技术来编写;事务逻辑层,考虑到本系统为通用BBS系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的WEB平台,特别是个人用户想在一些免费主页空间搭建自已的论坛,而这类免费主页空间通常只支持ASP.NET来处理服务器端数据或数据库,另外,通用系统应该具备较大的可扩展性,目前,ASP.NET技术发展较快,未来应该能以较小的成本用ASP.NET重写本系统,因此,本系统事务逻辑层设计采用ASP.NET网页;至于数据层,本系统采用最基本的MS Access数据库系统,视需要,系统作较小的改动就可以移植到其它大型数据库系统。
本系统要求客户端支持IE4.0以上或与之兼容的浏览器软件,客户端硬件最低要求对应于IE4.0的硬件平台要求。服务器端要求支持ASP以及MS Access数据库。
本系统的开发环境和开发工具为:Windows98,PWS,FrontPage2000,MS Access。
根据论坛系统的情况和要求,设计系统结构如图3-1所示。
图3-1 系统结构图
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的。设计模式使代码编制真正工程化,设计模式是软件工程的基石。
根据论坛所需要实现的功能,对其数据库的需求进行分析,得到以下结论:要存储的内容包括用户信息,文章信息、回复信息、论坛区信息。
Ø 一个用户可以发表多篇文章。
Ø 一个用户可以发表多篇回复。
Ø 一篇文章或者一篇回复都只对应一个用户。
Ø 一篇文章可以对应多篇回复。
经过以上分析,设计如下数据库:
Ø 用户信息:包括用户名、密码等一系列确认用户身份的信息和发表文章数、回复文章数等一系列表明用户在论坛活跃度的信息。
Ø 文章信息:包括该论坛中所有文章的标题、内容、作者、发表时间等,并且要能把每一篇文章与相应的论坛区相应的对应起来。
Ø 回复信息:包括该论坛中所有的回复信息,包括回复内容、作者、回复时间等,并且要能把每一条回复信息与其回复的文章信息相应对应起来。
Ø 论坛区信息:包括该论坛中所有论坛区的标题、说明、文章数、回复数、版主等一系列信息。
在明确了数据库信息之后,下面开始构建数据表。
根据上面的需求分析,BBS论坛数据库中各个表的设计结果如下。
(1) 用户表需要包括的字段如图4-1所示。
图4-1 user表
(2) 文章列表用来存放用户发表的文章,包括的字段如图4-2所示。
图4-2 article表
(3) 回复列表用来存放用户所发表的回复,包括的字段如图4-3所示。
图4-3 reply表
(4) 论坛区列表用来存放论坛区信息,包括字段如图4-4所示。
图4-4 area表
(5) 其它数据表,如图4-5所示。
图4-5 areaType表
由于一个用户可以发表多篇文章,而一篇文章只能被一个用户发表,所以users表项和article表项是一对多的关系;同理,一个用户可以发表多篇回复,而一篇回复只能是一个用户所发,所以users表项与reply表项也是一对多的关系;同时,因为一篇文章能够对应多个回复,而一个回复只能对应一篇文章,所以article表项与reply表项也是一对多的关系。
最后得到的数据表之间关系图如图4-6所示。
图4-6 数据表关系图
论坛注册的流程是这样的,为了能登录论坛,一个用户必须在该论坛上有合法身份,当一个用户没有这个身份时,必须进入注册页面进行登录。当进入注册页面时,用户开始填写资料并单击“注册”按钮,首先检查输入完整性,即该填的信息都填完了并且正确填写,如果信息不完整或有错误,则会做出相应的提示,如果完整性检验通过,则会提示注册成功并进入登录页面。具体流程如图4-7所示。
图4-7 论坛注册流程图
当用户进入论坛登录页面时,如果有在论坛的用户和密码,则填写用户名和密码,否则进入用户注册模块。当填写用户名密码后单击“登录”按钮,首先开始检测是否填写完整,当填写不完整时提示必须填写对应项。通过完整性检查后,根据输入数据查询数据库,以验证是否合法,当验证成功后,进行相应页面跳转。具体流程图如图4-8所示。
图4-8 论坛登录流程图
在用户登录后,会进入论坛区列表,选择论坛区后,会进入相应的论坛区文章列表,同时在文章列表中会显示一走些有关文章的基本信息,包括题目、作者、时间、回复数。在文章标题显示模块中,如果单击文章标题,则进入文章浏览界面;如果单击右上负的“发表主题”链接,则进入发表席不暇暖模块。
进入新文章发表页面后,填写发表主题和内容,单击“发表”按钮。首先检查输入完整性,如果输入不完整,则提示用户填写相应项,如果通过完整性检验,则提示发表成功并出返回文章列表
系统开发平台:Microsoft Visual Studio 2005
数据库管理系统软件:SQL Server 2000
运行平台:WindowsXP
分辨率:最佳分辨率效果1024×768.
基于WEB的通用BBS系统其系统定义部分采用面对对象的系统分析方法,并结合传统的结构化分析方化,设计出其系统模型,如果采用面向对象的程序设计语言开发系统,则可以很方便地从系统分析阶段平滑地过渡到设计阶段。但是,本系统采用ASP技术,我们知道ASP不支持继承和强类型转换等面向对象程序设计所必需的功能,只能采用一定的技术措施,用传统的结构型程序设计方式实现诸如继承等这类功能。
关于变量的发送与接收,在这里以论坛首页(即Index.aspx)为例进行说明。
Index.aspx是BBS网站的HomePage,程序首先进行用户身份判断。
本系统用户身份信息经登录后保存在public static String类型的userName变量里。匿名用户(既Guest)这个变量为“游客”;普通用户userName变量存有用户在本系统注册的会员昵称。
当转入其它页面时,主页面会将userName这个变量发送到到所转入的页面。新页面会依据程序对用户做出判断,转入相应用户的功能操作菜单。这就实现了不同层次对象的同一方法的不同功能。
发送userName变量:
Response.Redirect("<转入页面>?userName="+userName);
接收userName变量:
userName=Request.QueryString["userName"].ToString();
ADO(ActiveX Data Objects)是微软公司提供给网页开发者在网页中存取数据库的最新技术,它也是ASP内置的重要组件,ADO主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源,数据源不仅包括数据库,而且包括dBase、Excel、Foxpro、Access或文本文件等一些小型的数据表,所以,只要是ODBC驱动程序所能存取的数据源皆是ADO存取的对象。ADO主要是由Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象及Error对象等七个对象与Fields数据集合、Properties数据集合、Parameters数据集合及Errors数据集合等四个数据集合所组合而成,其功能概述如下。
ActiveX Data Object关系图如下:
图5-1 ActiveX Data Object关系图
SQL是结构查询语言(Structure Query Language)的英文缩写,它是使用关系模型数据库的应用语言,由IBM在七十年代开发出来的,实现了关系型数据库中的信息检索。1992年制定了SQL标准SQL-92,它的全名是“International Standard ISO/IEC9075:1992, Database Language SQL”。SQL标准的确定使大多数数据库厂家纷纷采用SQL语言作为其数据库检索语言。
利用SQL语言,可以查询和管理自已的数据库。它由大约30条命令构成,但实际只需要少数的几个命令就可以完成相当多的工作,常用的SQL查询命令有:Select、Insert、Delete、Update等。
Java语言的功能很强大,在网页设计中非常的有效,但是它要求创建APPLET的人员必须是程序设计员。Sun Microsystems(太阳微系统)公司为了消除对于WEB站点的开发人员的特殊要求,专门发布了JavaScript。
JavaScript脚本语言是一种解释性,基本对象的脚本语言。虽然,它没有那些真正意义上的面向对象语言那么多的特性,但是对于它的预期功能而言,它能够实现的功能已经够大了。
Javascript是一种比较随意的语言,这就并不意味着不一定必须明确地声明变量的类型。此外,在很多情况下,Javascript脚本语言在需要的时候可以进行自动转换。
无论从事程序开发工作多长时间,还是多么擅长程序开发,程序中还是会有错误出现。一个小小的键入错误就有可能导致程序瘫痪,除此之外还有逻辑错误,程序虽然运行但不执行预定的任务。
本次系统测试一共测试7个内容:“注册”测试、“登录”测试、“修改密码”测试、“找回密码”测试、“发表新文章”测试、“回复主题”测试、“维护”测试。
本系统的测试是为了保证系统的质量,使系统和用户的需求无误,所以我分以下三个步骤对系统进行了测试:
(1)单元测试
(2)代码审查
(3)集成测试
我完全按照以上三个步骤对系统作了精心测试,在测试过程中发现了一些错误并将其改正,保证了系统的完善性、正确性。在测试过程中并没有发现逻辑上的错误,实现了当初设想的全部目标。
本系统是一个针对网络店,具有实际意义的论坛系统。
因为本系统比较大,而且在本项目开始的时候,对应用ASP.NET 2.0进行程序设计方面不太熟悉,再加上毕业设计的时间有限,许多方面在今后的工作学习中还需要进一步改进和完善。
从本系统开始设计到现在,共用时间近三个月。到目前为止基本功能已经实现。
本系统是在对相关人员进行详细调研后,确定了系统涉及的领域,包括系统设计、数据库设计、程序设计等,是一个具有实际应用意义的典型管理系统。
通过本次毕业设计,巩固了所学的知识,使我清楚了在需求分析、设计数据库、程序设计等许多方面的不足,在今后的工作学习中还需要进一步改进和完善。由于本身能力的局限性,所以做编写的代码,即使经过反复检查也难免出错,所以在本阶段,力求使用有限的时间,找出尽可能多的错误,力求系统尽量正确。
本系统的顺利完成,和辅导老师的精心指导和组员的配合是不可分开的。在这里我要对指导老师和组员表示由衷的感谢。对于本人来说,这次的毕业设计,是对自己在大学学习阶段的一个检验和平时学习的一种积累。从中也使我学到了不少东西。希望以后有足够的时间更深入的了解,做好需求分析,为自己以后能设计出更好的软件努力学习钻研。
[1].赵卫伟.《Visual C#.net面向对象程序设计》,机械工业出版社 2007.2
[2].萨师煊.《数据库系统概论》,高等教育出版社 1996
[3].张庆华.《完全自学手册ASP.NET 2.0》 ,机械工业出版社 2007.1
[4].林昱翔.《ASP.NET2.0网站开发实战》,清华大学出版社 2007.1
[5].张玉平.《ASP.NET+SQL组建动态网站》,电子工业出版社 2006.3
[6].郭馨君.《ASP.NET2.0动态网页设计实例》,机械工业出版社2001.1
[7].孙森严.《Visual Basic 程序设计教程》,海洋出版社 2003.6
[8].李玉波.《完全自学手册SQL Server2000》,机械工业出版社 2007.1
[9].史晓燕.《网页设计基础:html、css、javascript》,北京交通大学出版社 2004.8
[10].Karli Watson.《C#入门经典》,青华大学出版社 2006.5
[11].Bill Evjen.《Professional ASP.NET2.0》,清华大学出版社 2006.11