admin管理员组

文章数量:1531662

2024年1月22日发(作者:)

软件工程(论文)

题 目: BBS论坛管理系统

学 院: 计算机学院

专业名称: 08网络工程

学 号: 2

学生姓名: 钱 诚

指导教师: 刘天印

2011 年 04月 29日

毕业设计(论文)

BBS论坛管理系统

摘 要

近些年来,随着计算机的普及与发展,“Internet”一词已经让我们不再感到陌生,随着E时代的到来,新的理念和结构也在不断的形成和完善,计算机网络技术的发展对人类技术史的发展产生了不可磨灭的深远影响。计算机网络技术的发展推动了人类的科学技术的发展,同时给人们的学习,工作和生活带来了诸多的好处,特点主要体现在以下几个方面: 快捷性、自由性、开放性、互动性、创新性。伴随着计算机网络技术的迅猛发展和广泛应用,人类进入了全新的网络经济时代。

信息化、数字化、全球化、网络化应是21新世纪人类社会的重要特征,其中,以计算机网络迅猛发展而形成的网络化则是推动信息化、数字化和全球化的基础和核心。计算机网络技术的发展将以其融合一切现代先进信息技术的特殊优势而在21世纪形成一场崭新的信息技术革命,并进一步推动社会信息化和知识经济的发展。而计算机网络系统和相关技术也必将在21世纪社会信息化和知识经济浪潮中更快更大的发展。

基于J2EE的BBS论坛系统是在网络环境的支持下,支持用户进行发表文章、互通邮件、实时对话等功能的先进模式,BBS作为一种简便、松散、充满个性的现代电子远程通讯手段,现在在国内得到广泛的应用。BBS论坛是互联网上很常见的一种实时动态的交流平台。

BBS论坛系统主要为用户提供了用户注册,用户发布信息,用户信息管理查询用户信息,公告信息管理,推荐论坛管理,文字阅读管理,发帖主题管理,跟帖管理等功能;为管理员提供了对用户信息管理,公告信息管理,推荐论坛管理,推荐论谈管理,发帖和跟帖等功能。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装,用户信息验证使用JavaScript后台数据库选用Mysql数据库,设计数据库的工具选用Navicat Lite for MySQL 。

【关键词】: BBS论坛管理、数据源、SSH框架、JavaBean、JavaScript、Servlet、JSP

I

毕业设计(论文)

目 录

第一章 绪论 ......................................................... 0

1.1系统开发背景 ................................................................................................................ 0

第二章 需求分析 ..................................................... 1

2.1可行性分析 .................................................................................................................... 1

2.2业务流程 ........................................................................................................................ 1

2.3需求规范 ........................................................................................................................ 4

2.4数据字典 ........................................................................................................................ 6

第三章 概要设计 .................................................... 10

3.1系统运行总体流程 ...................................................................................................... 10

3.2系统体系结构 .............................................................................................................. 11

第四章 数据库设计 .................................................. 13

4.1数据库逻辑设计 .......................................................................................................... 13

第五章 详细设计与系统实现 .......................................... 17

5.1命名规则 ...................................................................................................................... 17

5.2模块设计 ...................................................................................................................... 18

第六章 系统测试以及软件安装 ........................................ 29

6.1软件测试基础理论 ...................................................................................................... 29

6.2软件测试目的 .............................................................................................................. 29

6.3软件测试方法分类 ...................................................................................................... 29

6.4论坛测试 ...................................................................................................................... 31

6.5测试报告 ...................................................................................................................... 32

6.6软件安装 ...................................................................................................................... 32

结 论 .............................................................. 34

谢 辞 .............................................................. 35

参考文献 .............................................................. 36

II

毕业设计(论文)

第一章 绪论

1.1系统开发背景

随着现代社会机械化程度越来越高,人们对机械知识的渴望越来越强烈,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习会使用户快速提高自己对于机械知识的了解和认知。针对这种现状开发了本系统。

论坛又名BBS,全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而及时的Internet电子信息服务系统。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。像日常生活中的黑板报一样,论坛按不同的主题分为许多版块,版面的设立依据是大多数用户的要求和喜好,用户可以阅读别人关于某个主题的看法,也可以将自己的想法毫无保留地贴到论坛中。

一般来说,论坛也提供邮件功能,如果需要私下的交流,也可以将想说的话直接发到某个人的电子信箱中。在论坛里,人们之间的交流打破了空间,时间的限制。在与别人进行交往时,无须考虑自身的年龄,学历,知识,社会地位,财富,外貌,健康状况,也无从知道交谈的对方的真实社会身份。这样,参与讨论的人可以处于一个平等的位置与其他人进行机械方面问题的探讨。论坛往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。我们当然可以利用它来解决机械学习中的一些疑惑。

后来随着因特网的普及,拨号BBS和BBS网络已经日渐凋零,所剩无几。目前的BBS站点,多数是基于Internet的Telnet协议。在服务器端,采用Maple BBS或者FireBird BBS系统。用户端通过Telnet软件如NetTerm、CTerm、FTerm等来登陆服务器,阅读发表文章,发送邮件,通过仿真的ZModem协议来上传下载数据文件。有些站点还提供SSH登陆,确保连接的安全性,还有很多站点提供Web方式的界面,方便用户使用。

中国大陆BBS界在Firebird BBS基础上还发展了Smth BBS、Ytht BBS、Lily BBS等,提供非常丰富web方式访问,如发文、即时消息、信件、Blog,而一些管理操作,如版面管理、个人文集,则仍然限定为Telnet访问。而客户端的Telnet软件也发展了很多便于操作的功能,如:鼠标响应、URL识别、图片预览,文章自动下载、自定义脚本等。

0

毕业设计(论文)

第二章 需求分析

2.1可行性分析

可行性研究是在项目开发前期对项目的一种考察和鉴定,对拟议中的项目进行全面的、综合的调查研究,其目的是要判断项目可行与否。信息系统技术可行性研究要从系统开发的计划出发,论述系统开发力量的可行性,同时论证系统方案中所采取的各种技术手段上是否可以实现。信息系统经济可行性研究主要是对项目进行经济评价,分析系统建设投资的可能性以及评价系统运行之后给组织带来的效益。信息系统营运可行性研究要给出的方案是否可以从人力、物力、组织工作等方面保证项目按计划完成实施,还要说明项目开发后在经济、技术和环境等方面能否保证系统正常运行。

由于系统建设是一项投资大、涉及面广、工程复杂的系统工程,因此必须充分的进行可行性论证,以确保投资的准确无误,而且信息系统建设是一项整体工程,必须站在系统的角度论证它的可行性才有说服力,才有意义。可行性研究的目的是用最小的代价,在尽可能短时间内确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下四个方面来考虑。

2.1.1 技术可行性

该课题---机械爱好者论坛,它采用了当前流行的B/S结构和Internet网络技术。而如今编写HomePage也没原来那么麻烦,网站的一些制作要求和素材在Internet随处都可以找到,制作网站的工具也是种类繁多。我们可以从中找到符合自己要求的工具。管理信息系统的开发有很多的实例,一些实例的源代码也可以提供参考。所以,从技术上来说,开发这个系统的技术难题是不多的。

2.1.2 经济可行性

从我搜集的一些资料来看,论坛系统对计算机硬件没有特殊要求,也可以以域名的形式提交到网上。而我们是自行开发的系统,成本可以忽略不计,还有后期维护的费用也相对比较低廉。

2.1.3 操作可行性

参照其它的系统,该系统在技术上完全可以实现与用户的良好交互作用,并且作为开发者,我也尽可能地减少让用户难以操作或是难以理解的交互方式。

2.1.4 法律可行性

本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,因此具有法律可行性。

综上所述,从技术上、经济上、法律上、可操作性上都是可行的,而且要求不高,所以该系统的开发是可行的。

2.2业务流程

1

毕业设计(论文)

业务流程描述:用业务流程图描述现系统各项业务处理过程,并结合业务流程图详细准确地说明业务处理过程中数据的收集、输入、传递、存储、加工的方法、算法、输出的数量及形式等。

现行系统的业务流程图是分析和描述现行系统业务的重要工具之一。其主要作用是:描述现行系统的业务情况以便于与管理人员交流,它是系统设计的前提和保证。

表2-1 业务流程图使用的符号:

符号

名称 实体

输入/输出的报表

处 理 业务流向 文档 存储

2.2.1 管理员管理系统的业务流程图

图2-1 管理员管理本系统业务流程图

系统管理员在后台界面可以对论坛的一些基本信息进行设定,可以对用户进行删除和修改,可以对讨论区的版面区域进行设置,可以查询系统中的用户。操作的相应结果都会存储在对应的数据库表中。

2.2.2 用户使用系统的用例图

2

毕业设计(论文)

用户使用本网站的信息,包括用户注册,登录,发贴,修改个人信息。用户系统的业务用例图如下:

图2-2 普通用户使用系统的用例图

一般的用户在注册用户名之后可以登陆到本网站,可以执行的功能有个人信息的维护,发帖子,浏览帖子,还可以根据帖子的主题或者作者名字来进行相应的搜索。相应的操作结果都将存储于对应的数据库表中。

图2-3

管理员使用系统的用例图

与一般的用户不同,具有管理权限的用户在登陆前台页面后除了可以执行一般用

3

毕业设计(论文)

户的功能例如个人信息维护,发帖浏览帖子之外,还可以对社区的一些公用信息,例如社区公告、社区最新活动消息进行添加和删除,还可以对一些用户进行管理。相应的操作结果都将存储于数据库中对应的表里。

2.3需求规范

2.3.1 产品背景

现在网络上大大小小的论坛特别多,论坛提供了各种人群的交流场所,而用户间的交流恰好满足了这种需要。用户与用户之间的互相讨论与学习能会使用户快速提高自己对于机械知识的了解和认知。

2.3.2 产品概述

本系统是个人机械爱好者论坛,完成论坛和管理的功能。由前台使用子系统和后台管理子系统构成。本系统的开发环境采用JSP+SQL库进行开发。运行的操作系统为windows操作系统的各版本,需要配置Tomcat服务器。

2.3.3 功能需求

本系统的功能分为用户使用子系统的前台和管理员管理子系统的后台构成。前台主要完成用户的注册,论坛信息的浏览,发表贴子的功能。后台系统主要完成会员信息的管理,论坛版块的管理和论坛信息的管理等功能。

2.3.4 性能需求

为适应本系统管理的实际工作情况,本系统的性能要求如下:

1.吞吐量:系统的吞吐量为10M/S。

2.响应时间:本系统的响应时间为10ms。

3.可靠性要求:当录入错误时应有提示。

4.安全性要求:使用本系统的用户需要身份验证,只有合法的用户才能使用本系统。

2.3.5 系统逻辑模型

它是描述系统的逻辑模型的,图中没有任何具体的物理元素,只是描述信息在系统中流动和处理的情况,它比口头与文字的描述更直观地显示出来系统中数据的使用。

数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况,即使不是专业的计算机技术人员也容易理解,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据在MIS中有输入经过存储、加工处理最后输出的全过程,是设计者和用户交流的很好的工具。

4

毕业设计(论文)

表2-2 数据流图的图形符号

图 形 符 号

名 称

实体

处理

符 号 说 明

记述系统之外的数据提供或数据获得组织机构或个人,框内为实体名称

记述某种业务的手工或计算机处理中,PM区记述处理标号

记述与处理有关的数据存储,DN区记述存储的标号,S区记述存储数据的名称

记述数据流的流动方向,FM记述数据流的名称

数据存储

数据流

数据流图采用自顶向下的方法绘制,从研究系统概况开始,然后逐层向下分解,直到所需的详尽程序为止。本系统根据前面绘制的业务流程图,采用自顶向下,逐层细化的方法,画的每一部分各层的数据流图如下:

图 2-4 网站系统TOP数据流图

5

毕业设计(论文)

图2-5 管理员操作子系统数据流图

管理员可以从数据库中获得所有的用户列表、论坛的一些基本信息、社区公告、社区活动通知等,并且可以对其进行修改,更新过后的数据存放于数据库中。

图2-6 用户操作子系统数据流图

用户在登陆本网站之后,可以获取数据库中存放着的个人基本信息、论坛的基本信息以及社区的一些信息例如社区公告、社区活动,还可以获取帖子的信息。但是用户只能对一些信息查看而不具备更改的权限,更新过后的数据又将存放于数据库中。

2.4数据字典

6

毕业设计(论文)

数据流程图可以使我们对系统的处理、每个处理的输入数据流、输出数据流以及系统的存储情况等清清楚楚。但是它无法表达各种数据流的数据结构,数据存储的数据结构,处理逻辑的加工处理过程等更加详细的信息。这正是数据字典的功能。

数据字典是对数据流程图的详细说明。在完成管理系统数据流程图的设计基础上,采用数据字典来对数据流程图做进一步的定义和描述,它同样也是一种结构化的工具,有自身的规范和结构。它的主要内容包括数据流、数据存储、数据流及数据存储中的数据元素和数据处理。

2.4.1 数据流的定义

数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}。

1、“级别”数据流

数据流名称:用户级别

描述:描述用户级别

组成:用户级别+经验值

来源:管理员

2、发贴设置数据流

数据流名称:发帖设置

描述:描述发帖设置的信息

组成:帖子最大长度+每页主题数+每主题贴子数

来源:管理员

3、版区设置数据流

数据流名称:版区设置

描述:描述版区设置的信息

组成:版区中文名+版区管理员

来源:管理员

4、用户管理数据流

数据流名称:用户管理

描述:描述用户授权信息

组成:用户名+ID+密码

来源:管理员

5、用户贴子信息

数据流名称:用户帖子信息

描述:描述用户帖子信息

组成:文章主题+文章状态+正文+发表时间

7

毕业设计(论文)

来源:用户

6、用户个人信息

数据流名称:用户个人信息

描述:描述用户个人信息

组成:用户名+昵称+密码+重复密码+Email+密码+密码提示问题+密码提示答案

来源:用户

2.4.2 数据存储定义

数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算机文档。一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。

1、“用户级别信息”存储定义

文件名称:用户级别信息

描述:登录系统用户的级别信息。

组成:用户级别+经验值

相关过程:级别设置

2、 “发帖设置信息”存储定义

文件名称:发帖设置信息

描述:对发帖的基本信息的设定。

相关过程:发帖设置

3、 “版区设置信息”存储定义

文件名称:版区设置的信息

描述:对版区的基本信息的设定。

组成:版区中文名+版区英文名+版区管理员

相关过程:版区设置

4、 “用户信息”存储定义

文件名称:用户的授权信息

描述:对用户授权信息的设定。

组成:用户名+ID+密码

相关过程:用户授权信息

5、 “帖子信息”存储定义

文件名称:帖子信息

描述:用户的发表的帖子信息。

8

毕业设计(论文)

组成:文章主题+文章状态+正文+发表时间

6、 “个人用户信息”存储定义

文件名称:个人信息

描述:用户的个人信息。

组成:用户名+昵称+密码+重复密码+EMAIL+密码+提示问题+密码答案

相关过程:用户授权信息

2.4.3 数据处理定义

处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}。

1、“管理员操作子系统”定义

过程名:管理员操作子系统

描述:完成管理员的所有操作

输入数据流:用户级别信息、帖子设置信息、版区信息、用户信息。

输出数据流:用户级别信息、帖子设置信息、版区信息、用户信息

2、 “用户操作子系统”定义

过程名:用户操作子系统

描述:完成用户的所有操作

输入数据流:用户个人信息、帖子信息。

输出数据流:用户个人信息、帖子信息

9

毕业设计(论文)

第三章 概要设计

经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。总体设计的基本目的就是回答“从总体上说,系统应该如何实现?”这个问题,因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素------程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后进行详细的设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。

3.1系统运行总体流程

用户名密码正确?

Y管理员登录N开始

后台操作界面

设置论坛信息

管理

社区

信息

退出网站

管理用户

结束

图3-1 后台管理系统运行流程图

10

毕业设计(论文)

后台管理员打开后台管理界面后,输入用户名:admin,输入密码:admin,如果输入错误则需要返回登录页面继续输入。如果输入正确,则可以进入后台管理的操作界面。这时,管理员可以执行后台管理功能。可执行的功能包括:论坛基本信息的设定、论坛社区信息的管理、用户的查询以及用户的删除。管理人员在完成后台的维护工作之后,只需要点击退出,管理员便可以退出后台管理系统。

开始

用户注册

用户登录

用户名密码正确?N

Y用户操作界面

退出系统

结束

图3-2 用户前台系统运行流程图

首先,用户需要注册一个账号和密码,然后在登录页面输入已注册的账号密码。如果输入错误,则要重新回到登录页面输入正确的账号密码。如果输入正确,则可以进入用户操作页面进行相应的操作。然后点击退出,用户退出本网站。需要注意的是,用户在注册账号时需要受到一定的限制,一些特殊的字符例如:fuck,不可以用于注册用户账号。这个信息是后台管理人员在后台维护界面设定的。同样也可以在用户注册页面给用户以人性化的小提示。

3.2系统体系结构

11

毕业设计(论文)

3.2.1 系统软件结构图

管理员后台管理功能结构图如下所示:

管理界面

注册账号管理论坛基本信息设定

用户查询密码更改

登录界面

图3-3 管理员后台管理功能结构图

本图详细的解释了后台管理界面所包含的内容:管理人员的登录界面、注册信息管理、论坛基本信息的管理、用户信息的管理以及密码更改。

管理员前台管理功能结构图如下图说示范:

图3-4 管理员前台管理功能结构图

用户注册用户登录用户界面

用户列表进入论坛社区管理 本图详细的解释了前台用户界面所包含的内容:用户注册、用户登录、个人信息管理、论坛讨论区、社区管理(针对具有管理权限的用户)。

12

毕业设计(论文)

第四章 数据库设计

“数据库”一词源于英文“Database”,直译为资料仓库,所以数据库实际上就是一个由大量资料所组成的集合。但是这些资料不是杂乱无章的堆积在一起,而是按照一定的规律和规则存储在计算机中。数据库的优点是很明显的, 它具有结构化的存储方式, 最小的空间冗余,而且在数据库中处理事务的程序与被处理的事务资料是分开存储的,这种独立性能够更好的保持资料的完整性和程序的可扩展性。

数据库系统为我们提供了一种把我们的工作和生活紧密相关的信息集合在一起的方法,它还提供在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS是专门负责组织和管理资料信息的程序), 数据库应用程序(它使我们能够获取,显示和更新由DBMS存储的资料), 数据库(按一定结构组织在一起的相关资料的集合)。

MIS逻辑模型的独立性是指MIS逻辑模型与用户,与现行系统逻辑模型的联系和对用户,对现行系统逻辑模型的依赖。MIS逻辑模型的独立性包括:

1、新系统是黑箱

系统本身是黑箱,它能实现用户的全部要求,完成从输入到输出的转换,它的内部结构是透明的,与现行系统的模型及其它因素无关。

2、对用户的独立性

用户与系统的相关性包括:向系统输入信息、使用系统输出的信息、与系统交互、输入或修改参数、调整模型并利用系统的输出信息、系统为用户提供友好界面。用户仅与系统局部结构特性相关,而与使用算法和技术无关。

3、对现行系统的独立性

建立系统逻辑模型的根据是系统应当具有的功能,而不应当是现行系统的逻辑模型。建立新系统逻辑模型的方法是自顶向下对系统功能做逐层分解。分解系统或子系统的根据是系统或子系内过程与数据间的联系。

在MIS系统开发以前,对用户要实现的目标要有明确的要求。一般可以通过建立数据库与职能部门的联系,从关联中确定各子系统的功能,为系统调查和分析提供确定的内容,作为系统设计的基础,成为目标调整的依据。

4.1数据库逻辑设计

数据库的逻辑设计即是表结构和表关系的设计,本系统的E-R图如下:

13

毕业设计(论文)

Id

nicknamepasswordIdemail1发表logoutimetitle用户注册表BBSCS_USERINFO1对应1用户信息表BBSCS_USERDETAILheightweightgraduateNhomepageqq回复信息表BBSCS_REPLYreplyidreplywriterfavrourmusicreplytimereplycontentN帖子信息表BBSCS_POST1回复contentaddusernametime

msn

favourbook

Userid

图4-1 数据库E-R图

本系统的表结构设计如下:

1、用户注册表

Bbs_userinfo表,该表记录着的用户注册的基本信息。

表4-1 用户注册表

字段名称

ID

Username

Nickname

Password

repasswd

Email

Question

Answer

Logintime

Logouttime

logintimes

字段类型

Numeric

varchar

varchar

varchar

varchar

varchar

varchar

varchar

Numeric

Numeric

int

字段大小

9

20

60

40

40

255

255

255

9

9

4

主键

Y

N

N

N

N

N

N

N

N

N

N

备注

注册序号

用户名

昵称

密码

重复密码

电子邮箱

密码提示问题

密码提示答案

首次登录时间

最后登录时间

登录次数

14

毕业设计(论文)

2、用户信息表

bbscs_userdetail表,该表主要用于存储用户的信息,包括用户号、身高、体重、兴趣、毕业院校、喜爱的职业、喜欢的音乐、喜欢的电影、喜欢的城市、喜欢的书籍、个人主页、QQ号码以及性别。

表4-2 用户信息表

字段名称

USERID

HEIGHT

WEIGHT

INTREST

GRADUATE

DREAMJOB

FAVOURMUSIC

FAVOURPLACE

FAVOURMOVIE

FAVOURBOOK

HOMEPAGE

OICQNO

SEX

字段类型

numeric

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

varchar

字段大小

9(10,0)

255

255

255

255

255

255

255

255

255

255

255

255

主键

Y

N

N

N

N

N

N

N

N

N

N

N

N

备注

用户id

身高

体重

兴趣

毕业院校

喜欢的工作

喜欢的音乐

喜欢的城市

喜欢的电影

喜欢的书籍

主页

QQ号码

性别

3、帖子信息表

该表主要用于存放帖子的内容,字段包括帖子id、帖子题目、帖子内容、作者姓名、发表时间等。

表4-3 帖子信息表

字段名称

Id

Title

Content

Addusername

Starttime

endtime

字段类型

Numeric

Varchar

Varchar

Varchar

Numeric

Numeric

字段大小

9

200

3000

20

9

9

主键

Y

N

N

N

N

N

备注

序号

标题

内容

发表人名字

开始时间

结束时间

15

毕业设计(论文)

4、帖子回复表

该表主要用于存放帖子回复的内容,包括回复用户id、回复时间、回复内容的等。

表4-4 帖子回复表

字段名称

Replyid

Replywriter

Replytime

Replycontent

字段类型

Numeric

Varchar

Numeric

Varchar

字段大小

9

20

9

3000

主键

Y

N

N

N

备注

回复人序号

回复人名字

回复时间

回复内容

16

毕业设计(论文)

第五章 详细设计与系统实现

总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。其任务就是把解法具体化,也就是回答下面这个关键的问题:“应该怎样具体地实现这个系统呢”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

详细设计阶段的任务是在总体设计的基础上进一步确定如何实现目标系统。

5.1命名规则

1名字不能用保留字和关键字,但如果保留字或关键字中有字母大写就不算保留字或关键字了。

2 开头字符能用字母、$或者_。

3 名字中不能用+、- 空格等字符。

4 部分易混的保留字关键字和非保留字关键字:

null, native, goto,const,instanceof,default是关键字保留字

then , sizeof , main,Boolean,unsigned,java, Integer不是关键字保留字

5.1.1 JSP基本数据类型

int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)

float长度数据类型有:单精度(32bits float)、双精度(64bits double)

boolean类型变量的取值有:ture、false

char数据类型有:unicode字符,16位

对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long

5.1.2 常量命名

常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。

例如: MAX_VALUE

5.1.3 其它部分命名规则

1.包的命名

JSP包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。

17

毕业设计(论文)

2.类的命名

类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。

3.方法的命名

方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。

例如: sendMessge

5.2模块设计

5.2.1 登录窗口设计

1、登录窗口功能描述

登录窗口用于对进入系统的人员进行身份识别和权限级别的确认。对未在系统注册的使用人员进行限制。对已在系统注册的人员,在正确输入用户名和密码及验证码后,便进入系统主窗口,同时根据用户的权限级别开放主窗口中的菜单的相应功能,并禁止不相关的功能。

登录窗口模块功能表为:

表5-1 登录模块功能描述表

功能编号

调查者

功能名称

调查时间

用户登录

所属部门

审核人

根据用户输入的用户编号、用户名和密码,确定其合法身功能描述

份和权限,以决定按规定的权限进入系统,或因身份不合法而退出系统。

输入项

窗口上的用户名,密码,验证码

数据库表“用户注册表”中的用户名、密码和权限。

首先连接数据库,然后判断用户输入的信息是否完整,再判断处理描述

数据库中是否存在该用户以及密码是否正确。若正确,则进入系统主界面(

),并根据该用户的权限开放其可使用的功能。

18

毕业设计(论文)

2、登录窗口界面

输出项

输入项

不完整的登录信息

不存在的用户账号

正确的账号

请将各项填写完整!

用户不存在

成功跳转

图5-1 登录窗口界面图

3、登录窗口界面说明

19

毕业设计(论文)

登录窗口是进入系统的第一个启动窗口。第一次来到本系统的用户可以在登录页面点击“注册”进行注册。如果注册成功,返回此登录页面,在文本框中依次正确输入用户名、密码和注册码后,单击“确定”按钮,便进入系统主窗口;若不正确,重新输入各项。

如果没有注册过的用户想要登录本论坛,他可以点击此登录页面的“游客”按钮,以游客的身份进入论坛。但是游客身份所能使用的功能受到了一定的限制。例如,游客无法修改自己的个人资料,游客无法发表帖子,游客无法回复帖子,当游客执行这些操作时都会有一些人性化的小提示。当然游客可以浏览帖子。

此登陆界面的风格是图形化用户界面,布局清晰、简洁,图形化命令按钮。界面以蓝灰色为基调。

4、登录窗口程序逻辑设计

结束Y登录成功用户名密码正确?输入用户名密码进行登录N注册Y开始N注册成功?

图5-2 登录窗口程序流程图

20

毕业设计(论文)

用户注册一个账号和密码,如果没有注册成功则需要重新注册直到注册成功。在登录页面输入已注册的账号的密码,如果没有输入正确则需要重新输入直到输入正确,此时便可以登录本网站。

5.2.2 主窗口设计

主窗口完成论坛的操作功能,包括会员发帖,版主管理论坛,社区统计,在线统计,用户列表等。

1、主窗口模块功能表为:

表5-2 主窗口模块功能描述表

功能编号

调查者

002

谢明峻

功能名称

调查时间

主窗口

2009-6-13

所属部门

审核人

完成论坛系统的全部操作。

功能描述

输入项 选择信息,查看论坛帖子,发帖信息,公告信息等

处理描述

输出项

对用户的操作进行处理,把相应的处理结果进行显示。

帖子信息,公告信息等。

图形化用户界面,布局清晰、简洁,图形化命令按钮。

界面要求 界面以蓝灰色为基调。

21

毕业设计(论文)

2、主窗口界面

图5-3 论坛主窗口界面图

3、主窗口界面说明

主窗口是进入系统的主要操作窗口,通过该窗口完成所有操作。如果该用户是普通的注册用户,那么他在登录后进入到此主窗口界面可以使用的功能有:修改个人资料、上传照片、更改昵称、浏览社区公告以及最新社区活动消息、浏览帖子、回复帖子、发表帖子;如果该用户是具有管理权限的用户,那么他在登录后进入到此主窗口界面可以使用的功能有:修改个人资料、上传照片、更改昵称、更改删除社区公告以及最新社区活动消息、浏览帖子、发表帖子、回复帖子、查看网站用户列表、删除指定用户;如果该用户只是没有注册过的游客,那么他可以使用的功能就大大减少了.他无法修改个人的信息、无法回复帖子、无法发表帖子,仅仅能查看帖子。

添加公告板内容的部分代码如下::

类用于添加公告板内容

package ; //声明包语句,且package作为java源文件的第一条语句,指明该源文件定义的类所在的包

import izable; //引入包中的izable类,一个java源文件可有多个import语句

import ;

22

毕业设计(论文)

import ngBuilder;

public class Board implements Serializable { //定义公告类并实现接口Serializable

private Long id; //定义变量:私有,长整型

private String boardName; //定义变量:私有,字符串型

private String eboardName; //定义变量:私有,字符串型

private String bmaster; //定义变量:私有,字符串型

private short attrib; //定义变量:私有,短整型

private short orders; //定义变量:私有,短整型

private Map boards;

public Board(String boardName, String eboardName, String bmaster,

short attrib, short orders, Map boards) {

ame = boardName;

Name = eboardName;

r = bmaster;

= attrib;

= orders;

= boards;

} //构造函数—--使用该构造函数则对上述变量分配空间且对其初始化

public Board() {

} public Long getId() {

return ; //获取版主ID值

}

public void setId(Long id) {

= id; //设置版主ID值

}

public String getBoardName() {

return ame; //获取版区名字

}

public void setBoardName(String boardName) {

ame = boardName; //设置当前对象的版区名字

}

public String getEboardName() {

23

毕业设计(论文)

return Name; //获取子版区名字

}

public void setEboardName(String eboardName) {

Name = eboardName; //设置子版区名字

}

public short getAttrib() {

return ; //获取贡献值

}

public void setAttrib(short attrib) {

= attrib; //设置贡献值

}

public short getOrders() {

return ; //获取当前对象的版区序列号

}

public void setOrders(short orders) {

= orders; //设置当前对象的版区序列号

}

public Map getBoards() {

return ; //获取公告值

}

public void setBoards(Map boards) {

= boards; //设置公告值

}

public String toString() { //函数功能显示发布公告的版主id

return new ToStringBuilder(this) //用当前对象创建ToStringBuilder类的一个对象

.append("id", getId()) // append功能:追加子串,即在‘id’后追加字符串:版主的id号,比如若版主id为0618,则执行该函数后,生成结果为:id0618

.toString(); //再次调用该函数,显示另一个在bbs上面发布过公告的版主id,循环至显示出所有版主id

}

}

24

毕业设计(论文)

4、主窗口程序逻辑设计

图5-4 论坛主窗口程序流程图

结束退出发表帖子更改个人信息具有管理权限?N浏览帖子回复帖子Y更新社区活动登录后进入用户操作界面管理用户列表开始更新社区公告

在用户成功登录到用户操作界面后,如果该用户不具有管理权限则只能执行的操作有:更改个人信息,例如:身高体重、个人昵称、个人爱好、个人照片、个人密码等,还可以浏览帖子、发表帖子、回复帖子。如果该用户具有一定的管理权限,则他可以对社区进行管理,例如:更新社区公告、更新社区活动、管理用户列表。

5.2.3 后台窗口设计

后台部分完成对整个机械爱好者论坛的设置,包括论坛基本信息的设置、对注册的一些设置、版区设置以及用户的查询。

25

毕业设计(论文)

1、主窗口模块功能表为

表5-3 后台模块功能描述表

处理描述 对网站的一些基本信息进行设定,由管理员来进行操作

输出项 论坛的基本信息、用户的基本信息、版区信息

输入项 需要修改的论坛信息、需要修改的用户信息、版区设定

2、后台窗口界面

图5-5 后台管理登录界面图

26

毕业设计(论文)

图5-6 后台管理操作界面图

3、后台管理界面说明

后台管理员在登录窗口输入用户名密码之后便可以登录到管理平台对后台信息进行管理。后台管理员的用户名和密码是设定好的:用户名为admin,密码为admin。成功登录之后,便进入了后台管理主界面,该界面的色调是以棕黄色为主调。后台管理主要用于设置一些最基本的前台信息。例如:后台管理员可以在这里设置论坛的基本信息、可以对用户注册时使用的用户名进行一些限制、可以为前台增设版区、可以查询指定的用户并对其进行修改删除、可以修改个人密码。当然,一个基本论坛的后台管理部分所实现的功能应该是强大的,大部分论坛的后台管理还应该实现对于回复帖子的一些限定、对于论坛每页帖子数量的设置、对用户级别进行设置、对用户进行封锁,所以从这里我也看到了自己程序的不足之处。

4、后台部分程序逻辑设计

开始输入用户名:admin密码:adminN

输入正确? 27

Y

毕业设计(论文)

图5-7 后台部分程序流程图

管理员在登录页面输入用户名:admin密码:admin,如果输入不正确则需要重新输入,如果输入正确便进入了后台管理界面。在该界面,管理员可以执行一些操作对论坛的板块、用户的信息、论坛的基本信息以及密码进行修改。然后点击退出,就可以退出本网站。

28

毕业设计(论文)

第六章 系统测试以及软件安装

6.1软件测试基础理论

6.1.1 软件测试定义

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。

软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。

6.1.2 软件测试基本概念

1、测试的含义

所谓测试,首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。测试活动有两种结果:找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例的集合。

测试用例:所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。

2、测试的步骤

测试步骤详细规定了如何设置、执行、评估特定的测试用例。

软件生命周期:一个软件生命周期包括制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。

软件测试在软件生命周期中横跨两个阶段:

单元测试阶段:

即在每个模块编写出以后所做的必要测试

综合测试阶段:

即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试。

6.2软件测试目的

测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。检查系统是否满足需求也是测试的期望目标。一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。

6.3软件测试方法分类

软件测试技术按照不同的划分方法,有不同的分类:静态测试、动态测试;黑盒测试、白盒测试;单元测试、集成测试、回归测试、系统测试、验证测试以及确认测试。

6.3.1 静态测试与动态测试

按照软件测试分析与非分析方法而论,软件测试可以分静态测试和动态测试。

29

毕业设计(论文)

1、静态测试

指不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括:代码检查 、静态结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行。

2、动态测试

动态测试方法是指计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进行分析,以达到检测的目的。

动态测试包括:功能确认与接口测试 ,覆盖率分析,性能分析,内存分析。

6.3.2 黑盒白盒与白盒测试

1、黑盒测试

按照软件测试用例的设计方法而论,软件测试可以分为白盒测试法和黑盒测试法。

若测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-box Testing)方法。

黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。

黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。

2、黑盒测试的特点

黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。

黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。

若测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-box Testing)方法。

3、白盒测试

白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。

白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。通常的程序结构覆盖有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。

6.3.3 单元测试、集成测试、系统测试、验证测试和确认测试

按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。

30

毕业设计(论文)

测试中的错误分类:

A类错误:致命错误——引起程序异常中断或死机的错误等。

B类错误:功能错误——业务功能实现错误、程序执行结果错误等。

C类错误:功能缺陷——功能操作不方便、缺少操作提示等。

D类错误:界面缺陷——界面设计不符合本系统的界面设计规范等。

E类错误:测试正确——正确的测试项、测试结果与预期的一致等。

6.4论坛测试

本系统各部分模块,采黑白盒测试。

6.4.1 测试用例设计要求

一个好的测试用例,应该包含以下信息:

1、软件或项目的名称

2、软件或项目的版本(内部版本号)

3、功能模块名

4、测试用例的简单描述,即该用例执行的目的或方法

5、测试用例的参考信息(便于跟踪和参考)

6、本测试用例与其他测试用例间的依赖关系

7、本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的访问权限

8、用例的编号(ID),如可以是:软件名称简写-功能块简写-NO.

9、步骤号、操作步骤描述、测试数据描述

10、预期结果(这是最重要的)和实际结果(如果有BUG管理工具,这条可以省略)

11、开发人员(必须有)和测试人员(可有可无)

12、测试执行日期

31

毕业设计(论文)

6.4.2 登录系统模块测试用例

表6-1 登录测试用例

项目软件

功能模块

功能特性

测试目的

测试数据

操作步骤

操作描述

输入用户名1 称,密码,按“登录”。

输入用户名,2 密码,按“登录”。

输入错误的验证码。

机械爱好者论坛 程序版本 V1.0

编制人 谢明峻

用户身份验证

验证是否输入合法的信息,允许合法登录,阻止非法登录

用户名=3333 密码=123456

实际结果

测试状态

数据 期望结果

用户名=3333密码555555

“无此用户” 系统提示“无此用户” 正常

用户名为3333密码为123456

进入系统 进入系统 正常

显示警告信息3

“验证码错误”

显示警告信息“验证码错误!”

正常

6.5测试报告

本系统经过测试,各部分的功能基本正常,达到了预期的目的。

通过对系统的全面测试,我学到了许多测试方面的知识,了解到测试方法、测试经验。通过本次设计,使我了解到测试的重要性。通过测试,可以使软件更适合用户的需求,更加稳定、可靠地运行,并能适应市场竞争,应用前景广泛。

6.6软件安装

由于本系统采用了JSP、SQL SERVER技术,因此需要的软件包括有JDK、TOMCAT、SQL SERVER。

32

毕业设计(论文)

6.6.1 JDK的安装

首先,JDK的安装配置。双击文件,装完之后,设置环境变量。右击“我的电脑”

选“属性”,选“高级", 选“环境变量”,在这个窗口中选最下面的“新建",变量名:javapath,变量值:C:Program FilesJavajdk1.5.0_05(这个是安装的默认路径),点击“确定”,创建环境变量。

6.6.2 TOMCAT的安装

其次,TOMCAT5.0的安装配置。双击安装文件,安装完成之后需要把完成的程序复制到,C:Program FilesApache Software FoundationTomcat 5.0webapps文件夹下。

6.6.3 SQL SERVER的安装

最后,SQL SERVER2000的安装配置。双击安装文件进行安装,安装过程中,需要更改SQL SERVER系统管理员登录信息。安装完成之后,要在SQLSERVER的企业管理器中添加程序的数据库。到此所有所需的软件都已经安装完毕。

启动TOMCAT服务器以及SQL SERVER服务器,在启动服务器时确认没有报错的情况下,就可以进入本系统。

打开IE浏览器,在地址栏中输入以下网址:localhost:8080/jsp-example/便可以进入本系统。

33

毕业设计(论文)

结 论

本次毕业设计到此已经顺利结束,通过这次的毕业设计,我学到了很多。在以前的5年时间内我学习了很多的课程及编程语言,虽然通过学习对这些课程有所了解和掌握,但是始终处于理论知识的掌握阶段,并没有真正应用于实践设计开发,所以对知识的掌握还不够全面和熟练。而且并不能真正独立的开发出一个完整的应用于实际的系统。通过这次的毕业设计,我已经可以完成这一任务,对自身的编程能力也有了很大的提高。这次开发的系统是一个动态网页,而不是简单的静态网页,因此采用了在开发动态网页方面比较先进的JSP作为开发语言。JSP是一种WEB编程脚本语言。当然在学习的过程中曾经碰到过一些让人头痛的问题,我都一一解决了,直到系统全部完成,也让我在解决问题方面的能力得到了提高。

整个开发的过程对我来说是一次能力的真正提高的过程;是一次将理论应用于实践的过程;是将以前所学知识充分利用的过程,比如管理信息系统,数据库概论等等;是一次真正的实践过程。

总体说来,在这次长达一个学期的毕业设计中,我真正学到了很多有用的东西,是一些在课堂内所学不到的知识,收获很大。

34

毕业设计(论文)

谢 辞

这是我们大三时光即将结束的时刻,是一个值得纪念的时刻。此时此刻,短暂的毕业设计就要画上句点,人生中的大学时光也即将画上倒数第二个分号。心中的感受复杂交错,有即将毕业的兴奋、有毕设完成的轻松感、也有对大学时光的恋恋不舍。

在此论文即将完成之时,首先我要特别感谢我的指导老师刘天印老师!谢谢老师给予我悉心的关怀与指导。记得第一次见到老师时,立刻体会到了一种亲近的感觉。老师认真负责的工作态度、严谨的治学风格、亲切平易近人的性格,使我深受启发,内心许多次都在感激我能在大学最后的时光遇到了刘天印老师。正是在老师的督促和耐心的指导下,才让我将毕设各方面的工作完成得最好。

其次,也感谢院系各级领导对我的关心,为我提供了舒适的工作、学习环境。

最后,感谢同学们在开发的期间,给我的无私的帮助。曾经遇到过很多疑难,正是与同学们的相互探讨使我获益匪浅,才能让我继续前进的脚步。短短几个月时间内,除了学会了基本软件系统的开发外,更重要的是学到了兢兢业业,奋发向上的精神!这种精神将是我今后人生前进道路上的一种力量,所以我再次衷心地感谢老师和我的同学们,谢谢你们了!

35

毕业设计(论文)

参考文献

[1] 孙卫琴,李洪成编著.Tomcat与Java Web开发技术详解[M].电子工业出版社,2004

[2] 飞思科技产品研发中心编著.JSP应用开发详解[M].北京:电子工业出版社,2004

[3] 张海藩编著.软件工程导论[M].北京:清华大学出版社,2003

[4] 萨师煊,王珊著.数据库系统概论[M].北京:高等教育出版社,2003

[5] 余晨,李文炬编著.SQL Server 2000培训教程[M].北京:清华大学出版社,2002

[6] 宣小平,但正刚,张文毅编著.JSP 数据库系统开发实力导航[M].北京:人民邮电出版社,2003

[7] Martin Bond,Dan Haywood,Debbie Law,Andy Longshaw,Peter Roxburgh著.周辉,付煜,赵本宇,周水生译.21天学通J2EE.第二版[M].北京:人民邮电出版社,2005

[8] 耿祥义,张跃平编著.JSP实用教程[M].北京:清华大学出版社,2003

[9] 袁扬,王彦峰编著.边学边用Dreamweaver MX 2004[M].北京:清华大学出版社,2004

[10] 周苏,王文编著.软件工程学教程[M].北京.科学出版社,2002

36

本文标签: 系统用户信息测试论坛