《BBS论坛设计与实现(共48页).doc》由会员分享,可在线阅读,更多相关《BBS论坛设计与实现(共48页).doc(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上摘 要论坛又名网络论坛,全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。本文讨论了一个网络BBS 的设计与实现过程,详细地讲述了开发一个基于Web 的BBS 网站系统所涉及到的技术和方法。系统使用Microsoft Visual Studio 2005 为前台开发工具,以SQL Server 2005 为数据库平台,根据面向对象开发原理,采用了基于B/
2、S结构的开发模式来开发本系统。其中主要运用了ASP.NET 平台,ADO.NET 连接数据库技术,使用C# 语言编写。具有一般的BBS 所共有的一些功能。包括用户的注册登录、论坛公告和短消息的发布、论坛社区的讨论、论坛的友情链接、后台数据库信息的管理维护等基本模块。全文共分为绪论、关键技术介绍、需求分析、系统概述、系统分析、系统设计、系统实现等九章。绪论中阐述了系统的意义和系统的开发环境。系统概述中阐述了系统背景,所用技术、系统目标以及功能等。系统设计阶段阐述了论坛的总体设计思想、首页的设计、论坛的总体功能设计以及数据库的逻辑设计。在系统总结中阐述了系统的优劣势以及系统的扩展。文中详细说明了系
3、统分析、系统设计的方法在系统实际开发中应用,并总结了开发过程中的一些经验和体会。BBS论坛的存在使得地球村的概念离我们越来越近,使得人与人之间的沟通、交流变得格外的容易。特别是在IT领域,只有有了很好的交流,技术才会得到进步。因此,掌握如何设计并开发一个论坛管理系统也显得格外的重要,而且意义深远。关键词:BBS论坛;B/S结构;ASP.NET 2.0;ADO.NETAbstractForums Web forums, also known as BBS, all known as Bulletin Board System (electronic bulletin board) or a Bu
4、lletin Board Service (bulletin board service). It provides a common electronic whiteboard, and each user can write on, or put forward their views may release information. BBS site users a variety of information services available, release information, discussions, and chat.This article discusses a n
5、etwork design and implementation of BBS in detail about the development of a Web-based BBS website system involved in the technology and methods. System uses Microsoft Visual Studio 2005 development tools for the front to SQL Server 2005 database platform, according to principles of object-orientedd
6、evelopment, adopted based on B / S structure of the development model to develop the system. The main use of the ASP.NET platform, ADO.NET database connections, use the C# language. Paper is divided into introduction, the key technical presentations, requirements analysis, system overview, system an
7、alysis, system design, system implementation, etc. IX. Introduction the meaning set forth in the system and system development environment. System Overview of the system outlined in the background, the use of technology, system objectives and functions. Forum system design described the overall desi
8、gn, page design, forum design and the overall function of the logical database design. Summarized in the system described advantages and disadvantages of the system and system expansion. The paper details the system analysis, system design methods applied in the actual development of the system, and
9、 summarizes some of the development process experience and understanding.BBS Forum makes the existence of the concept of global village closer and closer, making communication between people, communication becomes particularly easy. Especially in the IT field, only a very good exchange, technology w
10、ill beprogress. Therefore, mastering how to design and develop a forum for management systems is particularly important, and far-reaching.Key words:BBS Forum;B/S structure;ASP.NET 2.0;ADO.NET目 录专心-专注-专业第1章 绪 论1.1 开发背景BBS是在1992年底随着国际互联网的开始流行而迅速发展起来的。互联网的产生使得以前只能在本地访问的BBS可以被全世界随意访问,这对大多数人来说是极具诱惑力的。BBS
11、是一个有多人参加的讨论系统,在BBS上大家可以对一个共同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人进行沟通。按照网站的性质以及服务对象来分,迄今有以下几种类型:一是校园BBS。校园BBS作为主要的集中地,在BBS领域具有举足轻重的地位。 由于校园BBS的繁荣,吸引了很多的社会人士参与。二是专业BBS。一般是由各个著名的大公司组建,人们可以利用其交流自己对商品的看法,更为重要的是可以解决商品使用中的问题。三是商业BBS。它是由ISP建立的BBS站点,这类BBS站点各种信息比较多,内容相当丰富。四是小型局域BBS。一般是由个人或小型集体建立,为小范围信息交流服务。五是业
12、余BBS。一般由BBS爱好者个人利用一些免费空间办的BBS,目的是为广大网友提供一个在某些专业上的交流场所。六是新闻媒体BBS。是由新闻媒体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所。随着互联网事业的蓬勃发展。BBS,这个具有强大实时交互功能,信息交流的平台,使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法。BBS论坛系统是为了方便大家的沟通和获取信息而开发的系统。我们利用ASP.NET知识和SQL Server 2005开发BBS论坛管理系统。该系统以Internet
13、为平台,前台可使任何人注册、登录、登录在论坛上进行发帖、回帖、浏览帖子等。管理员也可以在后台对帖子、版块、用户等进行相关的管理。一个小型BBS论坛系统的前台功能主要包括浏览搜索帖子、用户登陆注册、发表回复帖子、个人资料管理和帖子管理;后台功能主要包括用户管理、论坛版块管理和帖子管理等。1.2 系统目标开发本系统意在吸纳大部分游离在众多论坛的大学生,达到校内网等论坛的目标。系统开发的总任务是实现文章的成功发表,留言的发布与回复。从而达到用户之间信息交流的目的。系统主要面向两类用户:用户和系统管理员。用户可以先注册,然后在网站里发表文章、留言等。系统管理员可以对用户的信息进行增添和删除及修改,对版
14、块进行增加、删除和修改操作;还可以对网站进行修改与维护。1.3 BBS对大学生学习生活的影响1BBS提供了丰富的网络学习资源论坛是一个经过学习者整理加工过的网络资源汇en集中心,从新闻、学习到娱乐、体育,从文字到视频、音频,BBS汇集了各种形式、内容的网络资源。不少BBS都设有专门的Net Resources(网络资源)板块;FTP技术和BT技术的发展更是为BBS站内资源的更新、共享提供了方便。如今,大部分大学的BBS论坛都有相应的FTP服务器,不少BBS还与网络新兴的BT技术、Blog(博客)技术等连接起来BBS水木清华站就有“水木Blog”的栏目)。2BBS促进了协作学习基于网络的论坛社区
15、也是各种学习资源组合的场所,为学习者提供了学习环境。作为一个学生参与论坛的网络活动可包括许多种学习的意义,在特定板块内,论坛参与者围绕某个话题或者问题,通过发表、回复话题、版面讨论、站内信件等方式进行互动讨论、相互探讨,形成了一种以学习者为中心的学习方式。从教育网内人气排名前十名的论坛的网友参与的情况来看,在各大学习板块里,基本上每张帖子提出的问题都可以得到网友友好的、认真的回复解答,有着浓郁的协作探讨的学习气氛和良好的学习效果。3BBS提高了学生自主学习能力网络学习的本质是一种自主学习,论坛提供了丰富的网络学习资源,使学习者能自主选择和控制学习地点、学习时间、学习方法和学习内容。在论坛里,学
16、生可以自主地围绕学习问题,通过发帖、回复的形式提出讨论,寻求解答帮助,提高了学习的积极性和自主学习的能力。第2章 关键技术介绍2.1 IFrame框架技术框架是在网页设计中经常用到的一种技术,通过在HTML网页文档中使用标记,就可以将一个页面拆分成多个区域,每个区域称为一个框架,一般情况下每一个框架中都会放置一个网页,这些网页间可以相互独立,也可以有所关联。框架内的网页以一种平铺的形式充满了整个页面空间。但在网页设计中,也会经常遇到在一个网页中引用另外一个网页的情况,即在一个网页中开辟一块区域用于放置其他网页,彷佛形成了一种“画中画”的效果。这种功能就是利用嵌入式框架(IFrame)技巧实现的
17、。嵌入其他网页的初始页面称为父框架,嵌入到父框架内的页面称为子框架或嵌入框架。这种网页的嵌入技术不仅在很大程度上丰富了网页的布局设计,同时也可以方便地实现多种复杂的网页特效。嵌入式框架(IFrame) 是框架的一种标记,在页面设计中经常用到。IFrame标记又叫浮动帧标记,使用IFrame可以将一个文档嵌入在另一个文档中显示,可以随处引用不拘泥网页的布局限制。在当今互联网网络广告横行的时代,IFrame更是无孔不入,将嵌入的文档与整个页面的内容相互融合,形成了一个整体。与框架相比,内嵌框架Iframe更容易对网站的导航进行控制,最大的优点在于其灵活性。2.2 第3方组件FreeTextBox2
18、.2.1 FreeTextBox的作用FreeTextBox 是一个基于Internet Explorer中MSHTML技术的ASP.NET开源服务器控件。这是一款优秀的自由软件(Free Software),我们可以轻松地将其嵌入到Web Forms中实现HTML内容的在线编辑,在新闻发布、博客写作、论坛社区等多种Web系统中都会有用途。2.2.2 FreeTextBox的使用方法步骤1:从网上下载FreeTextBox控件,解压。步骤2:在VS2005编辑器中可通过工具选择工具箱项.NET Framework组件浏览并选定FreeTextBox.dll后按确定控件将默认显示在VS2005编
19、辑器工具箱的常规选项卡(可自行将控件拉到标准选项卡中),也可以直接在工具箱的标准选项卡列标头或所属列任何控件上右击选择项 .NET Framework组件浏览并选定FreeTextBox.dll后即可直接将控件加入标准选项卡。这样以后只要在常规选项卡或标准选项卡中将FreeTextBox控件直接拖放到项目的设计页面即可完成控件的调用。步骤3:将FreeTextBox目录拷贝到所在项目里。2.3 ADO.NET技术ADO.NET的名称起源于ADO(ActiveX Data Objects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Mi
20、crosoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICH XML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。ADO.NET允许和不
21、同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的ADO.NET类库来进行连接。ADO.NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。ADO.NET包含的对象:SqlConnection对象和数据库交互,你必须连接它。连接帮助指明数据库服
22、务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据库上面执行命令。与数据库交互的过程意味着你必须指明想要发生的操作。这是依靠Command对象执行的。你使用Command对象来发送SQL语句给数据库。Command对象使用Connection对象来指出与哪个数据库进行连接。你能够单独使用Command对象来直接执行命令,或者将一个Command对象的引用传递给SqlDataAdapter,它保存了一组能够操作下面描述的一组数据的命令。SqlDataReader对象许多数据操作要求你只是读取一串数据。Dat
23、a Reader对象允许你获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从Data Reader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet。DataSet对象DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用帮助管理内存中的数
24、据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀。SqlDataAdapter对象某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Data Adapter通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Data Adapter填充(fill)DataSet对象。Data Adapter包含对连接对象以及当对数据库进行读取或者写入的时候
25、自动的打开或者关闭连接的引用。另外,Data Adapter包含对数据的SELECT, INSERT, UPDATE和DELETE操作的Command对象引用。你将为DataSet中的每一个Table都定义Data Adapter,它将为你照顾所有与数据库的连接。所有你将做的工作是告诉Data Adapter什么时候装载或者写入到数据库。总结:ADO.NET是与数据源交互的.NET技术。有许多的Data Providers,它将允许与不同的数据源交流取决于它们所使用的协议或者数据库。然而无论使用什么样的Data Provider,你将使用相似的对象与数据源进行交互。SqlConnection对
26、象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。2.4 Transact-SQL技术T-SQL是Microsoft公司在关系型数据库管理系统SQL Server中的SQL-3标准的实现,是微软对SQL的扩展,具有SQL的主要特点,同时增加了变量,运算符,函数,流程控制和注释等语言元素,使得其功能更加强大。T-SQL对SQL Server十分重要,SQL Server中使用图形界面能够完成的所有功
27、能,都可以利用T-SQL来实现。使用T-SQL操作时,与SQL Server通信的所有应用程序都通过向服务器发送T-SQL语句来进行,而与应用程序的界面无关。根据其完成的具体功能,可以将T-SQL语句分为四大类,分别为数据定义语句,数据操作语句,数据控制语句和一些附加的语言元素。数据操作语句SELECT, INSERT, DELETE, UPDATE数据定义语句CREATE TABLE, DROP TABLE, ALTER TABLECREATE VIEW, DROP VIEWCREATE INDEX, DROP INDEXCREATE PROCEDURE, ALTER PROCEDURE,
28、DROP PROCEDURECREATE TRIGGER, ALTER TRIGGER, DROP TRIGGER数据控制语句CRANT, DENY, REVOKE附加的语言元素BEGIN TRANSACTION/COMMIT, ROLLBACK, SET TRANSACTIONDECLARE OPEN, FETCH, CLOSE, EXECUTE2.5 JavaScript脚本语言Javascript是一种由的发展而来的原型化继承的的动态类型的区分大小写的客户端,主要目的是为了解决服务器端语言,比如,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于相当缓慢,只有
29、28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器加入了Javascript,提供了的基本功能。JavaScript是一种基于对象和并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部
30、分:ECMAScript,文档对象模型,字节顺序记号。Netscape公司在最初将其脚本语言命名为LiveScript来在与合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”2,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme3.JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会
31、)创建了ECMA-262标准(ECMAScript)。现在两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性,目前JavaScript的最新版本为1.9版。2.6 ASP.NET技术ASP.NET是用于形成于Web的应用程序的内容丰富的编程框架。它是一种创建动态Web应用程序的全新手段,它给开发人员提供了比以往更大的灵活性和更多的功能。通过把通用代码置于控件中,并将表示逻辑和商务逻辑分离开来的崭新方法,ASP.NET使应用程序的开发和维护更加容易。它是Microsoft.
32、NET Framework的组成部分,允许使用Framework支持的任何语言创建代码。像JSP、PHP和ASP一样,ASP.NET也是一种服务器端技术,它可以制作动态WEB页的内容。Visual Studio.NET不是ASP.NET必要的组成部分,许多开发人员没有它照样可以开发网站。不过,一旦安装了.NET Framework SDK,用户就可以在任何环境下开发ASP.NET应用程序。ASP.NET是一种用于创建内容丰富的动态网站、WEB应用程序和XML WEB服务的新编程模型。ASP.NET使用编译的、事件驱动编程模型从而提高运行速度和分离应用程序逻辑和用户界面。用ASP.NET可以很容
33、易的开发基于三层架构的B/S应用程序。与以往的编程模型相比,这种新编程模型提供了基于组件的架构和开发范例。第3章 需求分析3.1 需求概述 在需求分析阶段,我们采用UML 建模,目的是捕捉系统的所有功能需求并加以描述,同时建立模型,分析并提取所开发系统的各种可以模块化的功能以及描述它们的合作概貌。BBS 系统的基本需求如下:(1)它是一个计算机网络软件系统,可通过WEB浏览器进行访问;(2)系统支持三种用户(游客、注册的用户、管理员),每种用户可使用的功能都是不同的;(3)游客只可以查看帖子;(4)游客可以通过注册的方法变为注册用户,注册信息包括用户名、密码及其它附属信息。其中用户名是唯一的,
34、不可与其它注册用户的用户名重复;(5)游客在登录(输入用户名与密码)之后,其身份变为注册用户;(6)注册用户可以查看所有旧帖子,并发新帖子;(7)注册用户可以回复他人或自己发表的帖子;(8)注册用户可以管理自己的附属信息并修改它们;(9)管理员是管理BBS 的用户,且是一种特殊的注册用户;(10)管理员可以管理注册用户,如查看、修改、删除注册用户信息;(11)管理员可以管理BBS 的帖子,如删除不合法的帖子等。3.2 系统用例图 在本系统中,通过分析,可以确认BBS 中有三种角色:管理员,注册用户,游客。在此基础上,为每个角色定义他们所能执行的系统功能(用例,即每个角色的功能需求)。游客用例图
35、如图3.1所示。图3.1 游客用例图游客角色指未执行登录过程的系统进入者。游客可以查看帖子,而不能发新帖子与回复帖子。游客在登录(输入用户名与密码)后转为注册用户。游客在注册后自动执行登录过程,即自动转为注册用户。注册用户用例图如图3.2所示。图3.2 注册用户用例图注册用户指已经登录过的用户,他们不仅可以查看帖子,还可以发新帖子、回复帖子及管理个人信息。注册用户在执行用户退出过程后变为游客。管理员用例图如图3.3所示。图3.3管理员用例图管理员可视为一种特殊的注册用户,它不仅拥有注册用户的全部功能(上图中略去这部分功能),还拥有两个其它的功能:1,帖子管理,2,用户管理(用户指注册用户、管理
36、员)。3.3 系统关键领域类图 分析阶段的另一项工作是特定领域分析,以列出系统中的特定领域类。本系统中,通过系统用例分析可以发现,本系统有以下关键的领域类:用户、帖子。为了方便管理帖子,可以将帖子分为发布的帖子与回复的帖子。不同用户对于帖子的权限不同。用户类可以分为:已注册的用户信息、当前注册的用户。各大领域类的关键信息如下: 图3.4 用户信息表图 图3.5 用户信息表图发布帖子领域类中的发帖人编号即用户信息领域类中的用户编号。回复的帖子领域类中的回帖人编号即用户信息领域类中的用户编号。回复的帖子领域类中的 帖子编号即发布帖子领域类中的帖子编号。第4章 系统概述4.1 系统介绍“BBS论坛管
37、理系统”是通用性很强的论坛系统,集成了浏览帖子,发表帖子,回复帖子,删除帖子,版块管理,用户注册,用户头像管理等多种实用的功能。本系统是运用微软可视化编程工具之一Microsoft Visual Studio 2005 开发的,界面美观大方,系统运行稳定。本系统以SQL Server 2005为数据库。4.2 主要功能按照编程流程,把BBS论坛的模块按照实现功能来划分,包括:(1)论坛注册模块:用户的基本信息的填写。(2)论坛登录模块:论坛使用者的一定限制。(3)论坛版块选择模块:论坛多元化,便于对帖子的管理。(4)帖子标题显示模块:显示某一论坛版块的帖子。(5)帖子回复模块:对帖子进行回复。
38、(6)帖子发表模块:发表新的帖子。(7)论坛管理模块:用户管理,版主管理,论坛版块管理,论坛帖子管理,头像管理。(8)论坛主页模块:对论坛的全局显示。(9)数据库设计模块:论坛所需要的数据。4.3 主要模块介绍4.3.1 主页面主页面是论坛的门户,子页面的调用要通过主页面实现。另外,主页面还要显示论坛最新信息、网站信息、广告等信息。本系统是个综合论坛,所以在主页面中要对各类信息按类型进行分类。除此之外,论坛最新信息要实时响应。其运行结果如图4.1所示。图4.1 主页面运行结果4.3.2 论坛注册模块一个论坛需要对其中的用户进行管理,因此,一般只有授权用户才能够享有BBS论坛的一些基本功能,而对
39、于一个初次登录论坛的用户,只有通过注册才能够得到基本授权。原先的论坛在发帖时,需要填写自己的笔名。这样对于总是重复发帖的人,总是要填写笔名,比较麻烦。因此,论坛扩展了用户注册登录功能,参与论坛的人注册了自己的笔名和个人信息,拥有了论坛中的身份,发言时就不需要重复写个人信息了。用户在注册过程中,一般需要确认论坛的基本准则和行为规范,再填写基本的用户信息,其中最重要的自然是用户名和密码,这是一个用户在该论坛的身份象征。论坛注册模块运行结果如图4.2所示。图4.2 论坛注册模块运行结果4.3.3 论坛登录模块想要在论坛中进行相应的操作,不但需要用户有在这个论坛上相应的权限,还需要能让论坛知道这一点,
40、这是就是登录模块。用户注册时提供的用户名和密码,就像通行证一样,获得了论坛的认可后,才能开始在论坛之中进行操作。论坛登录界面运行结果如图4.3所示。图4.3 论坛登录界面运行结果4.3.4 论坛版块选择模块在论坛中,用户所发表的主题类型不同,如果只在一个区域内显示,对用户的查阅,和管理员的维护带来很多的不便。为此,我们把论坛分为不同的版块,以显示不同类型的帖子。这样,用户在发表和查阅帖子时,可根据帖子类型到相应的论坛版块内进行集中性的发表和查阅。管理员在维护论坛时也可以节省很多不必要的时间开销。论坛版块运行结果如图4.4所示(音乐空间版块)。图4.4 论坛区模块运行结果4.3.5 帖子发表模块
41、这个模块的主要功能就是提供给用户一个发表自己的帖子的功能。用户在登录之后,通过填写相应的内容,如帖子标题、帖子内容等,就能在论坛中的标题列表中找到自己的帖子。帖子发布模块运行结果如图所示4.5所示。图4.5 帖子发表运行结果第5章 系统分析5.1 BBS论坛管理系统的技术可行性分析BBS论坛管理系统就是提供给注册用户一个平台,会员用户可以通过Internet接入,登录本系统,在这个平台上发表帖子、阅读帖子、回复帖子等等。此类系统通常有以下四种类型的操作用户:游客用户、普通用户、版主、管理员。每类用户有其不同的操作集,系统通常提供一个统一的登录页面,此页面应能自动识别不同级别的用户,并提供不同的
42、操作界面。与之相应,此类系统通常应具有以下功能:用户注册、用户登录、发表帖子、阅读帖子、回复帖子、个人资料维护、版块管理、版主管理、用户管理等等,所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给Web服务器,再由Web服务器处理成HTML文件后发送到客户端浏览器。这就是所谓的B/S结构应用系统,B/S结构即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分
43、配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓N-Tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。将应用程序分成好几个离散逻辑组件,就是多层式结构 (N-Tier) 应用程序。最常见
44、的选择是分成三个部分:表示层、事务逻辑层和数据层(3-Tier),不过也有其它的组合。多层式结构应用程序,在一开始是解决某些与传统客户端/服务器 (主从式) 应用程序相关的问题,但是随着 Web 的出现,此结构已经成为主导新程序之开发的结构。下面就是3-Tier结构各层功能以及经常采用的技术作个简介:表示层主要运行于客户端浏览器,采用Script (脚本)语言编写。HTML、JavaScript、VBScript是此类应用系统中展示层最常用的脚本编制语言,结合CCS以及ActiveX技术,能设计出交互相当灵活功能又相当强大的客户端网页。事务逻辑层设计通常有三个选择:ASP.NET网页、COM或
45、COM+组件、DBMS中所执行的预存程序。将程序代码的一部分,建立成执行于数据库管理系统 (DBMS) 中的预存程序,使数据与程序代码储存在相同的位置,有助于最佳化执行效率,但是,预存程序都依赖于特定的数据库系统,在编写和侦错方面都相当复杂,只适宜于大型的商业应用系统。以 COM 对象的方式,编写中间层(Middle Tier)事务逻辑,可以使用全功能的语言,来产生经过编译的执行程序,执行效率也相当高,此外,在 COM 对象中包装事务逻辑,还可以清楚地将此程序代码与网页内含的展示程序代码分隔,这样可以使应用程序更易于维护,但是,COM对象的部署也有一定的麻烦,新编写的组件对象,只有在服务器重新
46、启动后才能被应用程序调用。用ASP.NET 网页设计事务逻辑相对来说比较简单,但是,ASP.NET网页采用脚本语言来编写事务逻辑,比如VBScript,程序代码只有在执行时才被翻译,这样会降低执行效能,此外,ASP.NET 网页中的程序代码也是难以维护的,因为事务逻辑程序代码与建立使用者接口的展示程序代码彼此混杂在一起。数据层较为灵活,视系统规模可选择Sybase、Oracle、My SQL、SQL server或者MS Access。综上所述,结合本系统实际需要,本系统采用B/S结构,使用微软公司的技术解决方案。开发环境采用微软的Visual Studio 2005。采用3-Tier软件结构
47、:表示层采用HTML、JavaScript或VBScript结合CSS、ActiveX技术来编写;事务逻辑层,考虑到本系统为通用BBS系统,系统应该具备较大的可伸缩性,应该能适应最基本应用最广泛的WEB平台,特别是个人用户想在一些免费主页空间搭建自已的论坛,而这类免费主页空间通常只支持ASP.NET来处理服务器端数据或数据库,另外,通用系统应该具备较大的可扩展性。因此,本系统事务逻辑层设计采用ASP.NET网页;至于数据层,本系统采用最基本的SQL Server 2005数据库系统。本系统的开发环境和开发工具为:Windows XP,Visual Studio 2005,SQL Server 2005。5.2 系统结构根据论坛系统的情况和要求,设计系统结构如图5.1所示。图5.1 系统结构图5.3 系统开发环境系统开发平台:Microsoft Visual Studio 2005数据库管理系统软件:SQL Server 2005运行平台:Windows XP第6章 系统设计设计阶段的任务是通过综合考虑各个功能间关联,以扩展和细化分析阶段的模型。设计的目的是指明一种易转化成代码的工作方案,是对分析工作的细化,即进一步细化分析阶段所得出的系统用例与关键领域类。本阶段建模的目的是将分析阶段的
限制150内