1、网上军事论坛的设计与实现 摘 要 网上 论坛作为互联网中运用最为广泛的交流场所 之一,如今都已被广大网民接受,它的主要 作用 是用来帮助浏览者相互沟通 。论坛发展到现在已经具有了许多功能: 发表文章、回复主题 、 帖子搜索、数据备份、言论过滤等功能。 本系统 首先 经过需求分析,确定了 7 个操作对象 (游客、会员、文章主题、帖子、留言、公告信息、管理人员 ),其次 根据操作对象划分出 8 大功能模块 (注册登录模块、主题模块、帖子模块、留言模块、公告信息模块、成员信息模块、网站统计信息模块、退出模块 ), 最后开发出一个简易的网上论坛系统软件 ,主要实现发表新文章、回帖、留言、发布公告以及网
2、站流量统计等基本功能。 关键词 : 帖 子 ;留言;公告; 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 hav
3、e 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, adminis
4、trator), 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
5、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 课题背景 BBS Bulletin Board System 的缩写,翻译起来就是电子公告板,不过一般 USER(使用者 )还是习惯于用 B
6、BS 来称呼它。由于最早是用来传达股市价格等讯息,所以才命名为 “ 布告栏 ” 或 “ 看板 ” ,它与一般街头和校园内的公布栏性质相同,只不过 BBS 是通过电脑来传播或取得消息而已。 BBS 具有一些共同的基本功能,如:信件交流、文件传输、资讯交流、经验交流及资料查询等。使用者之间可以借助 BBS 突破以往的封闭观念,让你心爱的电脑也能认识 新朋友。如果是大型多线的 BBS 站,你还可以约集三五个好友一起上线,彼此通过线上会议室讨论问题。这些都是身为一个处于资讯爆炸的你我所不可缺少的帮手,有效地缩短人与人之间的距离,尤其是国内网络,更会令你有天涯若比邻的感觉!除了尽情地吸收别人发出的光亮
7、,也可以尽情地展现自己的才华,慷慨地与人分享经验。 1.2 本课题的研究任务及要求 1.2.1 主要任务 综合运用以前所学的专业知识,设计开发一个简易网上军事论坛系统软件,本设计要求实现基本功能 发帖及回帖,这是论坛的核心功能;在设计与开发中,重点关注各种用户的权限 这是论坛设计的关键,探讨论坛系统中三种用户(管理员、会员、游客)各自具有的权限及相应可以实现的功能。 1.2.2 相关要求 (1) 本系统的开发要求采用 B/S 结构, 选用所熟悉的开发工具(DreamweaverMX 2004)及开发环境 (IIS 5.0)进行本系统的设计与开发。 (2) 本毕业设计要求提供网上军事论坛系统所开
8、发实现的软件,要求软件具有操作简便、界面友好等特性。 1.3 本课题研究的意义 网上论坛作为互联网中运用最为广泛的通信工具之一,如今都已被广大网民接受, 它的主要服务是用来帮助浏览者相互沟通 ,吸引用户、服务用户的 。论坛发展到现在已经具有了很多功能:用户注册、浏览论坛版面和帖子、发布自己的帖子、相互留言、回复别人的主题、也可以修改自己的帖子等等这些基本功能,也有帖子评价、论坛收藏、帖子搜索、帖子移动、数据备份、非法言论过滤、非法 IP 的限制等比较复杂的功能。本毕业设计选择网上军事论坛系统,除了综合运用以前所学知识的能力,同时也可以了解当今网络通讯的一些新技术,并模拟开发简易网上论坛系统软件
9、;锻炼实际动手能力,对于以后工作能力的培养具有重要的意义。 第 2 页 1.4 本课题的研究方法 本系统的开发要求采用 B/S 结构 ,模拟网上论坛系统软件进行设计与开发。因此,本次毕业设计应首先分析论坛系统软件的相关功能,结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括 ASP、网络数据库及网页制作相关知识等),选择 Dreamweaver MX 2004 开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档,为后面的毕业论文的写作准备材料;最后,系统开发完毕后,
10、进行调试和试运行,做好调试和试运行的相关记录,也为后 面的毕业论文的写作准备材料。 1.5 运行环境 ASP 是一种服务器端执行的脚本语言,因此在开发、测试 ASP 应用程序之前,首先必须安装、配置服务器。其中,服务器分为两种,一种是 WEB 服务器,本系统选用 IIS 5.0 安装到 Windows XP 或者 Windows2000 Server 操作系统中(最好在 Windows XP 上,其性能相对较好);一种是数据库服务器,采用Access2000;另外,本系统采用基于对象( Object Base)和事件驱动( Event Driver)的 JavaScript 脚本语言以及最为常
11、用的 VBScript 脚本语言混合使用。特别说明:在运行本系统之前,将本系统的所有文件拷贝到 C: Inetpubwwwroot下。 2 总体设计 2.1 需求分析 本论坛系统主要针对游客、会员、(文章)主题、帖子、留言、公告信息、管理人员等对象进行操作,并得出一个简洁的列表,如下: 会员:经过注册论坛的使用人员,具有某些权限。 主题:论坛中发表某个观点及相应内容。 帖子:论坛中单个观点的讨论。 留言:论坛中用户之间相互联系。 公告信息:供所有用户浏览的信息。 管理员:为论坛服务的人员,系统预先设定。 游客:未经注册论坛的人 员,只能浏览、查看,进行某些操作时要求进行注册。 现在这个列表,就
12、是论坛要为之服务的主要对象。但是这些对象不是孤立的,它们之间是有着密切联系的。现在通过进一步的分析来获得这些对象间的关联。为了更加直观地看到对象间的关系,根据需求,再建一张各对象间关联第 3 页 表,见表 1: 表 1 论坛中各对象之间的关联 表 游客 会 员 主 题 帖 子 留 言 公 告 信 息 管 理 员 游客 注册 登录 浏览 浏览 评价 搜索 浏览 会员 留言 发表 浏览 回复 修改 浏览 修改 删除 评价 搜索 查看 发送 浏览 主题 帖子 留言 公告信息 管理员 留言 发表 浏览 回复 修改 删除 浏览 修改 删除 评价 搜索 查看 发送 浏览 发布 修改 删除 留言 经过具体的
13、功能需求后,就可以按模块开始论坛的设计了。当然,这些模块只是在功能上对论坛结构的划分。 2.2 系统架构设计 根据论坛所必需的功能,可将它们归类,组成系统开发的模块,以便于开发和分析。模块的划分主要是按每一个对象的操作来归类。论坛对象在需求分析中归纳了 7个,下面就针对这 7 个对象列出功能模块: 注册登录模块 主题模块 帖子模块 留言模块 公告信息模块 成员信息模块 网站统计信息模块 退出模块 这样,论坛中的模块功能的划分就清楚了。下面就列出功能模块列表: 第 4 页 表 2 论坛系统功能模块 模 块 模 块 包 含 的 功 能 注册登录模块 游客浏览登录 管理员登录 会员登录 新会员注册
14、主题模块 浏览主题信息 发表新话题 回复主题 修改主题 删除主题 帖子模块 浏览帖子 发表新话题 修改帖子 删除帖子 评价帖子 搜索帖子 留言模块 写留言 查看 自己的留言 查看所有的留言 公告信息模块 发布公告 浏览公告信息 修改公告信息 删除公告信息 表 3 论坛系统功能模块 (续 ) 模 块 模 块 包 含 的 功 能 成员信息模块 显示发表文章数 显示读取文章数 显示在论坛总时间 写留言 网站统计信息模块 显示今日浏览总数 显示昨日浏览总数 显示这个月浏览总数 显示上个月浏览总数 显示本站浏览总数 显示日平均浏览人数 显示当前访客是第几位 退出模块 退出本系统 另外,对于用户使用的模块
15、称为前台模块 ,管理员使用的模块称为后台模第 5 页 块,因此按照前、后台功能划分模块,如下: 图 1 按前、后台划分功能模块 2.3 数据库设计 2.3.1 数据库概念结构设计 概念层数据模型是现实世界到机器世界的一个中间层次,反映了现实系统中有用价值的信息结构,因此,对数据库的概念模型进行分析是必要的。本系统主要实现网上论坛的基本功能,包括发表主题文章、回帖、留言、发布公告,所以主题文章、帖子、留言、公告是四个实体,而其操作对象主要是游客、会员、管理员 三个实体 。 m n m n n m 图 2 游客实体 E-R 图 论坛系统 前台模块 后台模块 用户 模块 文 章 模 块 帖 子 模
16、块 留 言 板 模 块 版 面 浏 览 模 块 版 面 管 理 模 块 公 共 信 息 管 理 模 块 文章管理 模块 帖子 管理 模块 用 户 管 理 模 块 主题文章 游客 浏览 公告 浏览 帖子 查看 第 6 页 2.3.2 数据库 逻辑结构设计 从以上分析可以得到论坛的功能框架,即系统的各个部分已经确定,下面来设计论坛系统信息的存储,一般是在数据库中。数据库的设计是系统开发的基础,也是至关重要的一步。基于对功能的分析,下面给出论坛使用的数据表,如下: 表 4 论坛数据表 序 号 表 名 说 明 1 admin 管理员信息表 2 announce 公告信息表 3 counters 网站流
17、量统计表 4 currentuser 论坛日志表 5 details 论坛主题信息表 6 everuser 会员信息表 7 guest 留言 信息表 8 newessay 论坛最新主题信息表 9 Reply 帖子信息表 使用数据库的第一步是设计数据库的表结构,一个设计良好的数据库结构,可以提高效率,方便维护,并且为以后功能扩充留有余地。下面对数据库表结构进行详细分析,包括数据表的字段结构及相关说明,如下: (1) admin(管理员信息表 ):在该表中保存的是所有论坛中的管理员信息,该信息中账号、邮箱地址、密码、主页以及权限是系统预先定义好的,其中账号和密码不能为空,因为以管理员身份登录时必须
18、输入账号 (姓名 )和密码。 表 5 管理员信息表 (admin) 序号 字段名 字段类型 说明 备注 1 Num 自动编号 编号 主键 2 UID 文本 账号(姓名) 必填字段、非空字符串 3 Email 文本 邮箱地址 4 PWD 文本 密码 必填字段、非空字符串 5 HomePage 文本 主页 6 Essay 数字 发表新文章总数 默认值为 0 7 TotalTime 数字 上站总时间 默认值为 0 8 HowMany 数字 阅读文章总数 默认值为 0 9 Flag 数字 权限 默认值为 2 (2) announce(公告信息表 ):这个表记载了论坛中管 理员发布的所有公告信息,建立这
19、个表的原因是管理员可以及时将论坛的最新消息及相关声明告诉所有用户,用户可以迅速掌握论坛的最新动态,也可将它作为向导,寻找论坛中自己感兴趣的话题。 第 7 页 表 6 公告信息表 (announce) 序号 字段名 字段类型 说明 备注 1 ID 自动编号 公告编号 主键 2 Content 备注 公告内容 必填字段、非空字符串 3 CreateTime 日期 /时间 发布时间 必填字段 4 Author 文本 发布人 必填字段、非空字符串 5 Email 文本 发布人邮箱 6 HomePage 文本 发布人主页 (3) counters(网站流量信息统计表 ):对网站的访问情况进行统计是十分必
20、要的,可以根据这些信息分析网站是否受欢迎,从侧面了解本网站的经营情况。因此,在该表中记录了今日浏览总人数、昨日浏览总人数、本月浏览总人数、上月浏览总人数、本站浏览总人数、平均人数 /日等信息。 表 7 网站流量信息统计表 (counters) 序 号 字段名 字段类型 说明 备注 1 id 自动编号 编号 主键 2 total 数字 网站浏览总人数 必填字段 3 today 数字 网站今日浏 览总人数 必填字段 4 yesterday 数字 网站昨日浏览总人数 必填字段 5 month 数字 网站本月浏览总人数 必填字段 6 bmonth 数字 网站上月浏览总人数 必填字段 7 date 日期
21、 /时间 本次登录时间 必填字段 (4) currentuser(论坛日志表 ):日志作为查找错误、跟踪论坛活动的凭证,其记录的信息必须要保证详实,如果出现错误或者遗漏,在以后分析日志的时候就会出现偏差,因此日志表就需要设计得非常全面。日志表中设置了序列号,它由本次登录时间的时、分、秒及四位随机数组成的字符 序列组成,用来唯一标志该用户,跟踪该用户信息。日志表中的信息是在用户登录后生成的,它包括三种用户 (管理员、会员、游客 )信息。 表 8 论坛日志表 (currentuser) 序 号 字段名 字段类型 说明 备注 1 Num 自动编号 编号 主键 2 UID 文本 账号 (姓名 ) 必填
22、字段、非空字符串 3 Emial 文本 电子邮箱地址 4 LastLogon 日期 /时间 本次登录时间 必填字段 5 IPAdress 文本 IP 地址 必填字段、非空字符串 6 SerialNum 文本 序列号 必填字段 、非空字符串 第 8 页 7 Flag 数字 权限 必填字段 (5) details(论坛主题信息表 ):这个表记载了论坛中主题文章的信息,建立这个表的原因是用户在浏览论坛中的帖子之前,应当先看到的是主题列表,如果主题能够吸引用户,用户才会去看其中的内容,否则用户一进来便提供所有的信息,会使用户感觉非常地杂乱。 表 9 论坛主题信息表 (details) 序 号 字段名
23、字段类型 说明 备注 1 Num 自动编号 编号 主键 2 Child 文本 账号 必填字段、非空字符串 3 Levels 数字 回复帖子数 必填字段 4 UID 文本 文章发表人 必填字段、非空字符串 5 Email 文本 电子邮箱地址 6 Theme 文本 文章主题 必填字段、非空字符串 7 DateAndTime 日期 /时间 发表日期 必填字段 8 VisitTimes 数字 被点击次数 必填字段、默认值为 0 9 Length 数字 内容长度 必填字段 10 HomePage 文本 个人主页 11 Content 备注 文章主题 必填字段、非空字符串 (6) everuser(会员信
24、息表 ):该表记录了论坛中所有注册会员的个人信息(姓名 、电子邮箱、密码、个人主页 )和进入论坛之后的活动 (发表文章数、上站时间、阅读文章数 )以及会员的权限。 表 10 会员信息表 (everuser) 序 号 字段名 字段类型 说明 备注 1 Num 自动编号 编号 主键 2 UID 文本 账号 (姓名 ) 必填字段、非空字符串 3 Email 文本 电子邮箱 4 PWD 文本 密码 必填字段、非空字符串 5 HomePage 文本 个人主页 6 Essay 数字 发表文章总数 必填字段、默认值为 0 7 TotalTime 数字 上站总时间 必填字段、 默认值为 0 8 HowMany 数字 阅读文章总数 必填字段、默认值为 0 9 Flag 数字 权限 必填字段、默认值为 1 (7) guest(留言信息表 ):网上留言是用户经常光顾的地方,因此留言板是一个常用的交流信息手段,与聊天室相比,留言板不具有动态性和实时性,不过它信息量大,可以保存信息更加长久,对于网站,留言板也是信息反馈的途径,因为用户不仅可以给其他用户留言,而且可以给管理员留言,即对论坛