网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > ASP类作品 > 正文

基于ASP网络论坛平台的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/07

鉴于大家对ASP类作品十分关注,我们编辑小组在此为大家搜集整理了“基于ASP网络论坛平台的设计”一文,供大家参考学习!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

第三章系统的设计
3.1系统功能模块的设计
论坛的主要作用是允许用户浏览论坛中已有的内容,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。同时为了防止用户公布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除修改。再扩展一点,若用户想在论坛发布信息则要求他必须注册,这样可以控制用户发布信息的合法性,一旦不合法我们就可以删除他的注册信息,不允许他再来论坛发布非法内容。这样需要管理员对用户和内容都要进行管理。
    对于一个多个版面的论坛,用户可以注册,浏览论坛版面和帖子,发布自己的帖子。管理人员可以设置论坛的系统参数,管理注册用户和版面。
    当一个用户来到论坛后可以看到版面列表,以及论坛的公共信息。通过版面他可以看到相关的帖子。如果需要进一步的功能,就需要用户注册。
    用户注册以后,可以发表自己的帖子或者回复别人的主题,也可以修改自己的帖子,如果用户发帖数量很多,会给用户一定的积分,达到一定积分后给予某种相关级别的称号。用户也可以发布权限范围内的公共信息。用户也可以升级为版主,可以删除别人的帖子,将帖子置顶,设为精华等。用户还可以修改自己的注册信息,查看其他用户公开的注册信息,并与之联系。
    管理人员可以管理版面、帖子、用户、用户权限,设置系统参数,还可以发布公共信息。
设计功能:
   首先从用户开始,表中用户关联的对象是自身、版面、公共信息、帖子。分别根据用户与这些对象的联系给出一个明确的菜单。


3.1.1用户功能模块
如表3-1所示
表3-1用户功能列表
 

序号
功能名称
说明
1
用户注册
用户在论坛必要的信息后就可以成为注册用户。注册后,用户登录网站可以修改自己的用户信息。
2
用户登录
用户在论坛注册后,可以使用用户名,密码在论坛中登录。
3
浏览其他用户信息
用户注册后可以查看其他用户的信息
4
浏览版面
用户可以看到以列表形式展现的版面信息,包括版面的说明。
5
浏览发布公共信息
未登录的用户可以浏览在页面呈现的公共信息。对于登录的用户可以发布允许范围内的公共信息
6
浏览帖子
用户可以以列表形式浏览帖子主题及帖子的全部内容
7
发布修改删除帖子
用户在登录后可以发布帖子,修改自己的帖子。如果被赋予版主权限还可以修改、删除其他用户的
8
对帖子特殊操作
主要是针对版主类型的用户,对幌子进行置顶,使浏览量大的帖子出现在版面顶部。对帖子设置精华

                                                                         
此网上论坛可以实现:
游    客:注册新用户。
注册用户:查看帖子、发新帖子、在线发布信息、回复信息、修改个人资料、在线短消息。
管理员:发布公告、帖子管理、论坛设置、版面管理、用户管理、短消息管理、数据库备份。


 

                           
3.1.2管理功能模块
如表3-2所示
如表3-2管理人员功能列表
 

序号
功能名称
说明
1
用户删除
对于在论坛中发表的一些非法言论,给论坛造成很坏的影响的用户,应该删除他们的身份,不允许他们的存在
2
用户授权
论坛的管理是纷繁复杂的,需要给一些具有管理能力的用户一些特殊权限,让他们帮助管理人员完成论坛的维护。
3
版面管理
版面是论坛的枝干,对于新的知识点需要添加新的版面,有些片面的内容可能不太适合了可以考虑修改。对于没在存在意义的版面就要删除了。但是这个工作关系到论坛的正常运动,所以要由管理人员完成
4
公共信息管理
公共信息是向用户展现论坛状态的部分,不能出现非法的言论。所以删除修改的权限必须要由管理人员来完成。对于一些重要的信息如论坛维护等需要管理人员来发布
5
帖子的管理
帖子是一个论坛的叶子,它们的内容如何,反映了论坛使用者和管理者的水平,需要管理人员对帖子有全权的管理功能,以保证论坛内容的水平
6
设置系统参数
系统参数所包含的内容很多,它们直接关系到论坛的正常运行。它们的内容大体包括:论坛所在路径、论坛的网络地址、论坛单页显示主题数量、帖子数量等

 
网上论坛系统总体分析:
通过上面的功能说明,我们可以将论坛的制作分为四大部分:
(1) 网友注册和管理模块:因为引入了站长或者版主,在论坛中就必须能够对其进行身份验证。这个模块的功能,就是管理注册的网友,并能够提供相关的查询。比如,查询指定作者的所有发表的文章,查询当前发表文章最多的十个网友,等等。如果你的论坛不是很大,这个模块可以省略为只带有版主身份验证的功能,而去掉那些关于注册,查询的部分。
(2) 文章显示模块:显示所有版主审核过的,觉得值得推荐的文章。
(3) 发表文章模块:为注册网友提供发表见地的地方,发表后等待版主审阅。
(4) 文章审阅模块:版主对所有网又发表但未经审阅的文章进行处理,已决定是发表还是删除。
了解了具体的功能需求后,就可以按模块的开始论坛的设计了。当然,这些模块的只是在功能上对论坛结构的划分,实际上并不能够完全的把他们独立出来进行设计。对于这种较小的应用,也没有必要进行完全的模块化设计,在良好的规划下直接写程序代码或许来的更为简单一些。
所有的表是设计完了,但是数据库的设计并没有完,所以我们还需要建立表间关系,这样就能够让数据库执行一些相关性检查,避免资料出错。建立表间关系的另外的一个好处,就是通过它能够很容易的建立出复杂的JOIN查询。
通常我们在ASP中操作数据库的时候,都是使用的执行时生成的查询,然后由传递给数据库解释执行。而在这儿我们要用的是存贮查询。与执行时查询比较而言,预存程序具有更多的优点。
它保存在数据库中,独立于ASP程序代码,使得他更容易建立和修改,并且查询的效率更高,速度更快,可以调试好了以后再放在ASP页面中使用,能避免很多问题。而且使用存贮查询的ASP程序代码更加容易阅读和修改。可能大家都对在ASP中使用SQL查询感到很烦,特别是那些逗号啊,分号啊什么的,一不小心就会出错。使用存贮查询后,就可以不用顾虑这些问题了。当然,预存程序再使用上也有一些要注意的地方,在后面我会详细的讲解它的使用方法。在ACCESS中建立预存程序是一件很容易的事,这儿我就不再多说了。在这儿我只给出各个查询的SQL语句程序代码。
我把所有要使用到的查询都作为预存程序保存在了数据库中,主要的有以下的一些:
(1)按ID查询文章:
SELECT 主题表.标题 AS 主题名, 看板列表.名称 AS 看板名, 内容表.*
FROM 主题表 INNER JOIN (内容表 INNER JOIN 看板列表 ON 内容表.看板ID = 看板列表.ID) ON 主题表.ID = 内容表.主题ID
WHERE (((内容表.ID)=[articleid]));
(2)版主密码查询:
SELECT 看板列表.板主, 作者表,密码
FROM 作者表 INNER JOIN 看板列表 ON 作者表.ID = 看板列表.板主
WHERE (((看板列表.ID)=[id];
(3)查询作者:
SELECT 作者表.*
FROM 作者表
WHERE (((作者表.ID)=[id]));
(4)发表文章列表:
SELECT [内容表].[ID], [内容表].[标题], [内容表].[作者ID] AS 作者, [内容表].[日期], [内容表].[推荐度], [内容表].[点击次数] AS 点击数。
FROM 内容表
WHERE ((([内容表].[主题ID])=[TopicIndex]) And (([内容表].[发表])=True));
未发表文章列表:
SELECT 内容表.ID AS 文章id, 主题表.ID AS 主题id, 主题表.标题 AS 主题, 内容表.标题 AS 标题, 内容表.作者ID AS 作者, 内容表.日期 AS 日期
FROM 主题表 INNER JOIN 内容表 ON 主题表.ID = 内容表.主题ID
WHERE (((内容表.发表)=False) AND ((内容表.看板ID)=[boardid]));
(5)主题列表:
SELECT 主题表.*, 看板列表.名称 AS 看板名
FROM 看板列表 INNER JOIN 主题表 ON 看板列表.ID = 主题表.看板
WHERE (((主题表.看板)=[boardIndex]));还有一些查询,因为大多类同,我就不一一列出了。
在上面的查询语句中,可以看到一些由"["和"]"包围起来的东西,那就是查询参数了。需要在执行时给出参数值,然后把参数值带入到查询语句中才能够执行。还有一点要注意的是:在建立那些INNER JOIN查询时,是需要把表间关系添加到设计视图中的,否则是不能够自动生成INNER JOIN查询语句的。
到这儿,数据库的设计就算完了,以后的工作就是ASP的事了。
3.2数据库的设计
论坛系统信息的存储一般是在文件或者数据库中,在这里选择数据库,用数据库要简单高效一些,能够对论坛进行更好的控制,也能够对资料提供一些验证和保护。使用数据库的第一步是设计数据库的表结构,一个设计良好的数据库结构,可以提高效率,方便维护,并且为以后进行功能的扩充留有余地。这就好比高楼大厦的地基一样,有了稳固的基础,才能有优秀的成果.下面对论坛的数据库之间的关系做如下简要概括。
基于对功能的分析,我们要设计数据表。对数据表的设计最好使用存储内容的英文单词,在每个名称中还要加入一个标识,表明这是一个表。这是因为数据库中除了表还有视图等其他结构,为了在编程时便于区分,如此设计还是有必要的。论坛中主要用到的数据表有:管理员信息表、帖子信息表、公共信息表、版面信息表、论坛日志表、在线用户表、系统信息表、论坛主题信息表、用户信息表等。
3.2.1 管理员信息表
管理员信息表:管理员信息表是和用户信息表有关联的,其外键就是用户信息表中的用户名,这就要求论坛的管理人员也要是论坛的注册用户。这样做是为了使管理人员在修改了论坛的系统信息后,就可以方便地看到论坛修改后的状态,而不用再注册一个新用户了。
如表3-3所示
3-3管理员信息表
序号
字段名
字段类型
说明
备注
1
Id
COUNTER
管理员编号
主键
2
Username
VARCHAR(50)
用户名
 
3
Password
VARCHAR(50)
用户密码
 
4
Flag
Memo
权限字段
 
5
Lastlogin
DATETIME
最后登陆时间
 
6
LastloginIP
VARCHAR(50)
最后登陆IP地址
 
7
adduser
VARCHAR(50)
用户信息表重的信息名
 
 
 帖子信息表:在帖子信息表中主要包含了两个用户表的外键和版面编号。在这里还有一个外键是主题编号,它是用来和主题信息表进行关联的。
    公共信息表:公共信息表中的内容相对简单一点,它主要记载了编号、版面编号、标题、内容、发布用户名和发布信息字段。
    版面信息表:在版面信息表中依然是用了一个版面编号作为主键,这样对于速度是会有很大的提高的。上级版面编号是为了方便分层次找到各级版面,同分层次查询各级版面相关的是版面层数,它存储了该系列版面的层数。主版面编号记录的是该系列版面的最顶端版面的编号,这个可以用来很方便地找出这一系列版面。子版面数量则提供了该版面是否有子版面及子版面数量的信息。
论坛日志表:日志作为查找错误、跟踪论坛活动的凭证,其记录的信息务必保证详实,如果出现错误或者遗漏,在以后分析日志的时候就会出现偏差,因此日志表就需要设计得非常全面。日志表中也有帖子编号和版面编号,但是都不是必需的,这是因为这两个外键是为了记录在论坛中对帖子信息进行操作时需要的信息,当用户浏览其他信息时,这两个外键不是必需的。
3.2.2 用户信息表
    在线用户表:在线用户表记录了一个用户来到论坛之后的活动。当用户到论坛的活动很多,记录数据量比较大,整数型的数据会出现溢出现象,导致最后无法记录用户的活动,所以这里使用了双精度型。
如表3-4所示
表3-4在线用户表
序号
字段名
字段类型
说明
备注
1
Id
DOUBLE
 
主键
2
Username
VARCHAR(50)
用户名
 
3
Userclass
VARCHAR(20)
用户类型
 
4
Stats
VARCHAR(250)
用户状态
 
5
Ip
VARCHAR(40)
当前IP
 
6
Actforip
VARCHAR(40)
IP来源
 
7
Startime
DATETIME
开始时间
 
8
Lastimebk
DATETIME
最后操作时间
 
9
Boarded
INTEGER
浏览器类型
 
10
Browser
VARCHAR(50)
 
 
11
Actcome
VARCHAR(50)
来源
 
12
Userid
INTEGER
用户编号
 
13
userhidden
INTEGER
是否隐身
 
 


 

系统信息表:论坛设置字段存储了论坛名称、论坛地址、论坛联系方式,即论坛所在网站及网址。
如表3-5所示
表3-5系统信息表
序号
字段名
字段类型
说明
备注
1
boardidi
CONTER
编码
 
2
Boradid
INTERGER
版面编号
 
3
Titile
Vachar(50)
标题
 
4
Content
Longhair
内容
 
5
Username
Vachar(50)
发布用户名
 
6
Addtime
DATETIME
发布时间
 
7
Bag2
Varchar(100)
背景
 
论坛主题信息表:这个表主要记载了论坛中主题帖的信息,建立这个表的原因是用户在浏览论坛中的帖子时先应当看到的是主题列表。
    用户信息表:在用户信息表里保存的是所有论坛注册的用户的信息,用户编号是用户在论坛中的惟一标识,是不重复的,同时用户名在论坛中也是不能重复的。
如表3-6所示
表3-6用户信息表

序号
字段名
字段类型
说明
备注
1
Id
DOUBLE
用户名
主键
2
Username
VARCHAR(50)
用户类型
 
3
Userclass
VARCHAR(20)
用户状态
 
4
Stats
VARCHAR(250)
当前IP
 
5
Ip
VARCHAR(40)
IP来源
 
6
Actforip
VARCHAR(40)
开始时间
 
7
Atartime
DATETIME
最后操作时间
 
8
Lastime
DATETIME
版面编号
 
9
Boarded
INTEGER
浏览器类型
 
10
Browser
VARCHAR(250)
来源
 
11
Actcome
VARCHAR(50)
浏览器类型
 
12
Userid
INTEGER
用户编号
 
13
userhidden
INTEGER
是否隐身
 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师