网上军事论坛的设计与实现

网上军事论坛的设计与实现[java毕业论文下载]

网上军事论坛的设计与实现

摘  要

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

本系统首先经过需求分析,确定了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

 

 

目  录

论文总页数:2页

1 引言 1

1.1 课题背景 1

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

1.2.1  主要任务 1

1.2.2  相关要求 1

1.3 本课题研究的意义 1

1.4 本课题的研究方法 2

1.5 运行环境 2

2 总体设计 2

2.1 需求分析 2

2.2 系统架构设计 3

2.3 数据库设计 5

2.3.1 数据库概念结构设计 5

2.3.2  数据库逻辑结构设计 6

2.3.3  数据库连接 9

3 系统各模块功能的实现 10

3.1 模块功能介绍 10

3.2 文件内容介绍 13

3.3 测试分析 15

结    论 19

参考文献 20

致    谢 21

声    明 23

 

 

引言

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.1  需求分析

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

  • 会员:经过注册论坛的使用人员,具有某些权限。
  • 主题:论坛中发表某个观点及相应内容。
  • 帖子:论坛中单个观点的讨论。
  • 留言:论坛中用户之间相互联系。
  • 公告信息:供所有用户浏览的信息。
  • 管理员:为论坛服务的人员,系统预先设定。
  • 游客:未经注册论坛的人员,只能浏览、查看,进行某些操作时要求进行注册。

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

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

 

游客

会 员

主 题

帖 子

留 言

公 告 信 息

管 理 员

游客

 

注册

登录

浏览

浏览

评价

搜索

 

浏览

 

会员

 

留言

发表

浏览

回复

修改

浏览

修改

删除

评价

搜索

查看

发送

浏览

 

主题

 

 

 

 

 

 

 

帖子

 

 

 

 

 

 

 

留言

 

 

 

 

 

 

 

公告信息

 

 

 

 

 

 

 

管理员

 

留言

发表

浏览

回复

修改

删除

浏览

修改

删除

评价

搜索

查看

发送

浏览

发布

修改

删除

留言

 

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

 

2.2  系统架构设计

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

  • 注册登录模块
  • 主题模块
  • 帖子模块
  • 留言模块
  • 公告信息模块
  • 成员信息模块
  • 网站统计信息模块
  • 退出模块

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

 

 

表2 论坛系统功能模块

模 块

模 块 包 含 的 功 能

注册登录模块

游客浏览登录

管理员登录

会员登录

新会员注册

主题模块

浏览主题信息

发表新话题

回复主题

修改主题

删除主题

帖子模块

浏览帖子

发表新话题

修改帖子

删除帖子

评价帖子

搜索帖子

留言模块

写留言

查看自己的留言

查看所有的留言

公告信息模块

发布公告

浏览公告信息

修改公告信息

删除公告信息

 

 

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

模 块

模 块 包 含 的 功 能

成员信息模块

显示发表文章数

显示读取文章数

显示在论坛总时间

写留言

网站统计信息模块

显示今日浏览总数

显示昨日浏览总数

显示这个月浏览总数

显示上个月浏览总数

显示本站浏览总数

显示日平均浏览人数

显示当前访客是第几位

退出模块

退出本系统

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

2.3  数据库设计

2.3.1  数据库概念结构设计

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

 

 

                                            m

 

                                         n

 

                    m              n

                                          n

 

 

 

                                   m     

 

 

图2游客实体E-R图

2.3.2  数据库逻辑结构设计

从以上分析可以得到论坛的功能框架,即系统的各个部分已经确定,下面来设计论坛系统信息的存储,一般是在数据库中。数据库的设计是系统开发的基础,也是至关重要的一步。基于对功能的分析,下面给出论坛使用的数据表,如下:

表4 论坛数据表

序 号

表 名

说 明

1

admin

管理员信息表

2

announce

公告信息表

3

counters

网站流量统计表

4

currentuser

论坛日志表

5

details

论坛主题信息表

6

everuser

会员信息表

7

guest

留言信息表

8

newessay

论坛最新主题信息表

9

Reply

帖子信息表

 

 

使用数据库的第一步是设计数据库的表结构,一个设计良好的数据库结构,可以提高效率,方便维护,并且为以后功能扩充留有余地。下面对数据库表结构进行详细分析,包括数据表的字段结构及相关说明,如下:

  • admin(管理员信息表):在该表中保存的是所有论坛中的管理员信息,该信息中账号、邮箱地址、密码、主页以及权限是系统预先定义好的,其中账号和密码不能为空,因为以管理员身份登录时必须输入账号(姓名)和密码。

表5 管理员信息表(admin)

序号

字段名

字段类型

说明

备注

1

Num

自动编号

编号

主键

2

UID

文本

账号(姓名)

必填字段、非空字符串

3

Email

文本

邮箱地址

 

4

PWD

文本

密码

必填字段、非空字符串

5

HomePage

文本

主页

 

6

Essay

数字

发表新文章总数

默认值为0

7

TotalTime

数字

上站总时间

默认值为0

8

HowMany

数字

阅读文章总数

默认值为0

9

Flag

数字

权限

默认值为2

 

 

  • announce(公告信息表):这个表记载了论坛中管理员发布的所有公告信息,建立这个表的原因是管理员可以及时将论坛的最新消息及相关声明告诉所有用户,用户可以迅速掌握论坛的最新动态,也可将它作为向导,寻找论坛中自己感兴趣的话题。

 

 

表6 公告信息表(announce)

序号

字段名

字段类型

说明

备注

1

ID

自动编号

公告编号

主键

2

Content

备注

公告内容

必填字段、非空字符串

3

CreateTime

日期/时间

发布时间

必填字段

4

Author

文本

发布人

必填字段、非空字符串

5

Email

文本

发布人邮箱

 

6

HomePage

文本

发布人主页

 

 

 

  • counters(网站流量信息统计表):对网站的访问情况进行统计是十分必要的,可以根据这些信息分析网站是否受欢迎,从侧面了解本网站的经营情况。因此,在该表中记录了今日浏览总人数、昨日浏览总人数、本月浏览总人数、上月浏览总人数、本站浏览总人数、平均人数/日等信息。

表7 网站流量信息统计表(counters)

序 号  

字段名

字段类型

说明

备注

1

id

自动编号

编号

主键

2

total

数字

网站浏览总人数

必填字段

3

today

数字

网站今日浏览总人数

必填字段

4

yesterday

数字

网站昨日浏览总人数

必填字段

5

month

数字

网站本月浏览总人数

必填字段

6

bmonth

数字

网站上月浏览总人数

必填字段

7

date

日期/时间

本次登录时间

必填字段

 

 

  • currentuser(论坛日志表):日志作为查找错误、跟踪论坛活动的凭证,其记录的信息必须要保证详实,如果出现错误或者遗漏,在以后分析日志的时候就会出现偏差,因此日志表就需要设计得非常全面。日志表中设置了序列号,它由本次登录时间的时、分、秒及四位随机数组成的字符序列组成,用来唯一标志该用户,跟踪该用户信息。日志表中的信息是在用户登录后生成的,它包括三种用户(管理员、会员、游客)信息。

表8 论坛日志表(currentuser)

序 号

字段名

字段类型

说明

备注

1

Num

自动编号

编号

主键

2

UID

文本

账号(姓名)

必填字段、非空字符串

3

Emial

文本

电子邮箱地址

 

4

LastLogon

日期/时间

本次登录时间

必填字段

5

IPAdress

文本

IP地址

必填字段、非空字符串

6

SerialNum

文本

序列号

必填字段、非空字符串

7

Flag

数字

权限

必填字段

 

 

  • details(论坛主题信息表):这个表记载了论坛中主题文章的信息,建立这个表的原因是用户在浏览论坛中的帖子之前,应当先看到的是主题列表,如果主题能够吸引用户,用户才会去看其中的内容,否则用户一进来便提供所有的信息,会使用户感觉非常地杂乱。

表9 论坛主题信息表(details)

序 号

字段名

字段类型

说明

备注

1

Num

自动编号

编号

主键

2

Child

文本

账号

必填字段、非空字符串

3

Levels

数字

回复帖子数

必填字段

4

UID

文本

文章发表人

必填字段、非空字符串

5

Email

文本

电子邮箱地址

 

6

Theme

文本

文章主题

必填字段、非空字符串

7

DateAndTime

日期/时间

发表日期

必填字段

8

VisitTimes

数字

被点击次数

必填字段、默认值为0

9

Length

数字

内容长度

必填字段

10

HomePage

文本

个人主页

 

11

Content

备注

文章主题

必填字段、非空字符串

 

 

  • everuser(会员信息表):该表记录了论坛中所有注册会员的个人信息(姓名、电子邮箱、密码、个人主页)和进入论坛之后的活动(发表文章数、上站时间、阅读文章数)以及会员的权限。

表10 会员信息表(everuser)

序 号

字段名

字段类型

说明

备注

1

Num

自动编号

编号

主键

2

UID

文本

账号(姓名)

必填字段、非空字符串

3

Email

文本

电子邮箱

 

4

PWD

文本

密码

必填字段、非空字符串

5

HomePage

文本

个人主页

 

6

Essay

数字

发表文章总数

必填字段、默认值为0

7

TotalTime

数字

上站总时间

必填字段、默认值为0

8

HowMany

数字

阅读文章总数

必填字段、默认值为0

9

Flag

数字

权限

必填字段、默认值为1

 

 

  • guest(留言信息表):网上留言是用户经常光顾的地方,因此留言板是一个常用的交流信息手段,与聊天室相比,留言板不具有动态性和实时性,不过它信息量大,可以保存信息更加长久,对于网站,留言板也是信息反馈的途径,因为用户不仅可以给其他用户留言,而且可以给管理员留言,即对论坛的改进提出宝贵的意见。

 

表11 留言信息表(guest)

序 号

字段名

字段类型

说明

备注

1

ID

自动编号

编号

主键

2

UID

文本

用户名

必填字段、非空字符串

3

Name

文本

留言人

必填字段、非空字符串

4

Email

文本

邮箱地址

 

5

Content

备注

留言内容

必填字段、非空字符串

6

Length

数字

留言内容长度

必填字段

7

Time

日期/时间

留言时间

必填字段

 

 

  • newessay(论坛最新主题信息表):该表中存放的是论坛中最新发表的文章(从发表到以后三天),超过三天,该表自动删除旧文章。建立此表的目的是让用户及时浏览论坛的最新信息,关注论坛的最新主题,加强与用户的沟通。

表12 论坛最新主题信息表(newessay)

序 号

字段名

字段类型

说明

备注

1

Num

自动编号

编号

主键

2

FileID

数字

文章代号

必填字段

3

Theme

文本

文章主题

必填字段、非空字符串

4

UID

文本

作者

必填字段、非空字符串

5

IssueTime

日期/时间

发表时间

 

 

 

  • Reply(帖子信息表): 在该表中存放了回复帖子的主要信息,包括回复主题信息、帖子信息、回复人信息,其中Grade字段表示对帖子的评价。

表13 帖子信息表(Reply)

序号

字段名

字段类型

说明

备注

1

ID

自动编号

编号

主键

2

Topic

文本

回复主题

必填字段、非空字符串

3

TopicID

数字

回复主题代号

必填字段

4

Content

备注

回复内容

必填字段、非空字符串

5

CreateTime

日期/时间

回复时间

必填字段

6

Author

文本

回复人

必填字段、非空字符串

7

Email

文本

电子邮箱

 

8

HomePage

文本

个人主页

 

9

Grade

数字

积分

 

 

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.1   模块功能介绍

本系统实现了是网上论坛的基本功能,通过系统构架分析划分出8大功能模块,下面就对这8大功能模块的实现一一介绍:

(1) 登录注册模块:在论坛首页,用户以不同的身份(游客、会员、管理员)登录进入论坛,此时系统会记录下用户信息(姓名、登录时间、权限等),并存放到论坛日志表(currentuser)中,如果是新会员,需要进行注册,注册成功后,系统将注册信息(姓名、密码等)存放到会员信息表(everuser)中,同时又将登录信息写入论坛日志表(currentuser)中,如下图所示:

 

游客            

      登录                                 注册

会员                     写入               写入              写入

 

管理员       

                                                 新会员

                               图4 用户登录注册与数据库的关系

(2) 主题模块:进入论坛后,任何人都可以在讨论区浏览主题列表,它是从论坛主题信息表(details)中读出来的,列出了所有的主题信息,然后点击自己感兴趣的主题,进入该主题的帖子列表,在这里,管理员可以删除任何主题和修改自己发表的主题,会员可以修改自己发表的主题,论坛主题信息表(details)作出相应地更改,如果是最新主题,论坛最新主题信息表(newessay)也要作出更改;也可以在新文章列表下拉菜单中浏览最新文章,选中后可以查看其详细信息,这些信息都是从论坛最新主题信息表(newessay)中得到的。发表文章是主题模块的的核心功能,发表完成点击提交后,系统会将文章信息存入主题信息表(details)和论坛最新主题信息表(newessay)中,如下图所示:

读取         浏览主题/浏览新主题        读取

 

写入            发表主题              写入

 

更新、删除      修改、删除主题/删除新主题   删除

 

更新        修改主题

 

图5 文章主题与数据库的关系

(3) 帖子模块:在帖子列表中,一个主题对应若干个回复帖子,所有用户可以搜索、浏览帖子,即从帖子信息表(Reply)中读取数据,对帖子作出评价,管理员可以删除所有的回复和修改自己的回复,会员可以删除回复自己主题的帖子和修改自己回复的帖子,系统会对帖子信息表(Reply)作出相应的更改,如下图所示:

 

浏览、搜索帖子               读取

 

                         评价帖子                   写入       

                                         

                                                  删除

(删除帖子)

                                            更新   

(修改帖子)

图6 帖子与数据库的关系

(4) 留言模块:在论坛中留言板只对管理员和会员开放,管理员可以查看自己的留言及查看所有人的留言,会员只能查看自己的留言,在用户信息表中,可以对别人写下留言,这些操作都与留言信息表(guest)有关,如下图:

                         查看留言        读取

 

                                 写留言         写入

 

图7 留言与数据库的关系

(5) 公告信息模块:公告栏信息在论坛中所有用户都可以浏览,对于发布公告,就只有管理员才具有操作权限,另外,管理员还可以修改自己发布的公告,删除所有公告,这些都涉及到公告信息表(announce),如下图:

                                浏览公告                读取

 

                                           更新    

                               (修改公告)

                                           删除

                                              (删除公告)

图8 公告与数据库的关系

(6) 成员信息模块:成员信息主要指会员及管理员信息,在成员信息列表中列出了所有成员,任何人都可以查看,这主要调用会员信息表(everuser)和管理员信息表(admin),如下图所示:

 

                         查看会员信息            读取

                

          

查看管理员信息           读取

 

                        

图9 成员信息与数据库的关系

(7) 网站流量信息统计模块:本模块通过网站流量信息统计表(counters)中信息,列出了本次网站的流量信息(今日、本月等浏览总人数),这些信息包括对游客的统计,因此所有用户可以查看网站流量信息。

(8) 退出模块:本模块主要功能是针对管理员和会员,记录下他们的退出时间,并计算出他们在论坛的总时间,然后更改会员信息表(everuser)和管理员信息表(admin)中在线时间字段,如下图所示:

                     退出        更新

 

 

 

退出      更新

 

 

                          图10 退出与数据库的关系

网上军事论坛的设计与实现[点击下载]

如需要全部源码,联系QQ:2812491287如需要全部源码,联系QQ:2812491287

评论