ASP.NET 网上军事论坛的设计与实现(论文+源码)_Nueve

摘  要

网上论坛作为互联网中运用最为广泛的交流场所之一,如今都已被广大网民接受,它的主要作用是用来帮助浏览者相互沟通。论坛发展到现在已经具有了许多功能:发表文章、回复主题、帖子搜索、数据备份、言论过滤等功能。

本系统首先经过需求分析,确定了7个操作对象(游客、会员、文章主题、帖子、留言、公告信息、管理人员),其次根据操作对象划分出8大功能模块(注册登录模块、主题模块、帖子模块、留言模块、公告信息模块、成员信息模块、网站统计信息模块、退出模块),最后开发出一个简易的网上论坛系统软件,主要实现发表新文章、回帖、留言、发布公告以及网站流量统计等基本功能。

关键词帖子;留言;公告;

The Design and Implementation of Online Military Forum

Abstract

As one of the most widely communication spot, the Internet forum today is accepted by majority of Internet users, its main services will be used to help surfers to communicate with each other. Now there have a lot of functions in forum, for example: publishing an article, returning to the theme, searching message, data backup and speech filtering. 

First of all, through the needs analysis of system, seven operating Objects (visitor, member, the article theme, message, voice mail, public notice, administrator), second, eight functional module is divided according to the operation object, such as  (module of Registration and Login, module of theme, module of message, module of voice mail, module of notice information, module of member information, the website of statistical information modules from module), finally, a simple online forum system is built, it includes function as follow: public a new article,  leave words,  public notice and traffic statistics and so on.

Key words:  card;written message;Bulletin

目  录

1 引言

1.1 课题背景

1.2 本课题的研究任务及要求

1.2.1  主要任务

1.2.2  相关要求

1.3 本课题研究的意义

1.4 本课题的研究方法

1.5 运行环境

2 总体设计

2.1 需求分析

2.2 系统架构设计

2.3 数据库设计

2.3.1 数据库概念结构设计

2.3.2  数据库逻辑结构设计

2.3.3  数据库连接

3 系统各模块功能的实现

3.1 模块功能介绍

3.2 文件内容介绍

3.3 测试分析

    

参考文献

    

    

1引言

1.1课题背景

BBS-Bulletin Board System的缩写,翻译起来就是电子公告板,不过一般USER(使用者)还是习惯于用BBS来称呼它。由于最早是用来传达股市价格等讯息,所以才命名为布告栏看板,它与一般街头和校园内的公布栏性质相同,只不过BBS是通过电脑来传播或取得消息而已。

BBS具有一些共同的基本功能,如:信件交流、文件传输、资讯交流、经验交流及资料查询等。使用者之间可以借助BBS突破以往的封闭观念,让你心爱的电脑也能认识新朋友。如果是大型多线的BBS站,你还可以约集三五个好友一起上线,彼此通过线上会议室讨论问题。这些都是身为一个处于资讯爆炸的你我所不可缺少的帮手,有效地缩短人与人之间的距离,尤其是国内网络,更会令你有天涯若比邻的感觉!除了尽情地吸收别人发出的光亮 ,也可以尽情地展现自己的才华,慷慨地与人分享经验。

1.2 本课题的研究任务及要求

1.2.1  主要任务

综合运用以前所学的专业知识,设计开发一个简易网上军事论坛系统软件,本设计要求实现基本功能——发帖及回帖,这是论坛的核心功能;在设计与开发中,重点关注各种用户的权限——这是论坛设计的关键,探讨论坛系统中三种用户(管理员、会员、游客)各自具有的权限及相应可以实现的功能。

1.2.2  相关要求

(1) 本系统的开发要求采用B/S结构,选用所熟悉的开发工具(DreamweaverMX 2004)及开发环境(IIS 5.0)进行本系统的设计与开发。

(2) 本毕业设计要求提供网上军事论坛系统所开发实现的软件,要求软件具有操作简便、界面友好等特性。

1.3 本课题研究的意义

网上论坛作为互联网中运用最为广泛的通信工具之一,如今都已被广大网民接受,它的主要服务是用来帮助浏览者相互沟通,吸引用户、服务用户的。论坛发展到现在已经具有了很多功能:用户注册、浏览论坛版面和帖子、发布自己的帖子、相互留言、回复别人的主题、也可以修改自己的帖子等等这些基本功能,也有帖子评价、论坛收藏、帖子搜索、帖子移动、数据备份、非法言论过滤、非法IP的限制等比较复杂的功能。本毕业设计选择网上军事论坛系统,除了综合运用以前所学知识的能力,同时也可以了解当今网络通讯的一些新技术,并模拟开发简易网上论坛系统软件;锻炼实际动手能力,对于以后工作能力的培养具有重要的意义。

1.4 本课题的研究方法

本系统的开发要求采用B/S结构,模拟网上论坛系统软件进行设计与开发。因此,本次毕业设计应首先分析论坛系统软件的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括ASP、网络数据库及网页制作相关知识等),选择Dreamweaver MX 2004开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档,为后面的毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做好调试和试运行的相关记录,也为后面的毕业论文的写作准备材料。

1.5 运行环境

ASP是一种服务器端执行的脚本语言,因此在开发、测试ASP应用程序之前,首先必须安装、配置服务器。其中,服务器分为两种,一种是WEB服务器,本系统选用IIS 5.0安装到Windows XP或者Windows2000 Server操作系统中(最好在Windows XP上,其性能相对较好);一种是数据库服务器,采用Access2000;另外,本系统采用基于对象(Object Base)和事件驱动(Event Driver)的JavaScript脚本语言以及最为常用的VBScript脚本语言混合使用。特别说明:在运行本系统之前,将本系统的所有文件拷贝到C:\Inetpub\wwwroot下。

2总体设计

2.1 需求分析

本论坛系统主要针对游客、会员、(文章)主题、帖子、留言、公告信息、管理人员等对象进行操作,并得出一个简洁的列表,如下:

l会员:经过注册论坛的使用人员,具有某些权限。

l主题:论坛中发表某个观点及相应内容。

l帖子:论坛中单个观点的讨论。

l留言:论坛中用户之间相互联系。

l公告信息:供所有用户浏览的信息。

l管理员:为论坛服务的人员,系统预先设定。

l游客:未经注册论坛的人员,只能浏览、查看,进行某些操作时要求进行注册。

现在这个列表,就是论坛要为之服务的主要对象。但是这些对象不是孤立的,它们之间是有着密切联系的。现在通过进一步的分析来获得这些对象间的关联。为了更加直观地看到对象间的关系,根据需求,再建一张各对象间关联表,见表1:

表1 论坛中各对象之间的关联表

游客

会 员

主 题

帖 子

留 言

公 告 信 息

管 理 员

游客

注册

登录

浏览

浏览

评价

搜索

浏览

会员

留言

发表

浏览

回复

修改

浏览

修改

删除

评价

搜索

查看

发送

浏览

主题

帖子

留言

公告信息

管理员

留言

发表

浏览

回复

修改

删除

浏览

修改

删除

评价

搜索

查看

发送

浏览

发布

修改

删除

留言

经过具体的功能需求后,就可以按模块开始论坛的设计了。当然,这些模块只是在功能上对论坛结构的划分。

2.2 系统架构设计

根据论坛所必需的功能,可将它们归类,组成系统开发的模块,以便于开发和分析。模块的划分主要是按每一个对象的操作来归类。论坛对象在需求分析中归纳了7个,下面就针对这7个对象列出功能模块:

l注册登录模块

l主题模块

l帖子模块

l留言模块

l公告信息模块

l成员信息模块

l网站统计信息模块

l退出模块

这样,论坛中的模块功能的划分就清楚了。下面就列出功能模块列表:

表2 论坛系统功能模块

模 块

模 块 包 含 的 功 能

注册登录模块

游客浏览登录

管理员登录

会员登录

新会员注册

主题模块

浏览主题信息

发表新话题

回复主题

修改主题

删除主题

帖子模块

浏览帖子

发表新话题

修改帖子

删除帖子

评价帖子

搜索帖子

留言模块

写留言

查看自己的留言

查看所有的留言

公告信息模块

发布公告

浏览公告信息

修改公告信息

删除公告信息

表3 论坛系统功能模块(续)

模 块

模 块 包 含 的 功 能

成员信息模块

显示发表文章数

显示读取文章数

显示在论坛总时间

写留言

网站统计信息模块

显示今日浏览总数

显示昨日浏览总数

显示这个月浏览总数

显示上个月浏览总数

显示本站浏览总数

显示日平均浏览人数

显示当前访客是第几位

退出模块

退出本系统

另外,对于用户使用的模块称为前台模块,管理员使用的模块称为后台模块,因此按照前、后台功能划分模块,如下:

图1 按前、后台划分功能模块

2.3 数据库设计

2.3.1 数据库概念结构设计

概念层数据模型是现实世界到机器世界的一个中间层次,反映了现实系统中有用价值的信息结构,因此,对数据库的概念模型进行分析是必要的。本系统主要实现网上论坛的基本功能,包括发表主题文章、回帖、留言、发布公告,所以主题文章、帖子、留言、公告是四个实体,而其操作对象主要是游客、会员、管理员三个实体。

图2游客实体E-R图

2.3.3  数据库连接

在整个系统的开发过程中,数据库连接是必不可少的,是公用的。因此,可以把这一部分先拿出来,单独做成一个文件,在需要的时候只需要调用这个函数就可以了,而不用每一次去写连接数据库的程序,这在写程序中经常使用的。

在本系统中使用的数据库是Access,它是一个很简单的数据库,不能容许太多的人进行连接,之所以选择它是因为这样可以省去很多设置,而且很多人的机器上都有,在使用过程中对机器硬件的要求比较低。

在ASP中同数据库打交道的主要是ADO,对数据库进行操作处理,要让ADO对象能够存取数据库,最重要的东西是OLE DB驱动程序及ODBC驱动程序。对任何一种数据库来说,必须具备其对应的OLE DB驱动程序或ODBC驱动程序,ADO对象才能够进行存取。如下图:

图3 ADO对象

Access及SQL Server同时具有OLE DB及ODBC两种驱动程序,对于本系统来说,选择ODBC驱动程序比较简单。首先要建立同数据源的连接,利用ADO的Connection来建立同数据库的连接。建立ADODB.Connection对象,使用此对象的Open方法打开数据库,本系统建立的数据库的名称为BBS,利用Server.Mappath函数将该数据库的相对存储路径转化为绝对路径,其代码如下:

Set Con=Server.CreateObject(ADODB.Connection)

Con.Open=DRIVER={MicrosoftAcessDriver(*.mdb)};DBQ=+server.mappath(BBS.mdb)

3.2文件内容介绍

(1) conn.inc:此文件属于公共文件,系统中绝大部分文件要用到这个包含文件,因为打开数据库连接与读取表记录的步骤是相同的。

(2) default1.asp:来访者选择不同的用户类型(游客、会员、管理员)进入论坛系统,并将用户的信息(账号、电子邮件、本次登录时间、IP地址、序列号、权限)存入currentuser表中。

(3) main.asp:成功进入论坛后,显示论坛规则说明,另外,本文件最主要的功能是记录来访时间,并更新网站流量统计,存入到counters表中。

(4) board.asp: 主界面的框架结构,划分为左部、顶部、底部三个区域,分别显示三个不同的网页,完成导航工作。

(5) userlist.asp:显示当前用户类型,并列出功能列表(所有成员信息、新文章列表、刷新讨论区、发表文章、发布公告、查看自己的留言、查看所有留言、网站流量统计、显示当前用户是第几位访客、退出系统)。

(6) list.asp: 显示当前时钟;显示滚动公告栏信息,点击”more>>”可以进入公告栏详细列表;显示文章主题信息(是否为新文章、讨论主题、发起人、创建时间、回复数、人气、文章内容大小),单击文章标题可以进入帖子列表。

(7) showcard: 显示日期与用户身份;显示主题信息(主题、发起人、发表时间、发表内容),可以发表新主题、回复、修改、删除;分页显示帖子信息(回复人、发表时间、回复内容、积分),可以发表新主题、删除、修改、评价。

(8) save.asp:发表新文章,输入的文章主题及文章内容不能为空,电子邮件及个人主页可以不填,但电子邮件必须按照电子邮件的格式填写。

(9) updatetopic.asp:修改主题文章的内容。

(10) deltopic.asp:删除文章主题,然后单击“刷新讨论区”,可以看到文章列表中选择删除的主题已经不存在了。

(11) announce.asp:发布公告,其中发布人及内容不能为空,电子邮件及个人主页可以不填,但电子邮件必须按照电子邮件的格式填写。

(12) count.asp:显示网站流量信息(昨日浏览总数、今日浏览总数、本月浏览总数、上月浏览总数、本站浏览总数、日平均浏览数)。

(13) Counter.txt:使用FileSystemObject对象的OpenTextFile方法打开文件,若不存在,则予以建立,它用来存放计数器数值,即第几位访客。

(14) delannounce.asp:删除公告信息,单击“确定删除”按钮,弹出“公告信息已经删除!”对话框,表示已经成功删除。

(15) delreply.asp: 删除回复信息,单击“确定删除”按钮,弹出“回复信息已经删除!”对话框,表示已经成功删除。

(16) evaluate.asp:对帖子进行评价打分,从0到3分,然后提交。

(17) guestinfo.asp:查看用户(管理员、会员)的详细信息(姓名、个人主页、已发表文章数、已读取文章数、在论坛总时间),并且可以写留言给查看的用户。

(18) logout.asp:退出系统,并记录退出时间,计算出该用户(会员、管理员)在论坛的总时间,并及时更新admin、everuser表。

(19) onclock.JS:这是一个函数文件,用来实现显示当前时间。

(20) reply.asp:回复文章主题,输入的文章主题及文章内容不能为空,电子邮件及个人主页可以不填,但电子邮件必须按照电子邮件的格式填写,单击“提交”按钮,弹出“你的回复文章已经成功粘至论坛!”对话框,表示已经回复成功。

(21) search.asp:搜索帖子,选择搜索类型(编号、主题、回复人),单击“搜索”按钮,如果找到匹配的帖子,则分页显示出有关帖子列表,如果找不到,则弹出对话框“对不起,没有找到您要搜索的帖子!”。

(22) sendMessage.asp:填写留言信息,其中姓名和留言不能为空,填写完毕后,单击“发送”按钮,弹出“您的留言已成功粘至论坛!”对话框,表示已经留言成功。

(23) showall.asp:只有管理员可以查看所有留言,并分页显示出来。

(24) showannounce.asp:分页显示公告栏信息,如果是管理员,可以对公告信息进行修改、删除。

(25) showdail.asp:显示新文章信息(标题、作者、发表时间、个人主页、文章内容),并可以立即回复。

(26) showinfo.asp:分页显示自己的留言信息(序号、内容、留言者、留言时间、E-Mail)。

(27) updateannounce.asp:修改公告信息。

(28) updatereply.asp:修改回复内容。

3.3测试分析

由于篇幅有限,这里以管理员为例,对发帖、回帖功能进行演示说明:

首先,在登录界面上输入姓名为“admin”、密码为“admin”,单击“管理员登录”按钮,进入论坛系统的主界面,如下图:

图11 登录系统主界面

图12 发表新文章

图13 成功发表主题

图14 进入帖子列表

图15 回复主题

图16 成功回复主题

如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值