基于Java EE构建车辆管理系统
2010-09-23严潭
严 潭
(广东建设职业技术学院计算机系,广东广州 510440)
基于Java EE构建车辆管理系统
严 潭
(广东建设职业技术学院计算机系,广东广州 510440)
文章分析了基于Java EE的三层B/S/S结构以及在构建车辆管理系统过程中用到的几种关键的Java EE技术。并以广东建设职业技术学院的车辆管理为背景,根据项目中系统的实际需求,以MySQL作为数据库服务器,Tomcat作为网络服务器,最后用Java EE技术规范设计和实现该项目。
Java EE;车辆管理;B/S/S结构
计算机技术的飞速发展促进信息技术革命的到来,使社会进入了高速发展时期,如何合理科学而又高效地进行工作就显得尤为重要。就车辆管理工作而言,车辆的信息管理以及用户用车管理等工作非常繁琐且工作量很大,而且工作的标准化程度、准确度等各方面难以控制,难以形成有效的管理体系,给车辆管理工作者带来很多问题和困难。因此,利用计算机进行车辆自动化管理,车辆信息和车辆使用管理将变得高效而便捷,用车过程将变得精简而科学,车辆使用信息也将变得准确而及时,对提高工作效率,使车辆管理逐步走向正规化自动化将起十分重要的作用。
一 系统总体功能设计
程序结合模块设计的意义非常重大,合理的模块划分使系统结构清楚,符合逻辑,并且使用方便。优质的模块划分应使模块间的联系越少越好,而模块内的联系越紧密越好[1]。依据车辆管理的基本逻辑流程,系统共分为申请单管理子系统、信息设置子系统、车辆管理子系统、出车管理子系统、加油管理子系统、用户管理子系统、违章事故管理子系统、综合查询子系统、驾驶员管理子系统共9个子系统。总体与各系统的结构与功能如图1所示。
图1 车辆管理系统总体功能设计图
系统功能设计特点:
(一)业务流程整合
建立用户管理和车辆管理两条主线的高校车辆管理完整业务流程,提高了工作效率和工作质量,理顺了车辆管理的业务逻辑,是车辆管理的一次飞跃。
(二)数据有效整合共享
数据库集合了车辆信息,驾驶员信息,加油站信息,用户信息,车辆调度信息等各种业务信息,为车辆日常管理、车辆申请、车辆调度等提供了很好的服务,从而为实现一流的车辆管理打下了坚实的基础。
(三)管理流程整合
明确了车辆管理工作职责以及对车辆管理的进一步制度化和规范化;从权限管理角度保证车辆管理工作中信息的准确性,有效保证了车辆管理工作的流程化。
(四)服务流程整合
通过迅捷,方便的电子化手段和各种各样丰富的服务手段,如网上查询,网上用车申请,网上车辆调度等,为广大教师和学生提供各类个性化、人性化服务。
二 系统数据库设计
数据库设计可以分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。
(一)需求分析
根据系统总体功能设计图,车辆管理的基本需求包括:
1.建立车辆信息库,实现车辆基本情况和驾驶员基本信息统一管理;
2.对每辆车的派车、用车情况进行记录,实现车辆调度;
3.对每辆车的事故、违章情况进行记录;
4.对每辆车的保险、保养、加油等日常费用情况进行记录;
5.设置系统权限,实现用户统一管理。
(二)概念设计
在确定了车辆管理的基本需求后,为了达到需求所提出的各种目的,对车辆管理系统的数据流进行分析,并确定车辆管理的E-R图。以驾驶员为例,实体E-R图如图2所示。
图2 驾驶员实体E-R图
(三)逻辑设计
在确定了车辆管理的实体E-R图后,为了描述实体和它们之间的关系,选择2NF进行数据库逻辑设计。以驾驶员实体为例,逻辑设计如图3所示。
图3-驾驶员实体逻辑设计
(四)物理设计
在完成了车辆管理的数据库逻辑设计后,启动MySQL数据库服务器,新建车辆管理数据库,完成表的设计。以驾驶员为例,表的格式如图4所示。
图4 驾驶员表
三 系统详细设计
通过系统需求分析、完成E-R图和数据库设计,接着确定系统体系结构,然后利用My E-clipse整合SSH框架进行功能设计和界面开发,最后以MySQL作为数据库服务器,Tomcat作为网络服务器完成系统集成[2]。
(一)数据库编程接口设计
一个典型的基于Java EE应用程序存取数据源遵循以下步骤:
1.加载驱动:其使用方法为class.forName (“com.mysql.jdbc.Driver”);
2.连接数据库:其使用方法为Drive rManager.getConnection(url,user,pass);
3.执行SQL语句:其使用方法为Connection. CreateStatement(),Statement.exe
cuteQuery();
4.取得结果集:其使用方法为while(rs.next ())循环取得一条记录;
5.显示数据:其使用方法为getXXX()将数据库的各种类型转化为Java类型;
6.关闭:其使用方法为close the result set, close the statement,close the connection。
(二)B/S/S体系结构设计
由于用户群大,用户上网地点不固定等原因,在开发本项目时采用B/S/S体系结构。目前SSH框架(Struts+Spring+Hibernate)已成为开发B/S/S系统的主流模式,基于SSH的Java EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层[3]。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理,表现层采用Struts框架,中间层采用的是流行的Spring+Hibernate。
以车辆调度为例,SSH框架开发步骤如下:
1.在MyEclipse开发工具中导入Struts框架, Hibernate框架,Spring框架
2.在Struts-config.xml中写入
3.在Struts-config.xml中导入Spring配置文件
4.在MyEclipse Hibernate视图中配置data-Source、创建持久化对象,然后在WEB- INF中配置hibernate.cfg.xml
5.在applicationContext.xml中写入
(三)主要算法设计
针对用车申请表进行合理安排是车辆管理的重要任务。其中车辆调度是最为关键的环节,车辆调度的依据是出车记录表的编制。车辆管理工作人员必须收集好每次出车和回车的详细信息,统计每一天的用车申请表,利用可用的车辆资源和驾驶员资源,以线路为单位编制出车记录表。
车辆调度算法应先构建派车单对象(对象标识、申请人、申请部门、用车人数、用车目的、用车时间、联系电话),用队列实现,一个为待派车队列,一个是已派车队列。预分配线路就是根据派车单对象中的用车人数、用车目的、用车时间要求,安排一条适合的线路,如果在已派车队列中有合适的线路可以进行合并;接着确定驾驶员,并确定上车地点和上车时间,然后进行车辆调度约束验证,在驾驶员的选择、上车地点和上车时间中找出最优解;最后确定出车记录表,以天为单位进行车辆调度,一直到所有用车申请表都处理完毕为止。车辆调度算法流程图,如图5所示。
图5 车辆调度算法流程图
四 系统界面设计
(一)用户登录界面
该界面实现用户的登陆,以区别不同用户,给予相应权限,如图6所示。
图6 用户登录界面
该界面设有安全性保护,当用户名或密码错误,将转到错误提示界面,几秒钟后将自动转回到登陆界面。
(二)前台用户界面
该界面具有3个功能模块:查询车辆,申请车辆,申请记录,如图7所示。
图7 前台用户界面
(三)后台管理界面
该界面具有9个功能模块:申请单管理、信息设置、车辆管理、出车管理、加油管理、用户管理、违章事故管理、综合查询、驾驶员管理,如图8所示。
图8 后台管理界面
五 结 论
随着计算机技术和信息技术的飞速发展,基于Internet的车辆管理系统将成为机关企事业单位的首选。本文详细论述了广东建设职业技术学院车辆管理系统的开发过程,根据项目中系统的实际需求,从车辆管理工作人员方面详细了解系统业务流程以及需要考虑的各种因素,然后进行系统设计和数据库分析设计,最后完成模块编码和系统的现场实施运行[4]。通过互联网就可以访问该系统,完成车辆管理、预约车辆等,能够满足和适应广东建设职业技术学院的车辆管理需求。另外鉴于各单位管理模式均有一定特殊性,所以该系统还留有一定的调整空间和余地,使该系统有较大推广价值和应用价值。
[1]于敬业.基于J2EE技术的自动化测试工具的设计与实现[D].北京邮电大学,2007.
[2]叶展豪.解析SSH框架构成[J].电脑编程技巧与维护,2010(20).
[3]胡莉萍.Tomcat+JSP+MySQL整合配置初探[J].中国科技信息,2010(05).
[4]田娟,徐钊.基于J2EE的MVC设计模式的分析与思考[J].计算机与现代化,2010(10).
(责任编辑:于保霞)
TP 39
A
1009-9743(2010)04-0140-05
2010-10-20
严潭(1981-),男,汉族,江西抚州人。广东建设职业技术学院计算机系讲师。主要研究方向:企业信息管理及电子商务。