springboot人才智能推荐招聘平台52196-计算机课程设计、毕业设计

前言

博主介绍:一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码,帮你把毕设做成作品集。👍👍

👇 精彩专栏 推荐订阅👇

深耕多年的2000+套Java项目,附带数据库

深耕多年的800+套Python项目,附带数据库

深耕多年的500+套小程序/app项目,附带数据库

精选100个热门Java毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门Python毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门微信小程序/安卓APP毕业设计项目|适配2026‑2027届选题参考✅

✅获取源码请私信✅

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️

第一章 摘 要

  城市停车资源紧张和车位周转效率低下的矛盾越来越突出,传统的停车场管理方式存在着信息实时性差、计费不准确、用户体验差等明显不足。无人值守智慧停车场管理平台的创建,就是利用数字技术对停车服务流程进行重新设计,把车牌识别、车位预约、线上支付等各环节有机地融合在一起。系统使用Spring Boot作为后端开发框架,用Vue.js来搭建前端交互界面,用MySQL数据库来保存数据。平台面向车主、运维人员、财务人员、系统管理员这四个用户群体,分别给出不同的功能模块。车主用户可以完成车牌在线识别、车位信息查询、通行记录查看等操作,运维人员对车位状态进行维护、预警通知进行管理,财务人员对营收报表、异常订单进行处理,系统管理员对计费标准和车场信息进行统一管理。系统采用前后端分离架构,后端用RESTful风格设计API接口,前端使用异步请求进行数据交互。经过测试可知,平台各个功能模块运行正常,数据响应及时,可以满足无人值守环境下停车管理的要求。系统实施可以降低人工管理成本、提高车位周转率,给智慧城市创建赋予基本支撑。

关键词:智慧停车;Spring Boot;Vue.js;车牌识别;无人值守

Design and Implementation of an Unattended Smart Parking Lot Management PlatformBased on Spring Boot

Abstract

  The contradiction between the lack of urban parking space resources and the low turnover rate of parking space use is getting worse. The traditional parking lots are very poor on real time information, accurate billing andusersinteraction. Apply techs such as plate identification, reserve space before the time, Online Payment System, etc., then set up a no-manned Smart Parking lot controlling platform so that it makes up for this sort of procedure: System is using Spring Boot for the back-end andit’sfront end developed with the help ofvuejsand MySQL Database to persist our data. The platform is aimed at 4 kinds of users - Car Owners, O&M Staffs, Financial People, System Administrators. Each group gets different functions on the software. Car owners can do things like online license plate recognition, check for parking spots, and see their records. Operate and maintain people, in charge of the maintenance of parking spaces and early warning prompt management: Financial people do revenue reports and exception orders. The System admins in coordination w the billingsstdnadparkinlot info config. The system uses front-end and Back-end separated design, Back-end constructs restful API which is only used by back end but for front-end part it does asynchronous requests to get some data. The test is successful, all the functional module works well on the plat,returns the corresponding data at the right time, can park in a unattended scene. We believe that the realization of this system can greatly save manpower cost, increase the parking lot use rate, lay a foundation for building a smart city.

Key words:Smart Parking; Spring Boot; Vue.js; License Plate Recognition; Unattended

第二章 绪论

2.1 研究背景与意义

2.1.1 研究背景

  城市机动车保有量不断攀升,有限的空间资源与巨大的停车需求存在尖锐的矛盾。传统的停车场采用人工登记、现金收费的方式,车辆进出速度慢,高峰期容易出现拥堵现象。车牌识别技术逐渐成熟起来以后,给停车管理提供了一种新的解决途径,利用图像采集和字符识别自动获取车辆信息,可以大大缩短入场等待时间[1]。智慧停车理念的普及使得管理方式由人工值守向无人化、自动化转变,各种智能停车场系统在城市商业区和住宅小区中逐步得到应用[2]。但是现有的系统还存在着功能不完整的不足,车主不能及时知道车位是否空闲,预约服务和通行记录的追溯能力较弱,管理人员没有统一的运维视图[3]。创建起包含用户端和管理端的综合平台,把车牌识别、车位信息发布、预约管理、营收统计等模块连成一个闭环,成为提高停车场运营效率的现实途径。

2.1.2 研究意义

  系统所具有的实施价值表现在各个方面。车主使用移动端可以对车位进行查询、预约、入场时车牌自动识别抬杆、出场时系统按停车时长自动计费,全过程无需人工操作,操作效率大大提高。运维人员可以实时查看车位的状态,收到设备出现异常报警的时候,立刻去处理故障工单,防止由于某个车位出现故障而影响到整个系统的运行。财务模块可以自动生成营业收入报表,并把异常订单的记录追加进去,从而减少人工对账出现错误的机会。平台使用标准的数据接口以及功能模块划分,给类似场所的智慧化改造提供一定的参考。系统落成运行之后,停车场的管理成本被削减,车位的周转频率变高,车主的停车体验也得到改善,在城市交通微循环方面起到过积极的作用。

2.2 国内外研究现状

2.2.1 国内现状

  国内停车场管理系统的发展是从人工登记到智能识别。早期系统大多使用近距离刷卡的方式,车辆要靠近读卡器才能通过,效率低并且卡片管理成本高。车牌识别技术的使用使车辆身份认证的方式发生了改变,摄像头抓拍和图像处理算法一起工作,实现了不停车快速入场。彭天宝就车牌识别在停车场管理中出现的可靠性问题展开研究,从图像采集环境以及算法改良两方面给出改善途径,给系统识别精确度的改善给予技术支持[4]。嵌入式方案在中小尺度的停车场里具备成本上的优势,张春岭等人借助STM32单片机创建起一套包含车位探测及道闸控制功能的系统,通过传感器持续探测车位是不是被占用了,从而给车位信息的动态发布打下了根基[5]。管理系统功能边界逐渐扩大,米热吉古丽·热扎克在小区停车场管理系统里加入了业主车辆登记、临时车收费、月租续费这些业务模块,使得系统可以涵盖从车辆入场到费用结算的全部过程[6]。王佳俊等人的研究是从新型智慧停车场整体架构入手,设计出包含车位引导、反向寻车、线上支付的多层次系统,并且重视各个子系统之间的数据联动[7]。张兰峰等人把智慧园区停车场管理系统同园区一卡通平台对接起来,从而达成车辆进出和人员通行的统一授权[8]。以上研究包含车牌识别、车位检测、费用结算等各个技术点,给本系统功能整合以及业务流程的设计提供参考。在此基础上,本文又对用户进行了细分,从车主、运维、财务、管理员等不同岗位出发分别设计出相应的操作界面及权限控制[9]。

2.2.2 国外现状

  国外智慧停车领域更早地从系统架构的标准化和数据驱动的角度来研究。Kim等人用低功耗嵌入式平台创建了一个实时车位管理系统,把传感器安装在车位上方,对车位状态进行采集,然后通过无线网络把车位状态汇总到中心服务器,从而达到车位占用情况分钟级更新的效果。Coching等人把数字孪生和建筑信息模型技术应用到停车场管理系统当中,用三维可视化的界面来呈现车位的实时占用热力图,管理人员可以清楚地了解到各个区域的饱和情况[10]。Dragu等人设计出一个面向多停车场运营的集成信息系统,该系统可以对单个车场的进出记录进行管理,也可以支持跨车场的车位预订和费用结算,在不同的停车场之间共享数据[11]。Ozkaya等人提出智慧停车管理系统参考架构,把系统分成感知层、网络层、平台层和应用层,各个层次之间依靠标准接口互相交流,从而缩减了系统集成的繁杂程度[12]。Ditta等人把车牌识别同物联网技术结合起来,车牌图像经过边缘节点预处理之后上传到云端做二次识别,识别结果触发道闸动作,在秒级内完成[13]。国外的研究在系统分层架构、跨车场数据共享、三维可视化呈现等各方面都给出了设计思路,本系统在架构设计阶段就采用了分层的思想,把用户界面、业务逻辑和数据存储分离开来,在营收报表模块上也采用了多维度统计的设计思想,可以对财务数据按照日、月、季进行聚合展示。

2.3 研究内容

  本文研究工作主要针对无人值守场景下的智慧停车场管理系统,系统要支持车主自助服务和管理人员远程运维这两种典型的使用方式。研究过程从用户需求入手,整理出车主、运维人员、财务人员、系统管理员这四个角色各自的使用需求,进而把它们转化为具体的系统功能模块。架构设计阶段使用前后端分离模式,后端用Spring Boot框架组织业务逻辑和数据访问接口,前端用Vue.js框架创建响应式用户界面,两者通过RESTful API进行数据交互。数据库的设计是以核心业务实体为基础的,有车位信息、车辆预约、通行记录、营收报表、计费标准等重要的数据表,保证数据存储结构可以支持业务流转。系统实现阶段将功能模块分为几个小部分,前端实现界面交互及数据展示,后端实现业务处理与持久化。测试环节对各个模块的功能是否正确、边界条件是否满足进行检验,保证系统在正常情况下能够稳定运行。研究重点在于业务功能全部实现、用户操作流程顺畅对接,不会涉及到高并发环境下性能优化、分布式部署方案。最终交付成果为可以运行的系统原型、设计文档和测试报告,系统使用的是Spring Boot和Vue.js的组合技术栈,后续章节将对这个技术栈进行详细的阐述。

第三章 相关技术介绍

3.1 Spring Boot框架

  Spring Boot是基于Java语言的企业级应用开发框架,它的设计目的是简化Spring应用的初始搭建和开发过程。框架自带自动配置功能,可以按照项目依赖来自动组装相应的组件,不需要写繁杂的XML配置文件。Spring Boot自带的嵌入式Web服务器可以使应用打包之后可以直接运行,部署更简单[14]。无人值守停车场管理平台的后端服务由Spring Boot来完成。控制层接收前端发出的HTTP请求,按照URL路径映射到相应的处理方法上,参数经过校验之后传给业务层。业务层对车牌识别结果处理、车位状态变化、预约订单创建等进行了封装,事务边界在这里确定下来,保证数据操作的一致性。数据访问层利用MyBatis框架同MySQL数据库打交道,把业务层下发的指令转变成SQL语句来执行。Spring Boot提供了一种依赖注入的方式,使得各个层次之间具有松散的耦合性,即服务接口和实现类分开,有利于之后的功能扩展以及单元测试。

3.2 Vue框架

  Vue.js是一个用于创建用户界面的渐进式JavaScript框架,它的核心库只关注视图层,使用双向数据绑定机制自动同步模型和视图的状态。组件化开发模式把页面拆分成若干个可以单独使用的、可复用的部件,每一个组件包含自己的模板、脚本和样式,从而减小了大项目维护的难度[15]。平台前端使用Vue.js配合Element UI组件库构建管理后台界面,车主端使用Vue Router进行单页路由切换。用户在车牌识别页面上传图片之后,前端使用FormData对象封装文件数据,然后使用axios库向后端发起异步请求。识别结果返回之后,Vue响应式系统会自动更新视图层,把车牌号码和车辆型号渲染到页面指定的位置。车位信息列表使用虚拟滚动技术来提高长列表的渲染性能,用户滚动的时候只加载可视区域内的数据行。地图导航模块使用了高德地图JavaScript API,前端用经纬度坐标来绘制停车场的位置标记,点击标记后会弹出车位空闲数量提示框。Vue的生命周期钩子在组件挂载之后立即发起初始数据请求,保证页面加载完成之后马上显示最新的状态。

3.3 MySQL数据库技术

  MySQL是一个开源的关系型数据库管理系统,用结构化查询语言(SQL)对数据进行操作,支持事务处理、外键约束、ACID。数据库用来持久化存储所有的业务数据,表结构设计符合第三范式的要求,可以减少数据的重复以及更新异常[16]。车位信息表保存车位编号、所属车场、车位类型、当前状态等字段,通行记录表记录每次车辆进出的时间戳和计费金额,两张表用车位编号关联起来。车辆预约表保存预约订单的详细信息,即车主身份、预约时段、预约车位,预约时间临近的时候系统会自动把车位状态变为已预订。营收报表按照日或者月来汇总通行费用,统计的字段有总订单数、已支付金额、异常订单数量等,给财务对账提供数据支持。MySQL的索引机制对于查询次数多的字段进行B+树的建立,车位状态查询、订单编号查询的响应时间在毫秒级别。数据库连接池使用HikariCP来管理,对数据库连接进行复用,从而减少频繁创建和销毁连接所造成的性能消耗。

3.4 前后端分离架构

  前后端分离架构把用户界面和业务逻辑分成两个独立的工程,前端处理页面渲染和交互控制,后端给数据接口和服务支持。两者使用HTTP协议进行通信,交互格式一般为JSON,前端根据响应内容动态地改变视图[17]。平台整体采用这样的架构模式,后端服务运行在Tomcat容器里,发布RESTful风格的API端点。前端工程使用Nginx代理运行,用户访问域名时加载静态资源,之后所有的数据请求都指向后端API地址。该种部署方式使得前端和后端可以独立开发、独立测试、独立发布,开发团队可以同时进行工作而不会互相影响。后端对跨域资源共享进行设置,使前端域名可以访问接口,保证数据传输的安全。前后端分离之后系统扩展性变好,将来如果需要开发微信小程序或者移动端App,只需要复用后端API,前端部分重新搭建即可。架构分离之后就形成了清晰的职责边界,前端开发者只做界面美观和交互流畅度的工作,后端开发者则只顾着保证接口的稳定以及数据的准确性,开发效率和代码质量同时得到提升。

第四章 系统需求分析

4.1 可行性分析

4.1.1 技术可行性

  Spring Boot框架给Web开发提供了一套完整的解决方案,和Vue.js前端框架配合使用可以创建出职责分明的应用系统。后端用控制器暴露REST接口,前端用异步请求获取数据,两者之间只用JSON格式进行信息交换,技术选型成熟并且有活跃的社区。MySQL数据库可以支撑中等规模的数据量存储和查询,车位信息、通行记录等主要表的数据量在预计范围内不会造成性能瓶颈。车牌识别功能调用第三方OCR接口来完成,只需要对图片进行上传和结果的返回,不需要底层图像算法的研发。各个技术组件之间版本兼容性好,开发环境搭建和项目部署都有成熟的文档可以查阅。

4.1.2 经济可行性

  系统开发过程中主要使用开源软件和免费开发工具,Spring Boot、Vue.js、MySQL均为开源产品,不需要支付授权费用。开发团队使用IntelliJ IDEA社区版与Visual Studio Code进行编码,工具获取成本为零。部署阶段使用云服务器轻量级应用实例,月租费用在可承受范围内,对停车场运营方初期投入较小。车牌识别接口按照调用次数收费,停车场日均车流量小,接口调用成本低。系统上线之后取代了人工收费岗位,长期运营所节约下来的人力成本可以抵消软硬件的投入。经济效益测算表明投资回收期短,具有较好的经济效益。

4.1.3 操作可行性

  车主用户使用手机或者场内自助终端登录系统,界面布局为卡片式,功能入口一目了然。车牌识别页面上传按钮设置在显眼的地方,用户根据提示选择图片之后就可以触发识别过程。车位信息列表根据区域、状态可以进行筛选,筛选结果立即更新,操作结果清楚。运维人员在后台管理系统中修改车位状态时,下拉选项和保存按钮挨着,操作路径短。财务人员只需输入统计周期和报表类型,即可得到汇总后的营业收入报表。各个角色的操作流程符合日常使用的习惯,学习成本小。

4.2 功能需求分析

4.2.1 车主用户功能需求

  车主用户通过平台前端界面获取停车相关信息并完成自助服务操作。用户可以查看系统发布的通知公告与新闻资讯,通过车牌识别功能上传图片获取车辆信息,使用地图导航定位停车场位置,查询车位空闲状态并筛选可用车位,对意向车位发起预约请求,查看个人历史通行记录与预约订单详情。

image

图3-1车主用户用例图。

4.2.2 运维人员功能需求

  运维人员在后台管理系统中完成车位与预警相关业务的处理。个人信息管理允许修改个人资料与登录密码,车位信息管理负责车位状态维护与收费标准配置,车辆预约管理处理用户发起的预约订单,通行记录管理查看车辆进出流水,预警通知管理接收设备异常信息并记录处理结果,通知公告管理向车主发布系统维护与服务调整通知。

image

图3-2运维人员用例图

4.2.3 财务人员功能需求

  财务人员聚焦营收数据与异常订单的核对处理。通行记录管理提供按支付状态与计费模式筛选的流水列表,营收报表管理支持按日、月、季生成汇总报表,异常处理管理接收系统标记的计费异常订单并记录修正结果。

image

图3-3财务人员用例图

4.2.4 系统管理员功能需求

  系统管理员承担基础数据配置与全局权限管理职责。计费标准管理配置不同时段的计费模式与单价,车位信息管理审核运维人员提交的车位状态变更,车辆预约管理查看全平台预约数据,通行记录管理检索所有车辆进出记录,营收报表管理核对财务生成的报表数据,车场信息管理维护停车场基础资料,预警通知管理查看历史预警及处理情况,异常处理管理复核财务处理的异常订单。

image

图3-4系统管理员用例图

第五章 系统总体设计

5.1 系统总体架构设计

  平台采用前后端分离的架构来划分各个层次的职责。用户界面层用Vue.js构建的单页应用来完成页面组件的渲染、用户的操作以及异步请求的发起。应用服务层使用Spring Boot框架开发,控制层把HTTP请求映射到具体的方法上,业务层封装了预约生成、计费计算等主要的逻辑,数据访问层使用MyBatis框架和数据库交互。数据持久层用MySQL来保存业务数据,Redis缓存热点信息以提高访问速度。各个层之间用良好的接口进行通信,控制层只依靠业务层的抽象接口,业务层通过数据访问层接口操作数据库,层次分明。系统架构图如图4-1所示。

  

image

图4-1系统架构图

5.2 功能结构设计

  系统功能以四类用户角色为划分依据,分成四个模块群组。车主用户模块有通知公告查看、新闻资讯查看、车牌识别、地图导航、车位信息查看、车辆预约查看、通行记录查看。运维人员模块包括个人信息管理、车位信息管理、车辆预约管理、通行记录管理、预警通知管理、通知公告管理。财务人员模块有通行记录管理、营收报表管理、异常处理管理。系统管理员模块有计费标准管理、车位信息管理、车辆预约管理、通行记录管理、营收报表管理、车场信息管理、预警通知管理、异常处理管理。各个模块的内部操作权限被严格限制,车主不能进入后台管理界面,管理员可以查看全部数据但是不能对财务异常订单进行处理。该系统的功能结构如图4-2所示。

image

图4-2系统功能结构图

5.3 业务流程设计

5.3.1 车牌识别功能流程设计

  车主进入车牌识别页面后上传车辆图片,系统调用OCR接口解析图片返回车牌号码。识别结果展示在页面上方,用户确认无误后点击保存按钮将车牌与当前账号绑定。识别过程若失败可重新上传图片再次尝试。车牌识别流程图如图4-3所示。

image

图4-3车牌识别流程图

5.3.2 车位预约功能流程设计

  车主在车位信息列表页选择空闲车位点击预约按钮,系统检查该车位当前是否仍处于空闲状态。若已被占用则提示预约失败,若仍空闲则生成预约订单并锁定车位。预约成功后在车辆预约列表显示订单信息,车主可在入场前取消预约释放车位。车位预约流程图如图4-4所示。

image

图4-4车位预约流程图

5.3.3 车辆出场计费功能流程设计

  车辆驶出停车场时系统根据入场时间计算停车时长,匹配对应计费模式得出应收金额。车主完成支付后系统更新通行记录支付状态并抬杆放行。若支付失败可重新发起支付或转人工处理。车辆出场计费流程图如图4-5所示。

image

图4-5车辆出场计费流程图

5.3.4 异常订单处理功能流程设计

  财务人员在异常处理列表查看系统标记的计费异常订单,点击详情核对入场出场时间与计费金额。确认异常原因后选择处理方式并填写处理结果,系统更新订单状态并记录操作日志。异常订单处理流程图如图4-6所示。

image

图4-6异常订单处理流程图

5.3.5 营收报表生成功能流程设计

  财务人员进入营收报表页面选择统计周期与统计类型,系统从通行记录表中汇总符合条件的数据。汇总结果按日或月分组展示订单总数、已支付金额、异常订单数量,财务人员确认无误后点击导出保存报表文件。营收报表生成流程图如图4-7所示。

image

图4-7营收报表生成流程图

5.4 数据库设计

5.4.1 概念模型设计

  概念模型创建过程主要针对停车管理业务中的主要实体以及它们之间的联系展开。车辆进入之后会生成通行记录,记录要关联到具体的车位和车主,通行记录与车位信息、车主用户之间存在多对一的关系。车主发起预约时创建预约订单,订单指向一个车位和一个车主,预约订单和车位、车主一样都是多对一的关系。计费标准独立设置,出场时根据停车时长匹配计费标准计算金额,两者之间是多对一的关系。运维人员对车位进行维护,一个运维人员可以管理多个车位,车位信息表里存放运维人员编号作为外键。异常订单是由通行记录产生的,异常处理记录和通行记录一一对应。营业收入报表汇总通行数据,和通行记录间为一对多关系。车场信息属于车位的上一级单位,一个车场内有多个车位。全局的E-R模型如图4-8所示。

image

图4-8全局ER图

  根据系统分析,系统的主要实体有车主用户、车位信息、车辆预约、通行记录、计费标准、异常处理、营收报表、车场信息、运维人员、财务人员,各个实体具体的属性如下图所示。

  车主用户实体主要包括车主姓名、车主手机、车牌号码等。如图4-9所示。

image

图4-9车主用户实体属性图

  车位信息实体主要包括车位编号、车场名称、车位类型、车位状态等。如图4-10所示。

image

图4-10车位信息实体属性图

  车辆预约实体主要包括订单编号、车位编号、入场时间、车牌号码等。如图4-11所示。

image

图4-11车辆预约实体属性图

  通行记录实体主要包括订单编号、车位编号、入场时间、出场时间等。如图4-12所示。

image

图4-12通行记录实体属性图

  计费标准实体主要包括计费模式、计费金额等。如图4-13所示。

image

图4-13计费标准实体属性图

  异常处理实体主要包括订单编号、异常类型、处理方式、处理结果等。如图4-14所示。

image

图4-14异常处理实体属性图

  营收报表实体主要包括报表名称、统计范围、汇总时间、总订单数等。如图4-15所示。

image

图4-15营收报表实体属性图

  车场信息实体主要包括车场名称、车位总数、在场车辆数等。如图4-16所示。

image

图4-16车场信息实体属性图

  运维人员实体主要包括人员姓名、人员手机等。如图4-17所示。

image

图4-17运维人员实体属性图

  财务人员实体主要包括财务姓名、财务手机等。如图4-18所示。

image

图4-18财务人员实体属性图

5.4.2 数据库逻辑设计

  逻辑模型设计阶段把概念模型中的实体和关系转换成具体的数据库表结构。每一个实体对应一张数据表,实体的属性就作为表的字段,主键设置成自增约束。表与表之间存在关联,用外键字段来实现,子表保存父表的主键值来建立引用关系[18]。字段类型和长度根据实际业务含义来定,字符型字段设合理上限防止空间浪费,数值型字段区分整数和浮点数场景。索引在查询频繁的字段上建立,订单编号、车牌号码等字段加索引提高检索速度。

  车主用户表主要是用来存储注册车主的身份信息与联系方式。主要包括车主姓名、车主手机、车牌号码等字段。如表4-1所示。

表4-1车主用户表

序号字段名数据类型长度备注
1车主用户idint11主键
2车主姓名varchar64姓名
3车主手机varchar16联系电话
4车牌号码varchar64车辆号牌
5审核状态varchar16账号状态
6创建时间datetime-注册时间
7更新时间timestamp-信息更新时间

  车位信息表主要是用来记录停车场内每个车位的属性与实时状态。主要包括车位编号、车场名称、车位类型、车位状态等字段。如表4-2所示。

表4-2车位信息表

序号字段名数据类型长度备注
1车位信息idint11主键
2车位编号varchar64唯一编号
3车场名称varchar64所属车场
4车位类型varchar64类型分类
5车位状态varchar64当前状态
6收费标准text65535计费规则
7运维人员int11负责人
8创建时间datetime-记录生成时间

  车辆预约表主要是用来存储用户提交的车位预约订单信息。主要包括订单编号、车位编号、入场时间、车牌号码等字段。如表4-3所示。

表4-3车辆预约表

序号字段名数据类型长度备注
1车辆预约idint11主键
2订单编号varchar64唯一订单号
3车位编号varchar64预约车位
4车位类型varchar64类型
5入场时间datetime-预约入场
6车牌号码varchar64车辆号牌
7车主手机varchar64联系方式
8创建时间datetime-下单时间

  通行记录表主要是用来记录车辆每次进出停车场的完整流水信息。主要包括订单编号、车位编号、入场时间、出场时间等字段。如表4-4所示。

表4-4通行记录表

序号字段名数据类型长度备注
1通行记录idint11主键
2订单编号varchar64唯一订单号
3车位编号varchar64使用车位
4入场时间datetime-入场时刻
5出场时间datetime-出场时刻
6计费金额varchar64应收费用
7支付方式varchar64支付渠道
8支付状态varchar64是否已付

  计费标准表主要是用来配置不同计费模式对应的单价规则。主要包括计费模式、计费金额等字段。如表4-5所示。

表4-5计费标准表

序号字段名数据类型长度备注
1计费标准idint11主键
2计费模式varchar64计费类型
3计费金额double-每小时单价
4创建时间datetime-规则生成时间
5更新时间timestamp-规则修改时间

  异常处理表主要是用来记录财务人员对计费异常订单的修正操作。主要包括订单编号、异常类型、处理方式、处理结果等字段。如表4-6所示。

表4-6异常处理表

序号字段名数据类型长度备注
1异常处理idint11主键
2订单编号varchar64关联订单
3异常类型varchar64异常分类
4处理方式varchar64操作方法
5处理结果varchar64最终结果
6财务人员int11处理人
7处理时间datetime-处理时刻

  营收报表表主要是用来汇总一定周期内的通行费用与订单统计。主要包括报表名称、统计范围、汇总时间、总订单数等字段。如表4-7所示。

表4-7营收报表表

序号字段名数据类型长度备注
1营收报表idint11主键
2报表名称varchar64报表标题
3统计范围varchar64周期描述
4汇总时间datetime-生成时刻
5总订单数double-订单总量
6收费金额double-总计金额
7财务人员int11制表人

  车场信息表主要是用来维护停车场基础资料与运营数据。主要包括车场名称、车位总数、在场车辆数等字段。如表4-8所示。

表4-8车场信息表

序号字段名数据类型长度备注
1车场信息idint11主键
2车场名称varchar64车场名称
3车位总数double-总车位
4在场车辆数double-当前占用
5运维人员int11负责人
6创建时间datetime-记录生成时间

  运维人员表主要是用来存储负责车位维护的工作人员信息。主要包括人员姓名、人员手机等字段。如表4-9所示。

表4-9运维人员表

序号字段名数据类型长度备注
1运维人员idint11主键
2人员姓名varchar64姓名
3人员手机varchar16联系电话
4审核状态varchar16账号状态
5创建时间datetime-注册时间

  财务人员表主要是用来存储负责营收与异常处理的财务人员信息。主要包括财务姓名、财务手机等字段。如表4-10所示。

表4-10财务人员表

序号字段名数据类型长度备注
1财务人员idint11主键
2财务姓名varchar64姓名
3财务手机varchar16联系电话
4审核状态varchar16账号状态
5创建时间datetime-注册时间

第六章 系统实现

6.1 车主用户角色功能实现

6.1.1 车牌识别

  车牌识别模块调用第三方OCR接口完成车辆图片解析。用户进入识别页面上传图片后,前端将图片文件封装为FormData对象发送至后端。后端控制器接收图片后转发至OCR服务,服务返回识别结果包含车牌号码与车辆型号。前端收到响应后渲染识别结果区域,用户确认无误点击保存触发绑定操作。车牌识别界面如图5-1所示。

  图5-1车牌识别界面

6.1.2 车位信息查看

  车位信息查看模块提供多维度筛选与实时状态展示。页面加载时向后端请求所有车位数据,后端返回包含车位编号、车场名称、车位类型、当前状态的列表。用户可通过车场名称搜索或车位状态筛选缩小范围,前端根据筛选条件实时过滤本地数据重新渲染列表。车位信息查看界面如图5-2所示。

  图5-2车位信息查看界面

6.1.3 车辆预约查看

  车辆预约查看模块展示当前用户的历史预约与有效预约记录。页面初始化时携带用户标识请求预约列表,后端从数据库查询关联订单返回。列表项显示订单编号、车位编号、预约时间、当前状态,状态为已生效的预约可执行取消操作。取消时前端弹出确认框,用户确认后发送取消请求,后端更新车位状态为空闲并作废订单。车辆预约查看界面如图5-3所示。

image

图5-3车辆预约查看界面

6.1.4 通行记录查看

  通行记录查看模块按时间倒序展示车辆进出流水。用户进入页面时默认加载最近三个月的通行记录,每条记录包含入场出场时间、停车时长、计费金额、支付状态。列表上方提供时间范围选择器,用户选定起止日期后重新请求数据。通行记录查看界面如图5-4所示。

image

图5-4通行记录查看界面

6.2 运维人员角色功能实现

6.2.1 车位信息管理

  车位信息管理模块支持运维人员维护车位基础属性与运行状态。页面以表格形式展示所有车位,表格列包括车位编号、车场名称、车位类型、当前状态、收费标准。点击某行编辑按钮弹出表单,可修改车位状态或调整收费标准。修改提交后后端校验数据合法性并更新数据库,前端表格同步刷新。车位信息管理界面如图5-5所示。

image

图5-5车位信息管理界面

6.2.2 车辆预约管理

  车辆预约管理模块处理用户发起的预约订单。列表展示所有预约记录,运维人员可按车位类型或车位状态筛选订单。点击详情查看预约完整信息,确认用户已入场后可将预约状态变更为已完成。异常情况下勾选订单点击取消释放车位并通知用户。车辆预约管理界面如图5-6所示。

image

图5-6车辆预约管理界面

6.2.3 预警通知管理

  预警通知管理模块接收系统产生的设备异常与车位满载预警。列表按预警时间倒序排列,未读预警加粗显示。点击某条预警展开处理区域,运维人员填写处理结果后提交,后端更新处理状态与跟进情况。预警通知管理界面如图5-7所示。

image

图5-7预警通知管理界面

6.3 财务人员角色功能实现

6.3.1 营收报表管理

  营收报表管理模块提供多维度数据汇总与报表导出功能。财务人员选择统计周期后点击生成报表,后端按日或月分组计算订单总数、已支付金额、异常订单数。报表预览区域以表格形式展示分组数据,点击导出按钮将当前报表保存为Excel文件。营收报表管理界面如图5-8所示。

image

图5-8营收报表管理界面

6.3.2 异常处理管理

  异常处理管理模块集中展示系统标记的计费异常订单。列表字段包括订单编号、异常类型、处理状态。点击某行进入处理详情页,页面展示原始入场出场记录与系统计费金额。财务人员确认异常原因后选择处理方式,修正计费金额并填写处理结果,提交后更新订单支付状态并记录操作。异常处理管理界面如图5-9所示。

image

图5-9异常处理管理界面

6.4 系统管理员角色功能实现

6.4.1 计费标准管理

  计费标准管理模块配置不同时段的计费模式与单价。页面以卡片形式展示现有计费规则,每条规则包含计费模式名称、小时单价、适用范围。点击添加按钮弹出表单,填写计费模式名称与单价后提交。后端接收参数写入计费标准表,新增规则立即生效。计费标准管理界面如图5-10所示。

image

图5-10计费标准管理界面

6.4.2 车场信息管理

  车场信息管理模块维护停车场基础资料与运营人员指派。列表展示所有车场名称、车位总数、在场车辆数、运维人员。点击编辑修改车场名称或重新指派运维人员,提交后更新车场信息表。新增车场时填写完整资料,系统初始化车位总数与在场车辆数为零。车场信息管理界面如图5-11所示。

image

图5-11车场信息管理界面

6.4.3 预警通知管理

  预警通知管理模块提供历史预警数据的检索与追溯。页面默认展示最近一周预警记录,支持按预警标题与预警时间组合查询。点击详情查看预警完整内容与后续处理结果。系统管理员可在此处配置预警规则,设置车位占用率达到多少比例时触发预警。预警通知管理界面如图5-12所示。

image

图5-12预警通知管理界面讯界面

第七章 系统的测试

7.1 测试目的

  系统测试阶段主要是对功能的完整性和业务规则是否匹配进行检验。测试过程主要关注各个角色权限边界是否清楚,车牌识别接口在不同的光线条件下响应准确率如何,预约并发场景下车位状态更新的数据一致性怎样。边界测试是对用户在异常操作下系统的反应进行测试,上传非图片格式的文件能否得到明确的提示,预约已经满车位时是否阻止重复提交。测试目的还包括检验数据流转是否正确,通行记录产生之后计费金额是否能和计费标准相匹配,异常订单处理之后营收报表统计数据是否可以同步更新[19]。测试结果会成为系统是否达到上线标准的评判标准。

7.2 测试方法

  测试过程使用黑盒测试和白盒测试相结合的方式[20]。黑盒测试覆盖所有的用户界面操作,测试人员用不同的用户(如主用户、运维用户、财务用户、管理员等)模拟来执行预定的操作序列,记录实际结果与预期结果之间的差异。白盒测试对核心业务逻辑进行单元测试,预约服务类中的车位锁定方法要检验事务边界是否生效,并发请求时是否会出现重复锁定。接口测试用Postman工具批量发送请求,查看API返回的状态码和数据结构是否符合接口文档的要求。回归测试在缺陷修复之后进行,保证修改没有引入新的问题。测试环境部署在独立服务器上,数据库采用和生产环境一致的MySQL版本。

7.3 测试用例

  车牌识别功能测试如表6-1所示。测试内容涵盖正常图片上传、格式错误文件上传、识别失败重试等场景,预期结果与系统实际反馈一致。

表6-1车牌识别功能测试表

测试内容测试步骤预期结果实际结果
正常图片识别上传清晰车牌照片页面展示识别出的车牌号码符合预期
格式错误文件上传txt格式文件提示文件格式不支持符合预期
识别失败重试上传模糊车牌照片后再次上传清晰照片第二次识别成功展示号码符合预期
保存绑定识别成功后点击保存车牌与当前账号绑定符合预期

  车位预约功能测试如表6-2所示。测试场景包括空闲车位预约、已被占用车位预约、预约后取消等操作,验证状态变化与数据一致性。

表6-2车位预约功能测试表

测试内容测试步骤预期结果实际结果
空闲车位预约选择状态为空闲的车位点击预约生成预约订单,车位状态变更为已预订符合预期
已被占车位预约选择状态为已预订的车位点击预约提示预约失败,车位不可用符合预期
预约后取消在预约列表点击取消按钮订单状态变更为已取消,车位恢复空闲符合预期
预约列表加载进入车辆预约页面显示当前用户所有预约记录符合预期

  车辆出场计费功能测试如表6-3所示。测试围绕不同停车时长对应的计费金额计算准确性展开,验证支付成功与失败的分支处理。

表6-3车辆出场计费功能测试表

测试内容测试步骤预期结果实际结果
短时停车计费入场10分钟后出场按分钟计费规则生成应收金额符合预期
跨时段计费入场在优惠时段,出场在正常时段分段计算后合计金额符合预期
支付成功扫码支付完成通行记录支付状态更新为已支付符合预期
支付失败支付过程中断提示支付失败,可重新发起符合预期

  异常订单处理功能测试如表6-4所示。测试财务人员核对异常订单后修正计费的操作流程,验证处理结果同步更新至通行记录。

表6-4异常订单处理功能测试表

测试内容测试步骤预期结果实际结果
异常列表加载进入异常处理页面显示所有未处理的异常订单符合预期
异常详情核对点击订单编号进入详情展示入场出场记录与计费金额符合预期
计费修正修改计费金额后提交通行记录金额更新,异常状态变更为已处理符合预期
处理结果记录填写处理说明后保存异常处理表记录处理方式与结果符合预期

  营收报表生成功能测试如表6-5所示。测试不同统计周期下报表数据的准确性,验证导出文件内容与页面预览一致。

表6-5营收报表生成功能测试表

测试内容测试步骤预期结果实际结果
日报表生成选择单日统计周期报表显示当日订单总数与收费金额符合预期
月报表生成选择整月统计周期报表按日分组展示每日汇总符合预期
异常订单统计月报表中包含已处理异常订单报表单独列示异常订单数量符合预期
报表导出点击导出按钮下载Excel文件,内容与预览一致符合预期

👇 精彩专栏 推荐订阅👇

深耕多年的2000+套Java项目,附带数据库

深耕多年的800+套Python项目,附带数据库

深耕多年的500+套小程序/app项目,附带数据库

精选100个热门Java毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门Python毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门微信小程序/安卓APP毕业设计项目|适配2026‑2027届选题参考✅

✅获取源码请私信✅

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值