摘 要
随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,车辆维修行业当然也不例外。车辆故障报修系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结,得出系统中存在的不足及需要改进的地方,为以后的系统维护提供了方便,同时也为今后开发类似系统提供了借鉴和帮助。
本系统使用Java技术开发,SpringBoot框架,采用的数据库是Mysql。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
关键词:车辆故障报修系统,Java,SpringBoot,Mysql
vehicle fault reporting system
based on SpringBoot
ABSTRACT
With the rapid development of science and technology, all aspects of society and all walks of life are trying to integrate with modern advanced technology and improve their advantages through scientific and technological means, and the vehicle maintenance industry is no exception. The vehicle fault repair system is a management system based on the actual application, using software engineering principles and development methods, and Java technology. In the whole development process, firstly, the requirements of the software system are analyzed, and the main functions of the system are obtained. Then the overall design and detailed design of the system are carried out. The overall design mainly includes system function design, system overall structure design, system data structure design and system security design; The detailed design mainly includes the implementation of system database access, the specific implementation of main function modules, and the key code of module implementation. Finally, the function test of the system is carried out, and the test results are analyzed and summarized, and the deficiencies and areas for improvement in the system are concluded, which provides convenience for future system maintenance, and also provides reference and help for future development of similar systems.
The system is developed using Java technology, the SpringBoot framework, and the database used is MySQL. In the design process, the system code is fully guaranteed to be readable, practical, extensible, universal, easy to maintain, easy to operate and concise.
Key words: vehicle fault reporting system, Java, SpringBoot, MySQL.
目 录
摘 要
ABSTRACT
第1章 绪论
1.1背景及意义
1.2 国内外研究概况
1.3 研究的内容
第2章 相关技术
2.1开发技术
2.2 Java简介
2.3 MVVM模式
2.4 B/S结构
2.5 MySQL数据库
2.6 SpringBoot框架
第3章 系统分析
3.1 需求分析
3.2 系统可行性分析
3.2.1技术可行性
3.2.2经济可行性
3.2.3操作可行性
3.3 项目设计目标与原则
3.4系统流程分析
3.4.1操作流程
3.4.2添加信息流程
3.4.3删除信息流程
第4章 系统设计
4.1 系统体系结构
4.2系统结构设计
4.3开发流程设计
4.4 数据库设计原则
4.4 数据表
第5章 系统详细设计
5.1管理员功能模块
5.2老板用户功能模块
5.3员工用户功能模块
第6章 系统测试
6.1系统测试的目的
6.2系统测试方法
6.3功能测试
结 论
致 谢
参考文献
第1章 绪论
1.1背景及意义
随着交通运输业的飞速发展为人们的生活带来了极大的便利,与此同时,各种交通运输工具特别是汽车数量的剧增也给社会各方面带来了日趋严重的巨大压力。对于车辆管理,特别是故障报修管理,传统手工管理手段由于工作量大、强度高,而导致的效率低下、出错率高已逐渐不能满足目前车辆管理的需求。依据项目需求特点,围绕方便车辆故障报修的系统需求,进一步提高车辆管理效率,实现车辆维修的科学化、自动化管理。 我认为设计开发一个车辆故障报修系统是非常有必要的。
车辆故障报修系统,是一个小型的数据库系统。车辆故障报修管理系统综合了车辆管理领域,数据库领域等方面的知识。 由于车辆信息的复杂繁多,管理制度的程序繁多,过去采用人工的文件管理已不能适应。文件管理方式存在许多缺点:资料的繁多容易丢失,忽略,遗忘;信息的冗余量极大;安全性极差;查找起来困难;工作量大等不足之处。 车辆故障报修管理系统能够代替人工的文件管理,可以避免或大大的缓解上述问题。
1.2 国内外研究概况
目前国内外使用的车辆管理系统数量繁多,多五花八门,但由于涉及范围广且各企业规模不一,很多小的企业无力负担系统的开发成本,所以更多是基于传统手工作业的,而人的精力和工作准确度是有限的,所以传统的车辆故障报修方式难免会存在效率低下、准确率低等缺点,还伴随着人力资源和时间的大量浪费。在管理的工作中,所涉及到的工作电脑机器比人类更为擅长,能够达到快速、准确、耗费资源小等要求。基于这些显著的优点,如果能设计一套完整且贴合管理人员需求的车辆故障报修系统,那么将大大地提高故障报修效率。在具备这样的系统之下,只需配备少量人员对数据库进行日常数据审核、管理以及定期维护。整个过程中管理人员只需提供少量的必要信息,大部分数据处理工作皆由数据库和相关程序来完成,节省了大量时间。如果数据库中的某部分信息存在错误,那么管理人员可以通过批量修改等方式来降低排错过程中所要花费的时间和精力。因此,开发一个便于使用的车辆故障报修系统是十分有必要的。
1.3 研究的内容
本系统从管理员和用户的实际需要出发,方便在系统管理从进店进行故障登记,到最后维修的结算,提高车辆管理效率和精度,设计开发了一个基于Springboot的车辆故障报修系统,车辆故障报修系统围绕系统管理员,员工用户,老板用户三种角色,主要功能包括人员管理(管理员,老板用户,员工用户),模块管理(进店登记,维修情况,维修结算,配件信息,入库记录,领取记录,员工受理,受理数据),个人管理等功能模块。论文首先介绍了本系统的相关技术,并进行了需求分析,分别给出了系统Web服务器端和移动终端的概要设计、数据库设计和详细设计,实现完成的系统经测试上线,运行效果良好。
第2章 相关技术
2.1开发技术
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2 Java简介
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 MVVM模式
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.4 B/S结构
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
2.5 MySQL数据库
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
2.6 SpringBoot框架
第3章 系统分析
3.1 需求分析
车辆故障报修系统主要是方便在系统管理从进店进行故障登记,到最后维修的结算,提高车辆管理效率和精度。更好存储所有数据信息及快速方便的检索功能。对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。
系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改信息,这样既能节省时间,不用像传统的方式耽误时间。所以车辆故障报修系统的开发不仅仅是能满足用户的需求,还能提高操作人员的工作效率,减少不必要的工作量。
3.2 系统可行性分析
3.2.1技术可行性
该系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用JSP开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
车辆故障报修系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.2.2经济可行性
车辆故障报修系统开发之前所做的市场调研及相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于车辆故障报修系统的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,系统是基于JSP的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。
3.2.3操作可行性
可操作性主要是对车辆故障报修系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、员工用户和老板用户三个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.3 项目设计目标与原则
1、关于车辆故障报修系统的基本要求
(1)功能要求:首页,人员管理(管理员,老板用户,员工用户),模块管理(进店登记,维修情况,维修结算,配件信息,入库记录,领取记录,员工受理,受理数据),个人管理等功能模块。
(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。
(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。
(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。
2、开发目标
车辆故障报修系统的主要开发目标如下:
(1)实现管理系统信息关系的系统化、规范化和自动化;
(2)减少维护人员的工作量以及实现用户对信息的控制和管理。
(3)方便查询信息及管理信息等;
(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;
(5)考虑到用户多样性特点,要求界面简单,操作简便。
3、设计原则
本系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
车辆故障报修系统的设计思想如下:
- 操作简单方便、系统界面安全良、简单明了的页面布局、方便查询相关信息。
2、即时可见:对车辆故障报修系统信息的处理将可以实时查询到,从而实现“即时发布、即时见效”的系统功能。
3、功能的完善性:拥有首页,人员管理(管理员,老板用户,员工用户),模块管理(进店登记,维修情况,维修结算,配件信息,入库记录,领取记录,员工受理,受理数据),个人管理等模块的修改维护操作。
3.4系统流程分析
3.4.1操作流程
图3-1登录流程图
3.4.2添加信息流程
添加信息流程图,如图所示:
图3-2添加信息流程图
3.4.3删除信息流程
删除信息流程图,如图所示:
图3-3删除信息流程图
第4章 系统设计
4.1 系统体系结构
本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。本系统结构图如图4-2所示。
图4-2 系统功能结构图
4.3开发流程设计
系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。
车辆故障报修系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。
图4-4开发系统流程图
4.4 数据库设计原则
学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。
通过车辆故障报修系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:
管理员信息属性图如图4-5所示。
图4-5 管理员信息实体属性图
4.4 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
表acceptance_data (受理数据)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | acceptance_data_id | int | 10 | 0 | N | Y | 受理数据ID | |
2 | data_name | varchar | 64 | 0 | Y | N | 数据名称 | |
3 | acceptance_date | date | 10 | 0 | Y | N | 受理日期 | |
4 | accepted_quantity | int | 10 | 0 | Y | N | 0 | 受理数量 |
5 | statistician | varchar | 64 | 0 | Y | N | 统计人员 | |
6 | statistical_remarks | varchar | 64 | 0 | Y | N | 统计备注 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | accessory_information_id | int | 10 | 0 | N | Y | 配件信息ID | |
2 | name_of_accessories | varchar | 64 | 0 | Y | N | 配件名称 | |
3 | part_no | varchar | 64 | 0 | Y | N | 配件编号 | |
4 | corresponding_brand | varchar | 64 | 0 | Y | N | 对应品牌 | |
5 | storage_location | varchar | 64 | 0 | Y | N | 存放位置 | |
6 | parts_price | int | 10 | 0 | Y | N | 0 | 配件价格 |
7 | number_of_accessories | int | 10 | 0 | Y | N | 0 | 配件数量 |
8 | accessories_introduction | text | 65535 | 0 | Y | N | 配件简介 | |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | boss_user_id | int | 10 | 0 | N | Y | 老板用户ID | |
2 | name_of_boss | varchar | 64 | 0 | Y | N | 老板姓名 | |
3 | boss_gender | varchar | 64 | 0 | Y | N | 老板性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | employee_user_id | int | 10 | 0 | N | Y | 员工用户ID | |
2 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
3 | employee_gender | varchar | 64 | 0 | Y | N | 员工性别 | |
4 | employee_id | varchar | 64 | 0 | N | N | 员工工号 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | entry_registration_id | int | 10 | 0 | N | Y | 进店登记ID | |
2 | car_model | varchar | 64 | 0 | Y | N | 汽车车型 | |
3 | automobile_brand | varchar | 64 | 0 | Y | N | 汽车品牌 | |
4 | license_plate | varchar | 64 | 0 | Y | N | 车牌号码 | |
5 | time_of_entry | datetime | 19 | 0 | Y | N | 进店时间 | |
6 | acceptance_status | varchar | 64 | 0 | Y | N | 受理状态 | |
7 | fault_problem | text | 65535 | 0 | Y | N | 故障问题 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | maintenance_id | int | 10 | 0 | N | Y | 维修情况ID | |
2 | car_model | varchar | 64 | 0 | Y | N | 汽车车型 | |
3 | automobile_brand | varchar | 64 | 0 | Y | N | 汽车品牌 | |
4 | license_plate | varchar | 64 | 0 | Y | N | 车牌号码 | |
5 | time_of_entry | datetime | 19 | 0 | Y | N | 进店时间 | |
6 | acceptance_time | datetime | 19 | 0 | Y | N | 受理时间 | |
7 | accept_employees | int | 10 | 0 | Y | N | 0 | 受理员工 |
8 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
9 | employee_id | varchar | 64 | 0 | Y | N | 员工工号 | |
10 | fault_problem | text | 65535 | 0 | Y | N | 故障问题 | |
11 | maintenance | text | 65535 | 0 | Y | N | 维修情况 | |
12 | accessories_record | text | 65535 | 0 | Y | N | 配件记录 | |
13 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
14 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表maintenance_settlement (维修结算)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | maintenance_settlement_id | int | 10 | 0 | N | Y | 维修结算ID | |
2 | car_model | varchar | 64 | 0 | Y | N | 汽车车型 | |
3 | automobile_brand | varchar | 64 | 0 | Y | N | 汽车品牌 | |
4 | license_plate | varchar | 64 | 0 | Y | N | 车牌号码 | |
5 | accept_employees | int | 10 | 0 | Y | N | 0 | 受理员工 |
6 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
7 | employee_id | varchar | 64 | 0 | Y | N | 员工工号 | |
8 | maintenance_costs | int | 10 | 0 | Y | N | 0 | 维修费用 |
9 | parts_cost | int | 10 | 0 | Y | N | 0 | 配件费用 |
10 | total_expenses | varchar | 64 | 0 | Y | N | 合计费用 | |
11 | collection_status | varchar | 64 | 0 | Y | N | 提车状态 | |
12 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
13 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
14 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | receiving_records_id | int | 10 | 0 | N | Y | 领取记录ID | |
2 | name_of_accessories | varchar | 64 | 0 | Y | N | 配件名称 | |
3 | part_no | varchar | 64 | 0 | Y | N | 配件编号 | |
4 | corresponding_brand | varchar | 64 | 0 | Y | N | 对应品牌 | |
5 | parts_price | int | 10 | 0 | Y | N | 0 | 配件价格 |
6 | date_of_receipt | date | 10 | 0 | Y | N | 领取日期 | |
7 | quantity_received | int | 10 | 0 | Y | N | 0 | 领取数量 |
8 | total_price | varchar | 64 | 0 | Y | N | 合计价格 | |
9 | receiving_employees | int | 10 | 0 | Y | N | 0 | 领取员工 |
10 | employee_name | varchar | 64 | 0 | Y | N | 员工姓名 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | warehousing_record_id | int | 10 | 0 | N | Y | 入库记录ID | |
2 | name_of_accessories | varchar | 64 | 0 | Y | N | 配件名称 | |
3 | part_no | varchar | 64 | 0 | Y | N | 配件编号 | |
4 | corresponding_brand | varchar | 64 | 0 | Y | N | 对应品牌 | |
5 | warehousing_date | date | 10 | 0 | Y | N | 入库日期 | |
6 | receipt_quantity | int | 10 | 0 | Y | N | 0 | 入库数量 |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章 系统详细设计
5.1管理员功能模块
管理员登录车辆故障报修系统,在登录页面输入用户名、密码进行登录,如下图所示。
图5-1管理员登录界面图
管理员进入系统后台可以查看:首页,人员管理(管理员,老板用户,员工用户),模块管理(进店登记,维修情况,维修结算,配件信息,入库记录,领取记录,员工受理,受理数据),个人管理等功能,还可进行相应的操作,如下图所示。
图5-2管理员功能界面图
人员管理,在此管理页面可以查看员工用户和老板用户的相关信息,还可在该页面对用户进行重置、添加和删除等操作,老板用户由管理员添加。如图5-3所示。
图5-3老板用户添加界面图
5.2老板用户功能模块
老板用户登录系统可以查看功能:首页,人员管理(员工用户),模块管理(进店登记,维修情况,维修结算,配件信息,入库记录,领取记录,员工受理,受理数据),个人管理。如下图所示。
图5-4老板用户功能界面图
人员管理,老板用户在此管理页面查看员工用户的信息,并进行添加删除等操作,如下图所示。
图5-5员工用户添加界面图
进店登记,老板用户在此页面可以查看在店的车辆信息,可以进行添加,删除等操作,如下图所示。
图5-6进店信息列表界面图
图5-7进店登记界面图
配件信息:老板用户在该页面查看配件名称,编号,品牌,存放位置等信息,可以进行添加,删除和入库等操作,如下图所示。
图5-8配件信息列表界面图
图5-9配件信息添加界面图
图5-10配件入库界面图
员工受理:老板用户在该页面查看员工的故障修理受理等信息,可以进行添加,删除等操作,如下图所示。
图5-11员工受理列表界面图
图5-12受理信息添加界面图
维修结算:老板用户在此页面可以维护结算状态和提车状态,如下图所示。
5-13维修结算界面图
5.3员工用户功能模块
员工用户无需注册,由老板用户添加,在登录页面输入用户名、密码进行登录,如下图所示。
图5-14员工用户登录界面图
进入系统可以查看:首页,模块管理(进店登记,维修情况,维修结算,配件信息,领取记录),个人管理等功能模块
图5-15员工用户功能界面图
进店登记,员工用户在此页面可以查看在店的车辆信息,并进行受理操作,如下图所示。
图5-16进店信息列表界面图
图5-17受理界面图
维修情况,员工用户在此页面可以查看维修中的车辆信息,可以维护维修情况,如下图所示。
图5-18维修情况列表界面图
图5-19维修情况维护界面图
图5-20维修完成提交界面图
配件信息,员工用户在此页面可以查看配信信息并进行领用申请,如下图所示。
图5-21配件信息列表界面图
图5-22配件领用界面图
第6章 系统测试
6.1系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
车辆故障报修系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在车辆故障报修系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
6.2系统测试方法
在对车辆故障报修系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让车辆故障报修系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个车辆故障报修系统开发所牵扯的该问题都必须一一解决,提高车辆故障报修系统平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
6.3功能测试
用户登录测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
登录模块 | 用户名:admin 密码:123 | 弹出错误提示,提示密码错误 | 弹出错误提示,提示密码错误 | 通过 |
登录模块 | 用户名:123 密码:admin | 弹出错误提示,提示用户名错误 | 弹出错误提示,提示用户名错误 | 通过 |
登录模块 | 用户名:admin 密码:admin | 管理员登录成功 | 管理员登录成功 | 通过 |
修改密码测试:
模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
修改密码模块 | 原密码:666 新密码:123 确认密码:123 | 弹出错误提示,提示原密码错误 | 弹出错误提示,提示原密码错误 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:333 | 弹出错误提示,提示确认密码不一致 | 弹出错误提示,提示确认密码不一致 | 通过 |
修改密码模块 | 原密码:admin 新密码:123 确认密码:123 | 密码修改成功 | 密码修改成功 | 通过 |
通过对功能的测试,车辆故障报修系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所相关技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。从该系统中,系统的分析和设计的调查数据,并且已经经历和努力了几个月,最终完成了系统。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过咨询老师解决这些问题,对于毕业设计的圆满完成,需要感谢老师们的指导。系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。
回顾毕业设计的整个过程,既付出汗水也收获了很多。虽然经历了各种各样的困难,自己的不断研究探索,系统的实现仍有不足之处。
在以后的学习及工作中,我仍然继续学习计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信我可以让更多的好工作,做出更大的贡献。
车辆故障报修系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。
首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。
感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。
感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们!
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!
参考文献
[1]郝建敏,沈群,韩路. 智慧校园信息化报修系统平台的设计与实现[J]. 软件,2022,43(12):40-42.
[2]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).
[3]卯钰鸿,陈祖龙,熊静,刘军. 信息化报修系统数据管理设计[J]. 设备管理与维修,2022,(07):7-9.
[4]杨宇,徐万明. 基于Springboot微信小程序用户管理系统设计[J]. 电脑与电信,2022,(03):63-67.
[5]连钦兴,盘炜生,蔡文伟. 基于微信小程序的校园网故障报修系统设计[J]. 河南科技,2021,40(32):13-15.
[6]郑若鹢. 应用Spring Boot的后勤报修系统的设计与实现[J]. 福建电脑,2021,37(10):66-69.
[7]蒋晟,陈科. 基于SpringBoot的学生宿舍管理系统的设计与实现[J]. 现代信息科技,2021,5(12):6-9.
[8]文淑华,黄明源,刘雪帆,朱鹏飞,徐子嘉,王瑞锦. 基于Flutter和SpringBoot的多平台会议室管理系统[J]. 实验科学与技术,2021,19(01):155-160.
[9]史渊源,周辉,于烨,周怡,马国武,吴佳静,马龙. 基于Hadoop的车辆管理系统设计与实现[J]. 湘潭大学学报(自然科学版),2021,43(01):97-106.
[10]李唯. 基于SpringBoot的作业管理系统设计与开发[J]. 电脑编程技巧与维护,2020,(12):73-74.
[11]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).
[12]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).
[13]胡明,文翠,黄川. 基于SpringBoot的毕业论文管理系统设计和开发[J]. 电脑编程技巧与维护,2020,(07):92-93+104.
[14]赵玺博,夏琦,刘章茂. 基于Springboot的校园网故障管理系统的实现[J]. 科学技术创新,2020,(13):58-59.
[15]Kan Ji,Xiaojun Chen,Aoming Qin,Jia Liu,Jinmei Wu. Design and Implementation of Teaching Quality Evaluation System Based on SpringBoot[A]. 西南石油大学(Southwest Petroleum University).第七届计算与信息科学国际学术会议论文集[C].西南石油大学(Southwest Petroleum University):西南石油大学计算机科学学院,2019:444-452.
关注&点赞&收藏&私信博主,免费领取项目源码