基于WEB的停车场管理系统设计和实现毕业设计论文.docx
《基于WEB的停车场管理系统设计和实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于WEB的停车场管理系统设计和实现毕业设计论文.docx(54页珍藏版)》请在冰豆网上搜索。
基于WEB的停车场管理系统设计和实现毕业设计论文
毕业论文(设计)
论文(设计)题目
基于WEB的停车场管理系统的
设计和实现
院系名称
计算机科学与技术系
专业(班级)
计算机科学与技术
姓名(学号)
指导教师
系负责人
摘要
随着现代社会的快速发展,人民生活水平快速提高,汽车的数量飞速增加,与此同时停车问题也越来越受到人们的关注,为了实现对停车场进行有效的管理,结合一些停车场的模式和现状开发出本停车场管理系统。
停车场管理系统是典型的信息管理系统,本停车场管理系统设计的主要功能包括场内车辆管理和后台数据库管理,其中场内车辆管理又分为出入场管理模块、收费模块、用户管理模块、停车场参数、停车场数据管理模块、系统管理模块等。
我们从系统的设计和功能实现方面阐述了管理系统软件的开发过程。
系统采用了B/S架构,Tomcat6.0作为运行服务器,基于J2EE标准、JSP技术利用Hibernate3.1和Struts1.2框架作为开发工具,MyEclipse6.0开发环境,数据库采用MicrosoftSQLServer2000。
开发过程利用MVC开发模式,层次分明。
成功实现了该系统。
试运行结果表明,该系统具有良好的性能和扩展性,较高的响应速度和效率,该系统符合实际的停车场管理系统,为停车场管理供一个快速,简单规范的管理平台。
这对提高信息化程度,降低人力成本有着重要的意义。
关键词:
停车场管理系统,J2EE,Hibernate3.1,Struts1.2
Abstract
Withtherapiddevelopmentofmodernsociety,people'slivingstandardsimproveandthenumberofvehiclesincreasesrapidly.Peoplepaymoreattentiontoparkingproblemsatthesametime.Inordertomanagetheparkinglotsmoreefficiently,wehavedevelopedaParkingManagementSystem,withsomemodesandtheactualityofpresentparkinglotsconsidered.
ParkingManagementSystemistypicallyoneoftheinformationmanagementsystems.ThemainfunctionsintheParkingManagementSystemincludevehiclemanagementandbackgrounddatabasemanagement,andvehiclemanagementisdividedintothepassinginandoutmodule,thechargingmodule,theusermanagementmodule,theparkingparameters,parkingdatamanagementmodule,andthesystemmanagementmodule.WediscussedthemanagementsystemsdevelopmentprocessfromthesystemdesignandfunctionoftherealizationinthePapers.
Tomcat6.0asarunningserverisusedinthissystemonthebasisofB/Sstructure.BasedonJ2EEstandards,JSPtechnologyasdevelopmenttoolswhichistakenadvantageofHibernate3.1andStruts1.2frameworkandMyEclipse6.0asdevelopmentenvironmentareappliedinthesystem.MicrosoftSQLServer2000isusedasbackgrounddatabase.WedeveloptheuseofMVCpatternindevelopmentprocess.Testresultsshowthatthesystemhasgoodperformanceandscalability,highresponsespeedandefficiencywhichisinlinewiththeactualparkmanagementsystemandcanprovideafast,simpleandstandardizedmanagementplatform.Itisimportanttoimprovetheinformationlevelandreducelaborcosts.
Keywords:
parkingmanagementsystem,J2EE,Hibernate3.x,Struts1.2
第一章绪论
1.1选题背景
近年来,随着我国经济的快速发展,人们生活水平的不断提高,物质需求和生活方式也发生着深刻的变化,以前属于奢侈品的汽车己经逐步走入了市民的日常生活。
伴随汽车消费大众化和各种机动车辆大范围内的迅速普及,车辆对其配套设施特别是停车场提出了更高的要求。
停车是"速度为零的交通”,停车场及附属相关设施是静态交通的重要组成部分。
停车场收费管理系统是伴随着公用收费停车场这一新生事物而诞生的。
目前的多数停车场存在着以下几个问题,管理漏洞、系统的可靠性、独立性强、收费过程比较繁琐、劳动强度高、停车场利用率低下、票款易流失等。
针对这些问题该停车场系统从以下方面进行设计。
针对管理进行了优化,采用划卡消费和现金支付相结合,系统计时计费。
采用Java高级编程语言和WEB相关技术开发设计管理系统软件,实现网络管理操作。
优化后的系统使用方便、服务高效、收费透明、防止票款的流失,提高可靠性同时也提高了操作者的工作效率。
1.2主要相关技术
1.2.1Struts技术
Struts其英文为在建筑和飞机中使用的金属支架,有支持和支撑的含义,同时也说明了其在WEB设计中的重要作用。
Struts是一个基于SunJ2EE平台的MVC框架,Struts把Servlet、JSP、自定义标签和信息资源(MessageResources)整合到统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间[4][11]。
图1-1Struts工作原理
对于基于Struts框架的Web应用程序,当客户端浏览器发出请求时,请求会被控制器截获,并调用在Web应用启动时就加载并初始化核心控制器组件ActionServlet,然后通过ActionServlet从Struts-config.xml文件中读取预先设置的配置信息,并且把他们存放到各个配置对象中。
控制器根据配置文件中的信息,或者选择合适的Action对象,或者直接选择合适的View对象返回给浏览器。
Action对象本身没有任何的逻辑功能,它只是控制器和模型层之间的接口,控制器通过Action调用匹配的模型对象,模型对象根据执行结果,选择合适的View对象返回给浏览器。
,控制器时整个程序执行流程的调度者,在Struts中基本的控制器组建是ActionServlet类,但是Action-Servlet类不包含任何控制信息,程序的所有调度信息都需要在Struts-con-fig.xml配置文件中设置。
1.2.2Hibernate
Hibernate[2]是目前最流行的ORM(Object/RelationalMapper),是连接Java对象模型和关系数据库模型的桥梁,它对JDBC进行了轻量级封装不仅提供ORM映射服务,还提供数据查询和数据缓冲查询功能。
Hibernate将SQL操作完全封装成对象化的操作,开发人员可以方便通过Hibernate来访问数据库。
1.2.3JSP(JavaServerPages)技术
JSP是一种动态网页的技术标准,是一种服务器端嵌入了Java代码的脚本语言。
它把内容的生成和显示分离,能生成可重用的组件,应用了标记简化页面的开发并且具有Java特点。
1.2.4J2EE
1.J2EE介绍
J2EE(Java2Platform,EnterpriseEdition)是SUN公司定义的一个开放式企业级应用规范,他提供了一个多层次的分布式应用模型和一系列开发技术规范,多层次分布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件.组件在分布式服务器的组件容器中运行,如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上运行,容器间通过相关的协议进行通讯,实现组件的相互调用。
遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。
2.构建本系统J2EE开发工具
Java虚拟机:
J2SDK1.6;Java开发工具:
MyEclipse6.0;WEB服务器采用:
Tomcat6.0。
环境配制过程:
安装好J2SDK1.6后。
在MyEclipse6.0中选择新建J2EEProject->WebProject,并在WebProject中AddStruts和Hibernate3.1。
1.2.5MVC
MVC的英文全称为Model-View-Controller,即把一个应用程序的输入层、业务处理层、控制流程按照View、Model、Controller的方式进行分离,这样一个应用程序就被划分成相对独立而又协同工作的3个层,即视图层、模型层、控制层。
在MVC设计模式中,客户端WEB浏览器会提交各种不同的用户请求,这些请求由控制器进行处理,控制器根据时间的类型来改变模型或视图,视图也可以接受模型层发出的数据更新通知,依据数据更新的结果调整视图效果,并呈现给用户。
而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。
1.2.6JavaScript技术
JavaScript语言的前身是LiveScript语言[5]。
由美国Netscape(网景)公司的布瑞登·艾克(BrendanEich)为即将在1995年发布的Navigator2.0浏览器的应用而开发的脚本语言。
JavaScript是一种基于对象的语言,这意味它能运用自己已经创建的对象。
本系统主要用JavaScript小程序代码做一些客户端的登陆验证和页面的选择控制。
第二章系统分析
2.1系统分析
2.1.1功能需求分析
根据停车场管理系统的需求,确定了该系统的用例图如图2-1所示。
图2-1停车场管理系统用例图
如图2-1所示,该系统主要有超级管理员、管理员和操作员三种角色,不同角色的基本任务如下所述。
超级管理员具有最高的权限,即对本系统所有的权限操作权。
超级管理员授权给管理员赋予管理员应有的权限。
管理员可根据需要来维护角色信息,并授权给相应的操作员。
进行系统的设置,权限设置,数据管理,操作员档案的管理。
操作员行使管理员给与的权限,行使档案管理(车辆档案、卡档案管理、用户档案管理),入场的管理,收费管理,以及出场的管理。
根据用例图得到的部分类图,如图2-2
图2-2类图
2.1.2系统流程分析
停车场管理系统分为入场停车和出场取车两部分。
如图2-3所示。
图2-3系统流程图
1.入场停车流程
(1)入场
根据系统提示的停车场的现有信息控制车辆的入场,停车场在有车位的情况下方能停车。
(2)卡审核
审核用户的卡类型并判断卡的有效性。
(3)停车
指定停车位置提示给用户
2.出场取车流程
(1)出场审核
卡审核,卡与车辆的匹配审核。
(2)收费
根据车辆信息,卡类型以及停车的时间等依据收费标准计算收费额度实施收费环节。
(3)出场
交费之后在出场的相关信息提示下完成停车管理过程。
2.2技术可行性分析
停车场管理系统设计中,MVC(Model-View-Control)分层设计模式贯穿了整个设计流程,系统开发框架采用Struts1.2+Hibernate3.1组合结构。
●模型层
模型层主要包括数据逻辑和业务逻辑。
在本系统中,Hibernate提供处理数据持久化,JavaBean对业务逻辑Service封装。
●视图层
系统采用JSP实现视图层。
●控制层
采用Struts技术处理前台请求与Service业务逻辑的调用。
2.2.1系统数据模型层的分析与设计
MVC设计模式中的M(Model),主要包括了数据逻辑与业务逻辑。
●数据逻辑
数据逻辑作为Model层面中的主要组成部分,其设计的优劣会对系统得整体性能表现产生至关重要的影响。
Hibernate提供了强大、高性能的对象到关系型数据库的持久化服务。
利用Hibernate,可以按照Java的基础定义进行持久化层开发,Hibernate在对象与关系型数据库之间构建了一条快速、高效、便捷的沟通渠道。
在本系统中对数据库的增加、修改、删除、查询的操作都通过Hibernate对数据表进行相对应的操作。
●业务逻辑
业务逻辑是业务系统实现的主要组成部分,业务逻辑层主要负责以下几个方面的实现。
(1)管理应用的业务逻辑和业务校验。
如添加数据时数据表中没有该项记录,才允许添加。
(2)管理业务级对象之间的依赖性。
(3)管理与其他层进行交互的接口。
(4)事物代理。
对数据库的插入和删除时要调用事物处理才能物理上执行对数据表的更新操作。
(5)错误管理。
2.2.2系统视图层的设计与分析
MVC设计模式中的V(View)即视图层(或表现层),本系统采用JSP技术实现。
本系统所有的页面都是通过此技术来实现的。
2.2.3系统控制层的分析与设计
MVC设计模式中的C(Control)即控制层,采用Struts框架技术实现控制层。
控制层需要负责以下功能:
(1)接受来自客户端的HTTP请求。
(2)调用M层模型组件来执行相应得业务逻辑。
(3)获得M层业务逻辑的处理结果。
(4)根据处理结果选择合适的视图层呈现给客户端。
第三章系统总体设计
3.1系统设计
3.1.1总体设计
首先判断登录的身份,进入相应的操作页面通过需要的操作,最终完成目的操作的功能。
本系统UML活动图如图3-1所示。
他们在内在关系由数据库和程序来控制。
图3-1UML活动图
3.1.2业务流程分析
本系统的的使用者是停车场的工作人员,为了便于管理并借鉴现有停车场的管理模式,划分成三个角色的用户。
工作人员首先登陆系统,经过一系列的身份验证,登陆成功之后进入相应的操作界面,实现各自的管理功能。
总体功能分析业务流程图。
如图3-2业务流程图
图3-2业务流程图
其中各模块有对应的添加、修改及删除功能。
3.1.2系统功能模块
如图3-3系统功能模块划分
图3-3系统功能模块划分
3.1.3系统模块设计
(1)授权管理模块具有最高管理权限超级管理员对该模块进行操作,对管理员进行授权,添加删除修改管理员。
(2)系统设置由超级管理员授权的管理员行使该功能,主要是对停车场的参数进行设置。
(3)操作员档案管理由管理员行使改功能,停车场业务操作员进行管理,添加、删除、修改操作员的信息。
(4)数据管理模块该模块显示了停车场日常运行所产生的数据,场内车辆,进出数据,收费金额以及交班记录的相关信息。
(5)档案管理该部分功能为操作员所使用,主要是对停车场发放的卡进行管理、车档案的管理以及停车场顾客的信息档案管理。
他们都有自己的添加、删改、修改的功能。
(6)入场管理该模块是本系统的一个重要的功能模块,主要采集汽车入场时候的一些必要的参数,对参数进行处理和判断,这些获得的参数提交到后台进行相关的处理。
(7)出场管理汽车离场之前对其进行的离场验证和停车时间的数据收集,为下一收费模块提供数据。
(8)收费管理该模块是本系统最重要的一个模块,根据出入场提供的参数结合该模块收费标准的设置计算出收费的金额,完成收费并打印出收费清单。
3.2数据库设计与实现
3.2.1数据库的需求分析
数据库设计的ER图。
如图3-4系统数据库ER图,制定一个收费标准要卡的类型以及收费的标准(时收费或次收费)来确定。
停车场的顾客用户有唯一的一条卡信息与自己的车信息绑定。
停车场的总车位数决定了车位表的总车位,一个车位只能存放一部车。
收费的根据时入场时的信息和出场时的信息以及收费标准的综合得出。
交班记录要记下该员工在工作时间内的所有的操作记录,上下班时间以及在这段时间内的操作。
图3-4系统数据库ER图
根据系统需求,本系统需要设计13张表。
(1)卡信息表:
存放卡的相关信息。
(2)停车场参数表:
存放停车场的基本参数。
(3)用户表:
存放用户的基本信息。
(4)车信息表:
存放车的基本信息。
(5)权限表:
存放对应的权限信息和对应的行使该权限人员的相关信息。
(6)时收费表:
存放按时收费的时间段。
(7)次收费表:
存放按次收费的时间段。
(8)入场表:
存放入场时候的一些信息。
(9)出场表:
存放出场时的相关信息。
(10)交班表:
存放操作员交接班的相关信息。
(11)收费表:
存放停车一段时间的收费信息。
(12)车位表:
用于存放每一个车位上的停车状态。
(13)收费标准表:
存放收费的统一标准。
3.2.2数据库的逻辑设计
下面给出各个表的详细结构。
表3-1卡信息表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
cardid
卡编号
varchar
20
是
否
cardno
卡号
varchar
20
是
否
cardtype
卡类型
varchar
20
是
否
cardmoney
余额
money
8
是
否
sendtime
发卡时间
datetime
8
是
否
activetime
有效时间
datetime
8
是
否
sendflag
已发
tinyint
1
是
否
loseflag
挂失
tinyint
1
是
否
表3-2停车场参数表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
parkname
停车场名字
varchar
20
是
否
parktotal
总车位
int
4
是
否
entertotal
入口车道数
int
4
是
否
exittotal
出口车道数
int
4
是
否
parktel
停车场电话
varchar
20
是
否
parkadd
停车场地址
varchar
20
是
否
表3-3用户表
字段名
描述
类型
长度
是否为空
是否主键
id
编号
varchar
20
否
是
name
用户名
varchar
20
是
否
sex
性别
char
2
是
否
tel
电话
varchar
20
是
否
cardno
卡号
varchar
20
是
否
carno
车牌
varchar
20
是
否
address
地址
varchar
20
是
否
表3-4车信息表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
carid
编号
varchar
20
否
是
carno
车牌号
varchar
20
是
否
cartype
车类型
varchar
20
是
否
表3-5权限表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
poperatorid
编号
varchar
20
否
是
poperatorname
姓名
varchar
20
是
否
poperatorsex
性别
char
10
是
否
poperatorpsw
密码
varchar
20
是
否
poperatorright
权限
varchar
20
是
否
表3-6时收费表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
timeno
时间号
int
4
否
是
starttime
开始时间
char
10
是
否
endtime
结束时间
char
20
是
否
表3-7次收费表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
times_no
时间号
int
4
否
是
starttime
开始时间
char
10
是
否
endtime
结束时间
char
10
是
否
表3-8入场表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
encardid
入场编号
varchar
20
否
否
encardno
卡号
varchar
20
是
否
encarno
车牌
varchar
20
是
否
enway
入场车道
varchar
20
是
否
entime
入场时间
datetime
8
是
否
enposition
指定车位
varchar
20
是
否
表3-9出场表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
exited
出场编号
varchar
20
否
否
excardno
卡号
varchar
20
是
否
excarno
车牌
varchar
20
是
否
exway
出场车道
varchar
20
是
否
extime
出场时间
datetime
8
是
否
表3-10交班表
字段名
描述
类型
长度
是否为空
是否主键
id
自增
int
4
否
是
tnoperator
操作员
varchar
20
否
否
tnlogintime
登录时间
datetime
8
是
否
tnturntime
交班时间
datetime
8