基于SpringBoot的汽车维修管理系统的设计与实现 您所在的位置:网站首页 车辆保养表格图 基于SpringBoot的汽车维修管理系统的设计与实现

基于SpringBoot的汽车维修管理系统的设计与实现

2024-07-16 15:44| 来源: 网络整理| 查看: 265

目 录

摘 要 1 Abstract 2 1 绪 论 3 1.1 该毕业设计的开发背景 3 1.2 主要功能和技术措施 3 2 系统需求分析 4 2.1 系统功能需求描述 4 2.2 系统功能模型 5 2.3 数据需求模型 11 3 系统设计 15 3.1 系统总体设计 15 3.2 用户模块详细设计 15 3.3 车辆信息模块详细设计 16 3.4 故障信息模块详细设计 17 3.5 维修订单模块详细设计 17 3.6 通知模块详细设计 18 3.7 零件管理模块详细设计 18 3.8 统计模块详细设计 19 3.9 数据库设计 19 4 系统实现 22 4.1 用户模块功能实现 22 4.2 车辆信息模块功能实现 25 4.3 故障信息模块功能实现 28 4.4 维修订单模块功能实现 29 4.5 通知模块功能实现 32 4.6 零件模块功能实现 32 4.7 统计模块功能实现 33 4.8 系统测试 34 4.9 系统测试报告 34 5 总 结 37 5.1 主要工作和心得 37 5.2 遇到的问题和存在的不足 37 5.3 展望 37 参考文献 38 致 谢 39

基于SpringBoot的汽车维修管理系统的设计与实现

摘 要: 随着我国人均汽车拥有量的不断提高,对汽车维护的需求也在增长,汽车行业正成为社会服务的热点,随着数据量的大量增加,传统的汽车公司通过手动登录员工来管理数据。 但效果不佳但也不太安全。而汽车维修管理系统可以实现网上预约修车时间等功能,既可以节省顾客时间和精力,又能便于汽车维修企业统筹安排,从而提高服务效率,因此,开发汽车维修管理系统具有很强的现实意义和经济价值。 本系统采用B/S架构,前端使用Bootstrap+Jquery框架进行数据交互,部分模块加载采用Ajax方法;后台则使用Java中的SpringBoot轻量级框架,数据库采用MySQL数据管理系统。系统主要实现了车辆信息管理、用户信息管理、车辆维修预约、故障信息管理、管理员信息管理、消息通知、维修订单管理、零件管理、查看访客等功能;系统用户群体主要面向各类车主(尤其是空闲时间较少的车主)和维修管理人员,整个系统界面简洁美观,运行稳定,操作简单,具有很强的交互性。 关键词: SpringBoot;汽车维修;维修管理

Design and Implementation of Automobile Maintenance Management System Based on Springboot Author:Deng Kaiwen Instructor:Luo Lanhua Abstract: With the continuous improvement of China’s per capita car ownership, the demand for vehicle maintenance is also increasing, and the automobile maintenance industry has become a hot industry of social services. In traditional automobile maintenance enterprises, employees manage information through manual recording. With the increasing amount of data, this method is not only inefficient but also less secure. The automobile maintenance management system can realize the functions of online reservation of repair time, which can not only save customers’ time and energy, but also facilitate the overall arrangement of automobile maintenance enterprises, so as to improve the service efficiency Therefore, the development of automobile maintenance management system has a strong practical significance and economic value. The system uses B/S architecture, the front end uses Bootstrap + jQuery framework for data interaction, some modules are loaded using Ajax method; the background uses SpringBoot lightweight framework in Java, and the database uses MySQL data management system. The system mainly realizes the user information management, vehicle information management, fault information management, vehicle maintenance appointment, message notification, administrator information management, maintenance order management, parts management, view visitors and other functions; the user group of the system is mainly for all kinds of car owners (especially the car owners with less free time) and maintenance management personnel, the whole system interface is simple and beautiful, and the operation efficiency is high Line stability, simple operation, with strong interactivity. Keywords: SpringBoot; Automobile Maintenance; Maintenance Management

1 绪 论

1.1 该毕业设计的开发背景 随着经济和社会的发展以及人民生活水平的提高,我国的汽车数量逐年增加,因为汽车的运输已经达到了千家万户。极大程度上方便了人们的生活。虽然现在提倡步行出门,少开车,但是很多人们都还是选择汽车出行,这样比较方便。随着电动汽车的出现,汽车工业的发展取得了进步。 汽车工业的发展为汽车工业的发展做出了贡献,并给商业组织和商业机会带来了新的挑战。 随着汽车工业的快速发展,传统的注册方法本身已不适应汽车工业的当前发展。 随着信息技术的发展和使用,信息技术被广泛应用于社会的各个领域。 然而,家庭管理系统的现有软件具有许多缺点,这些缺点严重影响了汽车维修公司的发展。 因此,用于汽车存储设施的运行和管理的汽车维护管理系统提供了更好的服务并提高了维修公司的竞争力。 1.2 主要功能和技术措施 汽车维修管理系统的主要功能如下,包括用户方的功能:①登录、注册功能。②登录后的用户可修改和查看个人基本信息。③预约维修。④添加车辆信息。⑤通知管理员方的功能。⑥查看汽车故障信息:①查看车辆信息。②用户信息管理。③维修订单管理④汽车故障信息管理。⑤零件管理。 系统采用Java语言在IDEA中进行开发,服务器为Tomcat8.5,本网站是同的是Java中的SpringBoot轻量级框架作为系统的基础框架,它减少了大量的配置文件。数据库为MySQL ,选用Mybatis为持久化提供支持,可以通过Sql语句将实体对象持久化到数据库。前端使用Bootstrap 和 JQuery框架在浏览器端进行页面的渲染和生成,网页上部分内容采用Ajax异步获取数据,规避重新刷新界面获取数据。

2 系统需求分析

到2020年12月,我国的汽车数量将达到2.7亿,驾驶员数量将超过3亿,这是世界上第一个数字。 首先应管理服务管理模型,此车辆维护管理系统将指导您进行在线约会以享受离线服务。 通过提取客户数据,该系统不仅可以执行传统护理行业的日常业务,而且还可以进行日常运营。还增加了客户的忠诚度、缩短了客户决策时间以及将线下线上资源进行整合提升企业的推广和营销效果。本系统已实现用户信息模块、预约维修管理模块、零件管理模块、统计管理模块、车辆信息管理模块、通知模块的相关功能。 2.1 系统功能需求描述 2.1.1 用户端系统功能 (1)用户操作模块功能:用户可进行登录、注册账号的操作。其中,登录的账号可以为用户名、手机号。在用户个人信息界面中,可对用户个信息进行修改操作,用户注册填写的邮箱和修改时填写的邮箱一定是正确的,否则无法接受系统发送的邮件通知。 (2)车辆信息模块功能:用户可对车辆进行管理,添加用户车辆信息,在车辆信息列表内用户可进行车辆信息的修改和删除操作。 (3)故障信息模块功能:该功能下,用户可查看该维修厂可维修汽车故障的信息 (4)预约维修模块功能:该功能下用户可添加维修订单和查看订单操作。 (5)通知模块功能:该功能下管理员对订单进行处理后用户会收到系统发送的邮件通知。 2.1.2 管理员端系统功能 (1)用户信息管理模块功能:该功能下,可新增、删除、查看用户权限和禁封用户。在进行添加操作中,可选择添加用户的权限类型。 (2)车辆信息管理模块功能:该功能下,可查看车辆信息对应的用户,支持车牌,用户,汽车品牌查询功能。 (3)故障信息管理模块功能:该功能下,可对维修厂能维修的故障信息进行添加,对所有故障信息可以禁用和启用。 (4)维修订单管理模块功能:该功能下,管理员可以查询根据车牌,故障,用户,联系人来查询订单。可对订单进行接受和拒绝,维修中和已完成等状态。拒绝和已完成下可删除订单。 (5)零件管理模块功能:该功能下,管理员可以进行零件的购买和使用。 (6)统计管理:该功能下,可查看最近管理员访问系统后台的时间。 2.2 系统功能模型 用户对登录界面进行验证,具有管理权限的合格用户将进入系统的基本界面,而普通的用户权限的用户通常会进入系统的主页。 典型用户和管理员用户功能模块的功能如图2-1所示。 在这里插入图片描述 图 2-1 系统功能结构图 2.2.1 系统总体功能模型 (1)普通用户 ①登录操作时使用的账号可以是用户名和手机号。 ②我的信息包括个人修改和密码修改。个人信息的修改包括姓名、出生日期、性别、手机号码、地址、电子邮件以及备注信息的修改。 ③车辆信息管理模块包括修改、添加以及删除功能。④故障信息模块可查看平台提供的维修故障信息。 ⑤预定维修模块包括添加、查看的功能。 ⑥通知模块包括发送通知和接受通知。 (2)管理员用户 ①用户信息管理模块功能:可查询、添加用户以及禁用系统用户信息。 ②车辆信息管理模块功能:可查看用户车辆信息。 ③故障信息管理模块功能:可禁用或者添加故障信息。 ④维修订单管理模块功能:可修改和删除订单信息。 ⑤零件管理模块功能:可购买、使用零件。 ⑥统计模块功能:记录访客访问后台时间和账户。 ⑦通知模块包括发送通知和接受通知。 系统总体功能模块图如图2-2所示。 在这里插入图片描述

图2-2 系统总体功能模块图 2.2.2 用户登录注册模块功能模型 (1)用户登录 在系统登录界面中,用户填写帐号信息和密码,单击登录,系统验证成功后,然后登录系统。 该帐号可以是用户名或手机,因为用户尚未在登录界面中输入任何个人信息,因此,如果要设置手机号码,则需要从更改界面信息的地方设置。用户登录模块功能模型图如图2-3所示。 在这里插入图片描述

图2-3 用户登录注册模块功能模型图 (2)用户注册 用户可以在系统登录界面中单击注册的帐户,然后转到用户登录界面,必须填写用户名,密码和电子邮件地址。 该用户名不能被其他用户使用,如果输入的信息已成功验证,则可以注册一个普通用户帐户。 用户注册模块的示意图如图2-4所示。 在这里插入图片描述

图2-4 用户登录注册模块功能模型图 2.2.3 我的信息模块功能模型 (1)用户个人信息 用户可在个人信息中心修改用户基本信息,包括姓名、性别、出生日期、地址、手机号、E-MAIL和备注等,点击修改后,系统验证成功即可修改个人信息。其中邮件格式必须正确。用户个人信息模块功能模型图如图2-5所示。 在这里插入图片描述

图2-5 我的信息模块功能模型图 (2)修改密码 用户在个人信息中心更改密码,输入旧密码和新密码。 成功验证系统后,可以更改密码。 用户更改密码模块的工作图如图2-6所示。 在这里插入图片描述

图2-6 我的信息模块功能模型图 2.2.4 车辆信息管理模块功能模型 (1)添加车辆信息 用户在车辆信息界面时,可添加自己车辆的信息,包括车牌,品牌,型号,颜色,价格。购买日期等。添加完成后会在车辆信息界面查看用户名下的所有车辆。 (2)修改车辆信息 用户可修改已有的车辆信息,修改完成后会在车辆信息界面查看修改后的车辆信息。 (3)删除车辆信息 用户可在车辆信息界面删除车辆信息。 (4)管理员可以查询所有用户名下的车辆信息,在搜索框中可输入车牌、汽车品牌、用户名查找车辆信息,也可以在点击用户名搜索。车辆信息管理模块功能模型图如图2-7所示。 在这里插入图片描述

图2-7 车辆信息管理模块功能模型图 2.2.5 故障信息管理模块功能模型 (1)添加故障信息 管理员可添加目前能维修的故障信息,包括故障码,故障名称,描述等。添加成功后跳转至故障信息界面。 (2)禁用或启用故障信息 管理员可在故障信息界面对故障进行禁用和启用,禁用的故障信息用户将不可见,操作完成后会刷新故障信息界面显示启用的故障信息。 故障信息管理模块功能模型图如图2-8所示。 在这里插入图片描述

图2-8 故障信息管理模块功能模型图 2.2.6 维修订单管理模块功能模型 (1)添加预约维修订单 用户在订单界面添加维修订单信息,包括用户名,车牌,故障码,预约时间,联系人,联系方式,故障信息等。添加完成后点击“提交”,在后台系统处理中,系统将生产一条订单记录,接着会跳转至订单信息界面可查看订单的状态。 生成订单模块功能模型图如图2-9所示。 在这里插入图片描述

图2-9 生成维修订单模块功能模型图 (2)处理维修订单 当订单成功创建后,用户可在“查看维修信息”界面中查看维修订单,在该界面下,订单有“预约中”,“已拒绝”,“修理中”,“已完成”四种状态。 (3)查询维修订单 当订单成功创建后,管理员在确认订单信息后可选择接受订单或者拒绝订单。 (4)删除维修订单 在订单状态为“已完成”后,管理员在订单信息界面可删除订单。 维修订单管理模块功能模型如图2-10所示。 在这里插入图片描述

图2-10 维修订单模块功能模型图 2.2.7 通知模块功能模型 (1)生成订单通知 在订单生成同时,用户所填写的邮箱会自动发送订单邮件到管理员邮箱。 (2)接受或拒绝订单通知 管理员在接受或者拒绝订单后会自动发送邮件到该订单用户的邮箱,通知用户订单状态信息。 (3)修理完成通知 在维修员完成修理后,管理改变订单状态为“已完成”同时发送邮件到该订单用户的邮箱,通知用户及时提车。 通知模块功能模型如图2-11所示。 在这里插入图片描述

图2-11 通知模块功能模型图 2.2.8 零件管理模块功能模型 (1)添加零件 管理员在零件信息界面时,可添加维修时常用的零件。 (2)管理员在零件使用界面,可使用维修需要的零件。 零件管理模块功能模型如图2-12所示。 在这里插入图片描述

图2-12 零件管理模块功能模型 2.2.9 统计管理模块功能模型 管理员可以在统计界面查看最近管理员的访问后端的时间,可显示用户名,访问时间。统计管理模块功能模型如图2-13所示。 在这里插入图片描述

图2-13 统计管理模块功能模型图 2.3 数据需求模型 总体数据E-R图是对整个汽车维修管理系统建立数据模型。其中实体包括用户信息实体、用户实体、维修信息实体、车辆信息实体、零件实体、故障信息实体以及统计实体。系统总体E-R图如图2-14所示。 在这里插入图片描述

图2-14 总体E-R图 (1)用户实体图如图2-15所示。 在这里插入图片描述

图2-15 用户实体图 (2)用户信息实体图如图2-16所示。 在这里插入图片描述

图2-16 用户信息实体图 (3)车辆信息实体图如图2-17所示。 在这里插入图片描述

图2-17 车辆信息实体图 (4)故障信息实体图如图2-18所示。 在这里插入图片描述

图2-18 故障信息实体图 (5)维修信息实体图如图2-19所示。 在这里插入图片描述

图2-19 维修信息实体图 (6)零件实体图如图2-20所示。 在这里插入图片描述

图2-20 零件实体图 (7)统计实体图如图2-21所示。 在这里插入图片描述

图2-21 统计实体图

3 系统设计

3.1 系统总体设计 通过对前面需求分析的进一步理解,结合面向数据流的设计方法,汽车维修管理系统包含了故障信息模块、用户模块、零件管理模块、维修订单模块、车辆信息模块、统计模块,通知模块。 3.2 用户模块详细设计 用户模块包含了用户注册、用户登录、修改个人信息、修改密码以及封禁用户这几个功能。 (1)用户登录执行过程 ①用户进入登录界面,填写用户名和密码,单击“登录”。 ②页面向后台发送POST请求,附带用户的登录信息,后台通过前台的登录信息在数据库中搜索。 ③当匹配成功后,前端会将用户的ID和用户名存储在浏览器的sessionStorage和localStorage中,然后跳转到首页。 (2)用户注册的执行过程 ①用户进入注册界面,填写要 注册的用户名、密码、邮箱账号,填写完邮箱账号后点击“获取验证码”,电子邮件将收到系统发送的验证码,请在输入字段中输入验证码,点击注册。 ②验证码进行校验,校验成功后,该页面将带有用户注册信息的发布请求发送到后端,后端将用户的信息存储在数据库中,并且出现前端页面并显示以下消息: “注册成功”。 (3)修改密码 ①用户登录系统后,点击我的信息。 ②用户单击以更改我的数据中的密码,输入旧密码和新密码,然后单击“运行”。 ③前端将用户填写的信息发送请求,后台的接口收到用户发来的信息,并把密码修改。 (4)个人信息修改 ①用户登录后,单击我的信息。 ②用户可以在我的信息中编辑个人信息,并且前端将发送对用户输入的信息的请求。 ③后台界面获取信息并进行编辑。 (5)封禁用户 ①管理员进入后端系统,点击查看用户。 ②进入后台界面时,将同时查询数据库中的所有用户,并对界面进行响应。 ③界面显示所有用户状态信息。 ④管理员在用户状态信息列表中选择任何用户,单击以禁用或启用前端,请求后端接口,并将用户ID发送到后端和后端,将修复被阻止的用户通过用户ID在数据库中的状态。 3.3 车辆信息模块详细设计 车辆信息模块包含了修改车辆信息、添加车辆信息、查询车辆信息以及删除车辆信息四个板块。 (1)添加车辆信息的步骤 ①进入预界面后,用户单击自动数据-添加自动数据。 ②用户可以在界面中输入车辆信息,添加车辆信息,然后单击报价。 ③前端将用户填写的信息发送请求,后台接口接收信息,并添加。 ④添加成功后前端弹出提示“车辆信息添加成功”,并返回车辆信息列表界面,页面刷新出现新添加的车辆信息。 (2)修改车辆信息。 ①用户进入前端界面后点击车辆信息选择要修改的车辆信息,点击修改。 ②页面跳转到修改车辆信息界面。用户输入要修改的车辆信息并点击“提交”。 ③前端将用户填写的信息发送请求,后台界面接收信息,并进行修改。 ④修改成功后前端弹出提示“车辆信息修改成功”,并返回车辆信息列表界面,页面刷新出现修改后的车辆信息。 (3)删除车辆信息。 ①用户进入前端界面后,单击车辆数据以选择要删除的车辆数据,然后单击“删除”。 ②前端请求后端接口,并将车辆信息ID发送到后方,后方将通过车辆信息ID删除数据库中的信息 ③成功删除后,页面刷新删除的车辆信息不会显示。 (4)查询车辆信息。 ①管理员在后端界面车辆信息-查询车辆信息。 ②管理员选择搜索字段后,在搜索框中输入关键字,前端会将关键字发送到后端。 ③接口后端接口检索关键字信息,从数据库检索数据并返回它。 3.4 故障信息模块详细设计 故障信息模块包括添加故障信息、查询故障信息、封禁故障信息这几个功能。 (1)添加故障信息。 ①管理员进入后端界面后选择故障信息-添加故障信息。 ②管理员输入可在添加故障信息界面输入故障信息,后,点击提交。 ③前端将用户填写的信息发送请求,后台接口接收信息,并添加。 ④添加成功后前端弹出提示“故障信息添加成功”,并返回故障信息列表界面,页面刷新出现新添加的故障信息。 (2)查询和封禁故障信息。 ①管理员进入后端界面后,点击查看故障信息。 ②后台在进入界面时,同时查询数据库中用户的地址信息,并对界面进行响应。 ③选中需要禁用的故障信息,单击“禁用”,前端请求后台接口,并向后台发送故障id。后台通过故障id在数据库中修改故障封禁状态。 3.5 维修订单模块详细设计 维修订单模块包括添加预约维修订单、处理维修订单、删除维修订单、查询维修订单这几个功能。 (1)添加预约维修订单。 ①用户进入预约维修界面-添加维修订单页。 ②用户输入维修订单信息,点击提交。 ③前端将用户填写的信息发送请求,后台接口接收信息,并添加。 ④添加成功后前端弹出提示“添加成功”,并返回维修订单信息列表界面,页面刷新出现新添加的维修订单信息。 (2)处理维修订单。 ①管理员进入预约维修界面-查看维修订单页。 ②进入界面时,后台同时在数据库中查询该用户的订单信息,响应回界面。 ③界面显示用户订单列表。 ④管理员在订单列表中选择一个待处理订单,然后单击以接受或拒绝该订单。 拒绝。 修复订单状态后,管理员单击“完成”并使用订单的后端ID更改给定数据库中订单的状态。 (3)删除维修订单。 ①管理员进入后端维护订单页面。 ②进入后台界面时,将同时查询数据库中的所有维护单,并对界面做出响应。 ③该界面列出了所有维护命令。 ④用户从订单列表中选择一个已完成的维护订单,单击删除该订单,同时将订单的ID返回给后端,后端将在数据库中删除相关的订单。 (4)查询维修订单 ①管理员在后端界面车辆信息-查询车辆信息。 ②管理员选择搜索字段后,向搜索框输入关键字,前端将关键字传入后台。 ③后台接口接收到关键字信息,并从数据库中查找数据,返回给前端。 ④管理员还可以根据订单状态根据按订单时间来查询。 3.6 通知模块详细设计 通知模块包括通知管理员、通知用户。 (1)通知管理员 用户在添加订单后,系统会向管理员的邮箱发送一份邮件,通知管理员有订单需要处理。 (2)通知用户 ①管理员点击接受或者拒绝后,会向该订单用户的邮箱发送一份邮件,通知用户订单已经被管理员接受或者拒绝。 ②管理员点击完成,会向该订单用户的邮箱发送一份邮件,通知用户订单已完成。 3.7 零件管理模块详细设计 零件管理模块包括添加零件和使用零件这两个功能 (1)添加零件。 ①管理员进入后端界面,点击零件管理。 ②后台在进入界面时,同时查询数据库中的所有部件信息,并对界面进行响应。 ③界面显示所有部件列表。 ④管理员选择零件列表中的一个零件,单击“购买”,同时返回该零件的id后台,后台通过页面传回的id在数据库中增加该零件的数量。 (2)使用零件。 ①管理员进入后端界面,点击零件管理。 ②当进入界面时,后台同时查询数据库中的可用零件信息,并对界面做出回应。 ③界面显示所有的可用零件信息。 ④管理员在零件列表选择其中一个零件,点击使用,同时将零件的id传回后台,后台通过页面传回的id在数据库中减少该零件的数量。 3.8 统计模块详细设计 (1)统计访问 ①管理员进入后端界面,点击统计管理-查看访客。 ②后台在进入界面的同时查询数据库中的访问记录,并对界面进行响应。 ③界面显示所有的管理员访问记录。 3.9 数据库设计 本系统使用的数据库是MySQL数据库,适用于一些中小型网站,支持大型数据库。作为一个开源数据库,它只需要下载和使用。数据表有用户表user,个人信息表personal_info,车辆信息表car_info,故障信息表trouble_info,维修订单表order_info,零件表parts_info,统计访客表visitor。 用户表user用于存储用户信息。包括用户id,密码,用户名,封禁标志以及权限等用户信息。用户表各字段信息如表3-1所示。 表3-1 用户表结构 字段名 数据类型 是否主键 描述 id varchar(255) 是 用户ID name varchar(255) 用户名 password varchar(255) 密码 type int(11) 权限 status int(11) 封禁标志 个人信息表PERSONAL_INFO用于存储用户的基本个人信息。包括用户ID,姓名,性别,出生日期,E-MAIL,地址,手机号,备注。个人信息表各字段信息如表3-2所示。 表3-2 个人信息结构表 字段名 数据类型 是否主键 描述 user_id varchar(255) 是 用户id real_name varchar(255) 姓名 sex varchar(255) 性别 birthday varchar(255) 出生日期 email varchar(255) E-MAIL address varchar(255) 地址 tel_num varchar(255) 手机号 remark varchar(255) 备注 车辆信息表car_info用于存储用户车辆信息。包括车辆id,车牌,用户id,品牌,型号,价格,颜色,购买日期,备注,用户名。车辆信息表各字段如表3-3所示。 表3-3 车辆信息结构表 字段名 数据类型 是否主键 描述 id varchar(255) 是 车辆信息ID plate varchar(255) 车牌 user_id varchar(255) 用户ID brand varchar(255) 车牌 model varchar(255) 型号 color varchar(255) 颜色 date varchar(255) 购买日期 remark varchar(255) 备注 user_name varchar(255) 用户名 price varchar(255) 价格 故障信息表trouble_info用于存储故障信息。包括故障id,故障码,故障名称,故障描述,封禁标志。故障信息表各字段如表3-4所示。 表3-4 故障信息结构表 字段名 数据类型 是否主键 描述 id varchar(255) 是 故障id trouble_code varchar(255) 故障码 trouble_name varchar(255) 故障名称 trouble_remark varchar(255) 故障描述 status int(11) 封禁标志 维修订单表order_info用于存储维修订单信息。包括订单id,用户id,用户名,车牌,故障名称,故障码,联系人,联系方式,故障描述,创建时间,订单状态,预约时间。维修订单表各字段如表3-5所示。 表3-5 维修订单结构表 字段名 数据类型 是否主键 描述 id varchar(255) 是 订单id user_id varchar(255) 用户id user_name varchar(255) 用户名 plate varchar(255) 车牌 trouble_name varchar(255) 故障名称 trouble_code varchar(255) 故障码 contact varchar(255) 联系人 contact_way varchar(255) 联系方式 remark varchar(255) 故障描述 creart_time varchar(255) 创建时间 status int(11) 订单状态标志 yytime date 预约时间 零件表parts_info用于存储零件信息。包括零件id,零件名称,零件图片,零件价格,零件数量。零件表各字段如表3-6所示。 表3-6 零件结构表 字段名 数据类型 是否主键 描述 id varchar(255) 是 零件id name varchar(255) 零件名称 photo varchar(255) 零件图片 price varchar(255) 零件价格 num int(11) 零件数量 统计访客表visitor用于存储访客信息。包括id,访客名,访问时间。统计访客表各字段如表3-7所示。 表3-7 统计访客结构表 字段名 数据类型 是否主键 描述 id varchar(255) 是 访问id v_name varchar(255) 访客名 v_time varchar(255) 访问时间

4 系统实现

本系统使用IDEA工具来开发,使用IDEA的好处是不用导大量的架包,只需要导入依赖就行了,编程语言为JAVA,使用MySQL数据库存储数据,使用Tomcat服务器。项目采用springoot+my batis架构作为系统程序架构。将服务器请求发送到相应的功能逻辑处理控制层控制器,控制层将获得的参数传递给业务层服务,业务层根据具体的业务流程进行处理,在处理过程中,业务层将调用Mybatis Dao对象的持久层来操作数据库信息,完成数据库的添加和删除操作,并将处理结果返回给业务层来完成业务流程, 业务层处理完成后将返回的数据返回到控制层,控制层得到的返回结果数据将被发送到客户端进行数据封装,完成一个请求的动作。 系统界面上的内容采用HTML5+CSS3静态页面显示,页面显示框架采用Bootstrap框架和layui框架。Ajax技术用于异步加载数据,提高浏览体验。为了丰富页面显示效果,使用JQuery和layui.js作为脚本语言。 4.1 用户模块功能实现 用户模块总共有用户注册、用登录、修改密码、修改个人信息、管理员封禁用户这几个功能。 (1)用户注册功能实现 用户可以在登录页面上免费登录,注册时,用户必须输入其用户名,密码和电子邮件地址。 用户输入正确的电子邮件地址并单击以接收确认码后,在接收到确认码和带有确认码的电子邮件后,将在注册过程中输入用户的电子邮件地址。 用户单击登录并成功注册,注册页面如下:如图4-1所示。 在这里插入图片描述

图4-1 注册页面 (2)用户登录功能实现 用户可以登录到登录页面,并在登录时输入其帐户和密码。当用户单击系统时,后台会在数据库中搜索是否存在登录帐户。如果不存在那么 报告显示错误,如果存在用户名,请在找到的帐户信息中检查输入的密码是否相同,如果密码相同,则登录将成功,否则登录将不起作用,并会显示一条消息,相关错误类型被显示出来。用户登录页面如图4-2所示。 在这里插入图片描述

图4-2 登录页面 (3)修改个人信息功能实现 当用户成功登录并进入“系统”页面后,可以在“我的信息”中进入“修改个人信息”页面,对用户的基本个人信息进行修改。用户输入要修改的信息后,点击提交,后台接受到数据后在数据库根据用户id来修改该用户的信息,修改成功后则弹出提示,修改个人信息功能页面如图4-3所示。 在这里插入图片描述

图4-3 修改个人信息功能页面 (4)修改密码功能实现 当用户登录成功进入系统页面后,用户可以在“我的信息”页面进入修改页面,修改密码。用户输入新旧密码,点击提交,后台接受到数据后在数据库根据用户id来修改用户密码,修改成功后则弹出提示,修改密码页面如图4-4所示。 在这里插入图片描述

图4-4 修改密码页面 (5)封禁用户功能实现 管理员登录成功进入系统后端页面后,可以查看所有用户的身份和封禁的状态,选择一个用户点击封禁或者启用后,如果是封禁用户,则该用户就不能再登录系统成功;如果是封禁的用户点击启用后,则该用户可重新登录系统,封禁用户页面如图4-5所示。 在这里插入图片描述

图4-5 封禁用户页面 4.2 车辆信息模块功能实现 车辆信息模块主要分为修改车辆信息,添加车辆信息,管理员查询车辆信息以及删除车辆信息四个板块。 (1)添加车辆信息功能实现 用户登录系统成功后,可在“车辆信息”页签进入添加车辆信息页面。用户填写完车辆信息字段后点击提交,前端使用Ajax提交信息方式,把填写的字段传送到CarInfoController控制器中的execute方法处理。CarInfoController将调用CarInfoService中的addOrderInf方法,添加车辆信息并返回结果,CarInfoController通过返回的结果信息将提示返回到前端界面做相应的提示,添加车辆信息页面如图4-6所示。 在这里插入图片描述

图4-6 添加车辆信息页面 (2)修改车辆信息功能实现 用户也可在车辆信息模块中修改车辆信息。当用户修改车辆信息后,点击提交,系统将通过Ajax请求方式将所修改的车辆信息参数信息发送到CarInfoController控制器中的update方法处理。update将通过车辆信息id查找相应的车辆信息,如果存在相应记录,Car InfoController将调用CarInfoService中的updateCarInfo方法,修改车辆信息并返回结果,CarInfoController通过返回的结果信息将提示返回到前端界面做相应的提示,修改车辆信息页面如图4-7所示。 在这里插入图片描述

图4-7 修改车辆信息页面 (3)查询车辆信息功能实现 管理员点击导航栏上的按钮选择搜索字段,然后在搜索框中输入信息点击搜索按钮即可跳转到相应界面,该界面下可查看车辆信息的所有信息,管理员还可以直接点击用户名跳转到该用户的车辆信息界面。查询车辆信息页面如图3-8所示。 在这里插入图片描述

图4-8 查询车辆信息页面 (4)删除车辆信息功能实现 用户在“查看车辆信息”页面,可移除不想要的车辆信息。点击对应车辆信息后方的“删除”按钮即可。删除车辆信息页面如图4-9所示。 在这里插入图片描述

图4-9 删除车辆信息页面 4.3 故障信息模块功能实现 故障信息模块主要有封禁故障信息,添加故障信息以及查询故障信息三个板块。 (1)添加故障信息功能实现 管理员登录到后台操作页面后,可在“故障信息”进入添加故障信息页面,根据页面提示填写相应信息后,点击提交。系统将通过Ajax请求方式将添加的故障信息参数信息发送到TroubleInfoController控制器中的addTroubleInfo方法处理。TroubleInfoController将调用TroubleInfoService中的addTroubleInfo方法,添加故障信息并返回结果,TroubleInfoController通过返回的结果信息将提示返回到前端界面做相应的提示,添加故障信息页面如图4-10所示。 在这里插入图片描述

图4-10 添加故障信息页面 (2)封禁故障信息功能实现 管理员还可以对所有故障信息进行封禁和启用,选择一个故障信息点击封禁或者启用后,如果故障信息是从启用到禁用,则用户在前端页面就不会看到该故障信息;如果故障信息是从禁用到启用,则该用户可重新登录系统后看到该故障信息。 故障信息页面如图4-11所示。 在这里插入图片描述

图4-11 故障信息页面 4.4 维修订单模块功能实现 维修订单模块主要有用户的添加预约维修订单,管理员的处理维修订单、删除维修订单以及查询维修订单。 (1)添加预约维修订单功能实现 用户登录系统成功后,可在“维修订单”页签进入添加预约维修页面。用户填写完预约维修订单信息后点击提交,前端使用Ajax提交信息方式,把填写的字段传送到OrderInfoController控制器中的addOrderInfo方法处理。OrderInfoController将调用OrderInfoService中的addOrderInf方法,添加维修订单信息并返回结果,OrderInfoController通过返回的结果信息将提示返回到前端界面做相应的提示,添加维修订单页面如图4-12所示。 在这里插入图片描述

图4-12 添加预约维修订单页面 (2)处理维修订单功能实现 用户提交订单后,管理员在后台处理订单形式有两种,①点击“接受”按钮,接受订单,②点击“拒绝”按钮,拒绝订单,③点击“完成”按钮,说明该订单已维修完成。在该界面下,主要是对订单状态的处理操作,如果管理员联系用户,用户要取消订单,那么管理员将点击“拒绝”按钮拒绝订单。反之则点击“接受”按钮接受订单,点击“接受”或者“拒绝”按钮,系统通过Ajax提交方式,将订单状态提交到OrderInfoController控制器中的changStatus方法处理。changStatus将通过订单id查找相应的订单信息,如果存在相应记录,OrderInfoController将调用OrderInfoService中的changStatus方法,修改订单状态信息并返回结果,OrderInfoController通过返回的结果信息将提示返回到前端界面做相应的提示,处理维修订单页面如图4-13所示。 在这里插入图片描述

图4-13 处理维修订单页面 (3)查询维修订单功能实现 管理员点击导航栏上的按钮选择搜索字段,然后在搜索框中输入信息点击搜索按钮即可跳转到相应界面,该界面下可查看搜索的订单信息,管理员还可以点击“按时间排序”、“显示预约中”、“显示修理中”、“显示已拒绝”、“显示已完成”等按钮,查看订单信息。查询维修订单信息页面如图4-14所示。 在这里插入图片描述

图4-14 查询维修订单信息页面 (4)删除维修订单功能实现 用户在“查看维修订单”页面,可移除“已完成”的订单。用鼠标点这种订单后面的“删除”按钮就可以。删除维修订单页面在下图中有所展示。 在这里插入图片描述

图4-15 删除维修订单页面 4.5 通知模块功能实现 通知模块主要有通知管理员和通知用户这两个功能。 (1)通知管理员 在用户提交维修订单后,系统将发送一封邮件到管理员邮箱,通知管理员有订单需要处理。通知管理员功能实现部分代码如图4-16所示。 在这里插入图片描述

图4-16 通知管理员代码实现图 (2)通知用户 管理员在处理订单状态后,系统将发送一封邮件到该订单用户的邮箱,通知用户订单当前状态。通知用户功能实现部分代码如图4-17所示。 在这里插入图片描述

图4-17 通知用户代码实现图 4.6 零件模块功能实现 零件模块主要添加零件和使用零件这两个模块。 (1)添加零件 管理员登录到后台操作页面后,可在“零件管理”进入添加零件页面,根据页面显示的零件,点击零件后方“添加”按钮。系统将通过Ajax请求方式将添加的零件信息发送到PartsInfoController控制器中的buyParts方法处理。PartsInfoController将调用PartsInfoService中的buyParts方法,添加故障信息并返回结果,PartsInfoController通过返回的结果信息将提示返回到前端界面做相应的提示,添加零件页面如图4-18所示。 在这里插入图片描述

图4-18 添加零件页面 (2)使用零件 添加后管理员可在“零件管理“页签进入零件使用页面,点击零件后方的“使用”按钮。系统将通过Ajax请求方式将添加的零件信息发送到PartsInfoController控制器中的useParts方法处理。useParts将通过零件id查找相应的零件信息,如果存在相应记录,PartsInfoController将调用PartsInfoService中的useParts方法,修改故障数量并返回结果,PartsInfoController通过返回的结果信息将提示返回到前端界面做相应的提示零件使用页面如图4-19所示。 在这里插入图片描述

图4-19 零件使用页面 4.7 统计模块功能实现 统计模块主要功能是统计访问后台人员。管理员可以在“统计管理”页签进入查看最近访客界面。该界面下可以查看到所有管理员访问系统后端页面的记录。 统计访问页面如图4-20所示。 在这里插入图片描述

图4-20 统计访问页面 4.8 系统测试 本系统在QQ浏览器、Chrome浏览器中进行测试。测试方案通过手工测试、黑盒测试以及白盒测试这些测试方法。测试的范围包括页面结构的显示,更快的数据准确性,易于执行,验证,授权范围和业务功能。 在登录界面中,用户检查帐户并输入密码,然后进入主系统界面,否则将出现错误消息。 注册界面会检查用户名是否存在以及邮箱是否正确,使用时会提供相关信息。封禁用户后使用该账号登录,检测是否登录成功。 在浏览器URL的搜索栏中,输入具有有限权限的地址,例如个人信息,存储过程和其他地址信息,如果没有用户登录到系统,它将被重定向到界面。 当普通用户登录并填写管理员操作界面的地址栏时,它将进入主界面。 用户注销后,系统将重定向到登录界面,并且某些受限制的界面将恢复为不可访问状态。 完成计划的维护订单的过程将添加到订单处理界面,并且在处理订单时,订单的状态将相应更改。 4.9 系统测试报告 (1)用户登录测试。登录时,系统还会区分管理员和普通用户,因此需要进行检查以确保信息和数据一致,并且检查可以发现缺陷。 用户输入测试用例的表如表4-1所示。 表4-1 用户登录测试用例表 测试项目 测试目的 操作 预期测试结果 实际测试结果 登录测试 验证账号、密码的合法性以及系统错误提示 账号为空 提示输入账号信息 同预期测试结果 输入不存在账号 提示登录失败信息 同预期测试结果 不输入密码 提示输入密码信息 同预期测试结果 输入错误密码 提示登录失败信息 同预期测试结果 普通用户账号、密码输入正确 进入主界面 同预期测试结果 管理员用户账号、密码输入正确 进入本站后台管理界面 同预期测试结果 (2)注册测试。用户注册测试用例表如表4-2所示。 表4-2 注册测试用例表 测试项目 测试目的 操作 预期测试结果 实际测试结果 注册测试 验证用户名、邮箱、密码的合法性以及系统错误提示 用户名为空 提示输入用户名信息,注册按钮失效 同预期测试结果 用户名被使用 提示用户名被使用,注册按钮失效 同预期测试结果 用户名未被使用 提示用户名可使用 同预期测试结果 邮箱为空 提示输入邮箱信息,注册按钮失效 同预期测试结果 邮箱格式错误 提示邮箱不符合,注册按钮失效 同预期测试结果 邮箱未被使用 提示邮箱可使用 同预期测试结果 密码为空 提示输入密码信息,注册按钮失效 同预期测试结果 用户名、邮箱、密码填写通过验证 提示注册结果信息,如成功注册,跳转到注册页面 同预期测试结果 (3)验证用户权限测试。用户访问权限限制测试用例表如表4-3所示。 表4-3 用户权限测试用例 测试项目 测试目的 操作 预期测试结果 实际测试结果 用户权限 验证用户权限是否符合要求 未登录用户访问登录、注册、以外的界面 跳转到登录、注册界面 同预期测试结果 登录用户访问登录、注册界面 跳转到主界面 同预期测试结果 登录用户访问除登录、注册、管理员后台界面以外的界面 可以访问 同预期测试结果 普通用户访问管理员界面 跳转到主界面 同预期测试结果 管理员用户访问管理员界面 可以访问 同预期测试结果 管理员用户访问前端界面 可以访问 同预期测试结果 (4)维修订单模块测试。主要测试订单的生成和订单状态变化相关操作。维修订单模块测试用例表如表4-4所示。

表 4-4 维修订单模块测试用例表 测试项目 测试目的 操作 预期测试结果 实际测试结果 维修订单模块 验证订单模块是否符合要求 登录用户添加预约维修订单 提示添加成功,跳转至订单页面,,并发送一封邮件给系统管理员的邮箱中 同预期测试结果 登录用户在添加订单页面不填写预约时间 无法提交订单,并提升相应信息 同预期测试结果 登录用户在添加订单页面不填写联系人 无法提交订单,并提升相应信息 同预期测试结果 登录用户在添加订单页面不填写联系方式 无法提交订单,并提升相应信息 同预期测试结果 管理员点击预约订单的“接受”按钮 订单状态由“预约中”变为“修理中”,并发送一封邮件给该订单用户的邮箱中 同预期测试结果 管理员点击预约订单的“拒绝”按钮 订单状态由“预约中”变为“已拒绝”,并发送一封邮件给该订单用户的邮箱中 同预期测试结果 管理员点击修理中订单的“完成”按钮 订单状态由“修理中”变为“已完成”,并发送一封邮件给该订单用户的邮箱中 同预期测试结果 管理点击已完成的订单的“删除”按钮 该订单删除 同预期测试结果 管理选择搜索字段后,输入正确的信息 订单页面显示按搜索字段的订单 同预期测试结果 管理选择搜索字段后,输入错误的信息 订单页面不显示任何订单信息 同预期测试结果 管理点击订单状态按钮 订单页面按订单状态显示订单信息 同预期测试结果 管理点击“按时间排序”按钮 订单页面订单生成时间降序显示 同预期测试结果

5 总 结

5.1 主要工作和心得 该毕业设计,让我运用到了大学四年所学的知识和学习到在大学里学不到的技术,这也帮助我实现了自己的技术技能。 为了完成毕业项目,我开始收集和组织资源,然后了解业务需求,分析业务流程,然后开发数据库表。接着自学了Mybatis和SpringBoot两个框架,最后到系统功能的实现,这期间一步步进行编码实现,整个阶段中有过巨大bug,也有过困难,但都一点点被解决了。此时的时间还不是很长。 但这对我来说是难得的回忆。 从最终项目的开始报告到系统任务的执行。我从中学到了许多新的东西以及温习以前旧的知识,让我在技术上有了提升,也让我在行动、自学方面有了显著的提示。 汽车维修管理系统整体使用SpringBoot+Mybatis架构实现开发。其中SpringBoot框架作为服务端Web程序,提供对商业处理和算法的系统支持,以及检测和消除配置文件活动的各种注释功能和操作。Mybatis作为持久层为开发系统以直接处理信息。数据存储使用的MySQL数据库,系统的前端界面使用HTML5+CSS5+JQuery+layui技术。使用Ajax异步获取数据,规避重新刷新界面获取数据。 5.2 遇到的问题和存在的不足 在本系统的开发中,采用目前流行的IDEA开发工具和许多常用的框架,如Bootstrap 、 JQuery等前端框架,SpringBoot、Mybatis后端框架,由于后端的框架是自学的,在使用的过程中,框架之间可能存在不一致,这可能会导致一些错误。 可以通过搜索学生的资源和调查来完成编辑。由于个人能力有限和对自学的技术掌握程度不够,没能把系统完善,但我想带我能力提升之后,便能把系统做的更加完美。而且在前期设计数据库时,由于设计有一些欠缺,导致后期开发时造成许多的小问题,更改繁琐。希望日后吸取经验,提示这方面能力。 5.3 展望 通过完成本次毕设,我从中看到自己不足的一面,我的技术还没有煮熟。 但是将来,我会努力弥补自己的不足,并希望毕业后能拥有一个更好的公司。

参考文献

[1] 曾浩,黄浩文,张利强,贺斯慧.基于B/S的学习交流平台的设计与实现[J].企业科技与发展,2020(10):49-51. [2] 邱丹萍.应用SpringBoot的食堂订餐管理系统设计[J].福建电脑,2020,36(06):115-117. [3] 张恒铭.基于SpringBoot+MyBatis框架的高校人事信息发布系统设计与实现[J].电脑知识与技术,2020,16(18):68-70. [4] 莫振杰. Web前端开发精品课HTML CSS JavaScript基础教程[M].北京:人民邮电出版社, 2017.09.500. [5] 张晓颖,陶薇薇.运用Bootstrap+JQurey优化响应式网站的研究[J].信息与电脑(理论版),2017(11):72-74. [6] 陈沛强,谷灵康,金京犬. Java Web程序设计教程[M].北京:人民邮电出版社, 2016.07.318. [7] 张恒铭.基于SpringBoot+MyBatis框架的高校人事信息发布系统设计与实现[J].电脑知识与技术,2020,16(18):68-70.

致 谢

时光匆匆,转眼便是大写毕业时节,在这里,我首先要感谢我的母校——贺州学院,非常感谢我的母校给我这个良好的学习环境,让我的技能在这四年中得到提升。 同时我要感激我的父母,他们对我的养育之恩,言树之心,无法回报,你们永远健康欢乐将是我最大的心愿!我还要感谢我的指导老师——罗兰花老师,罗兰花老师从选题到开题报告,从毕业设计和论文撰写中提供了很大的支持,一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱。在此我表示衷心感激。 最后,我要感谢的是陪伴了我这么多年大学生活的同学朋友,是他们的帮助使我在这段期间内得到了很好的提升,帮助我解决了很多技术上面的问题,我才能完成毕业设计。我很庆幸在大学四年来我遇到的良师益友,无论在学习上,工作上,还是生活上都给予了照顾,让我度过了一个完美的大学生活。 毕业在即,在今后的工作和生活中,我会铭记学校和老师的教诲,继续努力和追求,来报答所有支持和帮助过我的人!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有