1、毕业答辩论文基于WEB的停车场标准管理系统设计和实现终稿合肥学院2009 届 毕 业 论 文(设计)论文(设计)题目基于WEB的停车场管理系统的设计和实现院系名称计算机科学与技术系专业(班级)计算机科学与技术2005级本科1班姓名(学号)段 景 辉 ()指导教师李 正 茂 系负责人袁 暋 二O O九年五月三十日摘 要随着现代社会的快速发展,人民生活水平快速提高,汽车的数量飞速增加,与此同时停车问题也越来越受到人们的关注,为了实现对停车场进行有效的管理,结合一些停车场的模式和现状开发出本停车场管理系统。停车场管理系统是典型的信息管理系统,本停车场管理系统设计的主要功能包括场内车辆管理和后台数据库
2、管理,其中场内车辆管理又分为出入场管理模块、收费模块、用户管理模块、停车场参数、停车场数据管理模块、系统管理模块等。我们从系统的设计和功能实现方面阐述了管理系统软件的开发过程。系统采用了B/S架构,基于J2EE标准、,数据库采用Microsoft SQL Server 2000。开发过程利用MVC开发模式,层次分明。成功实现了该系统。试运行结果表明,该系统具有良好的性能和扩展性,较高的响应速度和效率,该系统符合实际的停车场管理系统,为停车场管理供一个快速,简单规范的管理平台。这对提高信息化程度,降低人力成本有着重要的意义。关键词:停车场管理系统,J2EE,AbstractWith the ra
3、pid 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 efficiently, we have developed a Parking Management System, with some modes and t
4、he 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 database management, and vehicle management is divided into the passing in a
5、nd 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 design and function of the realization in the Papers. as a running server
6、is used in this system on the basis of B/S structure. Based on J2EE standards, JSP technology as development tools which is taken advantage of and framework and as development environment are applied in the system. Microsoft SQL Server 2000 is used as background database. We develop the use of MVC p
7、attern 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 management system and can provide a fast, simple and standardized management platform. It is important to improve the inform
8、ation level and reduce labor costs.Key words: parking management system, J2EE, , 目 录摘 要IAbstractII目 录III第一章 绪论1 选题背景1 主要相关技术1 Struts技术1 Hibernate2 JSP(Java Server Pages)技术2 J2EE2 MVC2 JavaScript技术3第二章 系统分析4 系统分析4 功能需求分析4 系统流程分析5 技术可行性分析5 系统数据模型层的分析与设计6 系统视图层的设计与分析6 系统控制层的分析与设计6第三章 系统总体设计8 系统设计8 总体设计
9、8 业务流程分析8 系统功能模块9 系统模块设计10 数据库设计与实现10 数据库的需求分析10 数据库的逻辑设计11 数据库的实现脚本14第四章 系统详细设计与实现18 登录模块18 功能说明18 程序描述19 授权管理模块19 功能说明20 程序功能描述20 系统设置模块20 功能说明20 程序功能描述21 操作员档案管理模块21 功能说明21 程序功能描述22 数据管理模块22 功能说明22 程序功能描述23 档案管理24 功能说明24 程序功能描述25 入场管理模块25 功能说明25 程序功能描述26 出场管理27 功能说明27 程序功能描述28 收费管理模块28 功能说明28 程序功
10、能描述29第五章 系统测试、运行维护与评价30 测试概况及测试用例30 添加用户信息30 系统维护31 系统维护的需求起因和目的31 系统维护的内容31 系统维护工作要考虑的因素32 系统维护工作的管理32 系统评价32结 论33参考文献34致谢35第一章 绪论 选题背景近年来,随着我国经济的快速发展,人们生活水平的不断提高,物质需求和生活方式也发生着深刻的变化,以前属于奢侈品的汽车己经逐步走入了市民的日常生活。伴随汽车消费大众化和各种机动车辆大范围内的迅速普及,车辆对其配套设施特别是停车场提出了更高的要求。停车是速度为零的交通”,停车场及附属相关设施是静态交通的重要组成部分。停车场收费管理系
11、统是伴随着公用收费停车场这一新生事物而诞生的。目前的多数停车场存在着以下几个问题,管理漏洞、系统的可靠性、独立性强、收费过程比较繁琐、劳动强度高、停车场利用率低下、票款易流失等。针对这些问题该停车场系统从以下方面进行设计。针对管理进行了优化,采用划卡消费和现金支付相结合,系统计时计费。采用Java高级编程语言和WEB相关技术开发设计管理系统软件,实现网络管理操作。优化后的系统使用方便、服务高效、收费透明、防止票款的流失,提高可靠性同时也提高了操作者的工作效率。 主要相关技术 Struts技术Struts其英文为在建筑和飞机中使用的金属支架,有支持和支撑的含义,同时也说明了其在WEB设计中的重要
12、作用。Struts是一个基于Sun J2EE平台的MVC框架,Struts把Servlet、JSP、自定义标签和信息资源(Message Resources)整合到统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间411。图 1-1 Struts工作原理对于基于Struts框架的Web应用程序,当客户端浏览器发出请求时,请求会被控制器截获,并调用在Web应用启动时就加载并初始化核心控制器组件ActionServlet,并且把他们存放到各个配置对象中。控制器根据配置文件中的信息,或者选择合适的Action对象,或者直接选择合适的View对象返回给浏览器。Ac
13、tion对象本身没有任何的逻辑功能,它只是控制器和模型层之间的接口,控制器通过Action调用匹配的模型对象,模型对象根据执行结果,选择合适的View对象返回给浏览器。,控制器时整个程序执行流程的调度者,在Struts中基本的控制器组建是ActionServlet类,但是Action-Servlet类不包含任何控制信息,。 HibernateHibernate2是目前最流行的ORM(Object/Relational Mapper),是连接Java对象模型和关系数据库模型的桥梁,它对JDBC进行了轻量级封装不仅提供ORM映射服务,还提供数据查询和数据缓冲查询功能。Hibernate将SQL操作
14、完全封装成对象化的操作,开发人员可以方便通过Hibernate来访问数据库。 JSP(Java Server Pages)技术JSP是一种动态网页的技术标准,是一种服务器端嵌入了Java代码的脚本语言。它把内容的生成和显示分离,能生成可重用的组件,应用了标记简化页面的开发并且具有Java特点。 J2EE1. J2EE介绍J2EE(Java 2 Platform, Enterprise Edition)是SUN公司定义的一个开放式企业级应用规范,他提供了一个多层次的分布式应用模型和一系列开发技术规范,多层次分布式应用模型是根据功能把应用逻辑分成多个层次,如Servlet组件在Servlet容器上
15、运行,EJB组件在EJB容器上运行,容器间通过相关的协议进行通讯,实现组件的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。2. 构建本系统J2EE开发工具Java虚拟机:;Java开发工具:;WEB服务器采用:Tomcat 。环境配制过程:。 Project-Web Project,并在Web Project中Add 。 MVCMVC的英文全称为Model-View-Controller,即把一个应用程序的输入层、业务处理层、控制流程按照View、Model、Controller的方式进行分离,这样一个应用程序就被划分成相对独立而又协同工作的3个层,即视
16、图层、模型层、控制层。在MVC设计模式中,客户端WEB浏览器会提交各种不同的用户请求,这些请求由控制器进行处理,控制器根据时间的类型来改变模型或视图,视图也可以接受模型层发出的数据更新通知,依据数据更新的结果调整视图效果,并呈现给用户。而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。 JavaScript技术JavaScript语言的前身是LiveScript语言5。由美国Netscape(网景)公司的布瑞登艾克(Brendan Eich)为即将在1995年发布的Navigator 浏览器的应用而开发的脚本语言。JavaScript是一种基于对象的语言,这意味它能运用自己已经
17、创建的对象。本系统主要用JavaScript小程序代码做一些客户端的登陆验证和页面的选择控制。第二章 系统分析 系统分析 功能需求分析根据停车场管理系统的需求,确定了该系统的用例图如图2-1所示。图2-1 停车场管理系统用例图如图2-1所示,该系统主要有超级管理员、管理员和操作员三种角色,不同角色的基本任务如下所述。超级管理员具有最高的权限,即对本系统所有的权限操作权。超级管理员授权给管理员赋予管理员应有的权限。管理员可根据需要来维护角色信息,并授权给相应的操作员。进行系统的设置,权限设置,数据管理,操作员档案的管理。操作员行使管理员给与的权限,行使档案管理(车辆档案、卡档案管理、用户档案管理
18、),入场的管理,收费管理,以及出场的管理。根据用例图得到的部分类图,如图 2-2图 2-2 类图 系统流程分析停车场管理系统分为入场停车和出场取车两部分。如图2-3所示。图 2-3 系统流程图(1)入场根据系统提示的停车场的现有信息控制车辆的入场,停车场在有车位的情况下方能停车。(2)卡审核审核用户的卡类型并判断卡的有效性。(3)停车指定停车位置提示给用户(1)出场审核卡审核,卡与车辆的匹配审核。(2)收费根据车辆信息,卡类型以及停车的时间等依据收费标准计算收费额度实施收费环节。(3)出场交费之后在出场的相关信息提示下完成停车管理过程。 技术可行性分析停车场管理系统设计中,MVC(Model-
19、View-Control)分层设计模式贯穿了整个设计流程, +。l 模型层模型层主要包括数据逻辑和业务逻辑。 在本系统中,Hibernate提供处理数据持久化,JavaBean对业务逻辑Service封装。l 视图层系统采用JSP实现视图层。l 控制层采用Struts技术处理前台请求与Service业务逻辑的调用。 系统数据模型层的分析与设计MVC设计模式中的M(Model),主要包括了数据逻辑与业务逻辑。l 数据逻辑数据逻辑作为Model层面中的主要组成部分,其设计的优劣会对系统得整体性能表现产生至关重要的影响。Hibernate提供了强大、高性能的对象到关系型数据库的持久化服务。利用Hib
20、ernate,可以按照Java的基础定义进行持久化层开发,Hibernate在对象与关系型数据库之间构建了一条快速、高效、便捷的沟通渠道。在本系统中对数据库的增加、修改、删除、查询的操作都通过Hibernate对数据表进行相对应的操作。l 业务逻辑业务逻辑是业务系统实现的主要组成部分,业务逻辑层主要负责以下几个方面的实现。(1)管理应用的业务逻辑和业务校验。如添加数据时数据表中没有该项记录,才允许添加。(2)管理业务级对象之间的依赖性。(3)管理与其他层进行交互的接口。(4)事物代理。对数据库的插入和删除时要调用事物处理才能物理上执行对数据表的更新操作。(5)错误管理。 系统视图层的设计与分析
21、MVC设计模式中的V(View)即视图层(或表现层),本系统采用JSP技术实现。本系统所有的页面都是通过此技术来实现的。 系统控制层的分析与设计MVC设计模式中的C(Control)即控制层,采用Struts框架技术实现控制层。控制层需要负责以下功能:(1) 接受来自客户端的HTTP请求。(2) 调用M层模型组件来执行相应得业务逻辑。(3) 获得M层业务逻辑的处理结果。(4) 根据处理结果选择合适的视图层呈现给客户端。第三章 系统总体设计 系统设计 总体设计首先判断登录的身份,进入相应的操作页面通过需要的操作,最终完成目的操作的功能。本系统UML活动图如图3-1所示。他们在内在关系由数据库和程
22、序来控制。图3-1 UML活动图 业务流程分析本系统的的使用者是停车场的工作人员,为了便于管理并借鉴现有停车场的管理模式,划分成三个角色的用户。工作人员首先登陆系统,经过一系列的身份验证,登陆成功之后进入相应的操作界面,实现各自的管理功能。总体功能分析业务流程图。如图 3-2业务流程图图3-2 业务流程图其中各模块有对应的添加、修改及删除功能。 系统功能模块如图 3-3 系统功能模块划分图 3-3 系统功能模块划分 系统模块设计(1)授权管理模块 具有最高管理权限超级管理员对该模块进行操作,对管理员进行授权,添加删除修改管理员。(2)系统设置 由超级管理员授权的管理员行使该功能,主要是对停车场
23、的参数进行设置。(3)操作员档案管理 由管理员行使改功能,停车场业务操作员进行管理,添加、删除、修改操作员的信息。(4)数据管理模块 该模块显示了停车场日常运行所产生的数据,场内车辆,进出数据,收费金额以及交班记录的相关信息。(5)档案管理 该部分功能为操作员所使用,主要是对停车场发放的卡进行管理、车档案的管理以及停车场顾客的信息档案管理。他们都有自己的添加、删改、修改的功能。(6)入场管理 该模块是本系统的一个重要的功能模块,主要采集汽车入场时候的一些必要的参数,对参数进行处理和判断,这些获得的参数提交到后台进行相关的处理。(7)出场管理 汽车离场之前对其进行的离场验证和停车时间的数据收集,
24、为下一收费模块提供数据。(8)收费管理 该模块是本系统最重要的一个模块,根据出入场提供的参数结合该模块收费标准的设置计算出收费的金额,完成收费并打印出收费清单。 数据库设计与实现 数据库的需求分析数据库设计的ER图。如图 3-4系统数据库ER图,制定一个收费标准要卡的类型以及收费的标准(时收费或次收费)来确定。停车场的顾客用户有唯一的一条卡信息与自己的车信息绑定。停车场的总车位数决定了车位表的总车位,一个车位只能存放一部车。收费的根据时入场时的信息和出场时的信息以及收费标准的综合得出。交班记录要记下该员工在工作时间内的所有的操作记录,上下班时间以及在这段时间内的操作。图 3-4 系统数据库ER
25、图根据系统需求,本系统需要设计13张表。(1) 卡信息表:存放卡的相关信息。(2) 停车场参数表:存放停车场的基本参数。(3) 用户表:存放用户的基本信息。(4) 车信息表:存放车的基本信息。(5) 权限表:存放对应的权限信息和对应的行使该权限人员的相关信息。(6) 时收费表:存放按时收费的时间段。(7) 次收费表:存放按次收费的时间段。(8) 入场表:存放入场时候的一些信息。(9) 出场表:存放出场时的相关信息。(10) 交班表:存放操作员交接班的相关信息。(11) 收费表:存放停车一段时间的收费信息。(12) 车位表:用于存放每一个车位上的停车状态。(13) 收费标准表:存放收费的统一标准
26、。 数据库的逻辑设计下面给出各个表的详细结构。表3-1 卡信息表字段名描述类型长度是否为空是否主键id自增int4否是cardid卡编号varchar20是否cardno卡号varchar20是否cardtype卡类型varchar20是否cardmoney余额money8是否sendtime发卡时间datetime8是否activetime有效时间datetime8是否sendflag已发tinyint1是否loseflag挂失tinyint1是否表3-2 停车场参数表字段名描述类型长度是否为空是否主键id自增int4否是parkname停车场名字varchar20是否parktotal总车
27、位int4是否entertotal入口车道数int4是否exittotal出口车道数int4是否parktel停车场电话varchar20是否parkadd停车场地址varchar20是否表3-3 用户表字段名描述类型长度是否为空是否主键id编号varchar20否是name用户名varchar20是否sex性别char2是否tel电话varchar20是否cardno卡号varchar20是否carno车牌varchar20是否address地址varchar20是否表3-4 车信息表字段名描述类型长度是否为空是否主键id自增int4否是carid编号varchar20否是carno车牌号v
28、archar20是否cartype车类型varchar20是否表3-5 权限表字段名描述类型长度是否为空是否主键id自增int4否是poperatorid编号varchar20否是poperatorname姓名varchar20是否poperatorsex性别char10是否poperatorpsw密码varchar20是否poperatorright权限varchar20是否表3-6时收费表字段名描述类型长度是否为空是否主键id自增int4否是timeno时间号int4否是starttime开始时间char10是否endtime结束时间char20是否表3-7 次收费表字段名描述类型长度是否
29、为空是否主键id自增int4否是times_no时间号int4否是starttime开始时间char10是否endtime结束时间char10是否表3-8 入场表字段名描述类型长度是否为空是否主键id自增int4否是encardid入场编号varchar20否否encardno卡号varchar20是否encarno车牌varchar20是否enway入场车道varchar20是否entime入场时间datetime8是否enposition指定车位varchar20是否表3-9 出场表字段名描述类型长度是否为空是否主键id自增int4否是exited出场编号varchar20否否excard
30、no卡号varchar20是否excarno车牌varchar20是否exway出场车道varchar20是否extime出场时间datetime8是否表3-10 交班表字段名描述类型长度是否为空是否主键id自增int4否是tnoperator操作员varchar20否否tnlogintime登录时间datetime8是否tnturntime交班时间datetime8是否entimes进场次数int4是否extimes出场次数int4是否totalmoney金额总计money8是否表3-11 收费表字段名描述类型长度是否为空是否主键id自增int4否是chargeid收费编号varchar20
31、否否chcardno卡号varchar20是否chcarno车牌varchar20是否chmoney收费金额money8是否表3-12 车位表字段名描述类型长度是否为空是否主键id自增int4否是cpcarno车牌varchar20是否positionstate车位状态varchar20是否表3-13 收费标准表字段名描述类型长度是否为空是否主键id自增int4否是chargestid标准编号int4是否cardtype卡类型varchar20是否cartype车类型varchar20是否chargetype收费类型varchar20是否timeno时间编号int4是否unittime单位时间
32、int4是否unitsum单位金额int4是否mostsum最大金额int4是否 数据库的实现脚本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 varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,cardmoney money NULL ,send
33、time 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) NOT NULL ,parkname varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,park
34、total 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) NOT NULL ,userid varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,username
35、 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) COLLATE Chinese_PRC_CI_AS NULL ,useradd varchar (50) COLLATE Chinese_PRC_
36、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_PRC_CI_AS NULL ) ON PRIMARY5 权限表CREATE TABLE dbo.rateright (id int IDENTI
37、TY (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
38、_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_CI_AS NULL ,timeend varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY7 次收费表CREATE TABLE dbo.ptimes (id int IDENTITY (1, 1) NOT NULL ,timesno i
39、nt NOT NULL ,timesstart char (8) COLLATE Chinese_PRC_CI_AS NULL ,timesend char (8) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY8 入场表CREATE TABLE dbo.entrance (id int IDENTITY (1, 1) NOT NULL ,encardno varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,encardtype varchar (20) COLLATE Chinese_PRC_CI_AS N
40、ULL ,encarno varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,encartype varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,enway varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,entime datetime NULL ,enposition varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,enchargetype varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,
41、enoperator varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY9 出场表CREATE TABLE dbo.pexit (id int IDENTITY (1, 1) NOT NULL ,excardno varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,excarno varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,exway varchar (20) COLLATE Chinese_PRC_CI_AS NULL ,extime datetime NULL ) ON PRIMARY10 交班表CREATE TABLE dbo.turn (id int IDENTITY (1, 1) NOT NULL ,tnoperator varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,tnlogintime datetime NULL ,tnturntime datetime NULL ,entimes int NULL ,extimes int NULL ,totalmoney money NULL ) ON PRIMARY11 收费表CREATE TABLE
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100