小区车辆管理系统的设计与实现 - 范文中心

小区车辆管理系统的设计与实现

07/03

小区车辆管理系统的设计与实现

专业:

学生: 指导老师:

摘 要

小区车辆管理系统是一个通过人机交互系统,将小区车辆、驾驶员和出车情况进行存储,并同时对小区车辆进行全面管理的系统。它主要实现了车辆信息管理、驾驶员信息管理、出车信息管理等功能。它的目的是加强对小区车辆的管理,使其智能化,意义是降低人力成本。

小区车辆管理系统基于B/S结构和J2EE 平台,采用两层架构构建。表示层:负责完成用户体验,主要实现用户数据的采集和处理结果数据到客户端的渲染;选用基于MVC 模式构建的表示层开源框架Struts2构建。视图采用JSP 实现,配合html 、CSS 和Javascript 以建立良好的用户体验环境。持久层负责与数据库的交互,主要实现实体数据的增、删、改、查等操作,采用开源的持久层框架Hibernate 实现。系统同时采用SQLServer 数据库实现数据存储。

本文主要完成和车辆管理,驾驶员管理的设计实现,汽车信息管理功能,简要介绍了系统的背景,技术背景,需求分析,系统架构设计,及相关功能的实现方法,最后对数据库的设计进行了介绍。

关键词: 车辆管理 B/S J2EE Struts2

The design and implementation of

district vehicle management system

Major: Software Engineering

Student: Li Yuqing Supervisor: Zhao Chun

Abstract

District vehicle management system is an interactive system through the cell vehicle, the driver and the bus case for storage, and also for the overall management of the district vehicle systems. It is the main achievement of the vehicle information management, driver information management, information management, and other functions of the bus. Its purpose is to strengthen the management of district vehicles to intelligent, meaning lower labor costs.

District vehicle management system based on B / S structure and the J2EE platform to build a two-tier architecture. Presentation Layer: is responsible for completing the user experience, the main results of the data collection and processing of user data to render the client; the use of open-source framework for building the presentation layer-based build Struts2 MVC pattern. View using JSP to achieve, with html, CSS and Javascript to create a good user experience environment. Persistence layer is responsible for interacting with the database, the main achievement of entity data add, delete, change, and other operations, the use of open source persistence framework Hibernate implementation. System while using SQLServer database for data storage.

Thesis completed vehicle management, design and implementation of the bus driver management and information management functions, briefly describes the system background, technical background, needs analysis, the overall system architecture design, and implementation-related functions, and finally to database design was introduced.

Key words: vehicle management B/S J2EE Struts2

目 录

1导论 .............................................................. 1

1.1系统背景 ...................................................... 1

1.2技术背景 ...................................................... 1

1.3研究内容 ...................................................... 3

2系统整体设计 ...................................................... 4

2.1系统需求分析 .................................................. 4

2.2系统整体架构设计 .............................................. 5

2.3系统功能设计 .................................................. 7

3系统核心功能实现 .................................................. 8

3.1系统界面设计 .................................................. 8

3.2中文乱码处理 ................................................. 10

3.3驾驶员信息管理 ............................................... 12

3.4车辆信息管理 ................................................. 15

3.5出车信息管理 ................................................. 16

4数据库的分析与设计 ............................................... 19

4.1数据库的概念和特点 ........................................... 19

4.2数据库的逻辑结构设计 ......................................... 22

4.3表结构 ....................................................... 22

4.4数据库的连接原理 ............................................. 23

5系统测试 ......................................................... 25

5.1系统测试目的与意义 ........................................... 25

5.2测试结果 ..................................................... 25

6总结 ............................................................. 27

参考文献........................................................... 28

致谢............................................................... 29

1导论

1.1系统背景

伴随着我国经济的快速增长,人们的生活水平逐年提高,当然人们对生活的品质是逐渐有了更高的要求。经济的增长,道路的发展,汽车就成为了人们必不可少的交通工具。不管是上班,还是去游玩,还是什么,人们都离不开交通工具,所以汽车是必不可少的。但是汽车多了,也带来了危险的信号,很多的交通事故出现,还有重要一点就是对汽车的管理。那要怎么管理汽车呢?科技发展得很快,我们很有必要开发一套汽车智能管理系统,这样可以大大的节省人力成本,使公司,小区,商场等车辆实现智能化。

随着人们对生活有了更高的要求,出门有一部自己的车,太普遍了。导致了车辆的数目增加很快,同时问题在这样的背景下也逐渐增加,比如车辆的车型问题,车辆的使用年限问题还有使用车辆产生的费用:过路费,停车费,租位费等等,这些数据加在一起是非常非常多的,处理这些数据真实靠人力的话是很费时间,也就会增加企业的财力。所以为了解决这个问题,我们得开发一套智能管控系统,来不单单处理这些数据,还可以对这些车辆管理。因此,在这样的环境下,开发一套这样的系统是可行的,也是很有必要的。

1.2技术背景

1. Java语言

本系统采用Java 语言编写,Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言①。是由Sun Microsystems公司于1995年5月推出的Java 程序设计语言和Java 平台(即JavaSE , JavaEE , JavaME )的总称②。

Java 具有以下特点,如表1所示:

MVC 模式是表示层开发最常用的设计模式,使用该设计模式是为了减少业① 马剑. 基于java 的学生成绩管理系统设计与实现[J]. 计算机光盘软件与应用,2012,16(14):90~91.

② 王琳. 基于J2EE 售票管理系统的设计与实现[D]:[硕士学位论文].沈阳:东北大学,2012,31~32.

务逻辑和视图之间的耦合,这样的设计模式可以提高系统的可扩展性和可维护性。

MVC 模型组成的模型,视图和控制器。在这个模型中。控制器的作用是接受客户端发送的请求,那么请求到适当的模型的业务流程(控制器相当于一个中转站),然后将处理结果返回给客户端,在客户端通过MVC 模式中的视图可以看到。模型的主要作用是对控制器转发过来的请求进行一个逻辑处理,也就是客户端的请求,这是由JavaBean 来实现的,当然这也是要保证它的可移植性,所以它不该依赖Servlet API。当模型处理好了后将结果由控制器发送给视图,最终再展示给客户端使用。

3. JSP

JSP 技术是用Java 编程编写类XML 的tags 和s criptlets ,所以自然也就会想到在JSP 中是可以含有用Java 语言编写的一些代码,它也是可以处理动态网页的一个逻辑处理。JSP 的优点是:它可以显示逻辑和网页的网页进行分离的设计,这样的一个好处是它可以使Web 程序的开发变得非常简便。

在有一个来自JSP 页面的请求服务器的时候,服务器先是执行网页中的程序段,最后将执行的结果和网页本省的代码一起返回给用户端。对Java 代码片段在JSP 页面中使用是非常有用的,比如写一段可以操作数据库的Java 代码或者重新转向其他页面等等这些功能都是可以通过在JSP 页面中编写Java 代码来实现,这样也就是建立了动态网页的效果。所以,我们就可以看出JSP 是由HTML 代码和写在网页里面的Java 代码构成。

JSP 有以下几点特点,如表2所示:

4. JavaScript

JavaScript 是一种直接编译方式式的脚本语言。同时也是常用作Web 开发,

给HTML 网页增加动态功能,增加用户体验效果。JavaScript 是面向对象的,是在对对象的程序设计,并且用更加直观、可重复使用和模块化的方法来对程序进行开发。JavaScript 可以使网页和用户之间形成一种动态的、交互性的关系,也可以使网页包含更多的元素。在这个系统中大量使用JavaScript 技术,场所为例,验证,用户输入的数据是重复的,无论是为空等。

5. Struts2简介

该项目基于Struts2的项目的创始人,改进和提高Java Server Pages、Servlet 、标签库以及面向对象的技术水准①。在使用MVC 模型时,Struts 可以减少开发Web 程序的时间

在MVC 模式,适应时代发展的使用,而且还使用Struts2,在这种情况下,我们可以减少开发Web 应用程序的时间。它通过选用Java Servlet/JSP ,从而来

②完成了基于Java EE Web应用的MVC 设计模式的应用框架〔Web Framework〕。

所以也就看得出来Struts2在MVC 设计模式中的重要性,它是非常有用的。

Struts2的优势在于:基于MVC 框架,明确的框架,开发人员可以把握好研发过程;开发人员能够使用OGNL 来对参数进行传递;Struts2的拦截器也是非常厉害的;Struts2容易测试;还有一个优点就是很方便扩展插件;全局结果与声明式异常。

6. Hibernate简介

Hibernate 它可以对JDBC 进行一个十分轻量级的封装,同时它还是一个关于对象关系映射的基本框架。面向对象的编程思想让Java 程序员可以操纵数据库③。只要有JDBC 出现的地方Hibernate 都是可以使用的,所以这样我们就可以推测出:它既可以在客户端用,也可以放在Web 应用中用。其主要功能是比较灵活的,这是一个非常有意思的是,它可以使用EJB 的J2EE 代替CMP ,从而实现数据的持久化是一举两得。其中Session 接口、SessionFactory 接口、Transaction 接口、Query 接口和Configuration 接口这些都是Hibernate 中很重要的。这些接口使用的范围都是比较广的。他们有两个作用:一是可以对持久化的对象进行存取的操作,二是可以控制事务。

1.3研究内容

论文研究并实现了一个小区设计的车辆管理系统的整体结构,完成了管理员① 曹渠江, 陈真. Struts2框架整合Spring 框架在文件上传下载中的应用[J]. 上海理工大学学报. 2009(02),12~14.

② 毕磊, 邓忠华. 基于MVC 设计模式的Struts 框架应用[J]. 计算机与数字工程. 2007(10),17~21.

③ 邹洁. 基于B/S模式下的研究生文档管理系统[D]:[硕士学位论文].成都:电子科技大学,2010,19~20.

用户所拥有的车辆信息管理、驾驶员信息管理、出车信息管理等功能的设计与实现。

车辆信息管理:该模块中展示的是对车辆信息的增加、删除、修改和查询的操作。

司机信息管理:该模块是增加,删除,修改和查询操作的信息。

出车信息管理:在该模块中定义了对出车情况的管理,其功能包括出车情况的添加、查询、修改、删除等操作。

2系统整体设计

2.1系统需求分析

1. 系统目标

系统将实现下列目标:

(1)系统界面友好,容易上手操作,同时会给出提醒方便管理者操作。

(2)管理员用户具有系统管理、车辆信息管理、驾驶员信息管理、出车记录管理功能。

(3)安全性好,可以防止操作者恶意操作本系统。

2. 功能需求

管理员是系统的核心用户,涉及到三大功能模块如图1所示:

图1:管理员用例图

3. 数据需求

对每一个输入的数据都要有是正确的,并且在页面上每一个输入框不能为空,对表中的每一个数据之间他们的联系都要保证是正确的。

4. 界面需求

一个好的用户界面能够让用户更清楚的看到自己可以干什么,提高工作效率。在页面中创建一个动态的网页是非常方便。用户界面的相互作用和交换之间的信息系统和用户的媒体。

(1)输出设计

输出是输入原始信息通过计算机处理信息,有效地形成了一个高质量的,所以有一定的格式,以提供给管理人员查看。主要的功能和目标输出的设计。这是由于输出表直接与用户联系,该项目的出发点是希望输出的样式是方便给用户查看的,有效的返回相应的数据信息。

(2)输入设计

当管理人员在面对大量的数据时,虽然有一个友好的界面供管理人员使用,但是难免管理人员输入错误,只要输入错误了,系统处理后的结果显示给管理人员也是会错的。所以有效的输入是很重要的。

输入设计的原则有如下几点:

输入应保持在最小的处理要求。输入的输入可以用字段值,并通过下拉的方式输入。输入量少,故障率少,减少了数据准备时间。

输入的准备和过程必须简单,这样可以减少错误。

尽可能早对输入数据进行校验(尽可能靠近原数据产生点), 以便使错误即时获得改正。

2.2系统整体架构设计

1. 系统设计思想

系统的设计思想遵循以下几点:

(1)采用B/S模式开发

系统采用B/S结构构建;这种方式已经被许多用户所习惯。

(2)采用面向对象的开发与设计理念

为了保证系统有一个很好的框架支持,同时研发的产品速度快和有较好的稳定性,将采用面向对象的设计理念①。

(3)使用模块化的设计

模块化应该把整个体系分为几个小的模块,方便代码的重载。

(4)系统界面简单方便

本系统的界面设计比较简单,页面美观很好,界面的简单模块可以方便使用者操作本系统。

(5)速度优先原则 ① 周小平,张书杰. 票据、档案影像管理系统的设计与实现[D]:[硕士学位论文]. 北京:北京工业大学,2007, 62~63.

因为这个工具是速度最重要的评价标准,所以在设计过程中,具体的过程尽可能少占用资源,速度。

(6)设计要突出重点,体贴用户

满足设计要求,使系统更适应用户的需求。

2. 系统架构

车辆管理系统拟基于B/S结构和J2EE 平台,采用两层架构构建。两层架构包括:表示层和持久层。

B/S结构图如图2所示:

图2:B/S结构示意图

B/S结构也就是说浏览器和服务器结构。由上图可以看出,在B/S结构中浏览器就是用户的使用界面,但是当出现比较繁琐的处理的时候,可以让一部分逻辑处理在这里(前端)完成,不过主要的逻辑处理还是得在服务器端进行实现。

B/S的优点是:无需安装客户端,客户端只需要浏览器;同时在更新的时候,系统不需要对客户端进行升级,只需要对服务器升级就可以了。

两层架构如图3所示:

图3:系统架构示意图

表示层:负责完成用户体验,主要实现用户数据的采集和处理结果数据到客户端的渲染;本层拟采用基于MVC 模式构建的表示层开源框架Struts2构建。

持久层:负责与数据库的交互,主要实现实体数据的增、删、改、查等操作,同时纳入DAO 框架来隔离持久化细节的变化对其它部分的影响。

使用SQLServer 数据库存储数据作为车辆管理系统的数据保存。

2.3系统功能设计

总的功能模块框图如图4所示:

图4:功能框图

车辆信息管理:该模块中展示的是对车辆信息的增加、删除、修改和查询的操作。

驾驶员信息管理:该模块中展示的是对驾驶员信息的增加、删除、修改和查询的操作。

出车信息管理:在该模块中定义了对出车情况的管理,其功能包括出车情况的添加、查询、修改、删除等操作。

3系统核心功能实现

3.1系统界面设计

页面设计的原则:在整个系统中,所有的页面都遵循一个设计原则,那就是界面简单易操作。使操作员看到该系统的时候就知道自己可以做什么和知道自己该怎么去操作。这样可以方便操作员的同时也可以节省人力成本,财力成本。使公司的利益最大化。这也是这样设计的一个重要因素。

如图5所示,在页面的左侧是管理员的四个可以操作的功能,点击进入相关管理页面可以变成一个子菜单,并突出高亮的显示方式展现各管理模块对应的子菜单。主页运行效果如图5所示:

图5:管理员主页面

车辆信息管理页面效果如图6所示:

图6:车辆信息页面

司机信息管理界面效果如图7所示:

图7:司机页面

出车信息管理界面如图8所示:

图8:出车信息页面

3.2中文乱码处理

在程序中经常会遇到中文乱码的情况,如果手动的在servlet 和jsp 页面进行设置,相当麻烦。因此,写了一个过滤器作为对中文乱码的处理。

在web.xml 中配置:

SetCharacterEncodingFilter

myweb.util.filter.SetCharacterEncodingFilter

encoding

gb2312

SetCharacterEncodingFilter

//*表示工程下所有的页面都会有此过滤器的处理

/*

对应的SetCharacterEncodingFilter.java 文件中的重要代码,在初始化init()方法中定义:

public void init(FilterConfig filterConfig) throws ServletException {

this.filterConfig = filterConfig;

this.encoding = filterConfig.getInitParameter("encoding");

String value = filterConfig.getInitParameter("ignore");

}

在工具包util 包中同样定义了DataFormate 类来处理字符转换:

public static String toUni(String gbStr){

String uniStr = ""; /*把字符串转换成uincode 编码*/

if(gbStr == null){

gbStr = "";

}

try{

byte[] tempByte = gbStr.getBytes("UTF-8");

uniStr = new String(tempByte,"ISO8859_1");

}catch(Exception ex){

}

return uniStr;

}

/* 把字符串转换成Utf8编码*/

public static String toUtf8String(String s) {

StringBuffer sb = new StringBuffer();

for (int i = 0; i

char c = s.charAt(i);

if (c >= 0 && c

sb.append(c);

}else {

byte[] b;

try {

b = Character.toString(c).getBytes("utf-8");

}catch (Exception ex) {

System.out.println(ex);

b = new byte[0];

}

for (int j = 0; j

int k = b[j];

if (k

k += 256;

}

sb.append("%" + Integer.toHexString(k).

toUpperCase());

} }

return sb.toString();

}

3.3驾驶员信息管理

驾驶员信息管理是对驾驶员信息的增加、删除、修改和查询等操作。在系统中都有一一实现的。由于驾驶员的增加、删除、修改、查询在实现上都相差不大,所以本小节着重介绍驾驶员信息修改的实现。

1. 功能描述

先是点击司机信息模块,然后在界面右边可以看到司机的一些信息,当要修改司机信息的时候。点击“修改”,然后就会进入“修改”司机信息页面。

2. 核心代码

模型层:

public class sijiDAO{

public TSiji findById(java.lang.Integer id) //这个方法用于找到siji_id

{

}

//通过ID 找到这个驾驶员

log.debug("getting TSiji instance with id: " + id); try { { } log.error("get failed", re); throw re; TSiji instance = (TSiji) getHibernateTemplate().get( "com.model.TSiji", id); return instance; } catch (RuntimeException re)

public void attachDirty(TSiji instance)

{

}

//把DAO 注入给Action

控制层:

sijiEdit.action 中的代码:

public String sijiEdit()

{ TSiji siji=sijiDAO.findById(id);//通过ID 找到这个驾驶员 siji.setName(name); siji.setSex(sex); siji.setAge(age); siji.setTel(tel); siji.setAddress(address); siji.setCard(card); siji.setDel("no"); sijiDAO.attachDirty(siji); log.debug("attaching dirty TSiji instance"); try { { } } ……………………..//此处省略了对驾驶员信息操作的其他方法 log.error("attach failed", re); throw re; getHibernateTemplate().saveOrUpdate(instance); log.debug("attach successful"); } catch (RuntimeException re)

this.setMessage("操作成功"); this.setPath("sijiMana.action"); return "succeed";

struts.xml 中的相关配置代码:

struts.xml:

}//操作成功转到succeed 页面,在struct.xml 文件中有配置

//控制器,处在业务逻辑与视图之间,用于接受页面请求然后交给相应的逻辑处理方法进行处理

相关配置文件applicationContext.xml :

//把SessionFactory 注入给DAO

//把数据源注入给session 工厂,并且把hibernate 加入到Spring 中

3. 程序效果

程序效果如图9所示。

图9:驾驶员信息修改

3.4车辆信息管理

车辆信息管理包括车辆的增加、删除、修改、查询,在本项目中都有一一实现的。由于车辆的添加、删除、修改、查询在实现上都相差不大,所以本节着重介绍车辆信息添加的实现。

1. 功能描述

先点击车辆档案管理,页面跳转到车辆档案管理界面,浏览车辆的相关信息然后打开“添加车辆信息页面,输入相关车辆信息可以添加。

2. 核心代码

模型层:

public class cheDAO{

public void save(TChe transientInstance)

{ log.debug("saving TChe instance"); try { { log.error("save failed", re); throw re; getHibernateTemplate().save(transientInstance); log.debug("save successful"); } catch (RuntimeException re) }}//DAO 中的方法,用在逻辑处理

相关配置文件applicationContext.xml :

//把DAO 注入给Session 工厂

控制层:

public String cheAdd(){

TChe che=new TChe(); che.setChepai(chepai); che.setChexing(chexing);

} che.setChuchangriqi(chuchangriqi); che.setZaizhongliang(zaizhongliang); che.setSiji_id(siji_id); che.setDel("no"); cheDAO.save(che);//调用com.dao.TCheDAO 里的save()方法 this.setMessage("操作成功"); this.setPath("cheMana.action"); return "succeed";//返回逻辑视图

//控制器,处在业务逻辑与视图之间,用于接受页面请求然后交给相应的逻辑处理方法进行处理

相关配置文件struts.xml :

//配置Action

//将DAO 注入给Action

3. 程序效果

如图10所示的程序显示。

图10:车辆信息添加

3.5出车信息管理

出车信息管理包括出车信息的增加、删除、修改、查询,在系统中都有一一实现的。由于出车信息的添加、删除、修改、查询在实现上都相差不大,所以本节着重介绍出车信息查询功能的实现。

1. 功能描述

先是点击出车信息管理,页面跳转到出车信息管理界面,管理人员可以浏览

所有的出车信息。

当管理人员点击“出车记录管理”,在界面的右边就会出现出车信息,包括序号、车辆信息、车辆车主、开出时间、回来时间、出车事由,“操作”按钮, 在表格下方有“添加出车信息”的按钮。

2. 核心代码

模型层:

public List findAll()

{ }

相关配置文件:

schema="dbo" catalog="db_che">

log.debug("finding all TChuche instances"); try { String queryString = "from TChuche"; return getHibernateTemplate().find(queryString); //找到出车的信息放在Template()里. } catch (RuntimeException re) { } log.error("find all failed", re); throw re;

控制层:

public String chucheMana()

{

//获取数据并存在chucheList 集合中 }

相关配置文件: struts.xml:

3. 程序效果

程序效果展示如图11所示:

List chucheList=chucheDAO.getHibernateTemplate() .find("from TChuche where del='no'"); for(int i=0;i

Map request=(Map)ServletActionContext.getContext ().get("request"); request.put("chucheList", chucheList);

return ActionSupport.SUCCESS ;//返回逻辑视图

TChuche chuche=(TChuche)chucheList.get(i); chuche.setChe(cheDAO.findById(chuche.getChe_id()));

图11:出车信息显示

4数据库的分析与设计

4.1数据库的概念和特点

对数据库相关的表述如表3所示:

表3:数据库设计要点

根据以上表格列出的需求分析,并结合系统概念模型的特点和建立方法,画出了如下实体间的E-R 模型图①。

1. 车辆信息实体E-R 图

王慧. 基于.NET 的学生公寓管理系统的设计与实现[D]:[硕士学位论文]. 上海:华东师范大学,2009,62~63.

图12:车辆信息实体E-R 图

2. 司机信息实体E-R 图:

图13:司机信息实体E-R 图

3. 出厂信息实体E-R 图:

图14:出车信息实体E-R 图

4. 全局E-R 图:

图15:全局E-R 图

4.2数据库的逻辑结构设计

图16:关系模式图

车辆(chepai ,chexing ,chuchangriqi ,zaizhongliang ); 主键:che_id;外键:siji_id;

司机(name ,sex ,age ,tel ,address ,card ); 主键:siji_id;

出车(shiyou ,kaichushijian ,huilaishijian ); 主键:chuche_id;外键:siji_id;

司机和车辆是1:n 的关系,司机的主键作为了车辆的外键; 车辆和出车是1:n 的关系,车辆的主键作为了出车的外键。

出车信息里面包括:部分车辆信息和司机信息,由于司机和车辆是1:n 的关系,车辆和出车是1:n 的关系,所以可以通过车辆找到司机的信息。

4.3表结构

数据库概念模型是非常独立的,所以不管是在那种数据库系统中,都是要根据数据库的特征来进行转换。也就是转换为计算机系统可以处理的关系模型,所以我们一般使用E-R 模型图来表示这些关系,它有以下原则:对系统中的每一个实体都要转换为一个关系,同时定义的主键不能为空,实体与实体之间都关系是:1:n ,1:1,n :n ,其中n :n 的联系是用外键来将他们联系在一起的。

根据E-R 模型图,列出以下逻辑数据结构表,下面是各数据表的详细说明。 车辆信息表主要是记录了车辆基本信息,表结构如表4所示。

表4:车辆信息表(t_che)

司机信息表主要记录了司机基本信息,表结构如表5所示。

出车信息表是出车这个实体的一些属性,如表6所示。

4.4数据库的连接原理

本系统的数据库是使用Hibernate 来进行存取的。 它可以对 JDBC 进行了轻量级的对象封装,可以让开发人员很方便的使用对象编程思想来对数据库的数据进行操作①。Hibernate 既提供了Java 类到数据表他们之间的映射。Hibernate 提供了恢复和数据查询。在Hibernate 和JDBC 、SQL 的比较中,我们不难发现Hibernate 可以大大减少手动操作,从而减轻使用者的工作量。Hibernate 有一个

杨宏伟. 民航空管台站运行管理系统[D]-[硕士学位论文]. 成都:电子科技大学,2010,78~80.

很大的优势便是,它能够和多种Web 服务器或应用服务器集成。

其实Hibernate 是一个中间件,它是为数据库服务的。如图17所示:

图17:Hibernate 架构图

图17显示了 Hibernate 的工作原理,它是使用数据库和其余少许配置文件如 Hibernate . properties ①。属性的XML 映射,可以提供数据持久化服务的应用。Hibernate 具有非常大的灵活性,而且整体结构非常致密,提供应用JDBC 连接,和管理自己的事务。

Hibernate数据源的配置:

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

org.hibernate.dialect.SQLServerDialect

true

邹洁. 基于B/S模式下的研究生文档管理系统[D]:[硕士学位论文]. 成都:电子科技大学,2010,21~23.

5系统测试

5.1系统测试目的与意义

系统测试是整个开发过程中的最后阶段,它能够保证这个项目的质量,用一个合理的软件测试方法去测试项目是很有必要的。以下是常用的软件测试方法:

1. 黑盒测试

把软件当着一个黑盒,测试人员只需将数据一一的输入进去进行测试就可以了,不需要明白数据在软件中的具体流向。

2. 白盒测试

把软件当着一个透明的盒子,测试人员常常在进行动态测试的时候,需要了解软件的结构和处理的过程。

3. 回归测试

当软件需要更替的时候,就需要新版本,同时对新旧的版本进行测试,看新版本中是不是还出现了旧版本的问题。

4. 验收测试

测试进入最后的阶段,验收测试只要的目的就是看是否满足合同的要求。在验收测试中常常有正式验收、非正式验收或Alpha 测试、Beta 测试。

5. 单元测试

将整个系统分为若干个小块,用不同的方法去测试每一个小块。

系统测试就是要让系统尽可能出现少的错误。为了提高软件的质量,我们要让测试的系统知道该怎么去做。所以单元测试阶段有三个步骤:模块测试、组装测试、确认测试。测试出问题后经过调试找到错误的地方,然后纠正。

5.2测试结果

测试开始时,由于数据库中的数据是不容易进入,为了让我们的系统更加完好,在测试的进程中,不断的对以前输入的数据进行清理,它的好处就是当输入

新的数据时出现的测试结果是最接近真实的。故在我们的测试中,只要发现了问题,然后就要经过反反复复的测试,调试,解决问题,直到系统能够正常的运作才结束测试。

1.主页面的登录模块测试 试验程序:

(1)打开系统首页,信息输入错误日志。 (2)登录

(3)输入正确的登录信息 (4)登录 (5)测试结果

2.其他错误

在程序中通过设计和实施,将在调试过程中的错误,如拼写错误,值类型不一致,参数等。所有的这些都需要调试通过仔细的检测和恒排除。例如,在servlet 路径配置不对的情况下导致运行错误,如图18所示:

图18:servlet 配置错误运行时的提示

6总结

随着网络技术的不断发展,传统的车辆管理方式已经不能满足现代化的需求。正是在这样的背景下,车辆管理系统逐渐发展起来。并成为研究的热点。

这篇论文主要讲述了车辆管理系统的整个实现过程和在这个过程中遇到的问题,还有一些解决办法的表述。本系统使用了JavaScript 、Struts2、Hibernate 等这些技术。在毕业设计的过程中,我按照软件工程的思想,分析,设计,编码,测试进行实现。这次论文设计中是我对JavaScript 、Struts2、Hibernate 有了更进一步的理解。对项目开发有了更深的理解。

遇到许多困难在本毕业论文设计,过程分析,理解和解决困难的过程,让我在知识的掌握实现认证,缺乏了解,拓宽自己的知识。不但有利于我的独立思考能力、发现问题并解决问题的能力,同时也加强了我对专业知识的渴望。此外,在解决问题的过程中通过翻阅书籍,等等学习手段,使我深刻地认识到一个成功的软件系统的开发是多么的艰难。不但在于代码的编写,还在于总体的设计和最后的测试。因此,使我明白了不但要熟悉编码,同时还要有一定的规划设计等能力。在这短短的数月设计开发过程中,关于系统还有很多考虑不全的地方,系统存在问题,需要改进。当然这是在毕业前自己做的系统,是通过自己的思考完成的。使我这个快要走出校门的大学生,做到遇事独立思考,提起认知社会,不仅为我离开校园进入社会打下了坚实的基础,也使我深刻地体会到了工作的艰辛与努力后的成就感。

总之在这次的项目设计上使我学到了很多,开拓了视野,同时也使我认识到在项目的开发上独立思考能力和团队合作的重要性。为我日后工作打下了坚实的基础。

参考文献

[1] 袁鹏飞,孙军安.SQL Server 2000 数据库系统管理[M].北京:人民邮电出版社,2001,53-60.

[2] 埃弗雷姆•特伯恩.电子商务管理新视角(第 2 版)[M].北京:电子工业 出版社.2005,86-96.

[3] 张新曼.精通JSP-WEB 开发技术与典型应用[M].北京:人民邮电出版社, 2007,100-103.

[4] 陈旭.电子商务基础[M].重庆:重庆大学出版社,2010,112-120.

[5] 魏善沛.Web 数据库技术实用教程[M].北京:清华大学出版社,1998,61-70.

[6] 邓子云.JSP 网络编程从基础到实践[M].北京:电子工业出版社,2001, 60-72.

[7] 杨晓云译.MySQL 5 权威指南[M].北京:人民邮电出版社,2006,70-78.

[8] 郝玉龙.JavaEE 编程技术[M].北京:北京交通大学出版社,2005,86-95.

[9] 高洪岩.基于Struts2+Hibernate+Spring实用开发指南[M].北京:化学工业 出版社,2010,150-160.

[10](美)Bruce Eckel著,陈昊鹏译.Java 编程思想(第三版)[M].北京:机 械工业出版社,2007,130-142.

[11] 邹燕飞,罗鸿伟.基于Struts+Spring+Hibernate缺陷管理系统实现[J]. 计算 机技术与发展,2012,3(2):26-28.

[12] 何一坚.基于Struts 框架的MVC 应用研究[J].电脑知识与技术,2010,4(13): 50-53.

[13] 张长富,黄中敏.动态网页编程实例手册[M].北京:海洋出版社,2005, 200-239.

致 谢

在经历了多次修改后论文设计终于完成,在这个过程中,自己遇到了很多的问题,有关于代码部分的,总是出现奇怪的错误等等这些情况,我知道单凭自己的能力是无法完成的,还好有老师的指导和同学们的热心帮助,自己才能够完成本次设计。在老师帮助我的过程中,我学习到了老师严谨的编程习惯,我肯定这对我后面工作中是很有帮助的。同时对工作认真的态度等等还有很多值得我去学习的地方。同学们很高兴帮我的时候,我感受到了集体的力量是很强大的,让我明白了团队开发中,沟通和交流是非常重要的,这样可以让团队每一个成员发挥出自己的所有能力。

再说说项目,在老师和同学们的帮助下我顺利完成了这个项目。在我一开始对整个项目的分析、设计、编码、实现再到测试,最后完成这个项目,其中遇到了很多的问题,但是还是解决了。同时自己加深了项目开发的实际经验,明白了开发项目的每一个过程,在每一个过程中都是需要全身心的去完成。这对于我以后的工作是很重要的一笔财富。也是我这次完成项目收获最大的。

最后,在完成整篇论文的过程中,非常感谢我和蔼可亲的老师,还有非常热心肠的小伙伴们,谢谢你们的帮助我才能够顺利完成这次毕业设计。


相关内容

  • 创建省级卫生城市环境卫生工作汇报
    **市创建省级卫生城市环境卫生 工作汇报 自2009年省级卫生城市初审以来,按照***创建省级卫生城市指挥部的安排部署,***环境卫生管理单位按各自职责分解工作重点难点,大力改善和优化城市环境,完善城市功能,提升城市形象,全面巩固并提升了全 ...
  • FMS物业管理系统解决方案
    田森家园物业管理系统 – 企业信息化软件系列 目 录 1 概述 . ...................................................................................... ...
  • 住宅小区升降横移立体停车库的设计_本科毕业设计说明书
    河北联合大学轻工学院 QINGGONG COLLEGE, HEBEI UNITED UNIVERSITY 毕业设计说明书 设计(论文)题目:住宅小区升降横移立体停车库的设计 摘 要 随着我国经济的快速发展,城市车辆快速增加,停车难问题日益加 ...
  • 人性化居住小区的景观设计方法
    人性化居住小区的景观设计方法 1.居住小区绿化景观设计 从居住小区的绿化设计方式中来讲,植被的选择与应用是非常重要的.第一,应该适当的引入一些植被,使自然覆盖效果更强.不同的植被有着不同的予以,也尤其自身的生长规则.例如:在一些比较干旱的地 ...
  • 别墅物业管理(DOC 15页)
    一.物业管理篇 1. 物业管理处 1. 1管理处及其职能 1.1. 1----------小区物业管理处为小区物业管理部门,按<--------别墅使用公约>的 规定,执行对-----小区(以下简称"小区") ...
  • 香蜜湖接待流程
    香蜜湖1号接待流程 此流程用于香蜜湖1号售楼处接待客户 对于接待流程的要求:让客户感受低调.尊贵的生活方式.只要需要,客户随处感受有人在关怀. 现场所有人员礼仪: 注意自己的形象,现在是你最美的时刻: 在项目中服务每个人,我可以多做一点,还 ...
  • 青山领域物业业主手册
    致青山领域全体业主同仁 XXX物业管理有限公司全体同仁衷心欢迎各业主/住户及家人入住青山领域,并祝您安居乐业,万事如意! 本手册特为您--作为青山领域业主/住户而编制,内容包括有关小区(青山领域简称,下同)使用须知和管理规则及其他规定.旨在 ...
  • 吉林省物业服务收费管理实施细则
    吉林省物业服务收费管理实施细则 关于印发<吉林省物业服务收费管理实施细则(试行)>的通知 各市.州发改委(物价局).房产局(建设局): 为规范物业服务收费行为,保障业主和物业管理企业的合法权益,根据<中华人民共和国价格法& ...
  • 花园小区安全管理方案
    某花园小区安全管理方案 一.小区安全硬件设施描述: 1)XX花园监控系统共有92个镜头,其中门岗出入口和平台花园9个,架空层10个,大堂10个,电梯口20个,会所4个,通道8个,车库31个. 2)花园内室内车库及地下车库.各设备房主要采用温 ...
  • 老年生态宜居住宅小区建设方案研究
    摘 要:提出了生态老年宜居住宅小区建设方案应该满足的基本要求以及在户型设计.小区规划设计应达到的标准,以提高老年人的生活质量. 关键词:住宅小区;建设方案;生态环境 中图分类号:TU 文献标识码:A 文章编号:1672-3198(2010) ...