1.1 研究背景与意义
机车租赁行业有迫切的数字化转型需求。传统运营模式下车辆状态的更新依靠人工抄录,订单记录用纸质单据传递,用户需要到门店去完成选车、签约、支付全过程。在车辆利用率统计、订单信息追溯、客户关系维护等各方面都会存在效率问题[1]。共享经济理念普及,移动支付技术成熟以后,用户对租赁服务的便捷性以及响应速度提出了更高的要求。由于信息不对称造成的车辆空置、由于流程繁琐引起的体验下降、由于数据缺失造成的决策盲区一起构成行业发展的主要问题[2]。依靠信息化手段重新塑造业务流程,把车辆信息、订单状况、用户行为数据化,可以很好地解决上述的痛点。租赁管理系统被运用到以后,就从根本上摆脱了以往粗放式管理的现象,并给精细化经营给予了技术支撑[3]。从行业的发展来讲,信息化水平已经成了评价租赁企业是否具有竞争力的重要标准。经过系统建设把线下业务迁移到线上平台,实现车辆调度更加灵活、订单处理更加高效、客户服务更加精准的目的。直接提高了资源的利用效率、降低了运营成本,给企业在市场竞争中争取先机创造了条件。
系统建设的意义在各个方面都有所体现。从操作层面来讲,把租赁业务中重复性高、容易出错的、靠人工完成的部分转变为自动化的流程。车辆信息录入之后会自动生成在线展示页面,订单提交之后会自动进入审核流程,用户支付完成后租赁状态就会自动更新。减少中间环节的交流时间和交流内容,同时也能防止由于人为原因所造成的错误。就管理来说系统给运营方提供统一的数据视图。所有的车辆运行数据、订单执行情况、用户评价反馈集中存储,可以按条件筛选和统计分析。管理者可以根据实时的数据来作出调度决策,从而达到最优的车辆调配方案。从服务的角度来讲,系统给用户赋予了方便的线上渠道。用户不需要到店就可以浏览可用车辆、比较租赁价格、查看历史评价,完成在线预订和支付。由此而产生的一种服务模式使用户作出决策的途径更短,用户的满意度提高。系统功能设计既考虑业务规范,又考虑操作简便,可以为租赁行业其他领域信息化改造提供借鉴。
1.2 国内外研究现状
国内关于租赁管理系统研究是从单体应用到服务化架构发展起来的。早期的研究主要是实现基础的功能,研究怎样把线下业务流程转化为线上操作。随着技术栈的发展研究重点就变成了系统性能优化和用户体验的提升。目前我国已有的研究成果有车辆调度算法、订单状态管理、用户信用体系、数据分析报表等各方面的内容。研究形态也由原来的单个管理系统发展到集成推荐、预测等智能化功能。
徐舜以DT公司为研究对象,分析了新能源汽车租赁产品在营销策略方面存在的问题,提出了基于用户细分与差异化定价的优化方案。该研究从市场运营角度揭示了租赁产品设计与用户需求匹配的重要性,为本系统在车辆分类管理与租赁定价功能上的设计提供了思路。吴敬业基于SERVQUAL模型构建了新能源汽车租赁服务质量评价体系,识别了影响用户满意度的关键因素。其研究成果提醒本系统在设计用户评价与客服反馈功能时,需要关注服务质量的量化评估机制。陆多杰等人采用Spring Boot框架设计并实现了汽车租赁系统,涵盖了用户管理、车辆信息管理、订单管理等核心模块。该系统设计思路与本项目高度相似,其模块划分与接口设计为本系统架构提供了参考。粟梁[4]基于SSM框架开发的汽车租赁管理系统,整合了管理员、用户、员工三个角色,实现了车辆信息维护、保险管理、历史订单查询等功能。该系统的角色权限设计思路对本系统权限分离机制具有借鉴意义。兰沅文[5]等人以共享经济为背景,利用Java Web技术搭建了物品租赁平台,重点解决了闲置资源流转问题。该研究在租赁流程设计与状态跟踪方面的实践,为本系统订单状态机设计提供了启发。
从国内研究现状来看,现有的系统对基础的功能都有涵盖,但是对于业务流程的完整性、角色的操作闭环还没有做到。一些系统对于租赁订单审核、还车流程规范约束的设计没有做到细致入微。本系统从用户发起租赁、支付、取车、还车形成闭环,并且在管理端有订单审核和还车记录审核的功能,增强了业务过程的管控。
国外研究更侧重租赁系统的智能化与供需匹配优化。韩永朋[6]基于微服务架构构建了汽车租赁推荐系统,将深度学习推荐算法与Spring Cloud微服务相结合,实现了基于用户行为的个性化推荐与基于车辆特征的相似推荐。该研究在推荐系统设计方面展现了较高的技术深度,对租赁系统中车辆信息展示与用户决策支持功能有启发价值。Li[7]等人基于鸿蒙系统开发了新能源汽车租赁平台,采用ArkTS与ArkUI实现界面设计与后端管理[8]。该研究展示了跨平台租赁系统的实现路径,其前后端分离的设计理念与本系统技术选型一致。Hoseb[9]等人研究了共享自动驾驶出行系统中混合服务车队问题,提出了基于匹配优化的用户分配策略。该研究在车辆调度优化方面的探索,对租赁系统中车辆状态管理与订单分配逻辑设计具有参考价值。
国外研究对于系统架构的灵活性和算法驱动的智能化方面比较突出,但是应用场景同我国租赁市场的运营模式不相同。本系统吸收国外研究的时候更加注重对业务规则和流程约束的本地化适应,把智能推荐的思想简化成分类筛选的功能实现,保证系统的实际运营。
1.3 研究内容
本文围绕机车租赁管理系统的设计与实现展开工作。研究从行业现状与业务需求出发,明确系统需要解决的核心问题,即通过信息化手段整合租赁业务流程,实现车辆资源的高效调配与订单状态的可视化管理。在需求分析阶段,通过梳理普通用户与管理员两类角色的操作场景,识别出车辆信息管理、租赁订单处理、还车信息审核、用户评价收集等核心功能模块。在系统设计阶段,采用分层架构模式将系统划分为用户界面层、业务逻辑层与数据访问层。用户界面层负责与操作者交互,业务逻辑层封装订单状态流转与权限验证规则,数据访问层管理数据持久化操作。数据库设计遵循概念模型到逻辑模型的转换路径,构建用户、车辆、订单、评价等核心实体及其关联关系。在编码实现阶段,使用Spring Boot框架搭建后端服务,通过RESTful接口与前端Vue.js应用进行数据交互。系统测试覆盖功能正确性与操作流程完整性,确保各模块协同工作。本研究聚焦于租赁业务流程的数字化实现,重点关注订单状态管理、用户权限分离、车辆信息维护等核心功能的完整性与一致性,不涉及复杂算法优化与高并发性能调优。最终交付可运行的系统原型及相关设计文档。
第二章 相关技术介绍
2.1 Java语言
Java是一种高级编程语言,被广泛地使用,具有跨平台性,在不同的操作系统上都可以运行。Java使用Java虚拟机(JVM)来达到平台无关性,程序的字节码文件可以在安装了Java虚拟机的任何设备上运行,不需要重新编译。Java语言是面向对象的,用类和对象来组织代码,具有封装、继承、多态等基本特性,可以大大提高程序的可维护性和可重用性[10]。Java的内存管理是由自动垃圾回收机制来完成的,可以很好地管理内存的使用,防止出现内存泄漏、内存溢出等状况。Java语法简洁,接近自然语言,学习难度低,执行效率高。
Java语言有丰富的标准库,数据结构、网络通信、输入输出、多线程处理等各个方面都有涉及,可以支持开发者在各个领域进行应用开发。为了简化开发过程,Java提供了大量的工具和框架支持,Spring框架、Hibernate框架、Apache Struts等都是。Java也被广泛地应用到企业级开发当中,在大规模系统、分布式系统、Web应用程序以及移动应用的开发中均有涉及[11]。由于Java有良好的生态系统、强大的社区支持,因此很多企业选择用Java进行开发。相比于其它现代编程语言来说,Java具有稳定性以及兼容性,所以在技术更新速度飞快的环境中也具有较长的生命期。
2.2 Spring Boot框架
Spring Boot是基于Spring框架的开源Java开发框架,可以简化Java应用的开发和部署。它提供的是预先配置好的、开箱即用的功能,使开发者可以快速地构建起独立的、生产级别的Spring应用[12]。Spring Boot的主要特点之一就是约定优于配置,在不需要大量的配置的情况下,框架可以自动推断出合适的默认设置。因此大大减少开发中对于复杂配置文件的使用,使得开发者可以将主要精力放在业务逻辑的实现上,而不用过多考虑底层细节。
Spring Boot利用内嵌Servlet容器实现了无须外部服务器就可以运行的能力,使得应用可以打包成独立可执行的JAR文件或者WAR文件部署,简化了传统的Web应用开发流程[13]。Spring Boot还提供了大量的开发工具支持,自动化配置、内置监控、生产环境下的健康检查、应用的日志记录等都是开发者可以利用的功能,能够帮助开发者更快速地进行调试、测试、部署应用。Spring Boot也支持与Spring Cloud、数据库、消息队列、缓存等许多技术进行无缝的集成,使开发过程更加灵活,可以进行扩展。
2.3 Vue框架
Vue.js是一个开源的JavaScript框架,主要用在用户界面的开发上,只做视图层的开发[14]。Vue的核心特性有响应式数据绑定、组件化开发、灵活的模板语法,可以用来开发SPA。Vue的响应式系统是通过数据变化来自动更新视图的,开发者不需要手动去操作DOM,因此大大提高了开发效率。Vue组件化的设计使开发者可以把复杂的界面拆解成许多独立的、可以复用的组件来达到提高代码模块化、可重用的目的[15]。
Vue框架支持与其它库或者现有项目的集成,在不影响项目其他部分的情况下可以进行局部替换或者功能扩展。它还提供了很多开发工具和插件,Vue Router用来处理应用路由,Vuex用来做集中式状态管理,这些工具很好地提高了大型项目开发的效率和维护性。Vue的设计理念就是简洁、灵活,可以满足从小型应用到大型企业级应用的各种需求。Vue使用虚拟DOM技术,可以高效地更新界面,减少不必要的DOM操作,提高应用的性能。Vue因为轻量级、渐进式的特点,成为了很多前端开发者使用的前端框架。
2.4 MySQL数据库技术
MySQL是关系型数据库管理系统(RDBMS),被大量用在Web应用、数据保存、企业级应用以及大数据分析当中。MySQL使用结构化查询语言(SQL)来和数据库进行交互,可以对数据进行存储、查询、更新、删除等操作。MySQL具有很好的扩展性,可以处理从一个小型单机应用到一个大的分布式系统的数据存储[16]。它有ACID特性即原子性、一致性、隔离性、持久性,保证数据操作的可靠性、一致性。
MySQL支持各种不同的存储引擎,在各种情况下可选用不同的存储引擎,达到对事务性支持不同、性能优劣各异、数据是否完整等的要求。MySQL的索引功能非常强大,可以加快数据的查询和检索速度,对于处理大数据量的时候性能优势就更加明显[17]。数据量不断增加的时候,MySQL还可以借助分区表、复制、分布式架构等途径执行水平以及垂直方面的扩充,从而提升数据处理效能和系统可用性。MySQL具有跨平台性,可以运行在不同的操作系统上,并且能够与各种编程语言、开发框架集成使用,在各种应用场合都可以使用。
2.5 B/S model
B/S(Browser/Server)模式是一种基于Web的客户端服务器模式,它的核心思想就是把大部分计算和数据处理任务交给服务器端,客户端通过浏览器与服务器进行交互。B/S模式的实现不需要特定的操作系统或者客户端软件,只要用户所使用的设备可以运行Web浏览器,就可以访问该应用程序。因此B/S模式具有跨平台支持、部署方便的优点,用户不需要安装额外的软件,只需要通过浏览器就能使用应用[18]。
在B/S模式里,客户端的任务比较简单,主要是展示用户界面并和服务器进行交互,所有的业务逻辑、数据存储以及处理等复杂的工作都是由服务器端来完成的。服务器端一般会利用Web服务器、应用服务器来处理客户端的请求,用数据库系统进行数据的存储和管理。B/S模式具有很好的灵活性,开发者可以很快的开发出各种Web应用,并且可以快速部署到系统当中使用,无需考虑操作系统以及硬件平台是否兼容[19]。B/S模式也可以方便地实现集中式管理、维护,所有更新、修改均可以在服务器端完成,无需根据客户端操作系统的不同或者不同的硬件配置而采取不同的措施。因此B/S模式在现代的Web应用、云计算环境里得到了广泛的应用。
第三章 系统分析
3.1 可行性分析
3.1.1 技术可行性
所选的技术栈具有高效性、稳定性,Java语言使用Java虚拟机实现跨平台,保证了兼容性。Spring Boot框架采用自动配置来简化开发过程,Vue框架响应式特性以及组件化设计可以提高开发效率。MySQL数据库具有高效的存储以及查询能力,B/S模式的系统不需要客户端硬件的支持而降低了对系统整体的要求,也更加符合分布式发展的特点。整个技术栈的功能和性能是可行的。
3.1.2 操作可行性
所选技术栈有成熟的开发工具和完善的文档支持,技术操作简单。Java、Spring Boot、Vue等框架以及MySQL数据库在系统开发和部署的过程中得到广泛使用,简化了系统开发的过程,前后端分离的方式提高了开发人员之间的协作效率,B/S模式降低了系统部署的难度。整个操作过程是可行的。
3.1.3 经济可行性
选择的技术栈用开源工具来降低软件采购授权成本。B/S模式可以大大降低硬件投入,运维成本也大大减少。开发周期短,项目可以快速上线提供服务,提高经济效益,保证成本和效益的平衡。
3.2 功能需求分析
用例图是UML中用来描述系统功能需求的工具,用它来表达系统同外部参与者之间相互作用的关系,从而确定系统要做什么。用例图使用用例来表示系统可以执行的功能,参与者代表和系统交互的各类用户或者外部系统。用例图可以用于分析阶段以及设计阶段,有利于开发者和客户对系统功能达成一致,保证系统的功能性完整。直观的图示下,UML用例图就给了功能和角色之间的清晰对应。本文主要对系统的按角色模块进行需求分析。
3.2.1 用户功能
系统面向的有普通用户和管理员两种角色。普通用户登陆系统之后可以浏览机车资讯列表,用搜索或者筛选的方式快速找到感兴趣的内容。车辆信息模块可以按照用户的条件搜索车辆、查看详情、收藏或者点赞心仪车辆。用户可以在详情页发表评论来表达自己使用意愿。发起租赁订单的时候填写租赁信息并完成支付。用户车辆还车之后,可以通过还车信息模块来查询历史信息并对自己本次使用服务情况打分。用户评价模块里会体现出个人历史上的评价。评论管理模块给用户可以查看全部评论的详情。普通用户的用例图如图3-1所示。

图3-1普通用户用例图
3.2.2 管理员功能
管理员登录系统以后就进入了后台管理界面。租赁网点管理模块可以对网点信息进行查询、新增、修改和删除。车辆品牌管理、车辆分类管理模块都是对品牌以及分类的基本数据进行维护。车辆信息管理模块主要负责对车辆信息的增加、删除、修改和查询操作,可以查看车辆的详情以及历史评价。租赁订单管理模块对用户的订单进行查询,并且可以对订单进行审核通过或者驳回。还车信息管理模块用来查询用户提交的还车记录,再做审核通过处理。管理员用例图如图3-2所示。

图3-2管理员用例图
3.3 非功能需求分析
1.可用性需求
系统的可用性要求系统具有高可用性架构,在用户高并发的时候,保证系统的稳定运行。系统应该有快速恢复机制,在出现故障的时候可以快速进行自我修复。为了保证用户体验,在系统中应该具有较快的响应速度和较小的延迟,可以很快地完成用户请求并将结果返回给用户。系统应该具有的负载均衡功能,即在多个服务器上分配请求来防止某一台服务器的故障而导致系统的崩溃。
2.可靠性需求
系统可靠性的要求是系统长时间运行时不会经常出现故障或者中断。系统要具备完整、可靠的数据备份与恢复功能,可以防止由于硬件故障或者其它灾难性情况造成的数据丢失现象,并且可以迅速将系统恢复到正常的工作状态。系统各项服务及组件应该具有容错性,在部分组件出现故障的时候可以自动切换到备用服务。
3.安全性需求
系统安全性的要求就是对于用户信息、交易记录等敏感数据要加以保护。系统应该使用加密技术来保护用户传输的数据,在数据传输的过程中防止数据被窃取或者篡改。系统应该实行访问控制,用户只能访问自己被授权的资源,防止未授权用户对系统进行访问。系统应该有身份验证的功能,防止恶意用户冒用别人的身份。为了防止外部的攻击,系统应该配备防火墙、入侵检测系统等安全防护设施,保证系统的安全。
第四章 系统设计
4.1 系统架构设计
系统采用前后端分离的分层架构模式。用户界面层由Vue.js构建,负责渲染页面组件并收集用户输入。界面层通过HTTP请求将操作指令发送至后端服务,接收响应后更新页面显示。应用服务层由Spring Boot框架支撑,划分为控制器层、业务逻辑层与数据访问层。控制器层接收前端请求,进行参数校验与权限验证后调用业务逻辑层。业务逻辑层封装租赁订单状态流转、费用计算规则、库存扣减等核心业务规则,确保数据操作符合业务约束。数据访问层通过MyBatis与MySQL数据库交互,执行SQL语句完成数据持久化。数据库层存储用户信息、车辆数据、订单记录、评价内容等系统数据。各层之间通过接口定义交互边界,上层依赖下层提供的服务,下层不感知上层调用细节。这种分层设计使系统职责清晰,各层可独立测试与优化,变更影响范围可控。系统架构如图4-1所示。

图4-1系统架构图
4.2 系统结构功能设计
系统面向普通用户与管理员两类角色提供服务。普通用户可执行机车资讯浏览、车辆信息查询、收藏点赞、评论发布、租赁订单发起、在线支付、还车信息录入、用户评价提交等操作。管理员负责租赁网点管理、车辆品牌管理、车辆分类管理、车辆信息维护、租赁订单审核、还车信息审核等后台操作。用户端功能聚焦于租赁全流程体验,从车辆发现到订单完成形成完整链路。管理端功能覆盖基础数据配置与业务单据审核,支撑前台业务正常运行。两部分功能通过权限分离实现独立访问,系统整体结构清晰,各模块职责明确。系统功能结构图如图4-2所示。

图4-2系统功能结构图
4.3 系统流程设计
4.3.1 系统总体业务流程设计
该流程体现系统总体业务流程,描述各主要功能之间的业务衔接关系。用户登录系统后进入首页浏览车辆,选定心仪机车并提交租赁申请,系统随后根据后台审核结果引导用户完成支付或重置操作。管理员在后台对租赁申请进行多维度评估,审核通过后订单生效,用户在归还车辆时需登记还车信息并由管理人员最终确认,全流程涵盖用户操作与管理审核的闭环流向。系统总体业务流程如图4-3所示。

图4-3系统总体业务流程图
4.3.2 租赁订单流程设计
用户发起租赁申请后进入订单处理逻辑。后端通过校验车辆当前状态判断是否可租,若车辆空闲则生成待支付订单,用户需在指定时间内完成费用缴纳。支付结果经由接口反馈至数据库更新订单状态,系统自动锁定该车辆以防重复租赁。若用户中途取消订单或支付超时,流程则流转至失效节点并释放车辆资源,确保租赁数据的实时准确。租赁订单流程如图4-4所示。

图4-4租赁订单流程图
4.3.3 还车信息流程设计
用户归还车辆时需提交详细的还车登记。系统接收还车申请后自动匹配关联的租赁订单,提示用户上传当前车辆状况说明。管理员对还车记录进行人工审核,确认车辆完好且无违规行为后判定通过。若审核不通过则需用户补充说明或由后台进行异常处理。审核完成后订单状态变更为已完成,系统释放车辆并更新其所属网点的库存数量。还车信息流程如图4-5所示。

图4-5管理员车辆审核流程图
4.3.4 车辆信息发布流程设计
管理员通过后台录入新增车辆信息。录入界面要求填写品牌、分类、型号及网点归属等必要参数,系统前端对输入格式进行初步合法性校验。数据传输至后端后,程序逻辑将二次检查车辆编号是否唯一。验证通过后数据存入数据库持久化层,相关车辆信息即刻在用户端门户显示。若录入数据存在缺失或冲突,系统将反馈错误提示并保留当前编辑界面。车辆信息发布流程如图4-6所示。

图4-6车辆信息发布流程图
4.3.5 用户评价反馈流程设计
租赁业务完成后用户可针对服务进行评价。评价流程始于用户选择已结项的租赁记录,并在交互界面填写评分与文字心得。系统后台对敏感词进行过滤扫描,通过安全检测后将评价内容关联至对应车辆与用户档案。数据成功保存后,前端实时刷新车辆评价列表以供后续用户参考。若评价包含非法违规字符,系统将阻断保存操作并引导用户修正。用户评价反馈流程如图4-7所示。

图4-7用户评价反馈流程图
4.4 数据库设计
在数据库设计过程中,E-R图设计有助于将概念模型转化为具体的数据库结构。在此阶段,需要明确每个数据表的字段类型、约束条件及表之间的关系,为物理设计提供依据。随后,将进一步分析优化数据存储方案,保障系统的高效性与可扩展性[20]。
4.4.1 E-R图设计
E-R图(实体-关系图)是一种用于数据建模的图形化工具,描述实体、属性及实体间的关系。通过图示化的方式帮助分析和设计数据库结构,明确数据之间的相互联系,便于后续的数据库开发与管理。以下将展示系统的全局E-R图以及各个实体的属性图[21]。系统全局E-R图如图4-8所示。

图4-8系统E-R图
普通用户实体主要包括普通用户id、账号、姓名、性别等。实体属性图如图4-9所示。

图4-9普通用户实体属性图
管理员实体主要包括管理员id、账号、密码等。实体属性图如图4-10所示。

图4-10管理员实体属性图
租赁订单实体主要包括租赁订单id、车辆名称、品牌、租赁价格等。实体属性图如图4-11所示。

图4-11租赁订单实体属性图
还车信息实体主要包括还车信息id、车辆名称、品牌、归还时间等。实体属性图如图4-12所示。

图4-12还车信息实体属性图
车辆信息实体主要包括车辆信息id、车辆名称、品牌、车辆分类等。实体属性图如图4-13所示。

图4-13车辆信息实体属性图
租赁网点实体主要包括租赁网点id、网点名称、网点地址、联系电话等。实体属性图如图4-14所示。

图4-14租赁网点实体属性图
车辆品牌实体主要包括车辆品牌id、品牌名称等。实体属性图如图4-15所示。

图4-15车辆品牌实体属性图
车辆分类实体主要包括车辆分类id、分类名称等。实体属性图如图4-16所示。

图4-16车辆分类实体属性图
机车资讯实体主要包括机车资讯id、标题、发布时间等。实体属性图如图4-17所示。

图4-17机车资讯实体属性图
用户评价实体主要包括用户评价id、车辆名称、品牌、评分等。实体属性图如图4-18所示。

图4-18用户评价实体属性图
4.4.2 数据库表设计
逻辑设计阶段将概念模型转化为MySQL数据库支持的表结构。依据E-R图中定义的实体与联系,确定各表的主键与外键约束,规范字段类型与长度。用户表与租赁订单表通过用户id建立外键关联,实现用户订单数据的一致性查询。车辆信息表与租赁订单表通过车辆编号建立关联,订单生成时需校验车辆状态。租赁订单表与还车信息表通过租赁单号关联,形成业务单据的完整追溯链。表结构设计遵循第三范式,消除数据冗余,确保更新操作不会引发异常。在关系型数据库中建立主键索引与常用查询字段的普通索引,提升数据检索效率[22]。各表的主键采用自增整型,保证唯一性与插入性能。时间字段统一使用timestamp类型,便于跨时区处理。状态类字段使用有限取值范围的varchar类型,通过应用层枚举约束保证数据规范性。
租赁订单表主要是用来记录用户发起的租赁请求信息。主要包括租赁单号、用户姓名、车辆编号、审核状态等字段。如表4-1所示。
表4-1租赁订单表
| 1 | 租赁订单id | int | 11 | 主键 |
| 2 | 租赁单号 | varchar | 64 | 业务唯一标识 |
| 3 | 普通用户 | int | 11 | 关联用户id |
| 4 | 车辆编号 | varchar | 64 | 关联车辆 |
| 5 | 车辆型号 | varchar | 64 | 冗余字段 |
| 6 | 车辆品牌 | varchar | 64 | 冗余字段 |
| 7 | 出租价格 | double | – | 租赁单价 |
| 8 | 起租日期 | date | – | 租赁开始时间 |
| 9 | 支付状态 | varchar | 16 | 已支付/未支付 |
| 10 | 审核状态 | varchar | 16 | 待审核/已通过/已驳回 |
| 11 | 创建时间 | datetime | – | 订单生成时间 |
| 12 | 更新时间 | timestamp | – | 最后修改时间 |
车辆信息表主要是用来存储可供租赁的机车基本数据。主要包括车辆编号、车辆型号、车辆品牌、出租价格、车辆状态等字段。如表4-2所示。
表4-2车辆信息表
| 1 | 车辆信息id | int | 11 | 主键 |
| 2 | 车辆编号 | varchar | 64 | 唯一标识 |
| 3 | 车辆型号 | varchar | 64 | 车型名称 |
| 4 | 车辆照片 | varchar | 255 | 图片路径 |
| 5 | 车辆品牌 | varchar | 64 | 所属品牌 |
| 6 | 车辆分类 | varchar | 64 | 所属分类 |
| 7 | 车辆状态 | varchar | 64 | 可租/已租/维修 |
| 8 | 出租价格 | double | – | 每日租金 |
| 9 | 租赁押金 | double | – | 押金金额 |
| 10 | 网点名称 | varchar | 64 | 存放网点 |
| 11 | 点击数 | int | 11 | 浏览次数 |
| 12 | 创建时间 | datetime | – | 录入时间 |
普通用户表主要是用来存储注册用户的个人信息。主要包括用户姓名、用户手机、用户性别、审核状态等字段。如表4-3所示。
表4-3普通用户表
| 1 | 普通用户id | int | 11 | 主键 |
| 2 | 用户姓名 | varchar | 64 | 真实姓名 |
| 3 | 用户性别 | varchar | 64 | 性别 |
| 4 | 用户手机 | varchar | 16 | 联系电话 |
| 5 | 用户id | int | 11 | 关联账户表 |
| 6 | 审核状态 | varchar | 16 | 已认证/未认证 |
| 7 | 创建时间 | datetime | – | 注册时间 |
| 8 | 更新时间 | timestamp | – | 信息更新时间 |
还车信息表主要是用来记录用户还车时填写的车辆状态与费用明细。主要包括租赁单号、用户姓名、车辆编号、还车日期、应付合计等字段。如表4-4所示。
表4-4还车信息表
| 1 | 还车信息id | int | 11 | 主键 |
| 2 | 租赁单号 | varchar | 64 | 关联订单 |
| 3 | 普通用户 | int | 11 | 关联用户 |
| 4 | 用户姓名 | varchar | 64 | 冗余字段 |
| 5 | 车辆编号 | varchar | 64 | 关联车辆 |
| 6 | 起租日期 | date | – | 租赁开始 |
| 7 | 还车日期 | date | – | 实际还车时间 |
| 8 | 租赁天数 | double | – | 使用天数 |
| 9 | 应付合计 | double | – | 最终费用 |
| 10 | 支付状态 | varchar | 16 | 已支付/待支付 |
| 11 | 创建时间 | datetime | – | 记录创建时间 |
用户评价表主要是用来存储用户完成租赁后对车辆与服务的反馈内容。主要包括租赁单号、用户姓名、评价等级、评价详情等字段。如表4-5所示。
表4-5用户评价表
| 1 | 用户评价id | int | 11 | 主键 |
| 2 | 租赁单号 | varchar | 64 | 关联订单 |
| 3 | 普通用户 | int | 11 | 评价人 |
| 4 | 用户姓名 | varchar | 64 | 冗余字段 |
| 5 | 车辆编号 | varchar | 64 | 被评车辆 |
| 6 | 评价等级 | varchar | 64 | 星级评分 |
| 7 | 评价详情 | text | 65535 | 文字内容 |
| 8 | 创建时间 | datetime | – | 评价提交时间 |
| 9 | 更新时间 | timestamp | – | 最后修改时间 |
租赁网点表主要是用来存储车辆存放点信息。主要包括网点名称、网点地址等字段。如表4-6所示。
表4-6租赁网点表
| 1 | 租赁网点id | int | 11 | 主键 |
| 2 | 网点名称 | varchar | 64 | 网点名称 |
| 3 | 网点地址 | varchar | 255 | 详细地址 |
| 4 | 创建时间 | datetime | – | 录入时间 |
| 5 | 更新时间 | timestamp | – | 信息更新时间 |
车辆品牌表主要是用来存储车辆品牌基础数据。主要包括品牌名称等字段。如表4-7所示。
表4-7车辆品牌表
| 1 | 车辆品牌id | int | 11 | 主键 |
| 2 | 品牌名称 | varchar | 64 | 品牌名称 |
| 3 | 创建时间 | datetime | – | 录入时间 |
| 4 | 更新时间 | timestamp | – | 信息更新时间 |
车辆分类表主要是用来存储车辆分类基础数据。主要包括分类名称等字段。如表4-8所示。
表4-8车辆分类表
| 1 | 车辆分类id | int | 11 | 主键 |
| 2 | 分类名称 | varchar | 64 | 分类名称 |
| 3 | 创建时间 | datetime | – | 录入时间 |
| 4 | 更新时间 | timestamp | – | 信息更新时间 |
评论表主要是用来存储用户对车辆的评论内容。主要包括用户id、内容、来源id、是否隐藏等字段。如表4-9所示。
表4-9评论表
| 1 | 评论id | int | 11 | 主键 |
| 2 | 用户id | int | 11 | 评论人 |
| 3 | 内容 | longtext | 4294967295 | 评论正文 |
| 4 | 来源表 | varchar | 255 | 评论对象表 |
| 5 | 来源id | int | 11 | 评论对象id |
| 6 | 是否隐藏 | tinyint | 4 | 显示控制 |
| 7 | 创建时间 | timestamp | – | 评论时间 |
收藏表主要是用来记录用户收藏的车辆信息。主要包括用户id、来源id、标题等字段。如表4-10所示。
表4-10收藏表
| 1 | 收藏id | int | 11 | 主键 |
| 2 | 用户id | int | 11 | 收藏人 |
| 3 | 来源表 | varchar | 255 | 收藏对象表 |
| 4 | 来源id | int | 11 | 收藏对象id |
| 5 | 标题 | varchar | 255 | 收藏标题 |
| 6 | 封面 | varchar | 255 | 缩略图 |
| 7 | 创建时间 | timestamp | – | 收藏时间 |
第五章 系统实现
5.1 普通用户功能实现
5.1.1 租赁订单功能实现
用户完成车辆选择后直接进入订单发起流程。订单信息提交到系统,用户可在个人账户内随时查看订单状态。支付环节完成,租赁周期正式启动。归还车辆时,系统自动更新订单状态为待审核。租赁订单界面如图5-1所示。

图5-1租赁订单界面
5.1.2 还车信息功能实现
车辆归还操作结束后,系统生成完整的还车记录,详细记录归还时间与车辆状态。用户登录账户即可访问这些记录,在确认车辆无异常后对本次租赁服务进行评价。评价内容提交后成为车辆信息的一部分。还车信息界面如图5-2所示。

图5-2还车信息界面
5.1.3 用户评价功能实现
用户过往提交的评价内容被系统完整保存,按时间顺序排列展示。用户登录后进入个人中心,可浏览所有已发表的评价信息,便于回顾过往使用体验。评价记录界面如图5-3所示。

图5-3用户评价界面
5.1.4 评论管理功能实现
系统为每条车辆评论提供独立的详情展示页面。用户点击评论内容即可进入详情视图,该视图展示评论的完整文本以及评论发布时的具体时间信息。评论详情界面如图5-4所示。

图5-4评论管理界面
5.1.5 车辆信息功能实现
车辆展示页面提供搜索与筛选工具,帮助用户快速定位目标车辆。用户点击车辆卡片进入详情页,可执行收藏、点赞操作。评论功能允许用户发表使用感受。确认租赁意向后,订单发起按钮位于详情页底部。车辆信息界面如图5-5所示。

图5-5车辆信息界面
5.1.6 机车资讯功能实现
资讯模块聚合机车相关的新闻与使用技巧类文章,以列表形式呈现。用户可根据标题或内容关键词进行搜索,也可通过预设的分类标签筛选感兴趣的资讯内容。机车资讯界面如图5-6所示。

图5-6机车资讯界面
5.2 管理员功能实现
5.2.1 租赁网点管理功能实现
网点管理模块集中维护所有线下服务网点。管理员可查看网点列表,通过查询条件快速定位特定网点。新增网点时填写网点名称、地址、联系方式等信息。修改与删除操作允许管理员及时更新网点状态。租赁网点管理界面如图5-7所示。

图5-7租赁网点管理界面
5.2.2 车辆品牌管理功能实现
品牌管理模块负责维护车辆品牌基础数据。管理员可浏览当前系统中所有品牌,通过品牌名称进行检索。新增品牌时填写品牌名称与描述信息。对于已存在的品牌,修改与删除功能确保品牌信息的准确性与时效性。车辆品牌管理界面如图5-8所示。

图5-8车辆品牌管理界面
5.2.3 车辆分类管理功能实现
分类管理模块对车辆类型进行划分,如踏板车、街车、巡航车等。管理员执行分类查询、新增、修改与删除操作。合理的分类结构便于用户在车辆浏览时快速筛选,提升检索效率。车辆分类管理界面如图5-9所示。

图5-9车辆分类管理界面
5.2.4 车辆信息管理功能实现
车辆信息管理模块集中处理所有车辆的增删改查操作。管理员查看车辆列表时可进入详情页,详情页展示车辆完整参数并关联历史评价。新增车辆时录入基本信息,修改功能支持信息更新,删除功能用于下架不再运营的车辆。车辆信息管理界面如图5-10所示。

图5-10车辆信息管理界面
5.2.5 租赁订单管理功能实现
管理员在订单管理页面查看所有用户提交的租赁订单。订单按提交时间排序,每条订单均标注待审核状态。审核通过后订单进入正常租赁流程,审核驳回时系统将驳回原因返回给用户。租赁订单管理界面如图5-11所示。

图5-11租赁订单管理界面
5.2.6 还车信息管理功能实现
还车信息管理页面集中展示用户提交的所有还车记录。每条记录包含车辆信息与还车时间。管理员逐条审核,确认车辆完好无损后通过审核。审核通过的还车记录完成租赁订单的最终闭环。还车信息管理界面如图5-12所示。

图5-12还车信息管理界面
第六章 系统测试
6.1 测试目的
测试目的主要是通过系统测试和验证,使软件或系统符合设计需求和功能要求,能够稳定、安全地运行。具体来说,测试的目的是发现并修复潜在的缺陷或问题,提高系统的质量和性能,减少在实际使用中的故障率。通过各种测试手段,如单元测试、集成测试、功能测试、性能测试等,软件在不同环境下的兼容性和可用性。测试还帮助确认系统的安全性,防止数据泄露、系统崩溃等风险问题。通过全面的测试,提升用户体验的顺畅,提升客户满意度,减少开发后的维护成本。因此,测试过程不仅是软件开发的重要一环,也是保障软件产品质量、满足用户需求的关键步骤。
6.2 测试方法
测试方法是保障软件或系统质量的重要手段,通常根据测试目标和需求的不同,选择不同的测试策略。常见的测试方法包括黑盒测试、白盒测试、灰盒测试、回归测试和性能测试[23]。
黑盒测试关注软件的功能表现,而非其内部结构。测试人员通过输入数据并观察输出结果来验证软件是否符合预期需求,适用于功能验证和接口测试。白盒测试则侧重于系统内部结构的验证,测试人员基于对代码的了解,进行详细的逻辑、控制流和数据流的测试,代码的每个路径和语句都被有效地覆盖,帮助发现潜在的逻辑错误或性能瓶颈。灰盒测试结合了黑盒和白盒测试的优点,测试人员在部分了解系统内部结构的基础上,既关注系统的功能,也关注其安全性和集成性。
回归测试是在软件进行修改或更新后,重新测试已完成的功能,新版本没有引入新的缺陷或问题。性能测试则主要评估系统在不同负载和压力下的表现,检查响应时间、并发处理能力等关键性能指标。
通过采用这些测试方法,可以有效评估和改进软件的功能、性能和稳定性,最终交付的系统满足用户需求,提升软件质量。
6.3 测试内容
租赁订单管理模块测试旨在验证订单全生命周期的业务逻辑正确性,涵盖订单查询、支付处理、审核流转及归还流程等核心功能,确保订单状态在用户操作与管理审核过程中实现准确变更与数据一致性。租赁订单管理测试如表6-1所示。
表6-1租赁订单管理测试用例表
| 租赁订单管理 | 订单查询与筛选 | 输入查询条件进行订单检索 | 系统准确返回符合条件的所有订单列表 | 符合预期 | 测试成功 |
| 租赁订单管理 | 订单审核通过 | 管理员对待审核订单执行通过操作 | 订单状态更新为已通过,用户端同步变更 | 符合预期 | 测试成功 |
| 租赁订单管理 | 订单审核驳回 | 管理员对订单执行驳回操作并填写原因 | 订单状态更新为已驳回,用户端可查看驳回原因 | 符合预期 | 测试成功 |
| 租赁订单管理 | 用户在线支付 | 用户对待支付订单执行支付操作 | 订单状态由待支付更新为待审核 | 符合预期 | 测试成功 |
| 租赁订单管理 | 用户申请归还 | 用户对租赁中车辆执行归还操作 | 生成还车记录,订单状态变更为待归还审核 | 符合预期 | 测试成功 |
车辆信息管理模块测试聚焦于车辆资源从新增、维护到下架的全过程管理能力,验证管理员对车辆数据的增删改查操作权限与业务规则,确保车辆信息在用户端展示的准确性与时效性。车辆信息管理测试如表6-2所示。
表6-2车辆信息管理测试用例表
| 车辆信息管理 | 新增车辆 | 管理员填写完整车辆信息并提交 | 系统成功保存车辆信息,车辆列表新增记录 | 符合预期 | 测试成功 |
| 车辆信息管理 | 修改车辆信息 | 管理员对现有车辆信息进行修改并保存 | 车辆信息更新成功,前端展示同步刷新 | 符合预期 | 测试成功 |
| 车辆信息管理 | 删除车辆 | 管理员对无关联订单的车辆执行删除 | 车辆从列表中移除,用户端不再可见 | 符合预期 | 测试成功 |
| 车辆信息管理 | 车辆详情与评价查看 | 管理员查看指定车辆的详情及用户评价 | 系统正确展示车辆完整信息及所有关联评价 | 符合预期 | 测试成功 |
租赁网点管理模块测试旨在检验网点基础数据的维护能力,验证管理员对网点信息的增删改查操作是否准确,确保网点的增、删、改、查功能与数据展示的一致性。租赁网点管理测试如表6-3所示。
表6-3租赁网点管理测试用例表
| 租赁网点管理 | 新增网点 | 管理员填写网点名称、地址等信息并提交 | 系统保存网点信息,网点列表成功显示新增记录 | 符合预期 | 测试成功 |
| 租赁网点管理 | 修改网点信息 | 管理员修改已有网点信息并确认保存 | 网点信息更新成功,列表及详情页同步变更 | 符合预期 | 测试成功 |
| 租赁网点管理 | 删除网点 | 管理员对无关联业务的网点执行删除操作 | 网点从列表中移除,不再出现在选择列表中 | 符合预期 | 测试成功 |
| 租赁网点管理 | 网点查询 | 管理员根据名称或地址关键字搜索网点 | 系统准确筛选并展示符合条件的网点列表 | 符合预期 | 测试成功 |
车辆品牌管理模块测试主要验证品牌分类数据的维护功能,确保管理员能够独立完成对车辆品牌信息的增加、修改、删除及查询操作,保障品牌数据的准确性和唯一性。车辆品牌管理测试如表6-4所示。
表6-4车辆品牌管理测试用例表
| 车辆品牌管理 | 新增品牌 | 管理员输入新的品牌名称并提交 | 系统成功添加品牌,品牌列表更新 | 符合预期 | 测试成功 |
| 车辆品牌管理 | 修改品牌信息 | 管理员修改已存在品牌的名称并保存 | 品牌信息更新成功,关联车辆的品牌显示同步变更 | 符合预期 | 测试成功 |
| 车辆品牌管理 | 删除品牌 | 管理员对未被车辆引用的品牌执行删除 | 品牌从列表中消失,不再可用于车辆选择 | 符合预期 | 测试成功 |
| 车辆品牌管理 | 查询品牌 | 管理员根据品牌名称关键字进行搜索 | 系统准确返回匹配的品牌信息 | 符合预期 | 测试成功 |
车辆分类管理模块测试旨在检验车辆分类数据维护的准确性,验证管理员对分类信息进行增删改查操作的执行效果,确保分类体系能够支持车辆资源的合理归集与展示。车辆分类管理测试如表6-5所示。
表6-5车辆分类管理测试用例表
| 车辆分类管理 | 新增分类 | 管理员输入分类名称及描述信息并提交 | 系统保存分类数据,分类列表新增记录 | 符合预期 | 测试成功 |
| 车辆分类管理 | 修改分类信息 | 管理员修改已有分类的名称或描述 | 分类信息更新成功,前端展示同步 | 符合预期 | 测试成功 |
| 车辆分类管理 | 删除分类 | 管理员对未关联车辆的分类执行删除 | 分类被移除,不再在车辆信息中可选 | 符合预期 | 测试成功 |
| 车辆分类管理 | 查询分类 | 管理员根据分类名称进行模糊查询 | 系统返回符合查询条件的分类列表 | 符合预期 | 测试成功 |
还车信息管理模块测试聚焦于还车审核业务流程的完整性,验证管理员对用户提交的还车申请进行审核通过或驳回的操作能力,确保还车记录状态更新准确且与租赁订单状态联动一致。还车信息管理测试如表6-6所示。
表6-6还车信息管理测试用例表
| 还车信息管理 | 查询还车记录 | 管理员根据订单号或用户信息搜索还车申请 | 系统准确展示符合条件的还车记录列表 | 符合预期 | 测试成功 |
| 还车信息管理 | 审核通过还车记录 | 管理员对状态为待审核的还车记录执行通过操作 | 还车记录状态更新为已完成,对应租赁订单状态同步更新 | 符合预期 | 测试成功 |
| 还车信息管理 | 审核驳回还车记录 | 管理员对还车记录执行驳回操作并注明原因 | 还车记录状态更新为已驳回,订单状态回退至租赁中 | 符合预期 | 测试成功 |
机车资讯管理模块测试旨在验证资讯内容的发布、检索与展示功能,确保管理员能够有效管理资讯内容,用户能够通过搜索和筛选功能便捷地获取所需资讯信息。机车资讯管理测试如表6-7所示。
表6-7机车资讯管理测试用例表
| 机车资讯管理 | 资讯列表展示 | 用户进入机车资讯模块 | 系统按发布时间倒序展示所有资讯列表 | 符合预期 | 测试成功 |
| 机车资讯管理 | 资讯搜索 | 用户在搜索框输入关键字进行检索 | 系统返回标题或内容包含关键字的资讯列表 | 符合预期 | 测试成功 |
| 机车资讯管理 | 资讯筛选 | 用户根据分类标签进行资讯筛选 | 系统仅展示符合所选分类的资讯内容 | 符合预期 | 测试成功 |
| 机车资讯管理 | 资讯详情查看 | 用户点击任意资讯标题 | 系统跳转至详情页,完整展示资讯内容 | 符合预期 | 测试成功 |
6.4 测试结论
通过对系统进行全面的功能、性能、安全等方面的测试,确认软件在各种环境下的表现符合预期。若发现问题,已进行相应修复或提出改进建议。测试结果表明,软件基本满足设计要求,性能稳定,未发现重大缺陷,验证了系统的功能性、稳定性和兼容性。
项目分享:大家可自取用于参考学习,获取方式可私信哦!




