摘 要

20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。本文研究了一种网上论坛系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。网上论坛作为互联网中运用最为广泛的交流场所之一,如今都已被广大网民接受,它的主要作用是用来帮助浏览者相互沟通。    本设计尝试用JSP在网络上架构一个网上论坛系统,采用SSH框架和Oracle数据库开发而成,以推进论坛无纸化,过程电子化,管理智能化的发展。本文从理论和实践两个角度出发,对一个具有数据分析功能的网上论坛系统进行设计与实现分析。论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术,特别深入介绍了在本系统中运用到的知识,如:面向对象的分析设计流程;系统中所用到的开发技术JSP以及java的特点、结构框架以及使用方法。接着对网上论坛系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。

【关键词】面向对象分析与设计,JSP,数据库,SSH













Abstract

The late 20th century, with the development of computer science, database technology application in the Internet more and more widely, for the majority of Internet users with a more thoughtful and human services. Personalization has become the trend of today's Web applications. In this paper, an online forum system, this program has been used with some of today's online programs, compared with a simpler user interface more intuitive and so on. Online Forum as the most widely used Internet sharing one of the sites, the majority of Internet users now have been accepted, its main role is to help visitors communicate with each other.     The design attempts to use JSP in an online forum on the network architecture system that uses SSH framework and SQL Server database development is made to promote the Forum paperless, electronic process, the development of intelligent management. In this paper, both theoretical and practical point of view, on an online forum for data analysis design and implementation of the system. Firstly, a more detailed description of the object-oriented analysis and design concepts and techniques, especially introducing the use of this system to the knowledge, such as: object-oriented analysis and design process; system development techniques used in the JSP and the characteristics of java, structure and use. Then, the feasibility of online forum system was analyzed, and then design the system, the overall system design goals and structure of a clear plan. Finally, the main page of the system, database, application design and realization of a more detailed explanation.  【Key words】Object-Oriented Analysis and Design, JSP, database,SSH








目 录

摘 要

Abstract

第1章 引言

1.1课题背景

1.2国内外研究现状

1.3本课题的研究意义

1.4 网上论坛系统特点

1.5本人所做的主要工作

第二章 可行性研究与需求分析

2.1 可行性研究

2.1.1 经济可行性

2.1.2 技术可行性

2.1.3 运行可行性

2.1.4 时间可行性

2.1.5 法律可行性

2.2 系统需求分析

2.2.1 系统开发运行环境

2.2.2 业务描述

2.2.3 系统功能概述

2.3.4 数据流程

2.3.5非功能性需求

2.3.6用户界面需求

2.3.7软硬件环境需求

2.3.8产品质量需求

2.3系统总体结构分析结论

第三章 相关技术分析

3.1 JSP技术简介

3.2 JSP工作原理

3.3 MVC 设计模式与Struts构造

3.3.1 MVC 设计模式

3.3.2 Struts框架技术

3.4 O/R映射与Hibernate构架

3.4.1 Hibernate框架

3.4.2 Hibernate的核心接口

3.6 开发平台

3.7 SQLSERVER 2000 数据库

第4章 系统总体设计

4.1系统分析的任务与步骤

4.1.1 系统分析的任务

4.1.2 系统分析的步骤

4.2论坛的功能模块图

4.3 数据库设计

4.3.1概念模型设计(E-R图)

4.3.2数据库表设计

第5章 界面设计

5.1 首页

5.2 用户注册

5.3 帖子浏览

5.4 发表帖子

5.5 管理中心

第6章 系统的调试与测试

6.1 测试概述

6.1.1软件测试的目的

6.1.2软件测试的任务

6.1.3测试环境

6.2 单元测试

6.2.1黑盒测试

6.2.2白盒测试

6.2.3模块接口测试

6.3 集成测试

6.3.1自顶向下集成

6.3.2确认测试标准

结论

参考文献

致  谢


第1章 引言

1.1课题背景

论坛服务已经是互联网上的一种极为常见的互动交流服务。杰普论坛可以为学生提供开放性的分类讨论区专题服务,学生们可以在此发表自己的学习方法,交流某些技术,经验乃至人生的感悟与忧欢,也可以查看自己感兴趣的内容,亦可以作为老师和学生交流的渠道。

1.2国内外研究现状

 BBS起源于20世纪初。最初,论坛只是用于发布公共信息和讨论问题的在线交流平台;后来,随着网络的普及,论坛的功能也越来越丰富,不仅仅可以发表文字,更是可以使用多媒体,受到了广大网民的欢迎。因此,商业网站对论坛重视起来,纷纷在自己的网站上开辟论坛,作为与网民交流的园地,同时在线技术支持和在线服务也在论坛中开展起来。

1.3本课题的研究意义


随着杰普软件公司学生人数不断增加,学生与老师交流方面会相对减少,对学生的学习会产生一定的影响,为了让学生在产生问题或者有自己的意见或建议时能与老师更方便的沟通,这时就可以选择论坛系统来增加学生与老师的交流,这样一来,杰普软件公司不仅可以更了解学生,而且可以让学生更多的与老师学生交流,从而对自己的学习产生有利的影响。

技术的发展一日千里,尤其是Web开发技术。早年间,我们还只能用静态的HTML编写静态的网站,毫无交互性可言。随着技术的飞速发展,我们有了动态的HTML(DHTML),然后有了脚本(Script),脚本有很多种,这些都伴随着早期的Web开发者走了很长,很苦的日子。到了21世纪,Web的开发者们迎来了幸福的生活,Microsoft,Sun等公司相继推出了强大,快捷的ASP,PHP,JSP和ASP.NET等开发技术,我们可以使用多种编程语言来进行开发,大大提升了网站开发的效率,质量。我们尽管可以说哪一种技术是最流行的,但是很难说哪一种技术是最好的,每一种技术都在它最对口的应用上。对于电子论坛系统,我选择了JSP技术,它同样可把我们想要的功能很好的实现。

1.4 网上论坛系统特点

1、简约的系统操作界面

整个系统的操作界面,界限明晰,人机界面美观,操作极具人性化。

2、完备的系统操作功能

系统开发的宗旨是最简约的操作步骤最完备的操作功能。初一看,这好像很矛盾,但是经过完整的策划编排,系统完全做到了功能无冗余无遗漏,这点也更好的体现了系统的人性化设计。

3、人性化的操作界面

一个网站,能否吸引顾客的经常光顾,界面的美观也显得非常重要。本论坛系统通过专业美工的精心打造,让论坛系统的设计充分体现软件的时尚、大众化。

4、完善的安全机制:独立的密码校验功能,确保用户和论坛系统的数据有较好的安全性。

1.5本人所做的主要工作

首先,对论坛进行需求分析,掌握所做论坛都需要哪些功能。由于定位是杰普内部论坛,所以论坛分为两大模块,杰普人员管理和论坛管理,人员管理模块当中,应该具备人员的师生的录入,帖子权限的分配,对于论坛管理,也大致分为两个模块,后台管理和论坛查看,在后台帖子管理模块当中,应该具有对帖子的添加、修改、删除的功能,在前台帖子浏览模块当中,应该具有帖子的浏览、看完帖子之后的评论等等。

然后,要对论坛进行系统的设计,它包括各个功能模块的设计和数据库结构的设计。论坛采用动态服务器网页JAVA作为开发语言,Oracle作为后台数据库来开发。在功能模块设计中,要确定各个分模块之间的联系,以及前台模块与后台模块之间的联系。在数据库结构设计中,要考虑建立几个数据表。各个数据表之间的关系,以及如何把网页与数据库连接起来。

最后,就是系统的实现,根据前面所做的工作,对论坛进行详细的设计与实现,通过参考大量的书籍掌握Java语言的用法,以及怎样用JDBC连接数据库的。再实现各个功能模块。

 (1)阐述整个个性化页面的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。

(2)设计实现用户管理、帖子管理、版面管理、数据库管理、浏览查找功能等。

(3)分析并解决实现中的若干技术问题。 

(4)建立完整的网上论坛,进行测试并分析结果。





第二章 可行性研究与需求分析

2.1 可行性研究

该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行等方面进行分析。

2.1.1 经济可行性

开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。

2.1.2 技术可行性

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

本系统的开发,是典型的Mis开发。采用JSP编程语言,已无技术上的问题。

2.1.3 运行可行性

运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。

2.1.4 时间可行性

从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。

2.1.5 法律可行性

① 所有技术资料都为合法。

② 开发过程中不存在知识产权问题。

③ 未抄袭任何系统,不存在侵犯版权问题。

④ 开发过程中未涉及任何法律责任。

综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。

2.2 系统需求分析

2.2.1 系统开发运行环境

鉴于系统的开发语言和数据库,采用如下的开发环境

开发环境: Windows XP  Tomcat6.0  JDK1.6

硬件实现:PentiumⅣ2.4G 1G内存 80G硬盘

开发语言:  Java

数 据 库:  Oracle

开发工具:  Eclipse

预期成果: 一个可扩展的基于MVC模式的 BBS论坛

2.2.2 业务描述

对于访问论坛的用户,可分为注册会员和为注册的临时用户,这两种用户有着不同的权限,比如临时用户只能对帖子进行查看,而注册会员除了查看帖子之外,还可以发帖,回复,查找用户,并且可以对自己的注册资料进行修改等等,

系统的用例图如下:


基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据

图2.1 系统用例图


2.2.3 系统功能概述

本系统是基于杰普的BBS软件,根据用户的需要和实际的管理条件,应由用户功能实现,帖子功能实现和后台管理等几个模块所构成,而管理员可以对用户和帖子进行相关的管理.

鉴于本系统的性质,系统应该实现以下功能.

1.系统管理

(1).师生信息的录入

(2).师生访问权限的设置

2.论坛功能实现

(1).前台功能实现

a.帖子的发表

b.帖子的回复

c.帖子的浏览

(2).后台管理

a.添加模块

2.3.4 数据流程

本系统是为了提供给广大用户一个网上交流的平台,所以论坛的流程是以用户为中心进行的.

数据流图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流图具有以下两个特性:

(1)抽象性:表现在它完全舍去了具体的物质,只剩下数据的流动、加工处理与存储。

(2)概括性:表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。

数据流图由以下四种基本元素组成,既外部实体、数据流、处理(功能)、数据存储等,数据流图中所用的符号如下:

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_02


基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_03

图2.2 数据流程图

2.3.5非功能性需求

非功能性需求针对整个系统进行。

2.3.6用户界面需求

表2-1 用户界面需求表

需求名称

详细要求

风格

界面友好,布局合理,美观大方,实用性强,操作简单

颜色

淡蓝色系为主

分辨率

1024*768

2.3.7软硬件环境需求

表2-2 软硬件环境需求表

需求名称

详细要求

运行速度

系统启动运行时间不超过5min,人机界面交互时间不超过5s

容量

占用内存大于15MB

操作系统性能

10/100M bit/s

网络传输率

10/100M bit/s

2.3.8产品质量需求

表2-3产品质量需求表

主要质量属性

详细要求

正确性

经过测试达到了预期的效果

健壮性

具有一定的健壮性

可靠性

容错能力强,测试质量合格

性能,效率

性能优,效率高

易用性

跨平台操作

清晰性

安全性

安全可靠性极佳

可扩展性

优良的可靠的接口

兼容性

可作用于任何平台

可移植性

正确的进行软件配置后,就可以正常运行程序



2.3系统总体结构分析结论

通过对系统框架及数据库的选择,和总体的需求分析,完成了前期对系统模块的划分,数据的流程,以及一些可行性的分析.在此基础上,可以系统的数据库和功能模块进行概要设计.









第三章 相关技术分析

3.1 JSP技术简介

JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。

在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。

3.2 JSP工作原理

JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。

3.3 MVC 设计模式与Struts构造

3.3.1 MVC 设计模式

在传统的WEB应用中基本都是将逻辑处理,数据处理和页面显示等大部分功能都放在JSP网页上。经验比较丰富的开发者会将数据从表示层里分离出来,但通常不是很容易做到的,它需要精心地计划和不断的尝试。MVC设计模式从根本上强制性地将他们分开[4]。尽管构造MVC应用系统需要一些额外的工作,但是它给我们带来的好处毋庸置疑。MVC把应用程序分成了3个层次:模型,视图和控制器,如图1-2所示,它们分别扮演不同的角色,完成不同的任务。

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据_04

图3-1  MVC各部分的关系和功能

3.3.2 Struts框架技术

Struts 框架就是基于Model 2 的架构,也就是基于MVC模式的框架技术[5]。它是一个免费的开源的WEB层的应用框架,具有很高的可配置性,和有一个不断增长的特性列表。一个前端控制组件,一系列动作类,动作映射,处理XML的实用工具类,服务器端java bean 的自动填充,支持验证的WEB 表单,国际化支持,生成HTML,实现表现逻辑和模板组成了struts的灵魂。图3-2显示了Struts组件是如何一起工作的。

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_05

图3-2  Struts框架的组件结构

视图(View)是用户看到并与之交互的界面。在视图中的JSP文件中没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或是客户化标签,如Struts标签库的标签。

模型(Model)是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。

控制器(Contorl)接受用户的输入并调用模型和视图去完成用户需求。在Struts中控制器由ActionServlet类和Action类来实现。ActionServlet继承了javax.servlet.HttpServlet类,它在MVC模型中扮演中央控制器的角色。ActionServlet主要互责接受HTTP请求信息,根据配置文件Struts-Config.XML的配置信息,把请求发给适当的Action对象,如果该Action不存在,ActionServlet 就会创建一个Action对象。

所有的页面跳转都集中在配置文件中,提高了程序的可读性与可维护性。采用Struts框架进行Web开发的主要优点包括:

(1)页面显示与业务逻辑处理的分离,而不是将页面显示页业务逻辑混合在一起,这样可以提高系统的安全性,同时也提高了程序的灵活性和复用性。

(2)所有的页面跳转都集中在配置文件中,提高了程序的可读性与维护性。

(3)易扩展。该框架是多个相互独立的部分所组成的,如Action类主要负责页面数据与数据库数据之间的转化,Service 类主要负责业务逻辑运算,Form类与Model类则主要负责封装各种数据。同时,我们还能根据实际的需要定制各种组件,如数据库的连接组件,各种图形的生成等。

(4)开发效率高。使用该框架进行开发可以使我们将主要的精力放在业务逻辑的开发上。

3.4 O/R映射与Hibernate构架

对象持久化,持久(Persistence)就是把数据保存到可永久保存得存储介质和设备中。而持久化的主要目的就是将内存中的数据存储在关系数据库或者磁盘文件和XML数据文件中。

O/R技术,需要同时使用面向对象和关系型数据进行开发。

现在的MVC系统设计中,MVC中的M(即Model),可以说是业务逻辑和数据逻辑关联最为紧密地部分。而持久层作为Model层面中的主要组成,其设计优劣对系统的整体表现产生至关重要的影响。由于绝大多数业务模型都涉及到关系数据库,在采用Java作为信息系统的开发语言时,传统Web应用开发方法是直接用JDBC与数据库交互,但是这个工作量很大,而且一旦业务逻辑稍微有一些变更,就要大量地更改这些JDBC中的SQL语句,因此不管是开发还是维护系统都很不方便。考虑到Java的面向对象性和关系型数据库的关系型结构相差甚远,因此很有必要引入一种在对象性和关系型数据库之间的直接映射机制,这种映射应该是最大量地使用配置文件,以便今后业务逻辑更改后是尽可能地修改映射文件而不是Java源代码,因此出现了O/R映射模式[6]。简单地说,对象—关系映射就是Java应用中的对象到关系数据中的表自动的和透明的持续化,使用元数据对象与数据库中的表的映射进行了描述。本质上,ORM的工作是将数据从一种表示(双向)转换为另一种表示。很多开源项目都使用Java实现了这个O/R映射。而Hibernate是其中最为优秀的实现架构之一。

3.4.1 Hibernate框架

Hibernate接口位于业务层和持久层。Hibernate核心接口的层次架构如图3-3所示[7]: 

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_06

图3-3 Hibernate核心接口的层次架构关系

3.4.2 Hibernate的核心接口

Hibernate的核心接口位于net.sf.hibernate包中,Hibernate的核心接口类的关系图如图3-4所示,主要包括以下6个接口:

· Session接口:负责执行被持久化对象的CRUD操作。

· SessionFactory接口:初始化Hibernate,充当数据存储源的代理,并负责创建Session对象。

·Configuration接口:负责配置并启动Hibernate,创建SessionFactory对象。

·Transaction接口:负责事务相关的操作。

·Query和Criteria接口:执行各种数据库查询。

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_07

图3-4 Hibernate的核心接口类的关系图

对于Hibernate的使用主要是两个配置文件。一个是Hibernate.cfg.xml的配置文件和O/R映射的配置文件。Hibernate.cfg.xml的配置文件主要是对数据库连接和Hibernate运行的主要属性,O/R映射的配置文件主要是表达出持久化类与数据库表的映射关系。这样对数据库的操作就可以转化为对持久化类的操作。其中持久化类和数据库表之间的转化由Hibernate来完成。

Hibernate框架为我们做了很多的工作:

(1)减少乏味的代码:Hibernate封装了数据库持久层的大多数技术细节,如事务管理,数据库连接管理,SQL语句的生成。得益于这些优秀的低层实现,我们可以从JDBC编码中解脱出来,从而将我们的精力和创造力投入到真正有价值的工作中去。

(2)更加面向对象设计:现在的开发思想都是面向对象,经过Hibernate的O/R映射的配置文件就可以将数据库表与持久层对象对应起来,从而使得我们开发只要关心Object的属性不必在与表中的字段纠缠。使得面向对象的开发思想伸展到系统的每个角落。

(3)更好的性能:Hibernate提供了内置的数据库连接池支持等。这些优化机制的综合使用大大提升了系统性能。更重要的是,这些机制都是全透明的,我们无需关心其中的复杂的实现细节就可以享用其所带来的性能提升。

(4)更好的移植性:Hibernate对不同的数据库良好支持,我们只要简单修改Hibernate.cfg.xml的配置文件,就可以实现低层数据库的切换。

3.6 开发平台

从多方面的因素考虑选用开发平台如下表3-1所示:

表3-1搭建开发环境软件清单

用途

软件

Java虚拟机

JDK1.6

Web应用服务器

Tomcat6

集成开发平台工具

Eclipse

数据库服务器

Oracle

MVC开源框架

Struts 2

ORM框架

Hibernate

3.7 ORACLE数据库

ORACLE公司于1979年,首先推出基于SQL标准的关系数据库产品,可在100多种硬件平台上运行(所括微机、工作站、小型机、中型机和大型机),支持很多种操作系统。用户的ORACLE应用可方便地从一种计算机配置移至另一种计算机配置上。ORACLE的分布式结构可将数据和应用驻留在多台计算机上,而相互间的通信是透明的。1992年6月ORACLE公司推出的ORACLE7协同服务器数据库,使关系数据库技术迈上了新台阶。根据IDG(国际数据集团)1992年全球UNIX数据库市场报告,ORACLE占市场销售量50%。ORACLE 特点:

1. 支持大数据库、多用户的高性能的事务处理。 

2. 系统维护具有高的性能。

3. 可控制数据库数据的可用性,可在数据库级或在子数据库级上控制。

4. ORACLE遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。所以它是一个开放系统,保护了用户的投资。美国标准化和技术研究所(NIST)对ORACLE7 SERVER进行检验,100%地与ANSI/ISO SQL89标准的二级相兼容。

5. 具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

6. 支持分布式数据库和分布处理。 

7. 具有可移植性、可兼容性和可连接性。由于ORACLE软件可在许多不同的操作系统上运行,以致ORACLE上所开发的应用可移植到任何操作系统,只需很少修改或不需修改。

8. ORACLE数据库系统为具有管理ORACLE数据库功能的计算机系统。


第4章 系统总体设计

4.1系统分析的任务与步骤

4.1.1 系统分析的任务

了解用户要求。此用户即为网站的使用人员(管理员,注册用户和游客)。了解他们在网站功能、性能等方面的要求及用户在硬件配置、开发周期处理方式等方面的意向与打算。把用户要求成文,完成网站分析报告。网站的逻辑模型由一系列的图表和文字组成。在逻辑上描述了系统的目标和所具备的功能于性能。

4.1.2系统分析的步骤

1. 描述网站。在详细调查的基础上,用一定的图标、文字描述;

2. 分析用户新的要求,改进现行模型,形成新系统的逻辑模型。

3. 编写系统分析说明书。


4.2论坛的功能模块图

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_MVC_08

图4.1 总体功能图

4.3 数据库设计

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求).

数据库和设计概述

(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。  (2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。  (3)数据库设计是信息系统开发和建设的重要组成部分。

4.3.1概念模型设计(E-R图)

数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。E-R模型的基本概念

ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间(1)实体:现实世界中的事物; (2)属性:事物的特性; (3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。

本系统的ER图

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据_09

图4.2 系统E-R图

4.3.2数据库表设计

计算机论坛中所有的主题,用户的注册信息,回复的帖子等等,都是通过数据的形式来进行管理和维护,他不同于实体的文字交流。数据库就形如一个仓库,他是用来存放数据的地方。我们在前台进行的每一步,都需要调用数据库中的数据。

数据库设计的合理与否,安全性,稳定性这些方面都直接影响着计算机论坛的运作。一个好的数据库设计方案,往往能够让网站的效率事半功倍。所以在对数据库的设计要格外的悉心,考虑的要格外周全。

确定数据库的物理结构,在关系数据库中主要指存取和存储结构。如果物理设计结果满足原设计要求,即可进行实施,否则,就需要重新设计和修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。

数据库系统是多用户共享的系统,对于同一关系要建立多条存取路径才能满足多用户的多种应用要求。现代技术的飞速发展是数据库存储变的简单、方便、易行。无论是索引法还是聚簌法都可以使物理设计顺利实现。









第5章 界面设计

对于系统来说,用户界面设计将非常重要,因为一个交互良好的界面能够加深浏览者的印象.

设计的实现可以分为两个部分。第一部分为站点的规划及草图的绘制,这一部分可以在纸上完成。第二部分为网页的制作,这一过程是在计算机上完成的.

设计首页的第一步是设计版面布局。我们可以将网页看作传统的报刊杂志来编辑,这里面有文字、图像乃至动画,我们要做的工作就是以最适合的方式将图片和文字排放在页面的不同位置。 除了要有一台配置不错的计算机外,软件也是必需的。不能简单地说一个软件的好坏,只要是设计者使用起来觉得方便而且能得心应手的,就可以称为好软件。当然,它应该能满足设计者的要求。常用的软件是Macromedia的Dreamweaver以及Adobe的Photoshop。

设计是有原则的,无论使用何种手法对画面中的元素进行组合,都一定要遵循五个大的原则:统一、连贯、分割、对比及和谐。

统一,是指设计作品的整体性,一致性。设计作品的整体效果是至关重要的,在设计中切勿将各组成部分孤立分散,那样会使画面呈现出一种枝蔓纷杂的凌乱效果。

连贯,是指要注意页面的相互关系。设计中应利用各组成部分在内容上的内在联系和表现形式上的相互呼应,并注意整个页面设计风格的一致性,实现视觉上和心理上的连贯,使整个页面设计的各个部分极为融洽,犹如一气呵成。

分割,是指将页面分成若干小块,小块之间有视觉上的不同,这样可以使观者一目了然。在信息量很多时为使观者能够看清楚,就要注意到将画面进行有效的分割。分割不仅是表现形式的需要。换个角度来讲,分割也可以被视为对于页面内容的一种分类归纳。

对比就是通过矛盾和冲突,使设计更加富有生气。对比手法很多,例如:多与少、曲与直、强与弱、长与短、粗与细、疏与密、虚与实、主与次、黑与白、动与静、美与丑、聚与散等等。在使用对比的时候应慎重,对比过强容易破坏美感,影响统一。

和谐是指整个页面符合美的法则,浑然一体。如果一件设计作品仅仅是色彩、形状、线条等的随意混合,那么作品将不但没有“生命感”,而且也根本无法实现视觉设计的传达功能。和谐不仅要看结构形式,而且要看作品所形成的视觉效果能否与人的视觉感受形成一种沟通,产生心灵的共鸣。这是设计能否成功的关键。

最后简单设计系统的简单登陆界面和主界面:

5.1 登陆界面

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_MVC_10

图5.1 登陆界面

5.2 首页

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据_11

图5.2 首页


5.3 系统管理

5.3.1岗位管理

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据_12

图5.3.1 岗位管理



5.3.2部门管理

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_MVC_13

图5.3.2 部门管理

5.3.3用户管理

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_14


图5.3.2 用户管理



5.4 论坛管理

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_15

图5.4论坛管理


5.5 论坛

基于JSP+Oracle论坛管理系统的计算机毕设源码+论文_数据库_16

图5.5 论坛




















第6章 系统的调试与测试

6.1 测试概述

6.1.1软件测试的目的

软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。

第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。

第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。

软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量。四、质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。

6.1.2软件测试的任务

1、寻找Bug;      2、避免软件开发过程中的缺陷;      3、衡量软件的品质;      4、关注用户的需求。

总的目标是:确保软件的质量

6.1.3测试环境

Apache提供的Web服务器Tomcat 6.0使得用户可以在Windows 2000以上操作系统下发布自己设计的动态网页。因此对论坛的调试工作主要是利用Tomcat 6.0的强大功能在本机下完成的。为了在本机下浏览Web页面,首先在创建该系统的站点上(该系统使用的是Web的默认站点)将IP地址设定为127.0.0.1,它的缺省域名值为localhost。然后向IE浏览器输入本地动态网页的URL,Web服务器在收到浏览器传送的URL之后找到网页文件,并在服务器端执行该文件后将此文件以HTML文件的形式返回该浏览器。

6.2 单元测试

6.2.1黑盒测试

在单元测试中分别对用户信息模块,帖子模块和后台管理模块进行分别测试.

首先对各个模块进行黑盒测试,在各种条件下运行模块是否能正常运行,比如在登录时,输入空白用户名等等.

6.2.2白盒测试

此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。软件人员使用白盒测试方法,主要想对程序模块进行如下的检查;对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。

表6.1登陆测试用例

测试用例描述

操作过程及数据

预期结果

用例类型

按不同的输入格式输入个人信息,进行注册。

进入注册界面,按提示的输入格式输入个人信息,进行注册。

注册成功,显示注册成功。居民信息保存到数据库。

功能点

用户名有重名的

进入注册界面,用户名输入,其它按提示的输入格式输入个人信息,进行注册。

注册失败,不能注册。

功能点

输入为空时,进行注册。

进入注册界面,输入为空,进行注册。

无法注册

界 面校 验


表6.2发贴测试用例

模块

测试用例描述

操作过程及数据

预期结果


发贴

按要求输入帖子的相关信息

进入发贴界面,输入帖子内容,标题,内容,再提交。

发贴成功,发贴成功信息转到管理员。

没输入标题

进入发贴界面,没输入标题,再提交

发贴失败。

输入为空

进入发贴界面,输入为空,再提交。

无法发贴。


6.2.3模块接口测试

在黑盒测试完成的情况下,进行模块接口测试,模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑的因素:

1 输入的实际参数与形式参数的个数是否相同;                    


6.3 集成测试

每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。主要原因是,模块相互调用时接口会引入许多新问题。例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响;几个子功能组合起来不能实现主功能;误差不断积累达到不可接受的程度;全局数据结构出现错误,等等。综合测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行集成测试以便发现与接口有关的各种错误。

6.3.1自顶向下集成

自顶向下集成是构造程序结构的一种增量式方式,它从主控模块开始,按照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成在一起。首先将模块用户模块和帖子模块集成在一起,再将后台管理模块集成起来。

6.3.2确认测试标准

功能和性能指标满足软件要求和标准的情况下,测试结束。.



























结论

经过几个月的努力,已经基本完成了论坛的开发和设计.完成了用户模块,帖子模块和后台管理模块的开发,并基本实现了前期所制定的功能.

系统在不断的设计更改过程中,逐渐的成熟。在编写的最后阶段中,参考了一些设计模式,在逻辑代码和数据库连接DAO中抽象出了若干接口,并对其进行了对象的依赖注入,大大的减少了模块之间的耦合,使系统具有很高的灵活性和可维护性,这是系统最大的优点.

当然系统也存在很多不足的地方,比如用户的权限判断过于简单,安全性低,希望在今后的学习中,逐步的进行改进.

通过这次的设计, 加深了对S.S.H框架,以及面向对象思想的一些理解.对于软件工程方面的设计思想也有了更深一步的理解,只有在不断的实践于学习中,才会得到最丰厚的回报.






























参考文献

[1]冯燕奎, 赵德奎. JSP实用案例教程[M] 清华大学出版社, 2004, 5: 70-100

[2] 王家华  软件工程[M] 东北大学出版社2001年3月303页

[3] 王宜贵  软件工程[M]  北京:机械工业出版社,2002:20-79

[4] 孙卫琴  精通struts[M]电子工业出版社 2004年8月 50-70

[5] 孙卫琴  精通hibernate[M]电子工业出版社 2005年4月 100-120

[6] 张洪斌  java2高级程序设计[M]中科多媒体出版社 2001年11月 85-90

[7] Jim Arlow  UML2.0 and the Unified Process[M]机械工业出版社  2006年6月 30-40

[8] 林信良 spring2.0技术手册[M]电子工业出版社 2006年6月 50-100

[9] 熊节、林仪明、张凯峰、陈玉泉等主编[《CSDN社区电子杂志——Java杂志》创刊号]

[10]《程序员》杂志 2007 年第4期

[11] 耿祥义编著.JSP基础编程[M].清华大学出版社,2004.55-162

[12]徐建波,周新莲.Web设计原理于编程技术[M].中南大学出版社,2005.185-193

[13] 孙鑫编著.Java Web开发详解[M].电子工业出版社,2006.189-274

[14] 林上杰,林康司编著.JSP2.0技术手册[M].电子工业出版社,2004.3-6

[15] 萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,1998.

[16] 蔡剑,景楠.Java Web应用开发:J2EE和Tomcat[M].北京:清华大学出版社,2004.