ASP在线论坛的设计与实现论文范文1.docx

上传人:b****4 文档编号:24192682 上传时间:2023-05-25 格式:DOCX 页数:85 大小:228.90KB
下载 相关 举报
ASP在线论坛的设计与实现论文范文1.docx_第1页
第1页 / 共85页
ASP在线论坛的设计与实现论文范文1.docx_第2页
第2页 / 共85页
ASP在线论坛的设计与实现论文范文1.docx_第3页
第3页 / 共85页
ASP在线论坛的设计与实现论文范文1.docx_第4页
第4页 / 共85页
ASP在线论坛的设计与实现论文范文1.docx_第5页
第5页 / 共85页
点击查看更多>>
下载资源
资源描述

ASP在线论坛的设计与实现论文范文1.docx

《ASP在线论坛的设计与实现论文范文1.docx》由会员分享,可在线阅读,更多相关《ASP在线论坛的设计与实现论文范文1.docx(85页珍藏版)》请在冰豆网上搜索。

ASP在线论坛的设计与实现论文范文1.docx

ASP在线论坛的设计与实现论文范文1

摘要

论坛也称为BBS,BBS是BulletinBoardSystem的缩写,意思是电子公告版,一种在Internet上常见的用于信息服务的Web系统,它的主要服务是用来帮助浏览者相互沟通、吸引用户、服务用户的。

他起源于20世纪80年代初,最初只是用于发布公告信息和讨论问题的在线交流平台,后来随技术的发展与网络的普及功能越来越强大。

由于得到了广大网友的欢迎,越来越多的商业网站开始重视论坛,把论坛作为与用户交流的平台和在线技术支持与服务的平台。

本文主要采取ASP为开发技术,并使用了一些VBScript语言来实现论坛基本功能。

为了简化架设的实现,采取Microsoft公司的Access作为数据库平台,这样在单机上架设一个简单的论坛几乎不需要安装任何程序。

本文设计的流程是从系统的需求分析开始,确定系统的流程与设计,到模块的划分,再到数据加结构的设计,最后开始每个模块的编程与开发。

关键字:

BBS,论坛,贴子

Abstract

TheForumisalsoknownasBBS,BBSisanacronymforBulletinBoardSystem,whichmeanstheelectronicversionofthebulletin,ontheInternetinacommonWebservicesforinformationsystems,itsmainserviceistohelpvisitorscommunicatewitheachothertoattractUsersoftheserviceusers.Heoriginatedintheearly1980's,initiallyannouncedfortheinformationanddiscussissueson-lineexchangeplatform,alongwiththetechnologyandthepopularizationofnetworksmoreandmorepowerfulfeatures.Asaresulthasbeenwelcomedbythemajorityofusers,anincreasingnumberofcommercialsitespayingattentiontotheForum,theForumasaplatformforexchangeswithusersandonlinetechnicalsupportandservicesplatform.

ThisarticletakenforthedevelopmentofASPtechnology,andusedsomeoftheVBScriptlanguagetoachievethebasicfunctionsoftheForum.InordertosimplifytherealizationofthesettotakeMicrosoft'sAccessdatabaseasaplatformforsuchastand-aloneintheforumtosetupasimplealmostdonotneedtoinstallanyprogram.Inthispaper,thedesignprocessfromthebeginningofsystemsanalysistodeterminetheprocessesandsystemsdesign,dividedintomodules,toincreasethedatastructuredesign,thebeginningoftheendofeachmoduleofprogramminganddevelopment.

Keyword:

BBS,aforumpost

 

第一章系统功能设计

1.1引言

随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。

很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不光是一种交流平台,甚至是成为了实现自我价值的一个舞台。

正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。

在论坛里大家最熟悉的就是用户浏览论坛中已有的内容,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。

同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。

而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。

论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。

所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。

1.2需求分析

要设计一个一个论坛,首先要分析论坛里需要那些内容,以及各种内容之间的关系。

首先列出论坛常用的名词:

用户、版面、公共信息、帖子、主题、积分、称号、版主、注册信息、管理员、系统参数。

对于以上名词可以精简。

主题是帖子的一个特例、积分和称号是用户的一个属性、版主是增加了权限的用户,注册信息是用户的具体属性。

所以具体的对象有:

用户、版面、公共信息、帖子、管理员、系统参数。

具体的操作包括:

管理员对用户、帖子、版块的管理;客人和用户的对版块、帖子的浏览;客人的注册;用户的发帖、回帖、搜索等操作。

把具体的对象和具体的操作相联系,我们可以归结出论坛基本操作的流程图,如图1-1。

图1-1论坛基本功能流程图

图1-1中个将具体的对象和操作直观的表达了出来,为了更具体的细化对象和操作的关联,用来划分开发的模块,我们将对象与对象之间的关联可以建立出一张表,对象如表1-1。

表1-1各对象间的关联表

用 户

版 面

公共信息

帖 子

管理人员

系统参数

用  户

注 册

修 改

浏 览

联 系

浏 览

浏 览

发 布

浏 览

发 布

修 改

删 除

特殊操作

×

版  面

×

×

×

×

公共信息

×

×

×

×

帖  子

×

×

×

×

管理人员

删 除

授 权

添 加

删 除

修 改

添 加

删 除

修 改

添 加

删 除

修 改

×

设 置

系统参数

×

×

×

×

×

表1-1中的对象是单向关联,是指左侧对象对上方对象的活动。

×表示没有关联,√表示存在单向关联。

通过以上设计,论坛需要些什么以及所需要的对象之间存在着怎么的关系就有了基本的概念。

1.3功能设计

表1-1中用户关联的对象是自身、版面、公共信息、帖子。

分别根据用户与这些对象的联系给出一个明确的菜单,如表1-2。

表1-2用户功能列表

功能名称

说明

用户注册

用户在论坛填写必要信息后就可以注册为注册用户,并能在登陆后对注册信息进行更改

用户登陆

 注册后的用户可利用用户名和密码在论坛登陆

浏览其他用户信息

 用户注册后可以查看其他用户的公开信息

与其他用户联系

 可以在论坛内给其他用户私下留言,或直接发送邮件等

浏览版面

 用户可以看到以列表形式展现的版面信息和版面说明

浏览发布公共信息

 未登陆的用户可以浏览公共信息,登陆后可以发布允许范围内的公共信息

浏览帖子

 用户可以以列表形式浏览帖子主题及其全部内容

发布修改删除帖子

 用户在登陆后可以发布帖子、修改自己的帖子,被给予版主权限后还可以编辑、修改、删除权限范围内的其他用户帖子

对帖子特殊操作

 主要针对版主权限用户,对帖子进行置顶、加精华等特殊操作,是帖子主题不同于其他主题

版面、公共信息、帖子都没有和其他对象的关联,都属于被动的对象,是被其他对象所操作的,因此针对它们的功能主要是有其他对象产生。

版面和帖子是有一定关系的,可以看作是对帖子内容的归类,类似文件夹与文件的关系,有时候可以认为版面是帖子的一个属性。

对于管理员的功能,应该认为管理员是论坛的特殊群体,工作是设置论坛参数规则和维护论坛的正常运转。

管理员可以和所有对象产生关联,所以其功能设定也很丰富,如表1-3。

表1-3管理员功能列表

功能名称

说明

用户删除

 对于一些蓄意破坏的用户,删除其身份,不允许其存在

用户权限

 对于一个具有管理能力的用户给予一些特殊的权限,让他们在权限范围内帮助管理和维护论坛

版面管理

 版面是论坛的枝干,要设定论坛需要的合适版面,让论坛的功能更明细,分类更规范,方便大家的浏览

公共信息管理

 公共信息是向用户展现论坛状态的部分,由于信息的普遍性,其删除和修改权限需要由管理人员来完成

帖子管理

 帖子是论坛的叶子,是基本数据库,反映了论坛使用者和管理者的水平,所以需要管理人员的全权管理来规范其内容

设置系统参数

 系统参数包含的内容很多,直接关系到论坛的正常运行,包括网址在内的各种参数全部要由管理人员统一设置和变更

对于管理员和用户功能关系可以细化成以下几个相关用例图。

论坛设置参数,可以把设置一组参数作为一个方法,也可以把设置一个参数作为一个方法,如图1-2。

图1-2论坛对象的相关用例图

各个版块有浏览列表和管理两个操作,管理方法又包括了创建、修改和删除这3个子方法,如图1-3。

图1-3版块对象的相关用例图

帖子有浏览、发帖、回帖、搜索和管理5种方法,浏览方法又可以分列表和查看2个子方法,管理方法又可分编辑、删除、置顶、转移、加精华5个子方法,如图1-4。

图1-4帖子对象的相关用例图

用户类有注册、登陆和管理3个方法,管理方法又分为添加、删除、设置权限3个子方法,如图1-5。

图1-5用户对象的相关用例图

这样,表1-2和1-3就分别有了各自的归属对象。

论坛一般存在两种用户:

注册用户和管理员。

用户的权限是向下覆盖的,即上级权限包含下级权限。

这样论坛的基本功能就可以从各种需求中筛选出来了,即发帖、浏览帖子、回帖。

基本功能就是构成论坛系统的必要功能,具备这些功能的Web系统即是论坛。

1.4扩展功能设计

具备了发帖、浏览帖子、回帖的Web系统就构成论坛了,但是这样的论坛很简单,没有吸引力,用户使用起来也不会很舒服,无论是作为商业还是个人论坛都是没有竞争力的。

所以需要为其添加一些更人性化的功能使内容更丰富。

用表格形式列出可能的扩展功能,如表1-4。

 

表1-4扩展功能列表

功能名称

说明

用户控制自己的信息

用户可控制自己的信息是否公开

用户登陆添加验证码

 登陆时需输入验证码,如登陆信息错误则重新生成验证码。

这样可以防止一些软件偷取用户名和密码

站内短信

 让两个用户能在论坛内更方便的交流

帖子评价

 给予用户对一个帖子评价好坏的功能

帖子发布添加多媒体

 如可在帖子内使用表情图片、插入flash、音乐等功能

帖子类别多样化

 让用户可以发起投票、买卖等功能的帖子

帖子收藏

 在论坛中加入搜索但效率却不一定很高,对于好的帖子为了方便用户以后更方便找到这个帖子,可以让用户收藏帖子

用户等级

 建立一个荣誉体系,对于对论坛贡献大的用户给予一定的荣誉称号或者高的论坛等级

论坛情况显示

 让用户直接看到一些论坛统计数据,如主题总数、在线人员等

数据备份

 论坛最重要的就是数据库,但数据库系统的安全并不是100%的,所以为了论坛能持续发展,需要定期对论坛数据库进行备份

非法言论过滤

 对于一些非法言论或不良词汇可以在论坛进行过滤设置,一旦有人使用也会被过滤掉而不至于造成不良影响

非法IP限制

 对于一个蓄意捣蛋的用户,限制他的IP不能访问论坛,但这个有很大的局限性,一般情况下用处不会很大

添加了以上功能,论坛就显得更具有亲和力了,而且也更具有实用性。

 

第二章 系统架构与数据库设计

2.1功能模块的划分

模块的划分主要是按每一个对象的操作来归类。

论坛操作的对象在第一章里归纳为用户、版面、公共信息、帖子、管理员、系统参数这6个对象,所以就要针对这6个对象划分功能模块。

(1)用户:

有两个模块,一个是用户注册、登陆、修改信息等功能组合,是用户对自身的操作;另一个是管理人员对用户进行删除、授权的操作;如表2-1。

表2-1用户功能模块列表

模块

模块包含的功能

用户模块

 用户注册

 用户登陆

 浏览其他用户信息

 与其他用户联系

 用户控制自己的信息

 用户登陆添加验证码

 用户等级

管理人员模块

 用户删除

 用户授权

(2)版面:

有两个模块,一个是浏览模块,一个是管理模块。

如表2-2。

表2-2版块功能模块列表

模块

模块包含的功能

版面浏览模块

 浏览版面

版面管理模块

 版面管理

(3)公共信息:

将用户发布和浏览公共信息的功能划分为一个模块,对象是用户对公共信息的操作;管理员对公共信息的操作划分为另一个模块。

如表2-3。

表2-3公共信息功能模块列表

模块

模块包含的功能

公共信息显示模块

 浏览、发布公共信息

公共信息管理模块

 公共信息管理

(4)帖子:

帖子是论坛的基本,其功能是最多最复杂的,但仍然可以分为两个模块,根据操作对象来区分。

如表2-4。

表2-4帖子功能模块列表

模块

模块包含的功能

帖子模块

 浏览帖子

 发布、修改、删除帖子

 对帖子特殊操作

 帖子评价

 帖子发布增加多媒体

 帖子类别多样化

 帖子移动(单个)

 帖子收藏

 帖子搜索

帖子管理模块

 帖子管理

 帖子移动(批量)

(5)管理员:

管理员主要是对其他对象进行操作,是对其他模块的操作人员,同时系统参数设置模块的功能也可以划分进来。

如表2-5。

表2-5管理员管理功能模块列表

模块

模块包含的功能

管理员管理模块

 设置系统参数

 数据备份

 非法言论过滤

 非法IP限制

通过以上分析,论坛的模块划分也就完成了。

但如果要把整个论坛系统完整的架构出来,还要分析模块与模块之间的关系,把零散的功能模块用一条主线串联起来。

对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户的权限决定的,论坛的每个功能都与相应的权限对应。

同一类用户使用的功能模块。

是以使用者为中心连接起来的。

另外,操作同一类事物的功能模块,也是相互关系的。

浏览模块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程决定的;管理版块模块与浏览模块关联,是有帖子与版块的父子关系决定的,帖子依附与版块,先有版块后有帖子,帖子必须发表在某个版块中;管理用户模块与注册登陆模块关联,是由同一类对象用户决定的,注册后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登陆证明自己在论坛中的身份。

分析了这些关系,我们可以得到论坛系统的整体架构,如图2-1。

图2-1论坛整体架构图

对于用户使用的模块成为前台模块,管理员使用的模块称为后台模块。

其划分如图2-2。

图2-2 功能模块划分

2.2数据库设计

论坛系统信息的储存一般是在文件或者数据库中,相比之下数据库要简单高效,能对论坛进行更好的控制,也能对资料提供一些严正和保护。

所以目前流行的论坛都是使用的数据库系统。

使用数据库的首先就是要设计数据库的表结构,一个设计良好的数据库结构可以提高效率、方便维护,而且对于可能的扩充也会留有余地。

2.2.1需要建立的数据表

为了更方便操作和维护,建立的数据表名都使用相关含义的因为单词,为了区别于数据库中可能出现的其他非表内容,在给每个表名加上一个标识。

根据对论坛功能的分析,可以建立16个数据表,如表2-6。

表2-6论坛数据表

序号

表名

说明

1

 Admin_T

 管理员信息表

2

 Bbs1_1

 帖子信息表

3

 BbsNews_1

 公共信息表

4

 Board_T

 版面信息表

5

 BookMark_T

 收藏夹信息表

6

 Friend_T

 用户好友列表

7

 Help_T

 帮助信息表

8

 Log_T

 论坛日志表

9

 Message_T

 短消息信息表

10

 Online_T

 在线用户表

11

 Setup_T

 系统信息表

12

 Topic_T

 论坛主题信息表

13

 Upfile_T

 文件上传表

14

 User_T

 用户信息表

15

 Vote_T

 投票信息表

16

 VoteUser_T

 投票用户表

有些表是可以独立的,但大多数表都是存在关联的。

其关联一般都是通过主线用户相关联,或者是用户ID,或者是用户的其他信息。

所以也可以看到主线用户的列表是相关数据项目最多的。

2.2.3数据库表结构的详细设计

首先是用户信息表,用户信息是相关信息最多的表。

如表2-7。

表2-7用户信息表(User_T)

序号

字段名

字段类型

说明

备注

1

UserID

COUNTER

用户编号

Key

2

UserName

VARCHAR(50)

用户名

Notnull

3

UserPassword

VARCHAR(20)

密码

Notnull

4

UserEmail

VARCHAR(255)

电子邮件

Notnull

5

UserPost

INTEGER

发帖数

6

UserTopic

INTEGER

发布主题数

7

UserSign

VARCHAR(255)

用户签名

8

UserSex

BYTE

性别

9

UserFace

VARCHAR(255)

头像

10

UserWidth

INTEGER

头像宽

11

UserHeight

INTEGER

头像高

12

JoinDate

DATETIME

注册时间

Notnull

13

LastLogin

DATETIME

最后登陆时间

14

UserLogins

INTEGER

登陆次数

Notnull

15

UserViews

INTEGER

信息被浏览次数

16

UserClass

VARCHAR(20)

用户级别

17

UserWealth

INTEGER

现金货币

18

UserEP

INTEGER

经验值

19

UserCP

INTEGER

魅力值

20

UserPower

INTEGER

威望值

21

UserDel

INTEGER

被删主题数

22

UserIsBest

INTEGER

精华帖子

23

UserTitle

VARCHAR(50)

头衔

24

UserBirthday

VARCHAR(50)

生日

续表2-7

序号

字段名

字段类型

说明

备注

25

UserQuestion

VARCHAR(50)

密码问题

Notnull

26

UserAnswer

VARCHAR(50)

密码答案

Notnull

27

UserLastIP

VARCHAR(30)

最后登陆IP

28

UserPhoto

VARCHAR(255)

用户照片

29

UserFav

VARCHAR(255)

用户好友分组

30

UserInfo

LONGCHAR

用户其他信息

31

UserSetting

VARCHAR(255)

用户设置

32

TitlePic

VARCHAR(50)

标题图片

33

UserHidden

BYTE

是否隐身

Notnull

34

UserMsg

VARCHAR(30)

用户消息

35

UserTaday

VARCHAR(250)

今日信息

在用户信息表里保存的是所有在论坛注册的用户的信息,用户编号是用户在论坛中的唯一标识。

其实用户名也是不可重复的,但是使用编号作为主键可以让查找起来更加方便,提高效率,而且编号也是与其他表关联的主要字段。

密码和密码答案是在用户忘记密码时验证身份的保证,所以设置为不能为空。

用户名和密码是登陆的唯一识别,邮件是为了方便联系和某些可能的服务需要,所以也设置为非空。

表2-8是论坛中的版面信息表。

表2-8版面信息表(Board_T)

序号

字段名

字段类型

说明

备注

1

BoardID

INTEGER

版面编号

Key

2

BoardType

VARCHAR(50)

版面名称

3

ParentID

INTEGER

上级版面编号

Default0

4

ParentStr

VARCHAR(250)

上级版面名称

5

Depth

SMALLINT

版面层数

6

RootID

INTEGER

主版面编号

7

Child

INTEGER

子版面编号

8

Orders

INTEGER

显示顺序

续表2-8

序号

字段名

字段类型

说明

备注

9

Readme

VARCHAR(255)

介绍

10

BoardMaster

VARCHAR(100)

版主

11

PostNum

INTEGER

发帖数量

12

TopicNum

INTEGER

主题数量

13

IndexIMG

VARCHAR(255)

论坛图象

14

TadayNum

INTEGER

今日发帖数

15

BoardUser

VARCHAR(255)

状态

16

LastPost

LONGCHAR

最后一帖

17

Sid

INTEGER

签名标识

18

Board_Setting

LONGCHAR

版面设置

19

Board_User

VARCHAR(250)

版面用户

20

BoardTopStr

VARCHAR(255)

置顶主题信息

版面信息表中依然是使用了版面编号做主键,一般都会用编号作为主键,这样效率要更高些。

上级版面编号是为了方便分层次找到各级版面。

发帖数量、主题数量是指本版面的所有发帖数量和主题数量,而上级版面的数量是包括下级版面的所有

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1