动态网站论文Word格式文档下载.docx
《动态网站论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《动态网站论文Word格式文档下载.docx(56页珍藏版)》请在冰豆网上搜索。
正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。
在论坛里大家最熟悉的就是用户浏览论坛中已有的内容,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。
同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。
而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。
论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。
所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。
(二)需求分析
要设计一个一个论坛,首先要分析论坛里需要那些内容,以及各种内容之间的关系。
首先列出论坛常用的名词:
用户、版面、公共信息、帖子、主题、积分、称号、版主、注册信息、管理员、系统参数。
对于以上名词可以精简。
主题是帖子的一个特例、积分和称号是用户的一个属性、版主是增加了权限的用户,注册信息是用户的具体属性。
所以具体的对象有:
用户、版面、公共信息、帖子、管理员、系统参数。
具体的操作包括:
管理员对用户、帖子、版块的管理;
客人和用户的对版块、帖子的浏览;
客人的注册;
用户的发帖、回帖、搜索等操作。
把具体的对象和具体的操作相联系,我们可以归结出论坛基本操作的流程图,如图1-1。
图1-1论坛基本功能流程图
图1-1中个将具体的对象和操作直观的表达了出来,为了更具体的细化对象和操作的关联,用来划分开发的模块,我们将对象与对象之间的关联可以建立出一张表,对象如表1-1。
表1-1各对象间的关联表
用 户
版 面
公共信息
帖 子
管理人员
系统参数
用 户
注 册
修 改
浏 览
联 系
发 布
删 除
特殊操作
√
×
版 面
帖 子
授 权
添 加
设 置
表1-1中的对象是单向关联,是指左侧对象对上方对象的活动。
表示没有关联,√表示存在单向关联。
通过以上设计,论坛需要些什么以及所需要的对象之间存在着怎么的关系就有了基本的概念。
(三)功能设计
表1-1中用户关联的对象是自身、版面、公共信息、帖子。
分别根据用户与这些对象的联系给出一个明确的菜单,如表1-2。
表1-2用户功能列表
功能名称
说明
用户注册
用户在论坛填写必要信息后就可以注册为注册用户,并能在登陆后对注册信息进行更改
用户登陆
注册后的用户可利用用户名和密码在论坛登陆
浏览其他用户信息
用户注册后可以查看其他用户的公开信息
与其他用户联系
可以在论坛内给其他用户私下留言,或直接发送邮件等
浏览版面
用户可以看到以列表形式展现的版面信息和版面说明
浏览帖子
用户可以以列表形式浏览帖子主题及其全部内容
发布修改删除帖子
用户在登陆后可以发布帖子、修改自己的帖子,被给予版主权限后还可以编辑、修改、删除权限范围内的其他用户帖子
对帖子特殊操作
主要针对版主权限用户,对帖子进行置顶、加精华等特殊操作,是帖子主题不同于其他主题
版面、帖子都没有和其他对象的关联,都属于被动的对象,是被其他对象所操作的,因此针对它们的功能主要是有其他对象产生。
版面和帖子是有一定关系的,可以看作是对帖子内容的归类,类似文件夹与文件的关系,有时候可以认为版面是帖子的一个属性。
对于管理员的功能,应该认为管理员是论坛的特殊群体,工作是设置论坛参数规则和维护论坛的正常运转。
管理员可以和所有对象产生关联,所以其功能设定也很丰富,如表1-3。
表1-3管理员功能列表
用户删除
对于一些蓄意破坏的用户,删除其身份,不允许其存在
用户权限
对于一个具有管理能力的用户给予一些特殊的权限,让他们在权限范围内帮助管理和维护论坛
版面管理
版面是论坛的枝干,要设定论坛需要的合适版面,让论坛的功能更明细,分类更规范,方便大家的浏览
帖子管理
帖子是论坛的叶子,是基本数据库,反映了论坛使用者和管理者的水平,所以需要管理人员的全权管理来规范其内容
设置系统参数
系统参数包含的内容很多,直接关系到论坛的正常运行,包括网址在内的各种参数全部要由管理人员统一设置和变更
对于管理员和用户功能关系可以细化成以下几个相关用例图。
论坛设置参数,可以把设置一组参数作为一个方法,也可以把设置一个参数作为一个方法,如图1-2。
图1-2论坛对象的相关用例图
各个版块有浏览列表和管理两个操作,管理方法又包括了创建、修改和删除这3个子方法,如图1-3。
图1-3版块对象的相关用例图
帖子有浏览、发帖、回帖、和管理4种方法,浏览方法又可以分列表和查看2个子方法,管理方法又可分编辑、删除、置顶、转移、加精华5个子方法,如图1-4。
图1-4帖子对象的相关用例图
用户类有注册、登陆和管理3个方法,管理方法又分为添加、删除、设置权限3个子方法,如图1-5。
图1-5用户对象的相关用例图
这样,表1-2和1-3就分别有了各自的归属对象。
论坛一般存在两种用户:
注册用户和管理员。
用户的权限是向下覆盖的,即上级权限包含下级权限。
这样论坛的基本功能就可以从各种需求中筛选出来了,即发帖、浏览帖子、回帖。
基本功能就是构成论坛系统的必要功能,具备这些功能的Web系统即是论坛。
(四)扩展功能设计
具备了发帖、浏览帖子、回帖的Web系统就构成论坛了,但是这样的论坛很简单,没有吸引力,用户使用起来也不会很舒服,无论是作为商业还是个人论坛都是没有竞争力的。
所以需要为其添加一些更人性化的功能使内容更丰富。
用表格形式列出可能的扩展功能,如表1-4。
表1-4扩展功能列表
会员列表
可以查看所有的用户列表
用户登陆添加验证码
登陆时需输入验证码,如登陆信息错误则重新生成验证码。
这样可以防止一些软件偷取用户名和密码
帖子评价
给予用户对一个帖子评价好坏的功能
帖子发布添加多媒体
如可在帖子内使用表情图片、插入flash、音乐等功能
帖子类别多样化
让用户可以发起投票、买卖等功能的帖子
论坛帮助
可以查看论坛头像,论坛等级设计和积分设置。
用户等级
建立一个荣誉体系,对于对论坛贡献大的用户给予一定的荣誉称号或者高的论坛等级
论坛情况显示
让用户直接看到一些论坛统计数据,如主题总数、总帖数等
二、系统架构与数据库设计
(一)功能模块的划分
模块的划分主要是按每一个对象的操作来归类。
论坛操作的对象在第一章里归纳为用户、版面、帖子、管理员这4个对象,所以就要针对这4个对象划分功能模块。
1.用户:
有两个模块,一个是用户注册、登陆、修改信息等功能组合,是用户对自身的操作;
另一个是管理人员对用户进行删除、授权的操作;
如表2-1。
表2-1用户功能模块列表
模块
模块包含的功能
普通用户模块
用户注册
在普通版块浏览和回复帖子
在只读版块浏览帖子
认证会员模块
浏览各个版块帖子
在普通版块发布帖子
回复所属权限帖子
查看各个注册用户资料
版主模块
在自己管理版块发布帖子
任意修改自己管理版块
管理人员模块
用户删除
用户授权
拥有最高权限
2.版面:
有两个模块,一个是浏览模块,一个是管理模块。
如表2-2。
表2-2版块功能模块列表
版面浏览模块
浏览版面
版面管理模块
版面管理
3.帖子:
帖子是论坛的基本,其功能是最多最复杂的,但仍然可以分为两个模块,根据操作对象来区分。
如表2-3。
表2-3帖子功能模块列表
帖子模块
浏览帖子
发布、修改、删除帖子
对帖子特殊操作
帖子评价
帖子发布增加多媒体
帖子类别多样化
帖子搜索
帖子管理模块
帖子管理
4.管理员:
管理员主要是对其他对象进行操作,是对其他模块的操作人员,同时系统参数设置模块的功能也可以划分进来。
如表2-4。
表2-4管理员管理功能模块列表
管理员管理模块
后台管理
会员管理
版块管理
版主管理
系统设置
通过以上分析,论坛的模块划分也就完成了。
但如果要把整个论坛系统完整的架构出来,还要分析模块与模块之间的关系,把零散的功能模块用一条主线串联起来。
对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户的权限决定的,论坛的每个功能都与相应的权限对应。
同一类用户使用的功能模块。
是以使用者为中心连接起来的。
另外,操作同一类事物的功能模块,也是相互关系的。
浏览模块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程决定的;
管理版块模块与浏览模块关联,是有帖子与版块的父子关系决定的,帖子依附与版块,先有版块后有帖子,帖子必须发表在某个版块中;
管理用户模块与注册登陆模块关联,是由同一类对象用户决定的,注册后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登陆证明自己在论坛中的身份。
分析了这些关系,我们可以得到论坛系统的整体架构,如图2-1。
图2-1论坛整体架构图
对于用户使用的模块成为前台模块,管理员使用的模块称为后台模块。
其划分如图2-2。
图2-2 功能模块划分
(二)数据库设计
论坛系统信息的储存一般是在文件或者数据库中,相比之下数据库要简单高效,能对论坛进行更好的控制,也能对资料提供一些严正和保护。
所以目前流行的论坛都是使用的数据库系统。
使用数据库的首先就是要设计数据库的表结构,一个设计良好的数据库结构可以提高效率、方便维护,而且对于可能的扩充也会留有余地。
1.需要建立的数据表
为了更方便操作和维护,建立的数据表名都使用相关含义的因为单词,为了区别于数据库中可能出现的其他非表内容,在给每个表名加上一个标识。
根据对论坛功能的分析,可以建立9个数据表,如表2-5。
表2-5论坛数据表
序号
表名
1
Admin
管理员信息表
2
BBS_ts
帖子统计表
3
BBS_user
用户人数统计表
4
BBS_zts
总贴数统计表
5
CP_pl
帖子信息表
6
Flb
论坛版块信息表
7
Huifu
帖子回复信息表
8
TS
论坛主题数
9
User
会员信息表
有些表是可以独立的,但大多数表都是存在关联的。
其关联一般都是通过主线用户相关联,或者是用户ID,或者是用户的其他信息。
所以也可以看到主线用户的列表是相关数据项目最多的。
2.数据库表结构的详细设计
首先是管理员信息表。
如表2-6。
表2-6用户信息表(admin)
序号
字段名
字段类型
说明
备注
Admin_id
自动编号
管理员编号
Key
Admin_name
备注
用户名
Notnull
Admin_pass
密码
Mingcheng
名称
Dengji
数字
等级
Bankuai
版块
表2-7是论坛中的帖子统计表。
表2-7帖子统计表(BBS_ts)
Id
版面编号
Ssid
帖子编号
D_te
日期/时间
发帖时间
Ts
发帖数目
表2-8是论坛中的用户人数统计表。
表2-8用户人数统计表(BBS_user)
id
用户编号
zs
用户总数
表2-9是最高日帖统计表。
表2-9最高日帖统计表(BBS_zts)
发帖日期
Zs
日最高发帖数
表2-10是帖子信息表。
表2-10帖子信息表(CP_pl)
帖子编号
ssid
数字
编号
biaoti
标题
name
文本
发帖用户名
home
备注
用户主页
D_date
dom
帖子内容
ip
Ip地址
gd
参与帖子
10
qq
QQ号码
11
mail
电子邮件
12
H_date
查看日期
13
zhou
文本
发帖用户
14
huifu
回复人数
15
xg_date
日期
16
jh
回复帖数
17
sd
统计
表2-11是论坛版块信息表。
表2-11论坛版块信息表(flb)
版块编号
Al
一级版块
Bl
二级版块
Cl
三级版块
Lname
版块名字
Px
Zx
版主个数
Logo
版块logo
say
版块说明
gk
版块类型
表2-12是回复表。
表2-12回复表(huifu)
回帖编号
回帖用户名
回帖时间
表2-13是论坛中的主题统计表。
表2-13主题统计表(TS)
主题编号
ts
主题总数
表2-14是用户信息表。
表2-14用户信息表(user)
用户名
pss
密码
tt
注册时间
dj
人气
I
jf
用户积分
ft
贴数
logo
头像
bankuai
版块
sex
性别
sr
生日
三、基本设计
(一)论坛首页设计
当用户打开论坛时,首先看到的是论坛首页,用户从首页可以看到和论坛相关的内容,发帖数、用户数量和主要版面的情况等。
首先这个页面应该尽量的美观,操作截面也要看起来简单易用而且具有实用性。
首页界面如下图3-1:
(二)数据库连接函数
数据库连接在论坛运行中是必不可少的,把这部分单独做成一个函数,在需要的时候只需要调用这个函数就可以了,而不用每次去写连接程序,这种复用可以让操作更加方便快捷。
选择的Access作为数据库,功能不强大,不能让很多人连接,但是可以省掉很多设置,对机器要求也相对要低得多,适合用普通电脑架设论坛。
ASP中与数据相关紧密的是ADO,利用ADO的Connection来建立同数据库的连接。
建立ADODB.Connection对象,使用此对象的Open方法打开数据库。
用Access在论坛路径下建立一个数据库存储路径“data”,然后建立一个名为changkai.mdb的数据库,建立之前数据库设计中的表。
见程序3-1。
程序3-1Access数据库连接
dimconn
dimconnstr
db="
changkai.mdb"
connstr="
DBQ="
+server.mappath(db)+"
;
DefaultDir=;
DRIVER={MicrosoftAccessDriver(*.mdb)};
"
setconn=server.createobject("
ADODB.CONNECTION"
)
iferr.number<
>
0then
err.clear
setconn=nothing
response.write"
数据库连接出错!
Response.End
else
conn.openconnstr
iferrthen
err.clear
setconn=nothing
response.write"
Response.End
endif
endif
Dim声明了变量ConnStr,这个变量是用来存储连接数据库信息的。
变量Db声明了数据库文件所在的路径。
四、模块的实现
(一)用户模块
1.用户的登陆
如下图4-1。
首先看用户的登陆。
在用户信息表里用户名、用户密码字段和验证码是用来验证用户身份的,用这三个字段来写验证用户登陆的程序。
登陆页面命名为login.asp,这个页面包含了输入用户名和密码、验证码三个选项。
首先看验证用户身份的程序,如程序4-1。
程序4-1验证用户身份程序(login.asp)
<
html>
head>
metahttp-equiv="
Content-Type"
content="
text/html;
charset=gb2312"
styletype="
text/css"
!
--
body,td,th{
font-size:
12px;
color:
#000000;
}
a{
a:
link{
text-decoration:
none;
visited{
#000000