1、. .2021 届 毕 业 论 文设计论文(设计)题目基于WEB的停车场管理系统的设计和实现院系名称计算机科学与技术系专业班级计算机科学与技术2005级本科1班XX学号段 景 辉 0510101005指导教师 正 茂 系负责人袁 暋 二O O九年五月三十日. .word.zl. .摘 要随着现代社会的快速开展,人民生活水平快速提高,汽车的数量飞速增加,与此同时停车问题也越来越受到人们的关注,为了实现对停车场进展有效的管理,结合一些停车场的模式和现状开发出本停车场管理系统。停车场管理系统是典型的信息管理系统,本停车场管理系统设计的主要功能包括场车辆管理和后台数据库管理,其中场车辆管理又分为出入场
2、管理模块、收费模块、用户管理模块、停车场参数、停车场数据管理模块、系统管理模块等。我们从系统的设计和功能实现面阐述了管理系统软件的开发过程。系统采用了B/S架构,Tomcat6.0作为运行效劳器,基于J2EE标准、JSP技术利用Hibernate3.1和Struts1.2框架作为开发工具,MyEclipse6.0开发环境,数据库采用Microsoft SQL Server 2000。开发过程利用MVC开发模式,层次清楚。成功实现了该系统。试运行结果说明,该系统具有良好的性能和扩展性,较高的响应速度和效率,该系统符合实际的停车场管理系统,为停车场管理供一个快速,简单规的管理平台。这对提高信息化程
3、度,降低人力本钱有着重要的意义。关键词:停车场管理系统,J2EE,Hibernate3.1,Struts1.2AbstractWith the rapid development of modern society, peoples living standards improve and the number of vehicles increases rapidly. People pay more attention to parking problems at the same time. In order to manage the parking lots more efficie
4、ntly, we have developed a Parking Management System, with some modes and the actuality of present parking lots considered.Parking Management System is typically one of the information management systems. The main functions in the Parking Management System include vehicle management and background da
5、tabase management, and vehicle management is divided into the passing in and out module, the charging module, the user management module, the parking parameters, parking data management module, and the system management module. We discussed the management systems development process from the system
6、design and function of the realization in the Papers.Tomcat6.0 as a running server is used in this system on thebasis of B/S structure. Based on J2EE standards, JSP technology as development tools which is taken advantage of Hibernate3.1 and Struts1.2 framework and MyEclipse6.0 as development enviro
7、nment are applied in the system. Microsoft SQL Server 2000 is used as background database. We develop the use of MVC pattern in development process. Test results show that the system has good performance and scalability, high response speed and efficiency which is in line with the actual park manage
8、ment system and can provide a fast, simple and standardized management platform. It is important to improve the information level and reduce labor costs.Keywords:parking management system,J2EE,Hibernate3.x, Struts1.2目录摘 要IAbstractII目 录III第一章 绪论11.1 选题背景11.2 主要相关技术11.2.1 Struts技术11.2.2 Hibernate21.2.
9、3 JSPJava Server Pages技术21.2.4 J2EE21.2.5 MVC21.2.6 JavaScript技术3第二章 系统分析42.1 系统分析42.1.1 功能需求分析42.1.2 系统流程分析52.2 技术可行性分析52.2.1 系统数据模型层的分析与设计62.2.2 系统视图层的设计与分析62.2.3 系统控制层的分析与设计6第三章 系统总体设计83.1 系统设计83.1.1 总体设计83.1.2 业务流程分析83.1.2 系统功能模块93.1.3 系统模块设计103.2 数据库设计与实现103.2.1 数据库的需求分析103.2.2 数据库的逻辑设计113.2.3
10、数据库的实现脚本14第四章 系统详细设计与实现184.1 登录模块184.1.1 功能说明184.1.2 程序描述194.2 授权管理模块194.2.1 功能说明204.2.2 程序功能描述204.3 系统设置模块204.3.1 功能说明204.3.2 程序功能描述214.4 操作员档案管理模块214.4.1 功能说明214.4.2 程序功能描述224.5 数据管理模块224.5.1 功能说明224.5.2 程序功能描述234.6 档案管理244.6.1 功能说明244.6.2 程序功能描述254.7 入场管理模块254.7.1 功能说明254.7.2 程序功能描述264.8 出场管理274.
11、8.1 功能说明274.8.2 程序功能描述284.9 收费管理模块284.9.1 功能说明284.9.2 程序功能描述29第五章 系统测试、运行维护与评价305.1 测试概况及测试用例305.1.1 添加用户信息305.2 系统维护315.2.1 系统维护的需求起因和目的315.2.2 系统维护的容315.2.3 系统维护工作要考虑的因素325.2.4 系统维护工作的管理325.3 系统评价32结论33参考文献34致35. .word.zl. . .word.zl. .第一章 绪论1.1选题背景近年来,随着我国经济的快速开展,人们生活水平的不断提高,物质需求和生活式也发生着深刻的变化,以前属
12、于奢侈品的汽车己经逐步走入了市民的日常生活。伴随汽车消费群众化和各种机动车辆大围的迅速普及,车辆对其配套设施特别是停车场提出了更高的要求。停车是速度为零的交通,停车场及附属相关设施是静态交通的重要组成局部。停车场收费管理系统是伴随着公用收费停车场这一新生事物而诞生的。目前的多数停车场存在着以下几个问题,管理漏洞、系统的可靠性、独立性强、收费过程比较繁琐、劳动强度高、停车场利用率低下、票款易流失等。针对这些问题该停车场系统从以下面进展设计。针对管理进展了优化,采用划卡消费和现金支付相结合,系统计时计费。采用Java高级编程语言和WEB相关技术开发设计管理系统软件,实现网络管理操作。优化后的系统使
13、用便、效劳高效、收费透明、防止票款的流失,提高可靠性同时也提高了操作者的工作效率。1.2主要相关技术1.2.1Struts技术Struts其英文为在建筑和飞机中使用的金属支架,有支持和支撑的含义,同时也说明了其在WEB设计中的重要作用。Struts是一个基于Sun J2EE平台的MVC框架,Struts把Servlet、JSP、自定义标签和信息资源Message Resources整合到统一的框架中,开发人员利用其进展开发时不用再自己编码实现全套MVC模式,极大的节省了时间411。图 1-1 Struts工作原理对于基于Struts框架的Web应用程序,当客户端浏览器发出请求时,请求会被控制器
14、截获,并调用在Web应用启动时就加载并初始化核心控制器组件ActionServlet,然后通过ActionServlet从Struts-config.xml文件中读取预先设置的配置信息,并且把他们存放到各个配置对象中。控制器根据配置文件中的信息,或者选择适宜的Action对象,或者直接选择适宜的View对象返回给浏览器。Action对象本身没有任的逻辑功能,它只是控制器和模型层之间的接口,控制器通过Action调用匹配的模型对象,模型对象根据执行结果,选择适宜的View对象返回给浏览器。,控制器时整个程序执行流程的调度者,在Struts中根本的控制器组建是ActionServlet类,但是Ac
15、tion-Servlet类不包含任控制信息,程序的所有调度信息都需要在Struts-con-fig.xml配置文件中设置。1.2.2HibernateHibernate2是目前最流行的ORMObject/Relational Mapper,是连接Java对象模型和关系数据库模型的桥梁,它对JDBC进展了轻量级封装不仅提供ORM映射效劳,还提供数据查询和数据缓冲查询功能。Hibernate将SQL操作完全封装成对象化的操作,开发人员可以便通过Hibernate来访问数据库。1.2.3JSPJava Server Pages技术JSP是一种动态网页的技术标准,是一种效劳器端嵌入了Java代码的脚本
16、语言。它把容的生成和显示别离,能生成可重用的组件,应用了标记简化页面的开发并且具有Java特点。1.2.4J2EE1. J2EE介绍J2EE(Java 2 Platform, Enterprise Edition)是SUN公司定义的一个开放式企业级应用规,他提供了一个多层次的分布式应用模型和一系列开发技术规,多层次分布式应用模型是根据功能把应用逻辑分成多个层次,每个层次支持相应的效劳器和组件.组件在分布式效劳器的组件容器中运行,如Servlet组件在Servlet容器上运行,E组件在E容器上运行,容器间通过相关的协议进展通讯,实现组件的相互调用。遵从这个规的开发者将得到行业的广泛支持,使企业级
17、应用的开发变得简单、快速。2. 构建本系统J2EE开发工具Java虚拟机:J2SDK1.6;Java开发工具:MyEclipse6.0;WEB效劳器采用:Tomcat 6.0。环境配制过程:安装好J2SDK1.6后。在MyEclipse6.0中选择新建J2EE Project-Web Project,并在Web Project中Add Struts和Hibernate3.1。1.2.5 MVCMVC的英文全称为Model-View-Controller,即把一个应用程序的输入层、业务处理层、控制流程按照View、Model、Controller的式进展别离,这样一个应用程序就被划分成相对独立而
18、又协同工作的3个层,即视图层、模型层、控制层。在MVC设计模式中,客户端WEB浏览器会提交各种不同的用户请求,这些请求由控制器进展处理,控制器根据时间的类型来改变模型或视图,视图也可以承受模型层发出的数据更新通知,依据数据更新的结果调整视图效果,并呈现给用户。而模型也可以通过视图所获得的用户提交的数据进展具体业务逻辑的处理。1.2.6 JavaScript技术JavaScript语言的前身是LiveScript语言5。由美国Netscape网景公司的布瑞登艾克Brendan Eich为即将在1995年发布的Navigator 2.0 浏览器的应用而开发的脚本语言。JavaScript是一种基于
19、对象的语言,这意味它能运用自己已经创立的对象。本系统主要用JavaScript小程序代码做一些客户端的登陆验证和页面的选择控制。第二章系统分析2.1系统分析2.1.1功能需求分析根据停车场管理系统的需求,确定了该系统的用例图如图2-1所示。图2-1 停车场管理系统用例图如图2-1所示,该系统主要有超级管理员、管理员和操作员三种角色,不同角色的根本任务如下所述。超级管理员具有最高的权限,即对本系统所有的权限操作权。超级管理员授权给管理员赋予管理员应有的权限。管理员可根据需要来维护角色信息,并授权给相应的操作员。进展系统的设置,权限设置,数据管理,操作员档案的管理。操作员行使管理员给与的权限,行使
20、档案管理车辆档案、卡档案管理、用户档案管理,入场的管理,收费管理,以及出场的管理。根据用例图得到的局部类图,如图 2-2图 2-2 类图2.1.2 系统流程分析停车场管理系统分为入场停车和出场取车两局部。如图2-3所示。图 2-3 系统流程图1.入场停车流程1入场根据系统提示的停车场的现有信息控制车辆的入场,停车场在有车位的情况下能停车。2卡审核审核用户的卡类型并判断卡的有效性。3停车指定停车位置提示给用户2.出场取车流程1出场审核卡审核,卡与车辆的匹配审核。2收费根据车辆信息,卡类型以及停车的时间等依据收费标准计算收费额度实施收费环节。3出场交费之后在出场的相关信息提示下完成停车管理过程。2
21、.2 技术可行性分析停车场管理系统设计中,MVCModel-View-Control分层设计模式贯穿了整个设计流程,系统开发框架采用Struts1.2 +Hibernate3.1组合构造。l 模型层模型层主要包括数据逻辑和业务逻辑。 在本系统中,Hibernate提供处理数据持久化,JavaBean对业务逻辑Service封装。l 视图层系统采用JSP实现视图层。l 控制层采用Struts技术处理前台请求与Service业务逻辑的调用。2.2.1 系统数据模型层的分析与设计MVC设计模式中的MModel,主要包括了数据逻辑与业务逻辑。l 数据逻辑数据逻辑作为Model层面中的主要组成局部,其设
22、计的优劣会对系统得整体性能表现产生至关重要的影响。Hibernate提供了强大、高性能的对象到关系型数据库的持久化效劳。利用Hibernate,可以按照Java的根底定义进展持久化层开发,Hibernate在对象与关系型数据库之间构建了一条快速、高效、便捷的沟通渠道。在本系统中对数据库的增加、修改、删除、查询的操作都通过Hibernate对数据表进展相对应的操作。l 业务逻辑业务逻辑是业务系统实现的主要组成局部,业务逻辑层主要负责以下几个面的实现。1管理应用的业务逻辑和业务校验。如添加数据时数据表中没有该项记录,才允添加。2管理业务级对象之间的依赖性。3管理与其他层进展交互的接口。4事物代理。
23、对数据库的插入和删除时要调用事物处理才能物理上执行对数据表的更新操作。5错误管理。2.2.2 系统视图层的设计与分析MVC设计模式中的VView即视图层或表现层,本系统采用JSP技术实现。本系统所有的页面都是通过此技术来实现的。2.2.3 系统控制层的分析与设计MVC设计模式中的CControl即控制层,采用Struts框架技术实现控制层。控制层需要负责以下功能:(1) 承受来自客户端的HTTP请求。(2) 调用M层模型组件来执行相应得业务逻辑。(3) 获得M层业务逻辑的处理结果。(4) 根据处理结果选择适宜的视图层呈现给客户端。第三章 系统总体设计3.1 系统设计3.1.1 总体设计首先判断
24、登录的身份,进入相应的操作页面通过需要的操作,最终完成目的操作的功能。本系统UML活动图如图3-1所示。他们在在关系由数据库和程序来控制。图3-1 UML活动图3.1.2 业务流程分析本系统的的使用者是停车场的工作人员,为了便于管理并借鉴现有停车场的管理模式,划分成三个角色的用户。工作人员首先登陆系统,经过一系列的身份验证,登陆成功之后进入相应的操作界面,实现各自的管理功能。总体功能分析业务流程图。如图3-2业务流程图图3-2业务流程图其中各模块有对应的添加、修改及删除功能。3.1.2系统功能模块如图 3-3 系统功能模块划分图 3-3 系统功能模块划分3.1.3系统模块设计(1)授权管理模块
25、具有最高管理权限超级管理员对该模块进展操作,对管理员进展授权,添加删除修改管理员。(2)系统设置由超级管理员授权的管理员行使该功能,主要是对停车场的参数进展设置。(3)操作员档案管理由管理员行使改功能,停车场业务操作员进展管理,添加、删除、修改操作员的信息。(4)数据管理模块该模块显示了停车场日常运行所产生的数据,场车辆,进出数据,收费金额以及交班记录的相关信息。(5)档案管理该局部功能为操作员所使用,主要是对停车场发放的卡进展管理、车档案的管理以及停车场顾客的信息档案管理。他们都有自己的添加、删改、修改的功能。(6)入场管理该模块是本系统的一个重要的功能模块,主要采集汽车入场时候的一些必要的
26、参数,对参数进展处理和判断,这些获得的参数提交到后台进展相关的处理。(7)出场管理汽车离场之前对其进展的离场验证和停车时间的数据收集,为下一收费模块提供数据。(8)收费管理该模块是本系统最重要的一个模块,根据出入场提供的参数结合该模块收费标准的设置计算出收费的金额,完成收费并打印出收费清单。3.2 数据库设计与实现3.2.1 数据库的需求分析数据库设计的ER图。如图 3-4系统数据库ER图,制定一个收费标准要卡的类型以及收费的标准时收费或次收费来确定。停车场的顾客用户有唯一的一条卡信息与自己的车信息绑定。停车场的总车位数决定了车位表的总车位,一个车位只能存放一部车。收费的根据时入场时的信息和出
27、场时的信息以及收费标准的综合得出。交班记录要记下该员工在工作时间的所有的操作记录,上下班时间以及在这段时间的操作。图 3-4系统数据库ER图根据系统需求,本系统需要设计13表。(1) 卡信息表:存放卡的相关信息。(2) 停车场参数表:存放停车场的根本参数。(3) 用户表:存放用户的根本信息。(4) 车信息表:存放车的根本信息。(5) 权限表:存放对应的权限信息和对应的行使该权限人员的相关信息。(6) 时收费表:存放按时收费的时间段。(7) 次收费表:存放按次收费的时间段。(8) 入场表:存放入场时候的一些信息。(9) 出场表:存放出场时的相关信息。(10) 交班表:存放操作员交接班的相关信息。
28、(11) 收费表:存放停车一段时间的收费信息。(12) 车位表:用于存放每一个车位上的停车状态。(13) 收费标准表:存放收费的统一标准。3.2.2数据库的逻辑设计下面给出各个表的详细构造。表3-1卡信息表字段名描述类型长度是否为空是否主键id自增int4否是cardid卡编号varchar20是否cardno卡号varchar20是否cardtype卡类型varchar20是否cardmoney余额money8是否sendtime发卡时间datetime8是否activetime有效时间datetime8是否sendflag已发tinyint1是否loseflag挂失tinyint1是否表3
29、-2 停车场参数表字段名描述类型长度是否为空是否主键id自增int4否是parkname停车场名字varchar20是否parktotal总车位int4是否entertotal入口车道数int4是否exittotal出口车道数int4是否parktel停车场varchar20是否parkadd停车场地址varchar20是否表3-3 用户表字段名描述类型长度是否为空是否主键id编号varchar20否是name用户名varchar20是否sex性别char2是否telvarchar20是否cardno卡号varchar20是否carno车牌varchar20是否address地址varchar
30、20是否表3-4 车信息表字段名描述类型长度是否为空是否主键id自增int4否是carid编号varchar20否是carno车牌号varchar20是否cartype车类型varchar20是否表3-5 权限表字段名描述类型长度是否为空是否主键id自增int4否是poperatorid编号varchar20否是poperatornameXXvarchar20是否poperatorsex性别char10是否poperatorpsw密码varchar20是否poperatorright权限varchar20是否表3-6时收费表字段名描述类型长度是否为空是否主键id自增int4否是timeno时间
31、号int4否是starttime开场时间char10是否endtime完毕时间char20是否表3-7 次收费表字段名描述类型长度是否为空是否主键id自增int4否是times_no时间号int4否是starttime开场时间char10是否endtime完毕时间char10是否表3-8 入场表字段名描述类型长度是否为空是否主键id自增int4否是encardid入场编号varchar20否否encardno卡号varchar20是否encarno车牌varchar20是否enway入场车道varchar20是否entime入场时间datetime8是否enposition指定车位varcha
32、r20是否表3-9 出场表字段名描述类型长度是否为空是否主键id自增int4否是exited出场编号varchar20否否excardno卡号varchar20是否excarno车牌varchar20是否exway出场车道varchar20是否extime出场时间datetime8是否表3-10 交班表字段名描述类型长度是否为空是否主键id自增int4否是tnoperator操作员varchar20否否tnlogintime登录时间datetime8是否tnturntime交班时间datetime8是否entimes进场次数int4是否extimes出场次数int4是否totalmoney金额
33、总计money8是否表3-11 收费表字段名描述类型长度是否为空是否主键id自增int4否是chargeid收费编号varchar20否否chcardno卡号varchar20是否chcarno车牌varchar20是否chmoney收费金额money8是否表3-12 车位表字段名描述类型长度是否为空是否主键id自增int4否是cpcarno车牌varchar20是否positionstate车位状态varchar20是否表3-13 收费标准表字段名描述类型长度是否为空是否主键id自增int4否是chargestid标准编号int4是否cardtype卡类型varchar20是否cartype
34、车类型varchar20是否chargetype收费类型varchar20是否timeno时间编号int4是否unittime单位时间int4是否unitsum单位金额int4是否mostsum最大金额int4是否3.2.3 数据库的实现脚本1 卡信息表CREATE TABLE dbo.pcard (id int IDENTITY (1, 1) NOT NULL ,cardid varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,cardno varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,cardtype
35、 varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,cardmoney money NULL ,sendtime datetime NULL ,activetime datetime NULL ,sendflag varchar (10) COLLATE Chinese_PRC_CI_AS NULL ,loseflag varchar (10) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY2 停车场参数表CREATE TABLE dbo.parkparameter (id int IDENTITY (1, 1)
36、NOT NULL ,parkname varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,parktotal int NULL ,entertotal int NULL ,exittotal int NULL ,parkadd varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,parktel varchar (20) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY3 用户表CREATE TABLE dbo.users (id int IDENTITY (1, 1) NO
37、T NULL ,userid varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,username varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,usersex varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,usertel varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,u_carid varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,u_cardid varchar (20) C
38、OLLATE Chinese_PRC_CI_AS NULL ,useradd varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY4 车信息表CREATE TABLE dbo.car (id int IDENTITY (1, 1) NOT NULL ,carid varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,carno varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,cartype varchar (20) COLLATE Chinese_P
39、RC_CI_AS NULL ) ON PRIMARY5 权限表CREATE TABLE dbo.rateright (id int IDENTITY (1, 1) NOT NULL ,poperatorid varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,poperatorname varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,poperatorsex char (10) COLLATE Chinese_PRC_CI_AS NULL ,poperatorright varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,poperatorpsw varchar (20) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY6 时收费表CREATE TABLE dbo.ptime (id int IDENTITY (1, 1) NOT NULL ,timeno int NOT NULL ,timestart varchar (50) COLLATE Chinese_PRC