【《基于java的城市汽车服务系统设计》11000字(论文)】_第1页
【《基于java的城市汽车服务系统设计》11000字(论文)】_第2页
【《基于java的城市汽车服务系统设计》11000字(论文)】_第3页
【《基于java的城市汽车服务系统设计》11000字(论文)】_第4页
【《基于java的城市汽车服务系统设计》11000字(论文)】_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

基于java的城市汽车服务系统设计摘要:对于城市汽车服务系统设计的研究方向有很多,我从中选择了汽车租赁服务,就实际情况来看,网上租车业务在国内还很稚嫩,能够发展的空间非常之大,现在人们的衣食起居都依托于互联网进行,如果可以设计一个可以线上交互的汽车租赁平台,将大大方便人们的出行,意义非凡。在研究过国内已有平台和国外的发展现状后,搭建一个高效,便捷,使用简单的网上汽车租赁平台,可以给汽车行业注入新的活力,并且给老百姓带来更多便利。本次课题研究的技术支撑包括:以IDEA作为项目开发环境,使用MySql数据库处理内部数据,底层采用java语言,项目整体以SSM作为框架支撑,jsp作为前端交互页面,辅以CSS和js渲染,开发出一个基于web技术的B/S结构的城市汽车服务系统。研究这个课题的初衷主要是为了方便国人出行和汽车商业领域的发展,本系统可以很好的服务于中小型汽车租赁企业。关键词:城市汽车服务;JAVA;SSM目录1绪论 51.1研究背景 51.2研究意义 51.3研究概况 62关键技术学习 62.1JAVA 62.2SSM框架 72.2.1Mybatis 72.2.2Spring 82.2.3SpringMVC 93系统需求分析 103.1需求分析 103.2非功能性需求 123.3可行性分析 134系统设计 144.1系统总体设计 144.2数据库设计 154.2.1数据库逻辑结构设计 154.2.2数据库物理结构设计 195系统模块实现 235.1管理员登录实现 235.2客户管理与汽车管理实现 255.3汽车租赁和还车功能实现 265.4用户、角色和菜单功能实现 285.5系统公告和系统登陆日志实现 295.6前端用户注册和登录实现 305.7前端用户租车实现 326系统测试 336.1系统测试目标 336.2功能测试 336.3系统测试结果 367结论 37参考文献 381绪论1.1研究背景时代发展很快,当我看到学校旁边就有汽车的租赁服务,我觉得好方便呀,搬寝室的时候用得到,毕业季的学生托运行李用得到,站在学生的角度去看,它的用处已经体现出来了,因此我仔细去查阅一番资料,很失望的发现规模太小了,很多人都不知道有这种东西存在,就算需要车也不会往这方面去考虑,我想这不仅是宣传不到位的缘故,也是因为规模和服务的不完善导致的。不可能因为找一辆车跟着导航走半天,有这功夫还不如出租车实在,由于租车划分范围,因此租车人还要考虑会不会因此花冤枉钱,另外,租车费用也确实是一个问题,费用太贵,一般也用不到,有钱的人自己就能买车。时代变了,但是向前发展的动力是不会变的,一个产品好不好,关键是它能不能解决使用者的后顾之忧,以此作为目标,我决定将它作为我的毕业课题,去完善汽车租赁服务,做出一个可以利民利国也可以给企业带来收益的租赁系统。1.2研究意义我国是一个工业大国,并且互联网在我国短短几十年已经发展得具有相当规模,汽车领域也随之有了新的突破,落后的运营模式得以实现由线下发展到线上,但是这还不足以打破汽车在租赁方向的僵局,因此我想到在汽车租赁领域里发展更加完善的线上模式,那就是通过互联网租车方便人们的出行和工作。中国是人口大国,汽车终归不是所有人都能买,我们要做到是让汽车可以更加方便的与需要使用它的人接轨,并且可以安全,高效,便捷的形成稳定的租赁模式,继而扩大规模,形成一条完整的产业链,让没有条件买车的群众也可以享受到租赁带来的好处。因此我打算基于java和JSP等技术,打造一个可以让群众通过固定的渠道去租车的平台,通过完整的保障措施,来保证租车的各个环节都牢不可破,这个租车系统一定是一个很简单的租车系统,前台只负责租车,后台将有管理者实时监控数据的变化,保证随时可以处理突发状况,在安全和稳定上做到消弭隐患。1.3研究概况租车的租赁在国外,已经形成一条完整庞大的产业链条,一环扣一环,遍布多个国家,汽车种类多样,管理模式新颖,租赁环节高效安全。电商管理系统遍布全球数万个租车节点,已经形成可靠的网状商业模型,欧洲众多汽车公司还加入了GDS全球调动系统,这让他们的预定租借业务占了总体不少的份额。不止如此,国外在汽车产业的合作足够庞大,涉及汽车有关产业几乎都有参与,包括汽车维修,汽车保养,供给二手汽车,这给国外汽车租赁提供了坚强的后盾。再回到我国,基于互联网的汽车租赁模式依旧处于初期的摸索阶段,租赁汽车的全面型网络、异地还车功能的形成,以及一地租车、异地还车和修车、24小时预定等特色服务都尚且不够完善,这其中,主要面临的问题就是我国租车环境的落后,整体规模小,租车没有特点,品位低,管理落后,不够完善。因此我选择以此为课题作为我的毕业设计,目的就是为了完成一个便民并且能推动我国汽车行业发展的一个功能比较完善的租赁系统。2关键技术学习本系统开发环境为IDEA2021版,并使用tomcat8作为服务器,兼用MySQL8作为数据库处理数据,在开发本项目时,考虑到自身所学,因此主要使用以下技术手段。2.1JAVAJava的一个重要特性,不用说大家也知道,这是一门面向对象的编程语言,它的三大特性:封装、继承和多态。先说明封装的重要性,以往编程,对参数和方法的定义都是简单直接的,不加任何关键字修饰:例如private,public,protected。因此当我们访问它的时候,简单的类名.方法名或者类名.属性名就能对它进行操作,安全性低不说,对于使用的人来说,那就真的只是一个类中的属性和方法。但是封装之后,就不同了,属性私有化,唯一可以访问的接口,只有它的set和get方法,而我们对属性的操作也无非就是修改参数和获取参数,而要想访问它,就要创建对象,通过具体对象去调用类中的属性和方法,类只有一个,但是对象可以有无数个,你创建多少就能使用多少,复用性大大提高。继承是多态的基础,有继承,才有了多态。子类extends父类,并且子类可以重写父类中的方法。关于多态的描述,在创建对象时,它的数据类型是父类,但实际上它的底层实现原理是它的子类,这是多态的简单说法。当然多态当中也涉及到了转型,朝上转型(自动类型转换)和向下转型(强制类型转换)。为什么我们要使用多态,因为它耦合度低,扩展力强,这也是软件开发的重要目标。2.2SSM框架2.2.1MybatisMybatis框架利用SQL映射,可以把数据库表中的一行数据映射成一个java对象,执行这个对象,就相当于执行表中的数据。Mybatis框架的DAO层,也即是数据访问层,可以对数据库执行增删改查等操作。一个SQL语句对应一个接口中的方法,接口代理了SQL语句,最后程序员执行定位到接口中的方法,实际上执行的就是对应的SQL语句。Mybatis供应了创建Connection,Statement,ResultSet的能力,因而我们无需再辛苦创建这些对象。还提供了执行SQL语句的能力,提供了SQL循环,把SQL的结果转为java对象,List集合。提供了关闭资源的能力,Connection,Statement,ResultSet都可以交给Mybatis去关闭。总结:开发人员只需要提供SQL语句。最后开发人员提供开发语句——Mbatis处理SQL——开发人员就可以得到List集合或java对象(表中的数据)。实际Mybatis就是增强的jdbc,访问数据库,以及执行增删改查。Mybatis的核心就在于动态代理和动态SQL,接口中的方法对应映射文件中的一条SQL语句,执行接口中的方法就相当于执行了它的SQL语句,Mybaits帮你创建dao接口的实现类,在实现类中调用SqlSession的方法执行SQL语句,这就是动态代理。关于动态SQL,根据if,where和foreach判断SQL语句,将前面的SQL语句与判断后的语句进行拼接,根据条件,能够得到不同的SQL执行语句,需要使用的Mybaits的标签,例如if,where,foreach等。2.2.2Spring说到Spring,很单一的说法,它是一个轻量级的,非入侵式的框架,它可以整合几乎发展至今所有框架,你想用一个框架,没有问题,在Spring配置文件中声明就可以运用了,就是这么简单。Spring减轻了对项目模块之间的管理,类和类之间的管理,它能帮助创建对象,管理对象之间的关系。Spring的核心技术是ioc(控制反转)和aop(面向切面编程)。对于ioc,可以这么理解,以前不管是创建对象还是属性赋值之类的乱七八糟的东西都要程序员自己干,现在交给容器去完成就可以了,很大程度上减少了对代码的修改,降低了耦合度。至于aop则主要是为了增加一些额外的功能,如果在每个功能里面都增加这么一个功能,可想而知其复杂程度,不仅写起来麻烦,代码也很赘余,代码读起来也费劲,但是使用aop可以解决这个问题,只要单独写一次,在方法中直接使用就可以了。当你要给系统中的一个类修改功能,但是原有的类功能不完善就可以考虑使用aop,aop可以给业务方法增加事务功能和日志输出等。图4.1和4.2关于Spring框架的优势,抛开Spring框架使用其它框架,程序员要面向的是多个框架,但是如果加入Spring框架,我们只用面向Spring框架即可。图2.1面向具体框架图2.2面向Spring框架图2.3是Spring架构图,完整的Spring所包含的具体内容下图可详细说明。图2.3Spring架构图2.2.3SpringMVCSpringMVC是Spring的一个子功能模块,它是专门做Web开发的,简单理解就是servlet的一个加强。Web开发的底层是servlet,SpringMVC框架在servlet的基础上额外加入了一些功能,使得web开发更加方便。SpringMVC的方便之处就在于,它减少了重复的代码,只需要在配置文件中加入封装好的功能,例如前端控制器负责接收请求,后端控制器负责处理请求,视图解析器负责处理前端页面,而一个Controller层中可以不再只接收一个请求,而是多个请求。比起servlet一个请求就要写一个类要更加便利简洁。SpringMVC最方便的就是在控制层上可以使用不同的注解,这简直就是程序员的福音,实在是太舒服了。它的注解分很多种。可以通过RequestMapping确认请求的地址,也可以通过在类上加注解将值存储到session中,返回json数据的注解等等,还有关于服务器之间允许请求访问的注解。下图2.4是原先使用Servlet请求转发,程序员要重复给Servlet配置请求路径,图2.5则是加入一个中间的控制,请求,转发和调度的中间层,就不用在Servlet中反复配置,相当于加入一个管理层或者说是控制层。图2.4Servlet控制图2.5Controller层控制3系统需求分析3.1需求分析通过对研究背景和研究概况得出的分析,租赁系统分为后台管理者和前台使用者,两者分别居于不同的使用需求进行功能开发。为了管理者能够更加方便管理,将增加系统基础功能,包括对客户的管理和对车辆的管理,实现其基本增删改查功能。为满足基本业务需求,系统增加了业务处理功能,包括租车和还车的功能,以及生成对应的租车订单和还车检查单,能实现对业务的基本处理功能。为满足系统内部管理需求,还额外增加系统内部的小功能,包括对内部员工实行权限分配,具体一点就是根据员工职能分配不同的角色,每个角色分配相对应的菜单权限,每个管理者各行其职,具体事务具体分配,通过这种方式避免了业务的交叉和互相干扰,对员工的管理更加得心应手。前台则需要满足客户的基本使用需求即可,用户的主要目的是租车,因此前台主要负责租车的功能。用户可以浏览汽车图鉴,根据汽车性能和价格选择当前合适的汽车进行租赁,订单便可生成。总结后台管理使用需求如下:(1)登录功能,管理者使用被分配的账号进行登录进入后台。(2)基础管理功能,主要对客户信息和汽车信息进行维护和管理。(3)业务管理功能,加入租车和还车功能,生成订单和检查单。(4)系统功能,角色管理,菜单管理,以及公告管理和登录日志。总结前台管理使用需求如下:登录功能,用户如若有账号,登录前台即可使用。注册功能,供新用户使用,注册后登录即可。租赁功能,前台展示有所有车辆,选择租赁即可。下图是本系统的用例图,如图3.1和3.2所示:图3.1客户用例图图3.2管理员用例图3.2非功能性需求(1)界面友好开发一款界面简洁大方,视觉上亲民的系统是非常重要的一点,人在对美丽事物的追求上是不变的,功能上大家都有一样的想法,如果能在界面的设计上别出心裁,也一定会有不一样的结果,因此设计一个友好的可视化界面会提高用户对系统的认可度和粘性。(2)操作简便本系统的目标是为了方便民众的,如果一个系统上手难度太大,操作起来繁琐,那它就失去了在用户心中的地位,因此在操作上一点要简单易上手,抛开多余的内容,本系统的主要目标定位是汽车租赁,因此设计好相应的操作功能基本上就实现了最初的想法。操作上也要亲民。(3)内容充实作为一款走亲民路线的系统,在内容上一定要充实,在选择上一定要多,简单说来,数据库一定要充实,只有可供使用的车辆多,民众总能找到自己需要的车辆,才会从根本上留住客户。(4)安全性要保障客户的信息安全和财产安全,只有正规才是王道,因此安全措施不能少。(5)可持续性可持续性发展是中国特色社会主义道路的基本理念,我们也要保障可持续性发展,因此功能也需要根据需要不断完善,也要做到及时反馈。3.3可行性分析可行性分析是在基于已有的条件下进行开发的可行性分析,在已有条件下完成开发是否可行是我们不得不考虑的问题,如果超出技术执行范围,经济承受范围,法律许可范围,那就要考虑换一个方案。(1)技术可行性本系统是基于java和SSM框架进行的开发,java语言我们有完整学过,因此用java语言开发这个系统是没有问题的,ssm框架也是我们学过的框架,在框架的选择上是可行的,数据库选择MySQL数据库,虽然我们没有在课堂上学过,但是我有SQLServer数据库的基础,还找课程临时学习过,加上MySQL数据库也不是特别难学习,因此数据库的选择是可行的。前端主要用的是jsp,这也是我学过的前端语言,使用它作为前端界面不成问题。因此,综合分析下来,在技术上是可以完成开发目标的。(2)经济可行性本系统的开发用到win10电脑,而且开发的过程相对来说比较简单,模块也较少,运行条件简单,需要用到的费用有限,不需要更多的人力参与,开销上是很少的,开发周期也较短,适合个人开发。投入较低的人力物力就可以完成整个系统的开发,带来较高的利润,因此在经济可行性上是没有问题的。(3)需求可行性通过市场分析和企业、用户的调研,要实现企业和用户要求的功能需求和非功能性需求,根据现有条件,基本可以满足。使用过租车服务的大多数民众认为,增加租车点和降低租金是非常有必要的。经综合分析,本系统在经济可行性和技术可行度以及需求可行度上是成立的,而且在不触犯法律法规,因此可行性分析报告可以通过。4系统设计4.1系统总体设计根据上述需求分析,我们需要完成系统总体上的规划,包括数据库的规划和功能模块的规划。从需求分析上来看,我们主要分为两种用户,从结构上来看,后端无疑功能更加多,前端则功能简单明了。前端主要服务客户,后端则服务于管理者,下图4.1是根据需求分析画出的功能模块图,可以很清晰地反映系统的整体结构。图4.1系统功能结构图4.2数据库设计4.2.1数据库逻辑结构设计数据库逻辑结构的规划主要展示汽车实体图,客户实体图,用户实体图,管理员实体图,菜单实体图,租车实体图,还车实体图,登录日志实体图,系统公告实体图,管理员角色实体图。实体图具体地展示了表地属性构成。(1)车辆信息实体图,显示车辆基本信息和具体状态等。如下图4.2所示:图4.2车辆信息实体图(2)客户信息实体图,显示客户基本信息。如下图4.3所示。图4.3客户信息实体图(3)租车信息实体图,租车完成后生成租车信息表,记录租车信息。如下图4.4所示。图4.4租车信息实体图(4)还车信息实体图,车辆归还后生成表单,记录还车信息。如下图4.5所示。图4.5还车信息实体图(5)用户信息实体图,基于前台用户的个人登录信息。如下图4.6所示。图4.6前台用户信息实体图(6)管理员个人信息实体图,包含管理员部分个人信息和使用系统有关的信息。如下图4.7所示。图4.7系统管理员信息实体图(7)角色信息实体图,具体在于角色对权限的分配和掌控。如下图4.8所示。图4.8系统管理员角色实体图(8)菜单信息实体图,包含后台菜单所有信息,包括每个菜单节点,用于给角色分配菜单的管理权限上。如下图4.9所示。图4.9系统后台菜单实体图(9)公告信息实体图,主要发布公告和展示公告内容用。如下图4.10所示。图4.10系统公告实体图(10)登录日志实体图,记录后台登录日志,方便管理。如下图4.11所示。图4.11系统登录日志实体图4.2.2数据库物理结构设计数据库的物理结构主要是用表格的形式,表示数据库表中数据的属性名称,属性说明,数据类型和长度,以及是否为主键和是否允许空值的判断。详细见下表。(1)车辆信息表,展示车辆基本信息的表。如下表4.1所示。表4.1车辆信息表(bus_car)列名说明数据类型(长度)备注carnumber车牌号Varchar(255)不允许空/主键Cartype车辆类型Varchar(255)允许空Color颜色Varchar(255)允许空Price车辆原价Decimal(10)允许空Rentprice租赁价格Double(10)允许空Deposit押金Double(0)允许空Isrenting车辆状态Int(0)允许空Description车名Varchar(255)允许空Carimg车辆图片Varchar(255)允许空careatime创建时间Datetime(0)允许空(2)客户信息表,展示客户基本信息的表。如下表4.2所示。表4.2客户信息表(bus_customer)列名说明数据类型(长度)备注Identity客户身份证号Varchar(255)不允许空/主键Custname客户名Varchar(255)允许空Sex性别Int(0)允许空Address地址Varchar(255)允许空Phone电话Varchar(255)允许空Career客户职位Varchar(255)允许空Createtime创建时间Datetime(0)允许空Money人民币Int(0)允许空(3)租车信息表。展示租车完成后生成的租车信息,见下表4.3所示。表4.3租车信息表(bus_rent)列名说明数据类型(长度)备注Rentid租车idVarchar(255)不允许空/主键Price价格Double(10)允许空Begindate租车开始时间Datetime(0)允许空Returndate还车时间Datetime(0)允许空Rentflag出租单状态Int(0)允许空Identity客户身份证号Varchar(255)允许空Carnumber车名Varchar(255)允许空opername操作人Varchar(255)允许空createtime创建时间Datetime(0)允许空(4)还车信息表。车辆归还后生成的还车信息,见下表4.4所示。表4.4还车信息表(bus_check)列名说明数据类型(长度)备注Checkid还车idVarchar(255)不允许空/主键Checkdate还车时间Datetime(0)允许空Checkdesc还车说明Varchar(255)允许空Problem问题Varchar(255)允许空Paymoney因上述原因需额外支付罚款Varchar(255)允许空Opername操作人Varchar(255)允许空Rentid租车IdVarchar(255)允许空createtime创建时间Datetime(0)允许空(5)用户信息表。与用户登录有关的身份信息,见下表4.5所示。表4.5用户信息表(tb_user)列名说明数据类型(长度)备注id用户idInt(0)不允许空/主键Username用户名Varchar(255)允许空Password密码Varchar(255)允许空Identity身份证号Varchar(50)允许空(6)管理员信息表。保存管理员的个人信息和其它信息。见下表4.6所示。表4.6管理员信息表(sys_user)列名说明数据类型(长度)备注Userid管理员idInt(0)不允许空/主键Loginname用户名Varchar(255)允许空Identity管理员身份证号Varchar(255)允许空realname角色名Varchar(255)允许空sex性别Int(0)允许空Address地址Varchar(255)允许空Phone电话Varchar(255)允许空Pwd登录密码Varchar(255)允许空Position职位Varchar(255)允许空Type用户类型Int(0)允许空Available是否可用Int(0)允许空money人民币Int(0)允许空(7)管理员角色表。保存系统管理员的角色信息,见下表4.7所示。表4.7管理员角色表(sys_role)列名说明数据类型(长度)备注Roleid角色idInt(0)不允许空/主键Rolename角色名Varchar(255)允许空Roledesc权限说明Varchar(255)允许空available是否可用Int(0)允许空(8)系统菜单表。保存后台菜单信息。见下表4.8所示。表4.8系统菜单表(sys_menu)列名说明数据类型(长度)备注Id菜单idInt(0)不允许空/主键Pid父节点idInt(0)允许空Title菜单名称Varchar(255)允许空Href菜单连接路径Varchar(255)允许空Spread是否展开Int(0)允许空Target打开方式Varchar(255)允许空Icon节点图标Varchar(255)允许空available是否可用Int(0)允许空(9)系统公告表,保存了系统公告标题内容和发布人等信息,详细见下表4.9所示。表4.9系统公告表(sys_news)列名说明数据类型(长度)备注Id公告idInt(0)不允许空/主键Title标题Varchar(255)允许空Content公告内容Varchar(255)允许空Createtime创建时间Datetime(0)允许空opername操作人Varchar(255)允许空(10)系统登录日志表。保存了后台管理员登录日志,详细见下表4.10所示。表4.10系统登录日志(sys_log_login)列名说明数据类型(长度)备注Id日志idInt(0)不允许空/主键Loginname登录用户名Varchar(255)允许空Loginip登录ipVarchar(255)允许空logintime登录时间Datetime(0)允许空(11)系统管理员角色和菜单关系表。管理员角色和菜单的主外键关系。详细见下表4.11所示。表4.11系统菜单和管理员角色关系表(sys_role_menu)列名说明数据类型(长度)备注Rid角色idInt(0)不允许空/主键mid菜单idInt(0)不允许空/外键(12)系统用户和角色关系表。用户和角色的主外键关系。详细见下表4.12所示。表4.12系统管理员和角色关系表列名说明数据类型(长度)备注Uid系统用户idInt(0)不允许空/主键Rid角色idInt(0)不允许空/外键5系统模块实现5.1管理员登录实现(1)安全性。管理员登录的实现中,密码实现过加密操作,这在很大程度上保证了数据的安全性,另外为了防止外部暴力破解用户密码,还加入了验证码进行验证,有效避免人为短时间重复进行登录操作。(2)验证。如果什么都不输入,会弹出提示框,提示不能为空,如果不输入验证码,会提示验证码错误。如果用户名或密码错误,也会进行相应提示。如果登录成功,页面会跳转到首页面。登录主要实现代码如下:if(userVo.getCode().equals(code)){Useruser=this.userService.login(userVo);System.out.println("user="+user);if(null!=user){//放入到sessionWebUtils.getHttpSession().setAttribute("user",user);//记录登录日志向sys_login_log里插入数据LogInfoVologInfoVo=newLogInfoVo();logInfoVo.setLogintime(newDate());logInfoVo.setLoginname(user.getRealname()+"-"+user.getLoginname());logInfoVo.setLoginip(WebUtils.getHttpServletRequest().getRemoteAddr());logInfoService.addLogInfo(logInfoVo);WebUtils.getServletRequestAttributes().setAttribute("user",user,1);return"system/main/index";}else{model.addAttribute("error",SysConstant.USER_LOGIN_ERROR_MSG);return"system/main/login";}}else{model.addAttribute("error",SysConstant.USER_LOGIN_CODE_ERROR_MSG);return"system/main/login";下图是管理员登录页面的展示图。图5.1管理员登录界面如果登录成功则跳转首页面,下图是管理员登录后跳转的首页。图5.2管理员首页5.2客户管理与汽车管理实现(1)客户信息。根据提前规划好的模块步骤,接着展示客户信息的管理模块和汽车信息的管理模块,这两个模块将非常重要,用户想要租车,必须首先录入个人信息,另外可以对客户信息进行修改,删除以及查询操作。(2)汽车信息。汽车管理则能更直观的向管理员展示汽车的相关信息,包括录入新的信息,更改信息,查询信息,删除信息等操作。下图5.3和5.4向我们展示了客户管理模块和汽车管理模块的功能信息。图5.3客户信息管理模块图5.4汽车信息管理模块(3)增删改查。正如上图所看到的,管理员可以对客户和汽车进行增删改等基础功能,另外支持根据信息进行模糊查询功能,也可以根据性别查询客户信息以及是否出租查询车辆信息。(4)上传和批量删除。支持图片上传功能以及批量删除功能,这是特意加地功能。操作栏中能查看车辆大图。5.3汽车租赁和还车功能实现(1)业务实现前提业务功能的实现依托于基础功能,拿租赁功能来说,想要租车要输入客户身份证,但是如果数据库中匹配不到用户身份信息是无法租用汽车的。(2)租车业务实现过程。输入客户身份正信息后,会显示可供用户租用的汽车,选择合适的车然后填写还车时间就可以成功租用了。租用成功后会生成一个出租单,出租单相当于一个租赁订单。如下图5.5和5.6所示。图5.5汽车出租模块图5.6汽车租赁订单模块(2)生成的订单。成功租用后已经成功生成订单,可以对订单进行各种信息的查询操作,另外可以根据已归还和未归还查看所有历史订单,可以对未归还的订单进行删除操作,删除订单后,默认车辆已经归还。(3)归还汽车实现过程。要归还已经租用的汽车,通过汽车归还功能就可以实现,输入出租单号后,租用汽车的信息就会显示出来了,然后管理员将汽车存在的问题,赔付金额以及问题描述填写后就能成功归还车辆了。归还后会生成一个检查单,记录车辆归还的信息。详细见下图5.7和5.8所示。图5.7汽车归还模块图5.8汽车归还检查单模块(4)检查单管理。检查单生成就可以查看所有历史信息,还可以根据各种信息查询检查单,包括了时间的范围搜索。另外可以编辑和删除(包括批量删除)等操作功能。5.4用户、角色和菜单功能实现(1)菜单管理。菜单功能可以实现对菜单的管理,功能包括菜单名称的查询,以及增加新功能,但是主菜单也就是最高一级的菜单必须从已有菜单中进行选择,另外还可以对菜单进行编辑和删除操作。(2)角色管理。加入查询操作,编辑操作,可以增加角色,可以给角色分配菜单功能,可以删除角色,管理层可以根据需要分配给角色分配不同菜单权限。(3)用户管理。实现查询操作,编辑操作,可以增加用户,可以给用户分配角色,可以删除用户,这样做的好处就体现出来了,管理者能将不同权限的角色分配给不同的人,这样管理是不是更加方便呢?具体见下图5.9、5.10和5.11。图5.9菜单管理模块图5.10角色管理模块图5.11用户管理模块5.5系统公告和系统登陆日志实现(1)系统公告。管理员可以发布公告,发布的公告将会保存在表中,管理员可以根据相关信息查询公告,也可以编辑、查看和删除公告。(2)登录日志。系统只有一个,不同的管理员登录后都会留下足迹,想要查看也非常方便,管理员也可以对登录日志进行增删改查操作。详细见下图5.12和5.13。图5.12系统公告模块图5.13登录日志模块5.6前端用户注册和登录实现(1)用户首页。管理员首页右上角有退出按钮,退出后会进入管理员登录界面,登录界面框左下角有一个返回首页,返回的便是用户首页。用户首页有轮播图,有车辆信息,用户可以简单查看首页信息,但是如果没有登录无法完成租车业务。如下图5.14所示。(2)用户登录。用户可以点击右上角的登录按钮进入登录界面,通过验证用户名和密码后登录个人信息,就可以完成租车业务了。如下图5.15所示。(3)用户注册。登录界面旁有注册页面,租车首页右上角也能注册,点击注册进入注册页面,输入注册信息后就可以登录。如下图5.15所示。图5.14菜单和轮播图图5.15用户登录图5.16用户注册5.7前端用户租车实现(1)租车实现。用户登录首页显示所有汽车信息,用户可以看到车辆大图、价格、名称和车辆特点,用户可以点击图片执行租车操作。详见下图5.17和图5.18。图5.17车辆展示图5.18车辆租赁6系统测试6.1系统测试目标系统测试是开发中的一个非常重要的环节,产品只有在经过测试并成功后才能供人使用,否则可能产生不可预测的后果,严重的会导致企业破产,经济损失惨重。而我们本次测试主要通过模拟管理员和用户进行功能测试,以一个客观的身份去发现系统中存在的bug,通过不断纠错改错继而完善整个系统,最后才可以拿出完整的产品交付使用。下面是我们的功能测试环节。6.2功能测试功能测试是为了直观向需求者提供软件测试的结果是否符合预期的目标,如果是符合测试预期的功能就通过,如果不符合预期功能则暂时画上叉,可以进行后续的加工处理。测试结果如下表6.1所示。表6.1系统功能测试表测试内容测试模块预期结果实际结果是否符合预期测试管理员完成登录功能登录模块模拟管理员登录到系统首页并在登录出错时提供出错提示信息。可以登录成功,出错时完美提示√测试基础功能客户模块和汽车模块模拟对客户执行增删改查操作,能对汽车进行增删改查操作。可以对客户和汽车进行增删改查并且不出现错误√测试租车功能和订单操作完成租车模块和订单模块模拟进行一次租车操作,能顺利生成一个订单,能对订单执行增删改查操作。可以租车,可以对订单执行增删改查操作,中间无任何问题。√测试还车功能和检查单操作还车模块和检查单模块模拟进行一次还车操作,并能对还车生成的检查单执行增删改查操作。可以还车,可以对检查单执行增删改查操作,中间无任何问题。√测试系统功能中对权限的分配和执行功能菜单模块,角色模块和用户模块模拟建立一个新的角色,给角色只分配基础功能模块的权限,给一个用户分配这个角色,用户登录进行权限测试。测试成功,用户只能完成基础功能模块操作,对其它模块无操作权限。√测试系统功能中公告和日志公告模块和登录日志模块模拟发布公告和登录用户测试成功,可以正常发布公告,可以对公告进行增删改查,用户登录后可以生成新日志,可以对日志进行增删改查操作。√测试前台用户登录和注册功能前台注册和登录模块模拟一个没有账号的用户执行注册和登录功能测试成功,可以成功注册并完成登录进入前台首页。√测试在前台执行租车业务前台租车模拟用户执行租车操作,然后进入管理员后台查看是否生成订单。测试结果略有瑕疵,在成功租车返回首页后,车辆信息没有刷新出来,需要手动点击首页才能刷新,后

温馨提示

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

评论

0/150

提交评论