公交车辆管理系统的设计与实现.docx
《公交车辆管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《公交车辆管理系统的设计与实现.docx(65页珍藏版)》请在冰豆网上搜索。
公交车辆管理系统的设计与实现
大连理工大学
硕士学位论文
公交车辆管理系统的设计与实现
姓名:
孙陶
申请学位级别:
硕士
专业:
软件工程
指导教师:
蒋光远
20070603大连理工大学专业学位硕士学位论文
摘要
随着社会经济的发展,信息技术的发展和网络应用的普及使得公交行业的信息化成
为一种必然。
车辆管理系统是公交集团信息化建设的重要组成部分。
它对车辆档案、营
运动态和车辆保养生产计划等多方面进行全面的统一的管理,为合理的分配车辆线路资
源和编制车辆保养生产计划提供依据。
本文是基于Struts开发框架和MVC设计模式理论,针对公交集团的车辆管理的实
际情况,设计和实现了适合沈阳市公交集团的车辆管理系统。
首先介绍了J2EE和MVC
基础知识,然后针对项目的设计目标、设计原则和基本功能需求,分析并设计了模块结
构,各个子系统的功能,数据库设计,以及系统运行的软件、硬件环境。
最后设计和实
现了车辆保养生产计划子系统,针对传统手工编制计划的弊端,结合公交集团的实际管
理情况,设计出比传统手工编制计划更好的半自动编制生产计划方法。
目前车辆管理系统已经在沈阳市公交集团试运行。
系统运行以来,表现出了较好的
稳定性、实用性和操作直观性,取得了良好的效果。
关键词:
Wc;公交系统;生产计划公交车辆管理系统的设计与实现
DesignandImplementationofBusManagementSystem
Abstract
Wimthesocialityeconomydevelopment.currentlyboostingwiththehighlydeveloping
paceoftheInformationTechnology,theapproachforpublictrafficsystemdevelopmentis
promotingmoreextremelyeverthanbefore.Thebusadministrationsystemisavery
importantpartforpublictrafficinformationsys馏m.Itmanagementbuss’Sdocumentsand
workingdevelopmentsandmaintainplanuniformly.Itprovidegistfordistributing
connectionandmakingbusmaintainplan.
nledissertationiSbasedontheStrutsdevelopmentframeandt11eMVCdesignpattern
theory,SOastoachievethepurposeofgetthespecialtyandactualconditions,designand
developthebusadministrationsystemwhichisqualifiedinaccordancewiththepublictraffic
working.Primarily,thedissertationresearchesMVCframeworkandJ2EEframework.Than
analyzedthemodelstructureandmodelcapabilityofthewholesystem,databasedesignand
thehardwareandsoftwareenvironment.Finallydesignedandhasrealizedthebus
maintenanceproductionplansubsystem,inviewofthetraditionalmanualestablishmentplan,
theunionpublictransportationgroup。
Sactualmanagememsituation,designedatraditionalis
moremanualthanestablishmenttoplanthebettersemiautomaticestablishmentproductive
planmethod.
Currently,thebusadministrationsystemhasbeenappliedtotheShenyangCompany,
andithasobtainedagoodeffective.Sincethesystemrunning,itshowsaquiteexcellent
stability,practicalityandwithontmassmanipulation.
KeyWords:
MVC;Busadministration;ProductionPlan独创性说明
作者郑重声明:
本硕士学位论文是我个人在导师指导下进行的研究工
作及取得研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,
论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理
工大学或者其他单位的学位或证书所使用过的材料。
与我一同工作的同志
对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。
作者签名:
埘日期;乏22&墨鱼:
刍大连理工大学硕士研究生学位论文
大连理工大学学位论文版权使用授权书
本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用
规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子
版,允许论文被查阅和借阅。
本人授权大连理工大学可以将本学位论文的全部或部分内
容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论
文。
作者签名:
调、啁
引币链之前先’毒导师签名:
!
望:
=∑
之1年上月卫日大连理工大学专业学位硕士学位论文
引言
随着经济社会发展和城镇化进程的加快,许多城市交通拥堵、环境污染的问题突出,
严重影响了城市发展。
我国土地资源稀缺,城市入口密集,群众收入水平总体不高,优
先发展公共交通符合城市发展和交通发展的实际,提高交通资源利用效率、缓解交通拥
堵的重要手段,是贯彻落实科学发展观和建设节约型社会的重要举措。
沈阳市的公交行业经过了十凡年的发展,如今己颇具规模,其中公交车辆数量和运
行线路长度在全国都是屈指可数。
但还存在不少问题,如堵车严重、线路设置不合理、
运力分配不合理等等,这些问题造成很多不必要的资源浪费和环境污染,并且使得公交
本来具有的优势也不复存在。
随着计算机技术和网络技术的迅速发展,公交行业的信息化建设逐步发展起来,它
有于科学规划和建设、提高线网密度和站点覆盖率、优化运营结构、有利于科学编制公
共交通规划、科学配置和利用交通资源,有利于形成干支协调、结构合理、高效快捷并
与城市规模、人口和经济发展相适应的公共交通系统。
车辆是公交企业对外服务的主要
工具,建设公交车辆管理系统是沈阳市公交集团为了适应新时期公交行业改革与发展的
需要,不断提高管理能力和决策水平,努力保持平稳发展所做出的一项重大决策。
该系
统的目的主要是为了对公交集团下属的所有公司、分公司的所有车辆信息、使用信息、
行驶信息、燃料润滑剂消耗情况、保修生产安排等信息进行合理化管理,最终提高企业
生产效率及效益,并为技术部提供详尽的统计分析报表,为计划部门安排生产计划提供
切实可靠的依据及合理化建议。
该系统有助子科学的编制交通规划,合理的利用运力资
源,节省成本,提高企业的核心水平。
本文设计和开发的车辆管理系统是一个基于Struts的web数据库企业信息管理系
统,它实现了公交集团各种车辆档案、车辆异动、营运动态、生产计划编制等基本信息
的计算机化管理。
本文的组织结构如下:
第一章阐述了J2EE架构的特点,阐述其优点,
并且对Struts进行简单的介绍;第二章为系统的需求分析,描述了各个功能的需求;第
三章为系统的总体设计,阐述了系统的模块结构、各个模块的功能,以及系统运行的软
件、硬件环境;第四章为车辆档案和营运动态子系统的设计和实现,描述了予系统的用
例图、流程图、数据库设计和Java数据库存取技术;第五章为生产计划子系统的设计与
实现,根据公交集团的实际条件,提出了半自动化编制生产计划的方法,并详细描述了
编制生产计划的流程和相关的数据库之间的关系。
最后是对全文的总结。
公交车辆管理系统的设计与实现
1J2EE架构概述
Java2平台有3个版本,它们是适用于小型设备和智能卡的Java2平台Micro版
(Java2PlatformMicroEdition,J2ME)、适用于桌面系统的Java2平台标准版(Java
2PlatformStandardEdition,J2SE)、适用于创建服务器应用程序和服务的Java2
平台企业版(Java2PlatformEnterpriseEdition,J2EE)llJo
J2EE是由SUN公司推出的适用于创建服务器应用程序和服务的Java2平台企业版
(Java2PlatformEnterpriseEdition,J2EE),它定义的一个开发分布式企业级应
用的规范,其目标是提供平台无关的、可移植的、支持并发访问和安全的,完全基于Java
的开发服务器端中间件的标准【2】。
1.1J2EE构架的优势
作为当今流行开发平台之一,由SUN引导,各厂商共同发起的,并得到广泛认可的
工业标准,业内大企业如:
IBM,BEASystems,Oracle等都有参与。
现在已经超过25
个不同的服务器端平台支持J2EE规范,为企业级WEB应用的开发提供了丰富的技术选
择与服务支持。
选用J2EE构架的体系结构有如下优势:
1.1.1平台的成熟性
现在基于J2EE平台的高端产品包含一些重要的事务逻辑,而这些事务逻辑应用在
产品中许多年了。
提供J2EE平台商业实现的供应商(如IBM、BEA)都有很长的、得到
认可的发布中间件产品的历史。
这些中间件产品能实现大宗的事务系统。
这些供应商不
是从零开始构造服务器端平台,一些供应商是通过在己得到验证的现有技术上开发一个
基于J2EE平台的具有可移植性的层来实现J2EE平台。
这包括CORBA产品【3】、事务处理
监视器、数据库、和/或应用服务器,以上这些技术以前都是各企业专用的。
1.1.2可伸缩性
基于J2EE平台的应用程序可被部署到各种操作系统上。
例如可被部署到高端UNIX
与大型机系统,这种系统单机可支持64至256个处理器。
J2旺领域的供应商提供了更
为广泛的负载平衡策略。
能消除系统中的瓶颈,允许多台服务器集成部署。
这种部署可
达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。
1.1.3长期的可用性‘
系统的稳定可用性是任何用户使用管理信息系统的终极目标,本次开发的系统作为
一个车辆管理系统,其信息数据的安全和稳定更是重中之重。
一个服务器端平台必须能大连理工大学专业学位硕士学位论文
全天候运转以满足公司客户、合作伙伴的需要。
若是意外停机,或者数据丢失那会有灾
难性后果。
J2EE体系的稳定性是基于Java的健壮性和虚拟机(VirtualMachineVM)实
现的一致性基础上的。
J2EE部署到可靠的操作环境中,支持长期的可用性。
J2EE项目开发结束后部署在健壮性能好的操作系统中,只需要简单的进行维护例如
处理日志等简单操作就可以使系统长期、安全、稳定的进行工作。
这也是实时性很强业
务系统最理想的选择。
1.1.4支持异构环境
一些大的公司拥有异构的服务器端部署环境,使用多种操作系统、硬件、中问件产
品。
异构的环境在以下情况也可能出现;要完成多个不同项目的机构:
对拥有不同部署
环境的公司进行合并、收购。
在以上情形中,跨异构操作系统的可移植性与互操作性是
非常重要的。
J2EE能够开发部署在异构环境{4l中的可移植程序。
基于J2髓的应用程序
不依赖任何特定操作系统、中间件、硬件。
因此设计合理的基于J2EE的程序只需开发
一次就可部署到各种平台。
这在典型的异构公司计算环境中是十分关键的。
J2EE标准也
允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了
由自己制订整个方案所需的费用。
J2EE被设计成支持面向电子商务的企业应用系统,它提供了基于组件的,以服务器
为中心的多层体系结构15】。
这种多层结构的设计极大地简化了开发、配置和维护企业应
用的过程,它最大的优点就在于将企业的业务逻辑同系统服务和用户接口分开。
它提供
了一系列的底层服务,如事务管理、缓冲池等,使得开发者能够将精力集中于企业的业
务逻辑,而无须过多地关心与业务逻辑不太相干的系统环境等。
1.2WC设计模式
1.2.1耽概述
设计模式即是一系列在实践中总结出来的可复用的面向对象的软件设计方法,最早
由GoF的”DesignPatterns’提出。
设计模式是一套被反复使用、多数人知晓的、经过
分类编目的、代码设计经验的总结,是情境中标准设计问题的解决方案嗍。
使用设计模
式是为了可重用代码、让代码更容易被他人理鳃、提高代码的可靠性。
埘c(模型一视图~控制器)模式是XeroxPARC(施乐)在二十世纪八十年代为编程语
言Smalltalk-80发明的一种软件设计模式,它最先被用来在第一代基于视窗的计算机
上管理GUI和用户交互,至今仍被广泛使用,并被推荐为Sun公司J2EE平台的设计模公交车辆管理系统的设计与实现
式,受到越来越多开发者的欢迎。
而作为专门为交互式应用系统开发所设计的MVC设计
模式,在交互式系统开发中体现出强大的优势,逐步被开发人员引入到J2EE体系当中聃。
'.2.2群yc的结构
蝌c模式属于结构型设计模式,应用类和对象的组合获得比较复杂的结构。
为解决
在交互式环境下类和对象的组织问题,该模式将事务层和数据层同表示层分离,同时也
将触发事务处理的事件单独分离出来,郎Model(模型)、View(视图)、Controller
(控制器)分离设计f8Jo如图1.1所示。
——————■方法调用……一■事件图1.1ll、,C结构图
F唔1.1MVCstructure
模型(Wodel):
模型是从问题域中抽象出来的事务处理的应用对象,它封装了解
决一个特定应用问题的核心数据和关键数据:
并且独立于具体的界面表示和输入/输出
操作。
模型就是业务流程/状态的处理以及业务规则的制定。
业务流程的处理过程对其
它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。
业务模型的
设计可以说是Mvc最主要的核心。
EJB模型就是一个典型的应用例子,从应用技术实
现的角度对模型做了进一步的划分,以便充分利用现有的组件,但EJB模型不能作为应
用设计模型的框架。
对一个开发者来说,就可以专注于业务模型的设计。
州c设计模式
把应用的模型按一定的规则抽取出来,抽取的层次很重要。
这也是判断开发人员是否优
秀的设计依据。
荆C并没有提供模型的设计方法,让开发者自己组织管理这些模型,以
便于模型的重构和提高重用性。
这点对编程的开发人员非常重要。
除了业务模型还有一
个很重要的模型那就是数据模型。
数据模型主要指实体对象的数据保存<持续化>。
比
一4一大连理工大学专业学位硕士学位论文
如将一张订单保存到数据库,从数据库获取订单。
可以将这个模型单独列出,所有有关
数据库的操作只限制在该模型中。
视图(View):
视图代表用户交互界面,是模型的屏幕显示形式,是模型内部状态
(数据)的外观表示;不同视图以不同显示形式,表达了模型的数据和状态信息,每个
视图有一个更新操作,可被传播机制所激活。
MVC设计模式对于视图的处理仅限于视图
上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
业务流
程的处理交予模型(Model)处理。
比如一个订单的视图只接受来自模型的数据并显示给
用户,以及将用户界面的输入数据和请求传递给控制和模型。
控制器(Controller):
控制器用于定义用户界面对用户输入的响应方式,即接收
用户的输入,将输入反馈给模型,实现对模型的计算控制。
控制器用于实现控制的作用
原理,确保用户界面与应用模型间的对应关系,使模型和视图协同工作。
控制器划分控
制层的作用很明显,其本质就是一个分发器,选择什么样的模型,选择什么样的视图,
可以完成什么样的用户请求。
控制层并不做任何的数据处理。
例如,用户点击一个连接,
控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什
么,选择符合要求的视图返回给用户。
因此,一个模型可能对应多个视图,一个视图可
能对应多个模型【9】。
1.2.3Struts体系结构
Struts实质上就是在JsPWodel2的基础上实现一个MVC框架。
在Struts框架中,
模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action
来实现,视图由一组JSP文件构成。
作为一个WC的框架,Struts对View、Controller和Model都提供了对应的实现
组件:
(1)View
Struts应用中的显示部分是通过JSP技术实现的。
Struts提供了自定义的标记库
可以使用,通过这些自定义标记可以非常好地和系统的Wodel部分交互,通过使用这些
自定义标记创建的JSP表单,可以实现和Wodel部分中的ActionForm的映射,完成对
用户数据的一些逻辑上的封装,同时这些自定义标记库还提供了像模板定制等多种显示
功能。
(2)Controller
控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结
果送回到客户端。
在Struts中Controller功能由ActionServlet和ActionMapping对公交车辆管理系统的设计与实现
象构成:
核心是~个Servlet类型的对象ActionServlet,它用来接受客户端的请求。
ActionServlet包括一组基于配跫的ActioP埘apping对象,每个hctionMapping对象实
现了一个请求到一个具体的Model部分中Action处理器对象之间的映射。
(3)Model
Mvc系统中的模型部分可以分为两类一一系统的内部状态和改变系统状态的动作。
Struts为模型部分提供了Action和ActionForm对象:
所有的Action处理器对象都是
开发者铁Struts的Action类派生的子类。
Action处理器对象封装了具体的处理逻辑,
调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。
Struts提供的
ActionForm组件对象,它可以通过定义属性描述客户端表单数据。
开发者可以从它派生
子类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的
良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、
response对象进行数据交互。
Struts通常建议使用一组JavaBeans表示系统的内部状
态,根据系统的复杂度也可以使用像EntityEJB和SessionEJB等组件来实现系统状
态。
Struts建议在实现时把“做什么”(Action)和“如何做”(业务逻辑)分离。
这
样可以实现业务逻辑的重用。
图1.2Struts框架的MVC视图
F培1.2MVCviewofSmamframework
1。
2。
4Struts框架的组件
Struts由近200多个类所组成。
其中表1.I中的组件‘1田是struts框架实现的关键。
大连理工大学专业学位硕士学位论文
表1.1smns框架主要组件表
Tab.3.1ChiefComponentsofStrutsframework
组俘功能
Struts-config.Ⅻl
ActionServlet
Action
ActionForm
ActionMapping
ActionForward
Struts标记库
Struts配置文件
控制器
包含业务逻辑
显示数据模块
帮助控制器将请求映射到操作
指示操作转移的对象
减轻开发视图层的工作
(1)Struts配置文件
Struts—config.删1文件是将Struts组件结合在一起的关键所在,默认路径为
\WEB-INF\struts-config.xmlE1”。
可进行如下配置:
①配置全局转发:
全局转发用在Web应用程序中,通过JSP之间的创建逻辑名称
映射,可以代替JSP中复杂的编码名称,表1.2为属性的描述。
例如:
path=”/modulcB/index.do”卢
</global-forwards>
表1.2全局转发的属性的描述
Tab.1.2Amibutesofglobal-forwards
属性描述
N栅e
Path
全局转发的名字
与目标URL的相对路径
②配置ActionMapping:
ActionMapping对象帮助进行框架内部的流程控制,它们
可将请求URI映射到Action类,并且将Action类与ActionFormbean相关联。
ActionServlet在内部使用这些映射,并将控制转移到特定Action类的实例。
所有
Action类使用execute()方法实现特定应用程序代码。
返回一个ActionForward对象,
其中包括响应转发的目标资源名称,表1.3为属性的描述。
例如:
<4)orion-mappings>
type一’coln.nclLteb-'t.Lo西nAction”
name.-2“loginForm”
scope=”request”
input=”tile.userLogin”
validate=’'true”>
</action>
</action-mappings>
表1.3AcI:
ionMapping的属性描述
Tab.1.3Attributesof∞-tionMapping
属性描述
Path
N8me
Type
Scope
Prefix
Sufl[ix
Attribute
ClassName
Input
Unknown
Validate
Aorion类的相对路径
与本操作关联的Actionbean的名称
连接到本映射的Action类的全称
ActionFormbean的作用域
用来匹配请求参数与bean属性的前缀
用来匹配请求参数与bean属性的后缀
作用域名称
Ac-tionMapping对象的类的完全限定名默认的类是
org.apache.struts.action.ActionMapping
输入表单的路径,指向bea