【《基于Spring Boot的汽车养护系统设计与实现》7400字(论文)】_第1页
【《基于Spring Boot的汽车养护系统设计与实现》7400字(论文)】_第2页
【《基于Spring Boot的汽车养护系统设计与实现》7400字(论文)】_第3页
【《基于Spring Boot的汽车养护系统设计与实现》7400字(论文)】_第4页
【《基于Spring Boot的汽车养护系统设计与实现》7400字(论文)】_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

基于SpringBoot的汽车养护系统设计与实现摘要:随着网络的发展,汽车养护行业已不再受时间、地域的限制,利用网络对汽车维修、汽车改装、汽车用品等信息进行自动化管理以及销售,通过专业、严格的审核机制,保证服务和质量水平,提高用户的使用满意度和参与度。本系统的设计采用SpringBoot框架,B/S架构,以Java为编程语言,Mysql作为数据库。该系统可以实现管理用户、商品信息、商品类目、商品销售、积分抵换、积分商城,留言反馈等功能。整个系统操作方便、易于使用,易于维护。关键词:SpringBoot;MySQL;汽车养护目录1引言 11.1系统开发的背景 11.2系统研究现状 11.3系统开发目的以及意义 22系统分析 22.1可行性分析 22.2需求分析 33系统总体设计 33.1系统功能结构 33.2数据库概念设计 43.3数据库表设计 64详细设计 114.1用户登录 114.2用户购买商品 114.3用户个人中心 134.4商家订单管理 134.5商家商品管理 145系统测试 155.1测试方法 155.2功能测试 155.3测试结果 226结束语 22参考文献 231引言1.1系统开发的背景随着我国汽车产业的迅速发展和人民生活水平的提高,汽车逐渐进入了普通百姓的生活。随着汽车消耗量的增加,消费者对爱车养护知识的认知也有了很大的变化,“三分靠维修,七分靠保养”的以养代修理念逐渐深入人心,为汽车养护企业提供了大量的商机。目前,主流的汽车养护系统有途虎养车、开心养车、汽车超人等,这些系统的服务方式大多数为线上引流,线下消费,各个养护系统各有专长,但对于一站式服务还有所欠缺,对于车主的多方位要求不能同时满足。因此,设计一款集汽车维修、改装、保养,为一体的汽车养护系统,可以有效满足用户的多方位要求,融合汽车养护行业各领域的同时也必将为汽车养护行业带来一次飞跃发展。1.2系统研究现状汽车养护系统作为企业信息传播渠道和提高企业发展的桥梁,其发展是必然的。汽车养护系统通过互联网与汽车养护维修平台相结合,提供了方便快捷的服务模式。张玉梅等人提出汽车养护系将统通过“互联网+”建立汽车养护客户端的创新商业模式,增进了车主的用户体验,为车主带来便捷的功能和强大的服务,也为汽车养护专业技术人员和车主搭建一个便利的平台,从而有效增加商业利润REF_Ref8183\r\h[1]。在未来智能化和自动化将是汽车养护行业的必然趋势。与国外大多汽车养护系统相比较,国内的养护系统功能结构大致类似,都是服务于汽车“后市场”的某种专项领域。对于国内养护系统发展而言,杨光才等人分析比较美国、日本、欧洲和我国汽车保养电子商务平台的现状和特点,得出美国、日本和欧洲汽车保养电商平台发展较早,具有一定的优势。我国的汽车保养电商处于探索期,市场认可度很低REF_Ref8526\r\h[2]。对于国内养护系统而言,冯孟昱等人提出当前很多汽车后市场企业尝试开展汽车养护线上平台的运营,但经营状况参差不齐。当前市场上的维修保养自营性企业可以尝试搭建商品数据库,减少零配件周转环节REF_Ref8656\r\h[3]。欧美等发达国家的汽车养护系统更多是集多方位服务内容为一体。如知名的美国GNUK以及德国AGAvantec。其系统提高了用户粘性,同时配合线下自营门店或合作商开展一站式汽车服务工作,满足了客户多方位需求,提升了客户满意度,这些养护系统主要基于B/S模式,采用Java、C/C++、PHP、python等技术开发。1.3系统开发目的及意义随着科学技术的发展,人们利用信息通信以及互联网技术,推动了互联网与传统养护行业的深度融合,创造了新的发展机会。传统的汽车养护行业受到时间、地域的限制,“互联网+”通过其自身的优势,对传统养护行业进行优化升级转型,使得传统养护行业能够适应当下的新发展,创造新的发展生态。基于SpringBoot的汽车养护系统,能够提升电商对商品来源、商品质量、商品供应及物流配送的管控能力,实现了商品的垂直化供应,使终端消费方获得更加优质的产品和服务。2系统分析2.1可行性分析(1)技术可行性本系统采用Java语言为基础,MySQL作为数据库,Spring框架为系统主体框架,SpringBoot加以整合,JSP和JavaScript渲染前端页面。在计算机软件开发中,Java语言是计算机软件开发的重要工具REF_Ref8800\r\h[4],具有操作简易、精确度高、灵敏度强和开发平台相对独立等优势。MySQL数据库具有快速的数据传送、小型、开源、具有较高的可靠性和自适应性,是目前互联网信息系统后台数据库的首选目标REF_Ref8836\r\h[5]。SpringFramework是一种很有名的开放源码的全功能Web框架技术,在当今世界和国际上都得到了广泛的应用REF_Ref8888\r\h[6]。MVC架构可以将应用中的视图、模型和控制器分开,从而简化了控制层的设计,从而增强了JavaWeb应用的稳定性、扩展性和可维护性REF_Ref8944\r\h[7]。经济可行性开发汽车养护系统,资金的投入主要为三方面,分别为前期开发,后期维护和运营。该系统为轻量级所以开发资金相对较少,因制作该系统时使用了模块化的开发思想和框架式结构,从而降低了后期维护成本。初期运行可使用租赁服务器的模式,无需购买任何其他硬件即可投入使用。综合上述来看,不会有很大的经济的压力。并且,一旦应用,不仅能节约人力,还能提高经济效益,节约生产成本。因此,从经济上来看,汽车养护系统是可行的。操作可行性本系统操作方法简单,整体简洁明了,通俗易懂。本系统依据用户的需求进行了页面排版和功能开发,操作方式符合用户的使用习惯。此外本系统面向接口编程,易于维护和扩展,因此,有较好的操作可行性。2.2需求分析分析了系统所需的基础数据和数据处理需求,从而确定了该系统主要分为前台和后台两个模块。前台包括用户和商家两个模块,后台为系统管理员模块。用户模块分为首页、用户登录注册、订单管理、商家沟通和个人中心。商家模块分为商家登录注册、订单管理、商品管理,用户沟通、资料管理。后台系统管理员模块主要是进行用户和商家的信息管理,系统内页面商品以及信息的管理。3系统总体设计3.1系统功能结构在需求分析的基础上,将该系统划分为两个主要的模块:前台包含用户与商家,后台包含系统管理员。(1)用户模块包括以下功能。首页:浏览功能,一般游客或注册用户都可以浏览以及查询商品。用户注册/登录:用户在该页面完成注册和登录。订单管理:查看订单当前的状态和明细,对待发货的订单进行商家提醒,对待收货的订单进行确认收货,对待评价的订单可以去评价该订单,对交易完成的订单可以进行售后申请,以及删除购买记录。商家沟通:用户与商家进行沟通,可以对该订单或商品的负责商家发送消息进行询问,与商家进行协商。个人中心:用户登录后,进入个人中心,可以修改个人地址,查看当前的积分,查看购买记录,查看购物车。(2)商家模块包括以下功能。商家注册/登录:商家在该页面完成注册和登录。商品管理:对于商品属性的修改,可以修改商品数据中名字,价格,描述,种类,服务,包装,品牌,默认型号,大类名,小类名和图片地址。订单管理:查看该商家下面发出的订单,进行订单的情况跟踪,如果订单是待发货的状态,还可以进行发货操作。用户沟通:接收用户发过来的消息,并可以进行回复,解答用户的问题。优惠卷管理:设置优惠卷信息。(3)系统管理员模块包括以下功能。用户管理:管理用户信息。商家管理:管理商家信息。商品管理:管理所有商家的商品信息。首页管理:管理系统首页展示的轮播图和推荐商品。汽车养护系统前台汽车养护系统前台后台用户商家用户登录注册订单管理商家沟通个人中心订单管理商家登录注册商品管理用户沟通优惠卷管理用户管理商家管理首页管理商品管理管理员图3-1系统功能结构图3.2数据库概念设计根据系统功能模块组成图,每个功能模块都需要一个或者多个数据实体REF_Ref9336\r\h[8]。E-R模型是概念设计的最佳工具,本系统的主要实体如下。(1)用户实体包括用户名、密码、名称,联系方式等,如图3-2所示。用户用户用户名名密码名名称名性别名生日名邮箱名图片名联系方式名图3-2用户实体属性图(2)商家实体包括用户名、密码、名称,联系方式等,如图3-3所示。商家商家用户名名密码名联系方式名省市名区名详细地址名名称名图3-3商家实体属性图(3)订单实体包括订单时间、快递方式、订单状态,详细地址等,如图3-4所示。总价格总价格订单订单时间名快递方式名订单状态名详细地址名订单备注名订单号图3-4订单实体属性图(4)商品实体包括一级类名、名字、价格、描述、种类,服务等,如图3-5所示。商品商品名字名价格名描述名种类名服务名包装名品牌名图片名默认类型名一级类名名二级类名名图3-5商品实体属性图(5)该系统总体E-R图如图3-6所示。商家商家订单用户商品发货管理查看生成1n111nnn图3-6系统总体E-R图3.3数据库表设计(1)一级分类表包括id、name和picture,其中id为主键,如表3-1所示。表3-1一级分类表序号字段名称字段类型字段长度主键备注1idint20是主键ID2namevarchar40类名3picturevarchar100图片(2)二级分类表包括id、classify_id和name,其中id为主键,如表3-2所示。表3-2二级分类表序号字段名称字段类型字段长度主键备注1idint20是主键ID2classify_idint20一级类id3namevarchar40类名(3)用户表包括id、name、password等,其中id为主键,如表3-3所示。表3-3用户表序号字段名称字段类型字段长度主键备注1idint11是主键ID2namevarchar20用户名3passwordvarchar100密码4monickervarchar60名称5phonevarchar20联系方式6sexvarchar4性别7birthdaydatetime0生日8emailvarchar20邮箱9picturevarchar100图片(4)用户地址表包括id、client_id、name等,其中id为主键,如表3-4所示。表3-4用户地址表序号字段名称字段类型字段长度主键备注1idint11是主键ID2client_idint11用户id3namevarchar20收货人姓名续表3-4用户地址表4phonevarchar20联系方式5provincevarchar20省6cityvarchar20市7areavarchar20区8addressvarchar20详细地址9defaultsvarchar10默认地址(5)商品表包括id、seller_id、name等,其中id为主键,如表3-5所示。表3-5商品表序号字段名称字段类型字段长度主键备注1idint11是主键ID2seller_idint11商家主键3namevarchar20名字4pricedecimal18价格5depictvarchar100描述6kindvarchar20种类7servevarchar20服务8packvarchar20包装9brandvarchar20品牌10picturevarchar200图片11salesdecimal20销量12browsedecimal20浏览量13classifyvarchar40一级类名续表3-5商品表14classifysvarchar40二级类名15reviewdecimal20评价量16modelvarchar100默认商品类型(6)消息表包括id、send、received等,其中id为主键,如表3-6所示。表3-6消息表序号字段名称字段类型字段长度主键备注1idint11是主键ID2sendvarchar20发送方3receivedvarchar20接收方4timedatetime0消息时间5statusvarchar20状态6causevarchar20原因7contentvarchar500内容8namevarchar20发送方名称(7)订单项表包括id、commodity_id、prices等,其中id为主键,如表3-7所示。表3-7订单项表序号字段名称字段类型字段长度主键备注1idint11是主键ID2commodity_idint20商品主键3orders_idint20订单号4numberdecimal20商品数量5pricesdecimal20总价格续表3-7订单项表6timedatetime0订单时间7pricedecimal20单价8packvarchar20包装9picturevarchar100图片10modelvarchar100默认商品类型11statevarchar20订单状态9defaultsvarchar10默认地址(8)购物车表包括id、commodity_id、client_id等,其中id为主键,如表3-8所示。表3-8购物车表序号字段名称字段类型字段长度主键备注1idint11是主键ID2commodity_idint20商品主键3client_idint11用户主键4numberint20购物车中商品数量5modelvarchar100商品类型(9)商家表包括id、name、password等,其中id为主键,如表3-9所示。表3-9商家表序号字段名称字段类型字段长度主键备注1idint11是主键ID2namevarchar20用户名3passwordvarchar100密码4phonevarchar20联系方式续表3-9商家表5provincevarchar20省6cityvarchar20市7areavarchar20区8addressvarchar40详细地址9monickervarchar100名称4详细设计4.1用户登录此模块是用于实现“用户登录”操作,该页面设计遵循了常规开发的流程,用户的登录页面共使用了2个input控件和三个button按钮,2个input控件name和password属性记录用户或商家的基本信息;“登录”按钮通过调用getIndexInfo()方法判断用户或商家的登录。“登录”操作调用getIndexInfo()方法进行判断,方法内用两个if语句进行判断,如果name为空则通过alert页面提示“登录账号不能为空”,如果password为空通过alert页面提示“登录密码不能为空”,两个条件都满足,通过ajax提交数据到controller层的index/indexTest进行判断,其中用户的name纯数字,商家的name为纯字母,先判断传入name的形式,纯数字进入用户的if入口进行密码比对,非数字进入商家的if入口进行密码比对,密码比对时先对传入的password通过MD5Util加密后与数据库里对应的密码比对成功后,用户跳转至系统首页,商家跳转至商家管理页面,失败则页面提示“用户名或密码错误”。4.2购买商品“购买商品”是本系统用户的核心功能。用户登录后,映射地址至controller层的store/store,页面从Rides或数据库中去取数据,取到commoditylist集合,通过foreach遍历集合并判断商品类型是否满足展示类别并展示。每个商品都赋予一个超链接,商品详细页面内设置“立即购买”按钮,“购买”功能通过触发onclick="purchase(${commodity.id})"事件,映射地址至controller层的pay/pay,选择地址快递等信息,点击提交订单触发onclick="getOrders()"事件,进行判断后映射地址至controller层的pay/success完成购买,最后页面跳转至支付成功页面。用户购买商品流程图如图4-1所示结束判断是否为购买操作结束判断是否为购买操作选择结算购物车商品添加地址进入待收货状态购买成功生成订单并计算总价判断账号内是否有地址否是是开始商城主页查看商品加入购物车或购买操作否4.3用户个人中心个人中心模块包括个人资料、我的交易、我的资产、我的收藏、在线客服五个功能。“个人资料”功能中使用了3个li标签,并为每个li标签设置超链接,其内容分别是“个人信息”、“安全设置”和“地址管理”,通过超链接来响应不同的功能跳转,超链接href=":9090/personal/information",实现“个人信息”功能跳转;href=":9090/personal/safety",实现“安全设置”功能跳转;href=":9090/personal/address",实现“地址管理”功能跳转。“我的交易”功能中使用了3个li标签,并为每个li标签设置超链接,其内容分别是“订单管理”、“退款售后”和“评价商品”,通过超链接来响应不同的功能跳转,超链接href=":9090/personal/order",实现“订单管理”功能跳转;href=":9090/personal/change",实现“退款售后”功能跳转;href=":9090/personal/comment",实现“评价商品”功能跳转。4.4商家订单管理“订单管理”里使用两个li标签,分别为“订单”和“售后订单”赋予超链接,“订单”功能请求映射orders/orders,跳转至页面orders.jsp的同时用foreach查询baterList数组展示订单详情,查询用户订单部分代码如下。<c:forEachitems="${orderItemList}"var="orderItem"varStatus="id"><trclass="gradeA"><td>${orderItem.pack}</td><td>${orderItem.time}</td><td>${orderItem.state}</td><tdclass="center">${orderItem.prices}</td><tdclass="center"><buttonclass="btnbtn-success"onclick="examine(${orderItem.id})">查看</button><c:iftest="${orderItem.state=='待发货'}"><buttonclass="btnbtn-primary"onclick="shipments(${orderItem.id})">发货</button></c:if></td></tr></c:forEach>展示订单详情后为每个订单设置“查看”和“发货”两个button按钮,并且对于每个订单orderItem.state的值判断后确定是否显示发货按钮,判断代码如下所示。<c:iftest="${orderItem.state=='待发货'}"><buttonclass="btnbtn-primary"onclick="shipments(${orderItem.id})">发货</button></c:if>“发货”功能通过触发onclick="shipments(${orderItem.id})"事件,进入此方法内部携带数据利用ajax方式提交并映射地址到controller层的shipments内部,发货成功则改变orderItem的状态为“待收货”。改变orderItem状态的内部方法如下。OrderItemorderItem=orderItemMapper.selectByPrimaryKey(id);orderItem.setState("待收货");orderItemMapper.updateByPrimaryKeySelective(orderItem);("商家确认发货发货成功");return"发货成功";4.5商家商品管理“商品管理”功能采用table标签展示管理页面,其中第二个<tr>标签内用6个<td>标签来展示商品的名字、价格、品牌、销售量、浏览量、评价量,大分类的信息,1个<td>标签来放置商品管理功能的4个button按钮,为按钮分别设置不同的onclick触发事件和内容,功能为“查看”,“修改商品”,“修改型号”,“设置商品描述”。其中的“查看”按钮通过触发onclick="examine(${commodity.id})"事件,携带商品的id并使窗口重定向到commoditySet/examineCommodity来展示商品数据。“商品管理”中的“新增商品”功能的实现:在商品管理页面添加1个button按钮,按钮内设置超链接,点击按钮,页面跳转到商品添加页面insertCommodity.jsp,页面中用div放置新增商品的具体信息,其中新增商品的图片上传使用form表单上传并设置onchange="f()"实现自动上传。最后添加1个内容为“新增商品”的button按钮,“新增商品”功能通过响应onclick="insertCommodity()",的触发事件后携带数据跳转到controller层/insertCommodity里进行新增操作,成功后并返回commoditys.jsp页面。添加商品关键代码如下所示。publicResultinsertCommodity(Commoditycommodity,HttpServletRequestrequest){Resultresult=newResult();HttpSessionsession=request.getSession();Integersid=(Integer)session.getAttribute("sid");commodity.setSellerId(sid);try{inti=commodityMapper.insertSelective(commodity);if(i!=0){this.setRides();("新增商品成功");returnresult.setSuccess("新增成功");}}catch(Exceptione){logger.error("",e);System.out.println(e);}("新增商品失败");returnresult.setFailed("新增失败");}5系统测试5.1测试方法系统常用的测试方法有白盒测试和黑盒测试REF_Ref9404\r\h[9]。黑盒测试的首要任务是对系统的整体功能进行检测,而不需要考虑系统内部的运作原理,相当于一个封闭的盒子,不知道里面的结构,只要按照需求规格说明书能正常使用,满足用户的要求即可。本系统测试采用黑盒测试方法。5.2功能测试5.2.1用户登录测试本模块进行用户登录测试。通过输入不同的信息,来验证用户登录功能是否正确响应。用户登录测试如表5-1所示。表5-1用户登录测试表测试用例预计输出实际输出账户:123456密码:123456欢迎登录账户:123456密码:12345登录失败,提示“登录失败用户名不存在或密码错误”5.2.2购买商品测试用户进入系统首页后,可以浏览、购买、搜索商品。如图5-2所示。图5-2商品选择页面测试选择“小米行车记录仪”,点击商品,进入商品详情页面,选择“1080P”型号,点击“立即购买”,如图5-3所示。图5-3商品详情页测试点击“立即购买”后,选择“地址”,“快递方式”和“付款方式”,点击“提交订单”,如图5-4所示。图5-4订单信息页面测试点击“提交订单”后,页面跳转至提示页面,页面提示“您已成功购买”。如图5-5所示。图5-5提示页面测试点击“个人中心”进入个人中心模块,点击“我的交易”,选择“订单管理”可以查看到“小米行车记录仪”购物订单,购买成功。订单管理页面如图5-6所示。图5-6订单管理页面5.2.3用户新增收货地址功能测试用户登录系统后,点击“个人中心”,进入个人中心模块。在“个人资料”中点击“地址管理”,进入地址管理页面。在“新增地址”处填写信息,手机号码填写,选择地址为“山西省太原市小店区”,详细地址为“康宁街113号”,点击“保存”,提示“增加地址成功”。填写页面如图5-7所示。图5-7新增地址页面测试刷新页面,在“地址管理”栏目中可显示已新增的地址信息,如图5-8所示。图5-8地址页面5.2.4订单管理功能测试商家登录系统,点击“订单管理”中的“订单”,在“订单详情”模块内可查看订单信息,设置发货状态。选择订单号“XS20220510000005”,此时“订单状态”为“待发货”,点击“发货”,页面提示“发货成功”,如图5-9所示。图5-9订单管理页面测试选择订单“XS20220510000005”,点击“发货”后,“订单状态”转为“待收货”,发货成功,如图5-10所

温馨提示

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

最新文档

评论

0/150

提交评论