基于Java的汽车租赁平台的设计与实现_第1页
基于Java的汽车租赁平台的设计与实现_第2页
基于Java的汽车租赁平台的设计与实现_第3页
基于Java的汽车租赁平台的设计与实现_第4页
基于Java的汽车租赁平台的设计与实现_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第1章绪论1.1研究背景和意义随着中国市场经济的蓬勃发展,以及民众生活水平的提升,汽车逐渐走进了千家万户,更多的中国人选择将汽车成为了自己首选的出行方式,从个人方面来看,尽管私家车量的日益增多,但对一些预算不够,特别是面对着大额房贷压力的年轻人,新车以万元起的售价,这让他们在购车问题上不得不慎重地考虑,所以,“以租代购”是如今很多用户的选择。这种方式能很好的解决前面提到的社会问题和个人困境,而且得到了国家和社会支持。汽车租赁行业得到了快速的发展。传统的租车方式,是采用人工记录、服务的管理工作方式。对于现在日渐增加的用户规模来说,信息记录的查找仍然依赖于人工这种方式,效率低下且需要消耗大量人力,而且还难以保证日后档案的保存。实现汽车租赁业务的高效管理转变传统的人力管理方式,实现信息化管理。鉴于此,本文尝试基于Java设计一个汽车租赁平台,用于摆脱传统纸质材料的重量以及厚度的束缚,用户日常租车也将更加适应如今人们快生活的节奏,是十分适合和满足大众需求的。1.2国内外研究现状国内近几年非常提倡用以租代购间的方式鼓励年轻人租车,并鼓励各种租车平台的开发和应用,2016年,左洁麓在《汽车租赁管理系统的设计与实现》[1]采用JSP、Bean、MySQL数据库三层模式实现,每一层都对其功能进行了独立的设计和实现,提升了系统的易维护性和安全性。此研究主要说明了基本的技术框架并没有说具体的技术直到2020年,薛玮翔在《汽车租赁管理系统的设计与实现》[2]中讲述了该系统使用B/S网络结构模式和JQuery、XML、.NET、ASP等技术,而且采用跨平台的PHP技术,使用Smarty模板引擎,用MySQL处理后台数据。先区分每个模块功能和技术的区别,然后对单一模块进行设计。国外对汽车租赁管理系统研究起步较早,2016年,VirangnaPal;PrabhakarGaur;P.Swarnalatha在《VehicleSharingApplicationDevelopmentUsingaSoftwareProjectManagementApproach》[3]中提出越来越多的人将大部分生活转移到网上的趋势得到了应用程序开发以有效模仿现实世界的补充。开发高效的点对点租车系统,供日常使用个人和专业租赁服务,这场革命旨在让每个连接到互联网的人都变得便宜、高效和轻松的移动性。此文章讲到了研发的好处但没有讲到具体的技术直到2021年,RaniRuzanitaMat;KamarudinNorbaizura等人在《Optimizationnumberofcarrentaltofulfilthedemandusingsimulationtechnique:AcasestudyofABCCarRentalCompany》[4]中研究使用Excel电子表格构建了模拟模型。模拟结果包括未服务的客户、总销售额和未使用的汽车的平均数量。这家汽车租赁公司在满足客户需求方面面临挑战。因此,他们需要一个指导方针来管理他们的租车管理系统,以满足客户的需求。1.3研究内容本设计将在IDEA开发工具中,基于SSM框架,使用Java语言设计开发一个汽车租赁平台,该平台的数据将使用MySQL数据库进行存储和管理,平台部署于Tomcat服务器。该平台具有注册登录、用户信息管理、订单信息管理、在线租赁管理、车辆信息管理、合同管理、体感留言管理和车损管理等功能。应完成的主要工作有:1.分析近几年国内外租车系统的相关文献,整理相关资料并确定研究内容和技术路线;2.在需求分析的基础上确定系统的整体框架和主要模块;3.对系统的各个功能模块进行设计和实现;4.所有模块实现后,进行测试,并改进不足;

第2章关键技术和工具简介2.1Java语言Java是一种非常流行的编程语言,它更像是一种技术生态系统。Java生态系统由语言本身、开发工具和虚拟机等组成,以支持开发者构建可靠且高性能的应用程序。Java的跨平台特性使其可以在各种设备和操作系统上运行,具有优秀的安全性和高效性,广泛应用于企业级应用、移动设备、物联网等领域。作为一个面向对象的编程语言,Java不仅易学易用,同时也允许开发人员创建灵活且可扩展的代码,满足各种应用需求。因此,Java已经成为了软件工程师们普遍选择的编程语言之一。我使用它的理由是容易学习,而且网上的Java开源代码较多可以结合他们的优缺点进行更好的设计。2.2MySQLMySQL提供了良好的可伸缩性和卓越的性能,已经被广泛应用于各个领域。MySQL具有快速响应、高效率和可靠性的优势,并支持多种编程语言和操作系统。此外,MySQL还支持事务处理、数据备份和恢复功能,以及其他增强功能,如存储过程等。与其他数据库管理系统相比,MySQL对系统资源的要求较低,这使得其成为一个受欢迎的选择,尤其是在Web开发中。总之,MySQL是一种功能强大的数据库管理系统,其灵活性和易用性使其成为许多组织和企业首选的数据库解决方案。2.3B/S模式B/S(浏览器/服务器)模式,是一种广泛应用于互联网上的软件架构模式。B/S模式采用了一种基于浏览器和服务器的分布式架构,有效地降低了客户端的压力和复杂程度,同时提高了系统的安全性和可维护性。B/S模式可以让多个客户端共享相同的应用程序和服务,并具有较好的扩展性和兼容性。因此,B/S模式已经成为在互联网上开发和部署应用程序的首选模式之一。2.4Vue技术Vue提供了一个响应式视图层和灵活的组件系统,同时也是一种非常简洁易用的MVVM(Model-View-ViewModel)模式实现。Vue的核心库只关注视图层的渲染和交互逻辑,而许多其他功能,如路由和状态管理等,则通过插件或相关库来支持。Vue具有比较小的体积,能够快速地加载和解析,支持反应性数据绑定,在用户界面上实时渲染修改后的数据,并且兼容各种不同浏览器和环境。另外,使用Vue,开发人员可以更轻松地实现高效的代码复用,并基于现有的UI库或自定义组件库,快速搭建完整的Web应用程序。2.5MVC框架MVC模式,即模型-视图-控制器模式,使用M‎‏VC的‎‏目的是‎‏将将应用程序的三个核心职责分离出来。是一种常用于软件开发中的设计模式。并且在这些分离出来的组件之间建立良好的通信机制,以减少代码耦合性和提高系统的灵活性、可维护性和可扩展性。这样就允许‎‏更改视‎‏图层代‎‏码而不‎‏用重新‎‏编译模‎‏型和控‎‏制器代‎‏码,同‎‏样,一‎‏个应用‎‏的业务流‎‏程或者业‎‏务规则‎‏的改变‎‏只需要‎‏改动M‎‏VC的‎‏模型层‎‏即可。因此,MVC被广泛应用于Web应用程序和桌面应用程序的开发中,并已成为一种行之有效的开发模式。MVC模式的优点包括代码的复用性、更好的可维护性和易于测试等,可以帮助开发人员更快速地设计和实现高质量的软件系统。2.6Idea开发工具IntelliJIDEA具有强大的静态代码分析功能,可帮助开发人员轻松找出代码中的错误和缺陷。最突出的功能就是调试,比‎‏如查看‎‏Map‎‏类型的‎‏对象,‎‏如果实‎‏现类采‎‏用的是‎‏哈希映‎‏射,则‎‏会自动‎‏过滤空‎‏的En‎‏try‎‏实例。‎‏其次,‎‏需要动‎‏态Ev‎‏alu‎‏ate‎‏一‎‏‎‏个的值‎‏,比如‎‏我得到‎‏了一个‎‏类的实‎‏例,但‎‏是并不‎‏知晓它‎‏的,可‎‏以通过‎‏Cod‎‏eC‎‏omp‎‏let‎‏ion‎‏点出它‎‏所支持‎‏的方法‎‏。最后‎‏,在程‎‏调试的‎‏情况下‎‏,Lo‎‏go‎‏nc‎‏ons‎‏ole‎‏的功能‎‏可以帮你检查多线程执行的情况。

第3章系统分析3.1可行性分析3.1.1技术可行性(1)硬件可行性分析基于Java的汽车租赁平台对硬件没有太高的需求,只需要一台笔记本就可以进行开发设计,平台可以部署在不同系统上,所以基于Java的汽车租赁平台在硬件上具有可行性。(2)软件可行性分析基于Java的汽车租赁平台在IDEA开发工具上,开发软件、编程语言、框架等基本上都是用的比较多的,并且容易理解,在开发过程中很容易掌握,所以基于Java的汽车租赁平台在软件上具有可行性。3.1.2经济可行性该系统可以减少人工操作可能带来的失误和由此造成的经济损失,同时降低人工培训等经济开支。另外,由于该系统采用电脑操作,使用难度大大降低,信息利用率也将得到更好的提高。整个系统的设备需求非常简单,只需要一台普通的电脑和网络即可,因此设备费用较少。开发过程中使用的开发软件大多数的免费的所以开发成本较低。此外,该系统具有针对性明显,适用人群限定,不会产生过多的负载。操作流程简单,易于工作人员上手使用,并且培训成本较低。基于以上分析,在经济可行性方面,该系统是值得开发的。3.1.3操作可行性本系统应满足租赁方和租车客户两方面的需求,双方都只需要通过鼠标,键盘和一台电脑就能完成所有功能的操作。而且本系统能适应多台服务器之间的系统转移,在遭遇一些非正常例如停电等干扰之后也不会产生错误情况。经过分析,租车租赁系统在操作上是完全可行的。3.2需求分析对系统功能要求的分析可以提供有关在实施软件功能要求时需要什么和不需要什么的更多信息。而且做需求分析可以有效的避免出现早期错误。从而提高软件开发速度、降低开发成本并提高软件质量。3.2.1功能需求该汽车租赁平台系统中。用户和管理员都可以注册登录,用户可以查看商家发布的车辆信息,并且可以发起想要租赁车辆的订单,管理员确认订单后可签订合同。如果使用期间车辆损坏可以进行上报,最后可以对订单进行留言评价。管理员可以检查违规用户,管理用户订单,对于商品、门店内车辆信息等进行管理,还可以对还车信息进行核实,如果用户在使用期间车辆损坏可要求用户赔偿。用户用例图如图3.1所示:图3.1用户用例图管理员用例图如图3.2所示:图3.2管理员用例图3.2.2非功能需求(1)高效性:为了确保非现场执行系统在高峰时期能够承受性能压力并实现高效率的数据处理,采取了多种策略。首先,我将利用主机和数据库的并发处理能力来实现资源的最大化利用,提高系统整体的并发性和处理速度。其次,在系统的设计中,我将合理划分了各个模块,以避免数据冗余和重复计算,从而降低系统的运行成本和负荷。(2)易用性:用户进入首页后可根据提示进行注册登录,然后可以浏览查找所需车辆,找到车辆至于要浏览车辆详细信息确认就可以在线支付并签订合同。和平时的购物几乎无区别,系统界面将简洁美观,功能设计合理,而且使用十分简单。(3)安全性:管理员拥有回滚功能,如果发生重大失误,可对系统进行回滚,只需要时刻对系统进行备份这样能更好的保护数据。为系统建立一个完整的错误处理机制,可以保证系统长时间运行平稳,便于解决系统中的错误。3.3业务流程分析在我进行开发之前必须要做好流程分析,确保平台的开发可以持续进行,也可以防止一些错误的产生。开发流程如图3.3所示:

图3.3平台开发流程图进入平台,输入用户名和密码进行登录,然后系统会对用户名和密码进行正则比对,确认正确后即可进入平台主页。用户登录流程如图3.4所示:否是图3.4登录流程图进入平台,用户如果想进行租车,点击商品进入商品详情页面点击在线租赁进去支付页面,支付押金和租金租车成功。用户租赁流程如图3.5所示:否是图3.5租赁流程图

第4章系统设计4.1系统总体设计根据对系统的功能进行分析,遵循低耦合高内聚的原则将系统的功能结构划分为:注册登录、车辆信息管理、订单信息管理、在线租赁管理、体感留言管理、用户信息管理、合同管理、车损管理等功能模块。系统的功能结构图如图4.1所示:图4.1系统功能结构图4.2数据库设计4.2.1概念结构设计概念设计是为了建立概念模型。通过E-R图可以更好地表示数据库表中属性与实体类型之间的关联,从而构建出完整的概念关系模型。管理员实体属性图如图4.2所示:图4.2管理员实体属性图车损证明实体属性图如图4.3所示:图4.3车损证明实体属性图出车登记实体属性图如图4.4所示:图4.4出车登记实体属性图用户实体属性图如图4.5所示:图4.5用户实体属性图车辆实体属性图如图4.6所示:图4.6车辆实体属性图11N1NM11图4.7E-R关系图4.2.2逻辑结构设计逻辑结构设计就是把概念结构设计完成的概念模型转化为被选定的数据库系统支持的数据模型。需要具体说明把原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构。本系统的具体表设计如下:(1)管理员表users“管理员表”用来储存管理员信息。其表结构如表4.8所示:表4.8管理员表字段名称类型长度字段说明主键idbigint用户编号主键usernamevarchar100用户名passwordvarchar20密码rolevarchar10角色(2)车损证明表chesunzhengming“车损证明表”是用来储存车辆的损坏相关的信息。其表结构如表4.9所示:表4.9车损证明表字段名称类型长度字段说明主键默认值idbigint车辆登记号主键addtimetimestamp创建时间CURRENT_TIMESTAMPchuchebianhaovarchar30出车编号chepaihaovarchar20车牌号chesunleixingvarchar500车损类型peichangjinevarchar20赔偿金额yonghuzhanghaovarchar20用户账号shifouzhifuvarchar2是否支付ispayvarchar20是否支付未支付(3)出车登记表chuchedengji“出车登记表”是用来储存出车登记的相关信息。其表结构如表4.10所示:表4.10出车登记表字段名称类型长度字段说明主键默认值idbigint车辆登记号主键addtimetimestamp创建时间CURRENT_TIMESTAMPchuchebianhaovarchar100出车编号yajinint押金chepaihaovarchar20车牌号yonghuzhanghaovarchar20用户账号(4)用户表yonghu“用户表”是用来储存用户的基本信息。其表结构如表4.11所示:表4.11用户表字段名称类型长度字段说明主键默认值idbigint用户编号主键addtimetimestamp创建时间CURRENT_TIMESTAMPyonghuzhanghaovarchar20用户账号yonghuxingmingvarchar20用户姓名mimavarchar20密码xingbievarchar5性别touxianglongtext4294967295头像dianhuahaomavarchar20电话号码shenfenzhengvarchar20身份证(5)汽车表qiche“汽车表”是用来储存车辆的基本信息。其表结构如表4.12所示:表4.12车辆表字段名称类型长度字段说明主键默认值idbigint车辆登记号主键addtimetimestamp创建时间CURRENT_TIMESTAMPcheliangbianhaovarchar20车辆编号cheliangmingchengvarchar20车辆名称cheliangpinpaivarchar20车辆品牌cheliangxinghaovarchar20车辆型号chepaihaovarchar20车牌号pailiangvarchar200排量jiageint价格(天)yajinint押金(元)youhaovarchar20油耗xuhangvarchar20续航cheliangleixingvarchar20车辆类型xinjiuchengduvarchar20新旧程度cheliangzhaopianlongtext4294967295车辆照片cheliangyansevarchar20车辆颜色huandangfangshivarchar20换挡方式cheliangtianchuangvarchar20车辆天窗chezuovarchar20车座zulinxuzhilongtext4294967295租赁须知cheliangxiangqinglongtext4294967295车辆详情thumbsupnumint赞0crazilynumint踩0clicktimedatetime最近点击时间clicknumint点击次数0

第5章系统实现5.1实现环境开发语言:Java框架:SpringbootJDK版本:JDK1.8服务器:Tomcat7数据库:MySQL5.7数据库工具:Navicat11开发软件:Eclipse/IDEAMaven包:Maven注册登录用户首次进入系统,会有用户登录界面,用户有账号时可直接输入正确的账号密码进行登录,若用户没有账号密码可点击注册按键进入用户注册界面。用户注册需要输入具体的个人信息,点击注册后台会利用正侧法则对格式和内容进行对比。检测输入框无空选项且用户账号与库中不重复时注册成功,否则失败。用户注册界面如图5.1所示,用户登录界面如图5.2所示,后台登录页面如图5.3所示:图5.1用户注册界面图5.2用户登录界面图5.3后台登录界面管理员登录成功界面如图5.4所示:图5.4管理员登录成功界面用户登录成功界面如图5.5所示:图5.5用户登录成功界面关键代码:publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",username));if(user==null||!user.getMima().equals(password)){returnR.error("账号或密码不正确");}Stringtoken=tokenService.generateToken(user.getId(),username,"yonghu","用户");returnR.ok().put("token",token);}publicRregister(@RequestBodyYonghuEntityyonghu){//ValidatorUtils.validateEntity(yonghu);YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",yonghu.getYonghuzhanghao()));if(user!=null){ returnR.error("注册用户已存在");}LonguId=newDate().getTime();yonghu.setId(uId);yonghuService.insert(yonghu);returnR.ok();}5.3订单信息管理管理员可以查看所有订单并进行审核并签订合同,此外还可以删除此订单。订单信息管理界面如图5.6所示:图5.6订单信息管理界面管理员审核页面如图5.7所示:图5.7管理员审核界面用户可查看自己现有和历史订单,用户订单信息管理页面如图5.8所示图5.8用户订单信息管理界面关键代码:publicclassOrderServletUserextendsBaseServlet{publicStringsaveOrderUser(HttpServletRequestreq,HttpServletResponseresp)throwsException{UserOrderuser=(User)req.getSession().getAttribute("loginUser");req.setAttribute("msg","请在登录之后在下单");return"/jsp/info.jsp";Cartcart=(Cart)req.getSession().getAttribute("cart");//创建订单对象,为订单对象赋值Orderdingdan=newOrder();dingdan.setOid(UUIDUtils.getCode());dingdan.setOrdertime(newDate());dingdan.setTotal(cart.getTotal());dingdan.setState(1);dingdan.setUser(user);//遍历购物项的同时,创建订单项,为订单项赋值for(CartItemitem:cart.getCartItems()){OrderItemorderItem=newOrderItem();orderItem.setItemid(UUIDUtils.getCode());orderItem.setQuantity(item.getNum());orderItem.setTotal(item.getSubTotal());orderItem.setProduct(item.getProduct());orderItem.setOrder(order);order.getList().add(orderItem);}//调用业务层功能:保存订单OrderServiceOrderService=newOrderServiceImp();OrderService.saveOrder(order);cart.clearCart();//将订单放入requestreq.setAttribute("order",order);return"/jsp/order_info.jsp";}}5.4在线租赁管理用户成功登录后,进入首页可选择自己喜欢的车辆,点击想要租赁的汽车进入车辆详情页面,点击在线租赁进入车辆租赁信息页面。租赁信息核查界面如图5.9所示:图5.9租赁信息核查界面关键代码:@IgnoreAuth@RequestMapping("/detail/{id}")publicRdetail(@PathVariable("id")Longid){QichezulinEntityqichezulin=qichezulinService.selectById(id);qichezulin.setClicknum(qichezulin.getClicknum()+1);qichezulin.setClicktime(newDate());qichezulinService.updateById(qichezulin);returnR.ok().put("data",qichezulin);}publicRupdate(@RequestBodyQichezulinEntityqichezulin,HttpServletRequestrequest){//ValidatorUtils.validateEntity(qichezulin);qichezulinService.updateById(qichezulin);//全部更新returnR.ok();}publicRdelete(@RequestBodyLong[]ids){qichezulinService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}5.5体感留言管理用户使用完车辆并归还后,可对自己的租赁车辆进行评价。用户留言如图5.10所示:图5.10用户留言界面管理员可以对用户的评论进行回复,管理员回复留言如图5.11所示:图5.11管理员回复留言界面关键代码:publicStringhuifu(){Map<String,Object>map=ActionContext.getContext().getSession();user=(User)map.get("user");if(user==null){return"login";}message.setRecovery_date(newDate());message=messageService.getOneById(message.getId());return"hf";}publicStringhfAdmin(){Messagem=messageService.getOneById(message.getId());setAgent_content(message.getAgent_content());setRecovery_date(newDate());messageService.update(m);return"hfAdmin";}5.6车辆信息管理以管理员身份登录到系统后台中,进入到在车辆信息管理界面后,可以对车辆的信息进行增删改查操作。车辆信息管理界面如图5.12所示:图5.12车辆信息管理界面以管理员的身份也可对车辆信息进行修改,管理员修改车辆信息界面如图5.13所示:图5.13修改车辆信息界面关键代码:publicStringquery(){record=recordService.getOneById(record.getId());ActionContext.getContext().put("list",record);return"cx";}publicStringupdat(){Stringpath=ServletActionContext.getRequest().getRealPath("/")+"upload/";System.out.println(path);Filefile=newFile(path+"/"+fileImgFileName);try{FileUtils.copyFile(fileImg,file);}catch(IOExceptione){printStackTrace();}record.setImg(fileImgFileName);recordService.update(record);return"updat";}5.7用户信息管理以管理员身份登录到系统后台中,进入到在用户界面后,可以对用户的信息进行查看和审核,如有问题可以是不合法的地方进行重置操作或者强制删除用户。用户信息管理界面如图5.14所示:图5.14用户信息管理界面以用户的身份也可修改自己的信息,用户信息修改界面如图5.15所示:图5.15用户信息修改界面关键代码://用户信息修改publicStringsaveTeacherInformation(HttpServletRequestrequest,HttpSessionsession){Stringsname=request.getParameter("name");Stringpassword=request.getParameter("password");Stringtno=request.getParameter("zhanghao");Stringtname=request.getParameter("xingbie");Stringtgrade=request.getParameter("dianhuahao");commonservice.updateStu(name,password,zhanghao,xingbie,dianhuahao);//用户各个字段信息的更新更新完直接返回该页面return"/login/test";}}5.8合同管理用户核查完自己要租车的详情信息后,点击在线租赁和支付押金和本金,管理员可以查看订单并签订合同,合同发布如图5.16所示:图5.16合同发布界面关键代码:publicRpage(@RequestParamMap<String,Object>params,ZulinhetongEntityzulinhetong,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")){zulinhetong.setYonghuzhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<ZulinhetongEntity>ew=newEntityWrapper<ZulinhetongEntity>();PageUtilspage=zulinhetongService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,zulinhetong),params),params));returnR.ok().put("data",page);}publicRlist(ZulinhetongEntityzulinhetong){EntityWrapper<ZulinhetongEntity>ew=newEntityWrapper<ZulinhetongEntity>();ew.allEq(MPUtil.allEQMapPre(zulinhetong,"zulinhetong"));returnR.ok().put("data",zulinhetongService.selectListView(ew));}5.9车损管理用户完成订单后,管理员可现实查看车辆损坏情况,如果有就要求用户赔偿。如果没有退还押金,管理员查看车损管理如图5.17所示:图5.17管理员查看车损管理界面关键代码如:publicclassOrderChesunextendsBaseServlet{publicStringsaveOrderChesun(HttpServletRequestreq,HttpServletResponseresp)throwsException{//获取车损情况CartcartChesun=(Cart)req.getSession().getAttribute("cartChesun");//创建车损对象,为车损对象赋值OrderorderChesun=newOrder();orderChesun.setOid(UUIDUtils.getCode());orderChesun.setOrdertime(newDate());orderChesun.setTotal(cart.getTotal());orderChesun.setState(1);ordeChesunr.setUser(user);for(CartItemitem:carChesunt.getCartItems()){OrderItemorderItem=newOrderItem();orderChesun.setItemid(UUIDUtils.getCode());orderChesun.setQuantity(item.getNum());orderChesun.setTotal(item.getSubTotal());orderChesun.setProduct(item.getProduct());orderChesun.setOrder(order);order.getList().add(orderChesun);}OrderServiceOrderServiceChesun=newOrderServiceImp();OrderServiceChesun.saveOrder(order);cartChesun.clearCart();req.setAttribute("orderChesun",ordeChesunr);return"/jsp/order_info.jsp";}}第6章系统测试6.1测试方法在每个功能模块设计完成后,系统的各个模块需要经过一系列的测试以确保其整体运行稳定。黑盒测试可以对系统的整体功能进行测试,通过比较符合预期功能的测试流程,黑盒测试通常采用位移分析和阈值分析技术。我主要使用的是黑盒测试中的方法有边界值分析,错误推断法等。具体方法是对主要模块进行输入错误和正确的值以及误操作等。查看系统是否能在错误和正确操作下分别做出相对应的反应。在对租车管理系统进行测试时,黑盒测试非常适用,可以对用户对系统的体验进行全面的测试和评估。6.2功能测试6.2.1登录注册用户端测试用例依据用户要求进行设计,采用黑盒测试的技术,将使用具有代表性的部分绘制测试用例表。用户管理测试步骤如表6.1。当输入账号和密码都正确时,可以直接进入平台首页。账号或密码为空时提示必填项不能为空如图6.2所示:6.1登录测试用例表所示功能模块用户登录模块测试目的检测用户在正确和错误输入情况下登录所产生的结果预设条件用户名=131128,密码=1234操作描述输入数据期望结果实际结果测试结果图直接点击登录用户名=null密码=null显示提示信息“必填项不能为空”(符合)6.2输入用户名和错误密码用户名=131128密码=123123显示提示信息“用户名或密码不正确”(符合)6.3输入正确的用户名和密码用户名=131128密码=1234进入对应登录成功页面(符合)6.4图6.2登录账号或密码为空时界面登录时账号或密码错误时显示账号或密码不正确,如图6.3所示:图6.3登录账号或密码错误时页面登录时账号和密码都正确时直接进入页面首页,如图6.4所示:图6.4登录成功界面6.2.2车辆信息管理本次测试的目的是验证系统是否能够准确地区分在没有、单个以及多个条件下,对车辆进行分类展示。在汽车品牌、名称、续航和类型这4个不同条件中,测试人员需要针对每个条件进行筛选,并确认系统是否能根据所选条件将符合要求的车辆进行展示。此外,在筛选结果中,至少应该有符合其中一个条件的车辆被正确地展示出来。通过本次测试,可以评估系统的分类展示功能是否符合筛选条件,并发现和纠正潜在的问题和缺陷。车辆信息管理测试步骤如表6.5为按条件查询车辆的测试用例。当查询条件为不限时,显示所有车辆如图6.6所示:表6.5按条件查询车辆信息测试用例表功能模块用户可按一定条件查询可租车辆测试目的检测系统显示的车辆信息是否满足筛选条件操作描述数据期望结果实际结果测试结果图租车页面点击“筛选”按钮汽车品牌=“不限”车辆名称=“不限”续航=“不限”车辆类型=“不限”显示所有车辆(符合)6.6租车页面点击“筛选”按钮汽车品牌=“奔驰”车辆名称=“不限”续航=“不限”车辆类型=“不限”显示车辆都是奔驰品牌(符合)6.7租车页面点击“筛选”按钮汽车品牌=“不限”车辆名称=“河车”续航=“不限”车辆类型=“不限”显示车辆都是名称为河车的车辆(符合)6.8租车页面点击“筛选”按钮汽车品牌=“奔驰”车辆名称=“不限”续航=“200”车辆类型=“不限”显示车辆都是奔驰品牌续航为100小时(符合)6.9租车页面点击“筛选”按钮汽车品牌=“奔驰”车辆名称=“不限”续航=“200”车辆类型=“轿车”显示车辆都是奔驰品牌续航为200小时且车辆类型为轿车(符合)6.10图6.6查询车辆条件为不限时结果页面车辆信息管理页面,输入车辆品牌为奔驰后会显示品牌为奔驰的车辆信息页面,如图6.7所示:图6.7查询车辆品牌为奔驰时结果页面车辆信息管理页面,输入车辆名称为河车后会显示该名称车辆的单一车辆信息,如图6.8所示:图6.8查询车辆名称为河车时结果页面车辆信息管理页面,输入车辆品牌为奔驰和续航效果为200小时后,会显示该名称车辆的单一车辆信息,如图6.9所示:图6.9多条件查询车辆信息的结果页面图6.10多条件查询车辆信息结果页面6.2.3订单信息管理检测能否按照查询条件查询到该订单详情,表6.11为按条件查询订单的测试用例表。当对条件不限制时显示所有订单消息,如图6.12所示:表6.11按条件查询订单信息测试用例表功能模块管理员可按一定条件查询订单信息测试目的检测系统显示的订单信息是否满足筛选后应显示的订单信息操作描述数据期望结果实际结果测试结果图订单页面点击“筛选”按钮车辆名称=“不限”是否通过=“不限”显示所有订单(符合)6.12订单页面点击“筛选”按钮车辆名称=“河车”是否通过=“不限”显示车辆名称为河车的订单(符合)6.13订单页面点击“筛选”按钮车辆名称=“河车”是否通过=“未通过”显示车辆名称为河车并且未通过的订单(符合)6.14图6.12无条件时查询到的订单页面订单信息管理页面,输入车辆名称为河车时会显示该名称车辆的所有订单,如图6.13所示:图6.13车辆名称为河车时的订单页面订单信息管理页面,输入车辆名称为河车和未通过,会显示该名称车辆和符合是否通过的所有订单,如图6.14所示:图6.14多条件查询下订单页面管理员可对订单进行审核,如图6.14所示:图6.14订单审核页面6.2.4在线租赁管理用户进入页面点击想要租赁的车辆,进入商品详情,如图6.15所示:图6.15车辆详情信息页面用户点击在线租赁商品会进入租赁信息管理页面,用户可查看自己的订单信息。如图6.16所示:图6.16车辆订单确认页面用户可在订单中查看自己的租车信息,确认并选择不同的支付方式进行支付。如图6.17所示:图6.17支付方式选择页面6.2.5体感留言管理用户也可根据自己实用体验对好的或者不好的车辆进行留言。如图6.18所示:图6.18用户留言页面用户可以查看自己和其他人的留言记录,如图6.19所示:图6.19用户留言成功页面管理员可以查看和回复用户留言信息,如图6.20所示:图6.20管理员查看用户留言页面图6.21管理员回复用户留言成功页面6.2.6用户信息管理以管理员的身份进入后台管理页面,点击用户信息管理可以查看用户的基本信息。如图6.22所示:图6.22用户信息管理页面管理员可以对名字不合规或者含有违法含义的名字进行删除,例如删除用户姓名为甄加人,如图6.23所示:图6.23删除用户删除成功页面6.2.7合同管理点击详情可查看详细的合同内容,例如点击车辆名称为河车的合同信息,如图6.24所示:图6.24合同详情页面双方都签订合同后,合同会进入管理员的合同管理页面,管理员可以查看和下载往期的合同,如图6.25所示:图6.25合同管理页面6.2.8车损管理管理员登录到后台管理系统中,点击车损类型管理,可以添加常见的车损类型和拟定的赔偿,让用户在填入信息时可以准确的判断自己应填入的类型,如图6.26所示:图6.26车损类型页面管理员也可以根据车辆的实际情况制定车损证明发给用户,如图6.27所示:图6.27车损证明页面6.3测试结论经过对主要模块的测试,不管是从系统的各个功能上、还是从系统的体验上,基本上都能达到当初预计的结果。

结论随着我国经济和社会的飞速发展,目前市面上已有不少汽车租赁管理系统。然而,由于不同研究人员在社会应用性、架构模式和研究目标等方面的侧重点不同,尚未出现一款集成各个优点的汽车租赁平台。因此,关于汽车租赁平台的设计和开发仍然存在很大的研究空间。基于Spring和Vue框架使用Java语言和MySQL数据库实现了一个汽车租赁管理系统。该系统主要包括管理员和用户两类角色,并涵盖了注册登录管理、车辆信息管理、订单信息管理、在线租赁管理、体感留言管理、用户管理、合同管理、押金管理和车损管理等多个功能模块。但由于社会实践经验不足等原因,整体设计中仍存在不少问题。例如系统资料收集不够完善,无法在实际应用中核实用户的真实信息等。参考文献左洁麓.汽车租赁管理系统的设计与实现[D].吉林大学,2016.薛玮翔.汽车租赁管理系统的设计与实现[D].华南理工大学,2020.VirangnaPal,PrabhakarGaur,P.Swarnalatha.VehicleSharingApplicationDevelopmentUsingaSoftware

温馨提示

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

最新文档

评论

0/150

提交评论