基于物联网的智慧停车系统设计与实现 - 14000字_第1页
基于物联网的智慧停车系统设计与实现 - 14000字_第2页
基于物联网的智慧停车系统设计与实现 - 14000字_第3页
基于物联网的智慧停车系统设计与实现 - 14000字_第4页
基于物联网的智慧停车系统设计与实现 - 14000字_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于物联网的停车系统设计与实现内容摘要在机动车持有量逐年增加的当下社会环境中,如何合理提高停车场管理系统的稳定性和增加功能性成为了一个日益待解决的问题。本文利用Java语言设计的停车系统辅以物联网技术,意为改善现有停车场管理方式多以人力化模式为主导的现状。系统采用MVC设计模式,分层搭建,保障了各模块的功能实现相互联系且互不干扰。使用tomcat运行服务器和Eclipse开发环境,数据库则采用Mysql环境的SQLyog作为数据库与后端进行交互,另外使用RFID射频识别和车牌识别技术设计一个停车场管理系统,有停车需求的用户可在出入场使用多种设备辅助停车系统对其进行身份识别和信息录入;由管理员主导的权限可对系统内所有信息进行编辑操作。此系统的设计初衷是在现有停车场规划的基础上即可便捷安装,快速使用,目的是显著提高现有停车场管理水平,提升居民出行安全感,对城市整体形象提升有促进作用。关键词:物联网;RFID;停车系统;JavaAbstractInthecurrentsocialenvironmentwherethenumberofmotorvehiclesisincreasingyearbyyear,howtoreasonablyimprovethestabilityandfunctionalityoftheparkinglotmanagementsystemhasbecomeanincreasinglyunsolvedproblem.ThispaperusestheJavalanguagetodesigntheparkingsystemsupplementedbytheInternetofThingstechnology,whichmeanstoimprovethecurrentsituationthattheexistingparkinglotmanagementmethodsaremostlydominatedbythehumanizedmode.ThesystemadoptstheMVCdesignmodeandisbuiltinlayers,whichensuresthatthefunctionsofeachmoduleareinterconnectedanddonotinterferewitheachother.UsingtomcattoruntheserverandEclipsedevelopmentenvironment,thedatabaseusestheSQLyogwhichisinMysqlenvironmentasthedatabasetointeractwiththebackend,andalsousesRFIDradiofrequencyidentificationandlicenseplaterecognitiontechnologytodesignaparkinglotmanagementsystem,userswhohaveparkingneedscanenterandleavethepark.Useavarietyofequipmenttoassisttheparkingsystemtoidentifyandenterinformation;administrator-ledpermissionscaneditallinformationinthesystem.Theoriginalintentionofthedesignofthissystemisthatitcanbeeasilyinstalledandusedquicklyonthebasisoftheexistingparkinglotplanning.Thepurposeistosignificantlyimprovethemanagementleveloftheexistingparkinglot,enhancetheresidents'senseoftravelsafety,andpromotetheoverallimageofthecity.Keyword:IOT;RFID;parkingsystem;Java目录TOC\o"1-2"\u\z\h一、绪论 一、绪论(一)研究背景改革开放几十余年来,社会主义经济实现了飞速发展,国内城市化规模和水平有序提高,人民群众对高档消费品的需求也逐年上升。家用汽车作为人们出行不可或缺的代步工具,成为每个家庭都有需求的热门商品。据公安部权威部门统计,截至2022年12月,全国汽车保有量已达3.94亿,全年国内新注册登记机动车3652万辆,创下同期历史新高[1]。在此背景下,城市内的停车场会因为没有得到良好保养或者规划问题导致道路车流量大,车位少停车难的问题。以往的人工收取现金到现在的非接触式扫码方式无法解决汽车保有量迅速上升与停车难之间的冲突。如何有效且合理的分配车位资源已经成为社会和城市管理部门普遍的关注点,同时也对提升社会大众的生活水平有显著意义。对于这一现状,本文设计的停车管理系统应运而生。伴随着科技的进步,已经出现了针对大型停车场的商业化停车系统,且已经向管理型的方向转变。基于物联网的停车系统是可实现可变现的停车场管理技术,利用该系统可以有效改善车位资源限制,提高停车效率,系统可以把公共停车资源和小型停车场资源进行整合,以RFID卡片的方式面对车主查找,从而满足更多人的出行需求。(二)国内外环境分析目前国内的少数公司已经着手自主研发停车场管理系统,也在部分发达城市进行定点建设[2],其中主要分布在商业街和军用领域,且数量较为稀少,管理设备规格差距较大,主要依靠保安来管理。虽然增加了就业机会和管理系统的容错率,但就职人员素质参差不齐,不能完全掌握设备,不懂运行原理。多数现实生活中的相关人员只负责抬杆或巡逻,再加上多数停车场使用按月出租或现金结算等方式[3],停车场据离市区的远近直接关乎能否体现设备价值的意义。与此同时还有区位地段导致停车场收费普遍偏高的问题,让商业化、技术层和市政管理部门无法协调统一,达不到发达国家实验型停车场的可由车主根据停车场外部设立的实体终端完全自由掌握停车节奏的层面。美国的停车诱导系统可以为意向用户提供完整的路线规划、车位实时信息,使用状况,价格等信息,包括基于物联网的区域停车场联网管理。但发达国家的建场成本高,管理人员的雇佣成本大,优势是采用国际领先的硬件保证运行稳定性强,设备制造精度相比国内也有优势,即使运行时间长也能保证不需要实时人力维护和监控,以长远的城市建设来说,是一次建设即终身受益的。(三)本文研究内容主要研究内容包括:RFID电子标签与读写器的交互,车牌识别技术,Eclipse、JDK、MySQL环境数据库服务端和客户端等技术的实践,停车管理系统的技术层面设计,以图表的方式展现设计方案和运行样本。(四)章节结构本文的主要内容是设计一个停车管理系统和物联网技术对管理系统的辅助应用,结构如下:第一部分介绍了停车场的现有环境,提出了停车难,管理方所存在的问题,分析了管理系统开发方向,表现了构建停车场管理系统的现实意义。第二部分简述了所使用的开发工具Java及物联网技术对系统的辅助,包括技术方向和语言框架,前端使用跨平台的动态网页JSP,利用jQuery框架处理数据;java完成对后端的编写,运用B/S架构。第三部分是系统分析,包括技术可行性,商业性,操作性和功能性四个方向来阐述构建系统的可能,介绍了数据库的技术层面逻辑,包括业务设计,系统模拟,模型层和控制层等信息,以及物联网技术对系统的辅助能力,RFID射频识别和车牌识别技术对实际运行环境下的商业需求必不可少。第四部分是停车场管理系统的系统类分析,系统类分析给出了系统类图表和类的说明,包括用word实现的类间关系图;系统包含了用户类,基于用户类的内部类,临时类等,他们的核心意义在于数据库的功能写入。第五部分介绍了停车场管理系统的功能实现,用户登陆界面的展示,系统信息管理界面的图示,添加了车位管理信息的描述和流程图、RFID卡信息等模块。第六部分是系统测设和维护。包括简单的试错和登录反馈检验,测试主要做了登陆信息错误、临时占用车位信息是否正确录入等测试。二、技术相关(一)技术方向为保证停车系统的顺利搭建,在经过多方面查证像硬件、开发语言等必要知识后,本文挑选了以下开发平台和工具:操作系统WIN10Java虚拟机:JDK1.8Java开发工具:EclipseWeb服务器:Tomcat数据库:MySQL5.7Java是编程语言,具备跨平台、面向对象、高性能等特性;Eclipse是一个开源的、基于Java的语言平台,适合编写java代码,其由插件组件构建开发环境。本系统利用eclipse开发Web应用。JavaDevelopmentKit常缩写为JDK,是针对Java使用者的软件开发工具包。本文安装的运行环境采用JDK1.8版本来编译文件。Tomcat服务器是由java语言编写的开源网页应用服务器,是适合中小型企业或应用的服务器,本文所构建的小型系统就采用了tomcat。第二原因作为开发和测试JSP程序的首选,其本身就可以视为包含http服务器的单独的Web服务器[4]。(二)语言框架1.JSP技术JSP的全称是JavaServer

Page,意为动态网页技术标准。JSP动态页面部署在tomcat服务器上,可及时接受前端发送的请求并返回给浏览器效果呈现。其优势是根据用户的请求内容动态地生成Web网页,JSP稳定高效的特点适合开发小型系统。2.Jquery框架jQuery框架属于JavaScript,也是开源软件。它封装的代码块都是Java中常用的功能代码,因此也方便java从业者后期更新和维护。其优秀易读的语法设计简化了许多原本繁杂的操作,在网页中使用元素的名称和属性作为呈现方式,本系统使用Jquery框架处理数据,实现动态交互等操作。3.B/S结构B/S结构全称Browser/Server,即浏览器,服务器模式。与C/S架构同属网络结构模式,例如B/S架构设计的程序会在网页上呈现,而采用C/S架构的程序多以app等形式出现在PC端,移动端。B/S结构使用Web浏览器,将系统功能的主要对象放到tomcat上,缩短了系统的开发周期,利于维护和使用。用户手机上都有浏览器,比如苹果的Safiri,谷歌的chrome都能使用WebServer对数据库进行交互操作。图2.1B/S结构交互流程图(三)物联网技术1.RFIDRFID全称RadioFrequencyIdentification,意为射频识别,是一种无线通信技术。它通过将无线电的电信号转化成无线电频率的电磁场,使用汽车上默认的射频应答器或者车主手持的RFID卡,返回处理操作后的数据,以此达到自动识别和信息交互[5],提高停车场运行效率。此功能的方便之处在于存世时间长,推广难度小,卡片制作成本低,即使车辆没有内置电子标签,仍然通过RFID卡可以实现识别操作。现有的停车场收费模式主要有两种:车位注册制和临时分配制,车位注册主要出现在住宅区,停车场在建造初期就会公开售卖车位拥有权,再雇佣人员进行统一管理,此模式停车不需要缴费。临时配分制多出现在商业区,采用分发物品如专用IC卡,登记号码等形式,其数量庞大且容易出现丢失问题。依靠停车场管理人员人力核对等容易出现差错的形式,每当一天结束核算时,往往出现个别对不上帐目的尴尬现状,同时多数使用临时分配停车场的车主一般会持有多种类型的卡片,使用过程难免出现纰漏[6]。RFID设备内的读写器的PCB主要是天线,我们将其简化为线圈。读写器与IC卡结合在一起,带有一些无源元件将正弦电流推过天线,因此会产生磁场分布在线圈周围,最常用的频率是13.56MHz,即为高频,此类收发器模块一般为PN532和RC522。而低频无线射频读写器则主要是RDM6300,频率位125KHz。集中用于小型只读标签或者电子标签读写。当标签的天线进入读卡器磁场时,卡内通过IC产生电压,这一点与无线充电技术有相似之处。电流通过时使用内置晶体管使其线圈短路,次级电流短路会产生读写器想要发送的数据,通常为1kb大小。在振幅中载波电流覆盖芯片数据,这就是RFID标签与读写器交互的方式[7]。本文基于物联网的主要功能实现依靠RFID射频识别:用户购买RFID电子标签后,系统会添加此标签内置的个人信息,由此建立卡对人的专属个人档案,同时用户登录系统需要账号密码,这都是首次建立档案时需要用户操作的项目。当用户通过账号验证后会发送到服务端,本文利用的MySQL数据库实现所有权认证,也就是我们常见的登陆方式。用户登录信息认证成功后才能修改个人资料,管理者可查询按顺序或者特定排序方式下的消费记录,充值记录,停车位的基本信息,实时车位情况。不仅如此,还可以动态的获取停车场车位是否闲置。在极端情况下,车位全部被占用,如果其他停车场也使用同样系统或者实时联网,也可以实现相关功能,推荐到此停车场的行车路线。由于此项目多由移动设备上开发,且实现难度较大,本文仅仅提出一个停车场管理方的管理系统模型供于参考。2.车牌识别车牌识别技术是基于物联网的停车管理系统的基本功能。为了保证车牌识别的准确性,在出入口的管理位置,车牌识别摄像头采用一个摄像头只检测一个行车位的安装计划,而在停车场内部可使用高清摄像头同时对区域进行覆盖。此技术主要依赖于数据采集层部署视频处理器。视频处理器是一个图形处理终端[8],功能主要包括图像采集功能、视频循环切换、数据通信等。对于车牌识别摄像头本身而言,是不具备图像识别和图像处理能力的,将车牌识别摄像头拍摄的图片发送给视频处理器进行编辑,一个视频处理器能够同时处理多个车牌识别摄像头发送上来的数据,最后将数据储存到数据库中。三、系统分析(一)系统可行性分析本文使用MVC设计模式,全称ModelViewControlle,是模型-视图-控制器的简称。这种模式是要拆分一个大应用到特定部分,使其都有各自目的。当用户从浏览器请求特定内容的url地址,服务器将发送该请求信息到一个特定控制器,此控制器负责处理来自客户的请求,并将告知服务器的的其余部分如何处理。控制器相当于一个介质,在模型和视图两个模型之间。在控制器收到请求后询问模型怎么做和返回类型,它只负责发送和接受数据,由模型层处理数据逻辑,与服务器交互,包括验证保存更新删除等操作。在模型处理完数据后返还给控制器,控制器得到允许才能与视图层交互,视图层将梳理后的数据图像动态渲染,发送给控制器,最后由控制器呈现给用户[9]。模型和视图是不会在过程中有任何交互,这使得创建复杂的应用程序变得容易。模型层提供逻辑操作,同时,视图层使用JSP动态页面来助构管理系统实现,控制层采用MVCspring技术处理客户请求与模型层的交互。(二)系统商业性分析在实际生活中,人工对车辆登记配发卡片往往致使效率缓慢,停车场的效率不高就会导致收益率下降。现有停车场低效率的原因多为人为因素,提高停车场的效率就要依赖于技术的改进。对于那些高端技术提供的接口,待技术引进再后期磨合,具体实现方式需待定。停车系统需要配合高清摄像头、引进RFID等设备,培养系统维护和管理人员,再加上和物业,当地管理部门的相关协商和磨合等等一系列问题。可以在现有人工管理停车场上安装这一系统,后续的维护也需要技术人员。为了让居民首次利用此系统就能快速上手,收费标准必须和规格相匹配,停车环境最好大幅改善,否则会让大众抱怨不如原来的人工指挥的停车场。这样才能方便大规模推广。所以此系统必须满足易看易懂易操作的设计原则,同时系统需要配合摄像头、引进RFID卡技术等,也是在预估范围内的成本考量。总的来说,应用停车场管理系统是能够实现长远收益的。(三)系统操作性分析1.系统登录顺序图3.1系统登陆顺序图流程介绍:在前端的登录页面用户和管理员输入用户名和密码,接入层接受登录名和密码,发送url请求给服务层并调用服务层,服务层处理业务逻辑并调用持久层,持久层与数据库交互检查是否存在数据,存在登陆成功跳转到系统首页,不成功提示错误并返回登录页。系统有创建并查看角色、RFID卡、临时停车、固定停车、车位信息和收费等功能。用户可以查看并修改自己的多种信息,这些信息是储存在SQLyog数据库中,由MVC分层设计保证了其互相独立和稳定。车位除了它自身的属性外还具备两种模式,分别是临时车位和固定车位,其中临时车主在进入停车场时,会经过RFID设备和车牌识别摄像头。他们都会被分配RFID卡,对应两种卡的种类,临时和固定,由管理员记录后分配到系统中供于查验,初步定价为3元每小时。而固定车主的收费信息则是按月计入或者直接买断,这两种模式都是经过市场考验的成功实例,可供大众自由选择的用户关系属性图如下图所示:图3.2停车场管理系统ER图(四)系统功能性分析停车管理系统的系统权限为:管理员。管理员的主要任务是管理包括车位信息,系统信息、IC卡、临时车主登记、固定车位设锁等功能。用例图椭圆代表用例,线条人代表用户[10],用户与功能之间是关联关系,停车场管理系统示意图如下:图3.3停车场管理系统用例图根据系统的设计理念,确定数据库的实现应包含多种表格以存储信息,包括用户表,角色表,车位信息表,RFID卡信息表,临时车辆停车信息表,固定车辆车位表和收费表。他们的作用不一,共同组成了数据库。用户表用来存储三种用户,分别是管理员,临时车主,固定车主,记录他们的姓名,昵称,用户密码和联系电话,由最高权限的管理者统一查验。角色表作用是管理角色信息,后期可以根据实际情况添加更多身份的用户。车位信息表储存了车位编号和车位代号,包含他们的具体区域方便车主寻找,以及车位状态,即它们是否被占用。这一功能也可由停车场的摄像头动态识别,如果出现系统显示未使用而摄像头表明车位被占用的情况,就需要管理人员上前查看。RFID卡负责储存卡片信息,每个卡在拥有自身编号情况下还拥有车位的编号,即车位绑定RFID卡,一卡对应一车位。卡的拥有者信息,如果是固定车主,就包含他们的房屋地址和车牌。既方便管理人员与车主的交流,也方便了车主的寻找,不用担心被占用,停车速度也大大提高,增加了停车场进出车辆的效率,变相提高营业额。临时车辆记录表则登记临时车辆的信息,为他们分配临时RFID卡用于出入停车场,同时系统会记录他们的入场时间和出场时间并给出需要支付的费用,收费透明有效,避免了人工收费和车主的纠纷。固定车主表用来记录固定车主的RFID卡和车位信息及他们的入场和出场时间。收费表则用来存储和管理两种用户的收费详情,用于每天固定时间的利润核算,借用系统的动态记录,保证了使用和收费完全可靠可查可验。数据类型为varchar2可以根据实际要求动态分配储存空间,有效利用存储分配。用户表的创建理念和规格如下图所示:表3.1User表序号变量名数据类型长度小数位标识主键允许空键1user_idVarchar2100是是否2role_idVarchar2100否3user_nameVarchar2100否4real_nameVarchar2100否5user_pwdVarchar2100否6user_phoneVarchar2100是角色表的创建理念和规格如下图所示:表3.2Role表序号变量名数据类型长度小数位标识主键允许空键1role_idVarchar2100是是否2role_nameVarchar2100否车位信息表的创建理念和规格如下图所示:表3.3Seat表序号变量名数据类型长度小数位标识主键允许空键1seat_idVarchar2100是是否2seat_numVarchar2100否3seat_setionVarchar2100否4seat_stateint1否5seat_tagVarchar2100是RFID卡信息表的创建理念和规格如下图所示:表3.4Card表序号变量名数据类型长度小数位标识主键允许空键1card_idvarchar2100是是否2seat_idVarchar2100否3user_nameVarchar2100否4user_genderVarchar210否5user_addrVarchar2100否6car_numVarchar2100否临时车辆记录表的创建理念和规格如下图所示:表3.5Temp表序号变量名数据类型长度小数位标识主键允许空键1temp_idVarchar2100是是否2card_idVarchar2100否3car_numVarchar2100否4entry_datedate00否5entery_timetime00否6out_datedate00是7out_timetime00是8temp_moneyfloat04是固定车主表的创建理念和规格如下图所示:表3.6Fix表序号变量名数据类型长度小数位标识主键允许空键1fixed_idVarchar2100是是是否2card_idVarchar2100否3entry_datedate00否4entery_timetime00否5out_datedate00是6out_timetime00是收费表的创建理念和规格如下图所示:表3.7Temp表序号变量名数据类型长度小数位标识主键允许外键1role_idVarchar2100是是是否2role_nameVarchar2100是3role_typeVarchar2100是4car_numVarchar2100是5car_moneyVarchar2100是6car_timeVarchar2100是1.控制层展示客户端使用html协议使用业务逻辑代码资源,controller端保证了model端与传输层之间的联系。控制器端通过利用和model端一致的java语言访问和编辑模型对象,同时也是面向请求和相应的一种接口和一些辅助类的实现。在项目的目录src里的DBUtil包,作为辅助类是为了使Controller层的代码更好维护和实现一些其他功能。在系统模块的退出系统功能,代码封装在CloseFactory类中。其作用是关闭数据库与服务器之间的连接,包括取消statement对象和关闭结果集对象。ConnectionFactory类中定义了获取浏览器发送的用户名,账号密码和驱动等对象,在获取数据源之后才定义链接的方法,具体到数据库驱动注册和获取数据库连接对象。而SQLUTil类中存放的是执行非查询语句。例如更新插入删除等操作,确保拥有可执行带参数sql命令的声明statement对象,采用字符串拼接的方式执行相应的sql命令。还封装了执行查询操作的返回表单型数据的集合和执行标量操作,返回首行首列数据的代码。由此构成控制器层的代码实现。2.IOT技术合并RFID是物联网解决车主身份信息识别的技术。与其他类型的技术相比,由电子标签,读写器及天线组成的系统具备多次覆写,同时识别,安全稳定等优势。如何实现射频无线电波与标签读写设备交换该流程就是数据通信的关键所在[11]。在停车场的出入口设立感应组件,与本文涉及的停车管理系统相结合。当车辆进入感应设备范围内时,系统将收到由摄像头捕捉到的车辆信息,栏杆控制器指令由管理员控制,在经过数据的录入和保存后才可以放行。RFID卡内的标签射频接收器会收到由读写器发出的射频信号,RFID卡内标签芯片更改费用后由标签天线再发送给读写器天线,RFID读写设备扫描本系统存在的电子标签信息。如果存在就直接通知管理员开闸,如果失败则由管理员发放临时RFID停车卡。停车卡上显示了停车位置方便车主寻找,由读写器主机发送给数据处理系统[12],也即是本文设计的停车管理系统。图3.4RFID射频识别流程图车牌识别算法是基于物联网的停车管理系统的基本功能。为了保证车牌识别的准确性,车牌识别摄像头可在出入口处采用一个摄像头检测一个车辆的安装方式。而在停车场内部,可将高清摄像头部署在开阔区,同时对多个区域监控。在数据采集层部署视频处理器,视频处理器是一个图形处理终端。视频处理器功能主要包括,图像采集功能,视频循环切换和数据通信。对于车牌识别摄像头本身而言,是不具备图像识别和图像处理能力,将车牌识别摄像头拍摄的图片发送给视频处理器进行处理,一个视频处理器能够同时处理多个车牌识别摄像头发送上来的数据,最后将数据储存到数据库中,在停车系统中查看。图3.5配有IOT设备的停车场管理系统四、系统设计本章就是具体的系统设计方向,所包含的是系统类。其用来将从数据库查询出的结果封装到实体包DAL中,对系统类进行刨析,逐一展示和说明它们的作用和属性,其中不包含辅助类。即使某些类没有属性或者方法,也会列出具体联系。正是这些类包将html文件转换为jsp动态页面并赋予获取和传递参数的能力(一)USER类USER类用于获取登记的使用者信息,并执行查询操作来完成增删改查的功能,包含多种方法:获取当前页面用户信息、获取分页后用户信息、在有查询条件的情况下、根据查询条件sqlWhere获取分页后用户信息、更新删除和插入用户信息、检查插入的主键即用户名是否重复、在页面右下角获取分页总数、根据查询条件获取所有分页数,如下图所示:表4.1User类功能实现表类功能描述保存和执行与用户相关的业务逻辑所在包名称DAL类属性权限属性类型名称描述长度PublicStringUser_id用户ID最多10位PublicStringUser_name姓名最多10位PublicStringUser_pwd密码最多10位主要实现方法权限属性方法名称输入参数类型输出参数方法功能描述PublicLogin.JspStringid,StringpwdString登陆系统,用户输入ID和PASSWORD后进行验证,验证通过则获取参数,返回用户名;验证失败返回登陆页面并提示原因。PublicLogout.jspStringidVoid注销系统,注销成功会清理用户的登录信息并返回给数据库。(二)User内部类User内部类逐层嵌套,由Fixed类、Temp类、Role类、Card类、Seat类组成。类中的所有方法通过执行查询操作与数据库交互,实现数据的增删改查。Fixed类记录的是系统中的固定车主信息,设计的方法有获取固定车主出入记录信息、获取未出场车辆、根据查询条件sqlWhere获取分页后固定车主出入记录信息、更新删除和插入固定车主出入记录信息、根据固定车主出入记录表编号获取固定车主出入记录信息、检查插入主键即记录编号是否重复、获取右下角分页总数、根据查询条件获取所有分页:表4.2Fixed类功能实现表类功能描述处理和固定车主的业务操作所在包名称DAL类属性保护属性类型名称描述长度PublicStringFix_id记录编号最多10位PublicStringCard_idIC卡号最多10位主要实现方法保护属性方法名输入参数输出参数方法功能描述PublicUpdateStringFix_id,StringpwdInt在固定车主信息页面,可修改信息PublicDeleteStringFix_idVoid在固定车主信息页面,可删除信息Temp类记录临时车主信息,设计的方法有获取临时车主出入记录表信息、根据查询条件sqlWhere获取分页后临时车主出入记录表信息、更新插入和删除临时车主出入记录表信息、根据临时车主出入记录表编号获取临时车主出入记录表信息、检查插入主键即车辆编号是否重复、获取右下角分页总数、根据查询条件获取所有分页:表4.3Fixed类功能实现表类功能描述处理临时车主的业务操作所在包名称DAL类属性保护属性类型名称描述长度PublicStringTemp_id记录编号最多10位主要实现方法保护属性方法名输入参数输出参数方法功能描述PublicUpdateStringTemp_idInt在临时车主信息页面,可修改临时信息PublicDeleteStringTempVoid在临时车主信息页面,可删除临时信息Role类记录的是所有角色信息,包含管理员、临时车主、固定车主的个人信息,设计的方法:获取角色信息、根据查询条件sqlWhere获取后角色表信息列表、删除角色表信息、根据角色表编号获取角色信息、检查插入主键即角色编号是否重复、获取页面右下角的分页总数、根据查询条件获取所有分页:表4.4Role类功能实现表类功能描述角色管理所在包名称DAL保护属性类型名称描述备注PublicStringRole_id记录编号长度限制10位主要实现方法保护属性方法名输入参数输出参数方法功能描述PublicInsertStringRole_idInt增加角色PublicDeleteStringRole_idVoid删除角色Card类记录的是RFID卡信息,设计的方法:获取RFID卡表信息,获取下一页后RFID卡表信息、根据查询条件sqlWhere获取RFID卡表信息、更新删除和编辑RFID卡表信息、根据卡编号获取RFID卡信息、检查插入主键即卡编号是否重复、获取页面右下角的分页总数、根据查询条件获取所有分页:表4.5Card类功能实现表类功能描述处理RFID卡相关业务所在包名称DAL类属性保护属性类型名称描述长度PublicStringCard_id记录编号最多10位主要实现方法保护属性方法名输入参数输出参数方法功能描述PublicUpdateStringCard_idInt在RFID卡信息页面,可编辑RFID卡信息PublicDeleteStringCard_idVoid在RFID卡信息页面,可删除RFID卡信息Seat类记录的是车位信息,设计的方法:获取车位信息、获取未分配的车位、获取分页后车位信息、根据查询条件sqlWhere获取分页后车位信息列表、更新编辑和删除车位信息、根据车位表编号获取车位信息、检查插入主键即车位编号是否重复、获取页面右下角的分页总数、根据查询条件获取所有分页:表4.6Seat类功能实现表类功能描述处理车位信息相关业务所在包名称DAL类属性保护属性类型名称描述长度PublicStringSeat_id记录编号最多10位主要实现方法保护属性方法名输入参数输出参数方法功能描述PublicUpdateStringseat_id,StringSeat_NameInt在车位信息页面,可编辑信息PublicDeleteStringSeat_idVoid在车位信息页面,可删除信息五、停车系统的设计(一)业务设计1.系统登录顺序图5.1系统登陆流程图流程介绍:在登录页面前端用户和管理员输入用户名和密码,接入层接受登录名和密码,发送url请求给服务层并调用服务层,服务层处理业务逻辑并调用持久层,持久层与数据库互动检查是否存在数据。存在登陆成功跳转到系统首页,不成功提示错误并返回登录页六、停车管理系统的实现(一)用户登录登录模块界面如图所示:图6.1系统登录界面界面描述:登陆页面提供给使用者个人进行登录,由后端对获取到的用户名和密码进行验证。再然后是数据库与持久层的交互,系统在SQLyog数据库中搜索用户输入的登录信息是否存在,不存在则提示出错并且返回登录页面。出于对系统稳定性和保护性的考量要求,系统不开放两位车主同时登录的权限,这在一定程度上会引起车主按照进入顺序进行登陆的有序等待且利于管理员操作,提供了停车场整体的秩序保证。登录功能代码主要封装了对登陆数据表单提交的代码,login.java类中包含检测用户登陆信息是否合法。根据用户ID获取用户名同时获取角色ID的信息,下面展示定义的这些方法:publicclassLogin{publicbooleancheckLogin(Stringuser_id,Stringuser_pwd){ StringsqlCmd="selectcount(*)fromuserwhereuser_id=?anduser_pwd=?"; Object[]objList=newObject[2]; objList[0]=user_id; objList[1]=user_pwd; Stringresult=SQLUtil.excuteScalar(sqlCmd,objList).toString(); if(result.equals("1")) { returntrue; } else{ returnfalse; } }publicStringgetName(Stringuser_id) { StringsqlCmd="selectuser_namefromuserwhereuser_id='"+user_id+"'"; Stringresult=SQLUtil.excuteScalar(sqlCmd,null).toString(); returnresult; }publicStringgetSysLevel(Stringuser_id) { StringsqlCmd="selectrole_idfromuserwhereuser_id='"+user_id+"'"; Stringresult=SQLUtil.excuteScalar(sqlCmd,null).toString(); returnresult; }}(二)系统信息管理模块添加角色信息如下图所示:图6.2新增角色界面管理角色如图所示:图6.3管理角色信息界面添加用户信息界面如下图所示:图6.4添加用户信息界面管理用户界面如图所示:图6.5管理用户信息界面功能描述:上述模块是对使用者信息的添加和查看,管理员有权限对所有用户的信息进行编辑操作,此外也有权限新增角色。这一点主要考虑现实生活中可能遇到不同的情景,系统开发过程中难以面面俱到,所以开放了这一模块。添加的同时后端的SQLyog数据库进行验证,若之前没有存在则添加数据成功,否则提示重复添加,添加失败并刷新页面。管理角色模块中管理员可以根据角色编号,角色名称进行查询操作,包括编辑和删除。添加用户模块通过首次创建用户编号、选择角色名称、用户手动输入昵称、姓名、密码和电话点击确定后同样进行后端SQLyog数据库的验证,若已经存在重复信息则提示添加失败并返回重复字段位置,添加成功则刷新并提示已经添加。管理用户模块中管理员可以的查询条件包括用户编号、角色名称、真实姓名、用户昵称,同样可以进行编辑和删除操作。系统信息管理操作步骤流程图如下图所示:图6.6停车场管理系统操作流程图(三)车位信息管理模块添加车位信息页面如图所示:图6.7添加车位信息界面管理车位信息页面如图所示:图6.8管理车位信息界面功能描述:该模块对车位资源进行登记处理。它通过添加车位信息可以对车位编号,所属区域和车位信息进行额外备注,管理员经过确认RFID卡信息手动输入进系统后将此车位标记为占用,所属车位也会根据摄像头进行实时拍照,确保车主权益。若与车主确认后,车主同意后则可将车位供于多种使用方式。添加后会自动跳转到到管理车位信息界面。管理车位信息界面会提供车位ID、车位编号、所属区域、车位状态和车尾备注给管理员和用户,保证信息公开透明,而管理员则有权限对管理页面的所有信息进行操作。管理员对车位的可编辑选项设置在eclipse工具的seat类中。该类拥有多种操作方法,包括获取车位信息、获取未分配的车位、根据查询条件sqlwhere搜索并显示车位信息、检查主键及位置ID是否重复、若重复则提示添加失败、告知原因并刷新页面、添加成功则告知用户,还有增添、编辑、更新和删除等常规操作该类中、在模块中根据数据储存量显示右下角分页总数,管理员还可以规划查询条件查看符合要求的数据页数,由每页最多15行数据则可推断出数据规模。车位信息管理模块的流程图如图所示:图6.9车位信息管理模块流程图(四)IC卡信息管理添加IC卡界面如图所示:图6.10添加RFID卡信息界面功能描述:添加RFID卡类型提供了多种内容供管理员或用户手动添加,保证RFID卡使用环境下一卡对一车位,一卡对一车主。同时对安全性做出保障,如果用户丢失RFID卡片,则可向管理员提供车牌号,车位等证明身份的个人信息,管理员查验后可补发RFID卡,此卡仅能在停车系统内使用。在对RFID卡的身份写入成功后跳转到管理RFID卡类型界面。在管理页面可查看RFID卡编号、车位编号、用户名称、用户性别、家庭住址、车牌号码等个人信息,管理员也有权限对其进行增删改查,车主也有权限查看自己的信息是否正确。(五)固定车主停车管理固定车主出入场设置界面如图所示:图6.10记录出入场界面功能描述:固定车主停车管理由管理员进行登记,由摄像头识别并提供到系统,车主入场就会添加到场内信息。出场情况下也可手动删除,保证停车场内部车辆行停现状稳定可查,提高停车场运行效率。而在管理入场车辆信息页面中,可由记录编号,RFID卡号,车主名称,车主手机号码,对出入时间点进行登记,安全可靠。图6.11显示停车信息流程图固定车主停车模块流程图如图所示:1.临时车主停车管理功能描述:临时车辆停车管理模块提供了车主入场时的注册信息。由管理员登记入系统后发给行车人RFID卡,再由卡的显示信息告知停车人车位具体位置,方便寻找,提高了停车效率,这些都是以往的停车场不能拥有的功能,体现了本系统的设计合理性。车主出入场信息包含了临时编号,临时RFID卡号,车牌号码由摄像头捕捉后发送到系统,以及出入场时间的记录,停车费用这一关键盈利项,具体实现效果如下图所示:图6.12车主出场信息界面(六)密码修改密码修改界面如图所示:图6.13个人密码修改界面功能描述:密码修改供于所有用户,包括管理者和停车用户,其密码再修改后会覆盖到SQLyog客户端,数据库也会随之更新,保证了停车信息安全性。七、系统测试停车系统的设计采用MVC分层模式,各模块的搭建互相联系又互相独立,单一模块出现bug并不会影响其他模块正常使用,而修改出错代码则需要系统维护人员操作,停车场管理人员并没有权限修改系统代码。从常规角度出发,此停车管理系统雏形出现后也会进行多项实验性测试和调节,调试过程虽然也出现了个别bug和请求路径查询失败、请求资源文件不存在等错误。在经过作者实际修改后的项目不会出现影响系统正常运转的问题。现在系统已经趋于成熟,可投放到现实环境中接受检验。当停车场管理员熟悉了本系统后,使用起来会更加得心应手,降低了人工巡逻,管理者保障安全的疲倦感,也可改善停车场雇佣人员的工作态度。(一)用户登录调试表7.1登录内容情况测试表编号动作期望的输出响应实际情况合格情况1数据库内未存在的用户名,不填写密码浏览器提示用户名或密码错误浏览器提示登录名或密码错误合格2正确的用户名输入错误的密码浏览器提示用户名或密码错误浏览器提示登录名或密码错误合格3错误的用户名输入正确的密码浏览器提示用户名或密码错误浏览器提示登录名或密码错误合格4不填写用户名及密码浏览器提示用户名或密码错误浏览器提示用户名或密码错误合格当登陆出现错误时出现以下图示:图7.1系统登录错误效果展示图(二)临时占用车位测试表7.2临时车位占用信息递

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论