基于智能推荐的企业用车系统是一个为企业员工提供个性化出行服务的高效平台,通过集成时间段管理、路线类型管理、员工管理等多个功能模块,实现对企业车辆资源的优化配置和实时监控。管理员端涵盖全面的管理工具,确保企业用车的高效与安全。前台用户端则提供直观便捷的界面,员工可以快速预订用车、查看订单状态,并提交报销申请。智能推荐算法根据员工的出行习惯和需求,自动推荐最合适的车辆和路线,极大提升用户体验。该系统不仅增强了企业的内部管理效率,也提供了数据支持以辅助决策,同时为员工带来更加舒适便捷的用车体验。
本文通过采用B/S架构,springboot框架以及MySQL数据库技术,结合国内外卖管理系统现状,开发了一个基于智能推荐的企业用车系统。通过系统测试,实现了系统设计目标,相对于人工管理方式,本系统有效的减少了企业用车管理的经济投入,并且大幅度提升了企业用车管理的效率。
关键词:企业用车;springboot;MySQL数据库
The enterprise vehicle system based on intelligent recommendation is an efficient platform to provide personalized travel services for enterprise employees. By integrating multiple functional modules such as time management, route type management, and employee management, it can optimize the allocation and real-time monitoring of enterprise vehicle resources. The administrator side includes comprehensive management tools to ensure the efficiency and safety of enterprise vehicles. The front desk client provides an intuitive and convenient interface, allowing employees to quickly book a car, check the status of an order, and submit a reimbursement request. The intelligent recommendation algorithm automatically recommends the most suitable vehicle and route according to the travel habits and needs of employees, which greatly improves the user experience. The system not only enhances the internal management efficiency of the enterprise, but also provides data support to assist decision-making, and brings more comfortable and convenient car experience for employees.
By using B/S architecture, springboot framework and MySQL database technology, combined with the current situation of domestic and foreign sales management systems, this paper develops an enterprise vehicle system based on intelligent recommendation. Through the system test, the system design goal is achieved. Compared with manual management, this system effectively reduces the economic input of enterprise vehicle management, and greatly improves the efficiency of enterprise vehicle management.
Key words: enterprise vehicle; springboot; MySQL database
目 录
1 绪 论
1.1研究背景与意义
随着经济的快速发展和企业规模的不断扩大,企业员工的出行需求日益增长,如何高效管理企业用车资源成为一项重要课题。传统的企业用车管理方式存在诸多不便,如车辆分配不均、信息更新滞后、用车效率低下等问题,严重影响了企业的运营效率和员工的满意度。企业车辆的保养、维修和调度等管理工作繁琐复杂,需要消耗大量的人力和物力资源。构建一个智能化、自动化的企业用车管理系统显得尤为迫切。智能推荐技术的引入,能够根据员工的实际需求和历史数据提供个性化的用车建议,从而优化车辆使用率,减少企业成本,提升管理效能。
基于智能推荐的企业用车系统的研究与实现能够通过智能算法为企业员工提供个性化的用车服务,提高员工出行的便捷性和舒适度,增强员工的工作满意度和忠诚度。能够实现企业用车资源的实时监控和动态管理,提高车辆的使用效率和管理水平,降低企业的运营成本。再次,系统的实施有助于推动企业管理现代化进程,通过数字化、智能化手段提升管理效率,符合当下企业发展的趋势。该系统的研究还能为相关领域提供有益的参考和借鉴,如智能交通、智慧城市建设等,具有一定的社会价值和推广前景。
1.2系统研究现状
在国内,基于智能推荐的企业用车系统的研究和应用正在逐步展开。随着大数据、云计算和人工智能技术的迅速发展,越来越多的企业开始探索如何将这些先进技术应用于用车管理中。国内研究者和企业针对用车管理的特点,提出了一系列智能推荐算法,这些算法综合考虑了时间、地点、成本和个人偏好等多个因素,以实现更高效的车辆分配和使用。一些研究还关注于如何通过车联网技术来实现车辆状态的实时监控和维护管理,以及如何利用移动互联网提升员工的用车体验。尽管国内在这一领域的研究取得了一定的进展,但整体上仍处于起步阶段,尤其是智能推荐算法的准确性和系统的实用性还有待进一步提高。
相比之下,国外在基于智能推荐的企业用车系统方面的研究较早,研究成果也较为丰富。许多发达国家的企业已经将智能推荐系统应用于日常的用车管理中,这些系统能够根据复杂的算法模型来优化车辆调度,减少等待时间,并提高整体的用车效率。例如,一些系统可以通过分析历史数据来预测未来的用车需求,从而实现资源的预先调配。国外的研究还涉及到了用车系统的安全性、隐私保护以及可持续发展等问题,这些都是当前研究的热点。由于不同国家和地区的法律法规、文化背景和市场需求存在差异,国外的研究成果并不能完全适用于国内企业的实际情况,因此需要结合国情进行本土化的创新和改进。
1.3 论文主要工作内容
本文设计并实现了一个企业用车系统,主要包括以下具体工作内容:
(1)参考国内外相关系统开展了系统的需求分析,明确了以时间段管理、路线类型管理、员工管理、车辆品牌管理、车辆信息管理、预订用车管理、取车信息管理、用车订单管理、行程路线管理、报销申请管理、实事监测管理、系统管理、我的信息等主要功能需求的系统;
(2)设计系统技术方案,采用JAVA语言,选用MySQL数据库、springboot框架来设计并实现本系统。
(3)具体介绍了各个功能模块的设计与实现。
(4)对系统的主要功能进行了测试,通过测试证明系统是可行的。
2 系统关键技术
2.1 java简介
本套系统的开发环境主要是使用了Java编程语言,Java是作为一种高级面向对象编程语言,不但充分吸取到了C++等编程语言里的几乎所有的优势,还完全摒弃掉了在C++语言里所无法完全理解到的诸如多态继承、指针映射等概念,Java吸收了C++等语言中好的一面,将不好之处,删除替换。取其精华,使得它的功能更加强大,且十分简洁。
Java语言的特点特色十分多,它不仅简单性、健壮,并且可移植性很好,相比其他语言Java语言更加安全和独立,它还具有多线程和动态性的特点。Java语言常用于编写桌面开发,系统的前端设计以及嵌入式开发系统的应用开发等。
2.2 MySQL数据库
数据库系统是一个进行数据存储的系统,数据库就是这个系统的库,用来存放通过系统的数据,数据库在开发人员的日常生活中,占据了很大的地位。因为使用数据可以使自己系统存储数据更加方便、快捷。
MySQL之所以受到广大开发人员的欢迎,主要原因使因为数据库的使用是免费的。最开始的数据库研发出后,是需要收费的,但是随着MySQL的出现和不断更新,越来越多的用户去使用这款软件。首先它是开源且免费的,这样大大减少了开发的成本;第二MySQL可以在多个平台上使用,在MAC、Windows和Linux上都可以使用。其次它的性能也是十分强大的,性价比极高。最后,MySQL相比其他数据库语言来说,更加简单易于上手;可以与很多平台搭建联系,比如本文使用的Java。
2.3 SpringBoot框架
Spring Boot是由Pivotal的开发团队在2013年开发的一个免费、轻量级、开源的系统框架。SpringBoot的主要设计思想是约定大于配置,因此SpringBoot在设计时几乎达到零配置。SpringBoot集成了业界的开源框架。
SpringBoot是一个非常强大的后台框架,因为SpringBoot的开发基本上不需要写配置文件,所以利用SpringBoot来构建网站的后台环境,在SpringBoot的YML配置文件中写项目启动端口,项目就可以启动了。项目的Java和静态文件由SpringBoot管理。
2.4 vue.js技术
Vue.js是一款开源的JavaScript框架,它以数据驱动和组件化的思想让开发者能够轻松构建用户界面。自2014年发布以来,Vue.js凭借其轻量级、高性能和易于上手的特点迅速在前端开发领域获得了广泛的关注和使用。Vue.js的核心是一个响应式的数据绑定系统和一个组件系统,这使得开发者能够高效地创建复杂的单页应用程序。响应式数据绑定允许创建交互式的用户界面,而组件系统则使得代码的复用和管理变得更加容易。此外,Vue.js还提供了计算属性、方法、过滤器和生命周期钩子等功能,以及通过插件支持路由、状态管理和构建工具等。
2.5 协同过滤推荐算法
协同过滤推荐算法是一种基于用户行为数据的推荐方法,它通过分析用户之间的相似度或物品之间的相似度来进行推荐。在协同过滤中,有两种主要的方法:基于用户的协同过滤和基于物品的协同过滤。
基于用户的协同过滤是通过计算用户之间的相似度来找到相似的用户群体,然后根据这些相似用户的行为数据来预测目标用户对物品的兴趣程度。常用的相似度计算方法有欧氏距离、皮尔逊相关系数等。而基于物品的协同过滤则是通过计算物品之间的相似度来找到相似的物品集合,然后根据目标用户的历史行为数据来预测他们对未接触过的物品的兴趣程度。常用的相似度计算方法有余弦相似度、Jaccard相似度等。
协同过滤推荐算法的优点是可以发现用户潜在的兴趣点,提供个性化的推荐服务。然而,它也存在一些挑战,如冷启动问题(新用户或新物品无法获得足够的行为数据)和稀疏性问题(用户行为数据通常非常稀疏)。因此,在实际应用中需要结合其他推荐算法或进行适当的优化处理。
2.6 B/S结构
B/S(Browser/Server,浏览器/服务器)架构是目前软件开发中最常用的软件结构。在很大程度上减轻了客户机的负担,只要安装、配置少量的客户端运行软件在客户机上就可以了,大量的工作将有服务器承担。
B/S系统的最强大的优点是他可以很好地让客户机的工作量被大量的简化掉,而对于客户机来说就可以只配置很少的在客户端上来运行的软件就可以实现了,也就是说这其中的最大部分的工作就会安置在服务器上,由服务器来执行,这样说来服务器的主要的任务就是实现数据库的访问以及应用程序的执行操作。
3 系统分析
3.1 系统可行性分析
企业用车系统主要目标是实现网上的相关信息管理服务。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析。
3.1.1 技术可行性
技术上的可操作性是项目建设顺利进行的一个关键因素,技术措施必须达到要求,方能使项目顺利进行。该方案使用了开放源码的代码,并使用 Java等技术,对软件的设计具有适度的困难和对电脑的硬件需求。所有的语言都很容易使用。该项目具有技术上的可行性。
3.1.2 操作可行性
当今社会,电脑已经是耳熟能详的存在了,绝大部分用户都可以通过电脑轻松操作本系统。由此可知,我们的管理系统对于绝大部分用户来说,操作是完全可行的,并不存在操作上的盲区。
3.1.3 经济可行性
本系统所需要用到的所以的工具都是开源,不收费的,并且本系统因为不具有太过于复杂的结构,用户维护系统的费用也不高。所以,本系统的经济可行性是可行的。
3.1.4 法律可行性
此企业用车系统是自己设计的管理系统,具有很大的实际意义。因为无论是软件还是数据库,采用的都是开源代码,因此这个系统的开发和设计,并不存在侵权等问题,在法律上完全具有可行性。
综上所述,企业用车系统在技术、经济、操作和法律上都具有很高的可行性,开发此程序是可行的。
3.2 系统性能分析
3.2.1 系统安全性
系统安全性关注于保护计算机系统免受不良行为和威胁的影响,可以分为以下几个关键部分:
1.身份验证:确保只有授权用户能够访问系统。这通常涉及用户名和密码、多因素认证等机制,以确保用户的身份得到可靠验证。
2.权限控制:一旦身份被验证,系统需要通过权限控制来限制用户的访问。为每个用户分配不同的权限级别可以保证他们只能访问其角色所需的特定资源或数据。
3.数据加密:对存储或传输中的敏感数据进行加密,以防止未授权访问和数据泄露。使用强加密算法可以确保即使数据被截获,也无法被未授权方读取或篡改。
4.安全审计与更新:定期进行安全审计可以检查系统的漏洞和不一致之处。同时,保持系统的软件和硬件更新是修复已知安全漏洞并提高整体安全性的关键措施。
3.2.2 数据完整性
(1)必须对所有的数据进行详尽的记载,而该信息的内容不得为空白。
(2)各种资料的关联一定要恰当。
(3)在不同的档案中,同一资料资讯应该互相相符。
3.3 系统功能分析
企业用车系统主要有管理员和员工两个功能模块。以下将对这两个功能的作用进行详细的剖析。
管理员模块:管理员是系统中的核心用户,管理员登录后,可以对后台系统进行管理。主要功能有时间段管理、路线类型管理、员工管理、车辆品牌管理、车辆信息管理、预订用车管理、取车信息管理、用车订单管理、行程路线管理、报销申请管理、实事监测管理、系统管理、我的信息等功能。管理员用例如图3-1所示。
图3-1 管理员用例图
员工:员工进入系统前台可以查看到首页、车辆信息、行程路线、公告信息、个人中心等详细信息,点击个人中心可以对个人中心、修改密码、预订用车、取车信息、用车订单、报销申请、我的收藏等进行操作。员工用例如图3-2所示。
图3-2 员工用例图
3.4 系统流程分析
3.4.1 数据开发流程
企业用车系统开发时,首先对此系统进行需求分析,进而对系统进行模块、编码等详细设计总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图3-3所示
图3-3系统开发流程图
3.4.2 用户登录流程
要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。如图3-4所示。
图3-4登录流程图
3.4.3 系统操作流程
用户登录系统时需要输入正确的用户名和密码,数据库在进行匹配核实后匹配结果正确才能进入系统,若错误则提示用户名或密码错误,即无法登录。操作流程如图3-5所示。
图3-5系统操作流程图
3.4.4 添加信息流程
管理员可以添加信息,用户添加可以自己权限内的信息,输入信息后,要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。添加信息流程如图3-6所示。
图3-6添加信息流程图
3.4.5 修改信息流程
管理员可以修改企业用车管理信息,用户可以修改自己权限内的信息,首先进入修改信息界面,输入需要修改信息,在系统进行判定为正确和合规后修改成功,并将数据更新至数据库。信息不合法则修改失败,重新输入。修改信息流程图如图3-7所示。
图3-7 修改信息流程图
3.4.6 删除信息流程
管理员可以删除企业用车信息,点击删除按钮,系统会提示是否删除信息,点击确定,则信息被删除,数据库中的信息随之删除,删除信息流程图如图3-8所示。
图3-8 删除信息流程图
4 系统设计
4.1 系统概要
在对该方法进行了系统的解析之后,进行了一个包括了整体和细节的记性系统的设计。整体的设计仅仅是一个整体的方案,通过整体的方案,我们可以将整个体系中的某些部分分割开来,比如文件,文档,数据等等。经过整体的规划,我们可以将这些软件的各个部分,都分成了不同的部分。不过这仅仅是一种初步的分类,并未实际实施。
总体来说,这是一个初步的方案,也是一个工程。我们可以进行多种方案的综合,在比较中,从性能、成本、效益三方面进行比较,最后得出最佳的产品,选用好的总体设计能够减少成本,提高企业效益,从这一点来讲,整体设计非常重要的。企业用车系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2 系统结构设计
架构图是系统的体系结构,体系结构是体系结构体系的重要组成部分。企业用车系统的总体结构设计如图4-2所示。
图4-2 系统总体架构图
4.3数据库设计
在电脑资讯系统中,以资料库为基础。当前计算机体系中最重要的是数据库。数据库的发展好坏,直接关系到整个系统的性能与运行效率。
4.3.1 数据库设计原则
利用 ER模式进行数据库的概念结构设计。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是一个关于工作环境中的事件的信息,而一个属性是关于物理特征的说明。在系统的设计过程中,资料库发挥了关键作用。下面设计出这几个关键实体的实体—关系图。
4.3.2 数据库实体
在一个资料模式中,一个被称作“实例”的实体,与真实的“事件”或者“物体”相匹配,可以与其它物体区分开来。例如,公司中的每个员工,家里中的每个家具。系统ER如图4-3所示:
图4-3系统E-R图
4.3.3 数据库表设计
企业用车系统有一个内部数据库。对于数据库系统设计一般基于对我国现有企业数据库系统进行优化管理的操作系统。通常广泛采用的企业数据库资源管理软件系统主要类型包括mysqlserver、mysql、oracle等。该管理系统主要采用了mysql大型数据库资源管理软件。
下表将详细列出企业用车系统的数据库中所有列表。每一份量表的设计成果列出数据库的表信息属于设计的一部分,下面介绍数据库中的各个表的详细信息。
表4-1:车辆品牌
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
cheliangpinpai | varchar | 200 | 车辆品牌 |
表4-2:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-3:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-4:报销申请
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
cheliangmingcheng | varchar | 200 | 车辆名称 | ||
cheliangpinpai | varchar | 200 | 车辆品牌 | ||
zongjine | double | 总金额 | |||
chepaihao | varchar | 200 | 车牌号 | ||
tupian | longtext | 4294967295 | 图片 | ||
shenqingshijian | date | 申请时间 | |||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-5:实事监测
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jiancebianhao | varchar | 200 | 监测编号 | ||
cheliangmingcheng | varchar | 200 | 车辆名称 | ||
cheliangpinpai | varchar | 200 | 车辆品牌 | ||
cheliangzhuangkuang | varchar | 200 | 车辆状况 | ||
tupian | longtext | 4294967295 | 图片 | ||
chepaihao | varchar | 200 | 车牌号 | ||
jianceshijian | datetime | 监测时间 | |||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 |
表4-6:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-7:时间段
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shijianduan | varchar | 200 | 时间段 |
表4-8:取车信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shenqingbianhao | varchar | 200 | 申请编号 | ||
cheliangmingcheng | varchar | 200 | 车辆名称 | ||
cheliangpinpai | varchar | 200 | 车辆品牌 | ||
jiage | varchar | 200 | 价格 | ||
tupian | longtext | 4294967295 | 图片 | ||
chepaihao | varchar | 200 | 车牌号 | ||
qucheshijian | datetime | 取车时间 | |||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 |
表4-9:公告信息分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
typename | varchar | 200 | 分类名称 |
表4-10:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
typename | varchar | 200 | 分类名称 | ||
name | varchar | 200 | 发布人 | ||
headportrait | longtext | 4294967295 | 头像 | ||
clicknum | int | 点击次数 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
storeupnum | int | 收藏数 | 0 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-11:预订用车
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yudingbianhao | varchar | 200 | 预订编号 | ||
cheliangmingcheng | varchar | 200 | 车辆名称 | ||
cheliangpinpai | varchar | 200 | 车辆品牌 | ||
yongtu | longtext | 4294967295 | 用途 | ||
jiage | int | 价格 | |||
tupian | longtext | 4294967295 | 图片 | ||
chepaihao | varchar | 200 | 车牌号 | ||
chufadidian | varchar | 200 | 出发地点 | ||
mudedi | varchar | 200 | 目的地 | ||
yongcheriqi | date | 用车日期 | |||
shijianduan | varchar | 200 | 时间段 | ||
yudingshijian | date | 预订时间 | |||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-12:路线类型
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
luxianleixing | varchar | 200 | 路线类型 |
表4-13:员工
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
mima | varchar | 200 | 密码 | ||
xingbie | varchar | 200 | 性别 | ||
touxiang | longtext | 4294967295 | 头像 | ||
dianhuahaoma | varchar | 200 | 电话号码 |
表4-14:车辆信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-15:用车订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shenqingbianhao | varchar | 200 | 申请编号 | ||
cheliangmingcheng | varchar | 200 | 车辆名称 | ||
cheliangpinpai | varchar | 200 | 车辆品牌 | ||
jiage | int | 价格 | |||
shizhang | double | 时长 | |||
zongjine | double | 总金额 | |||
chepaihao | varchar | 200 | 车牌号 | ||
tupian | longtext | 4294967295 | 图片 | ||
zhuangtai | varchar | 200 | 状态 | ||
qucheshijian | varchar | 200 | 取车时间 | ||
haicheshijian | datetime | 还车时间 | |||
yuangonggonghao | varchar | 200 | 员工工号 | ||
yuangongxingming | varchar | 200 | 员工姓名 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-16:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-17:行程路线
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
luxianmingcheng | varchar | 200 | 路线名称 | ||
luxianleixing | varchar | 200 | 路线类型 | ||
tupian | longtext | 4294967295 | 图片 | ||
chufadian | varchar | 200 | 出发点 | ||
mudedi | varchar | 200 | 目的地 | ||
tujingdidian | varchar | 200 | 途径地点 | ||
luxianxiangqing | longtext | 4294967295 | 路线详情 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-18:车辆信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
cheliangmingcheng | varchar | 200 | 车辆名称 | ||
cheliangpinpai | varchar | 200 | 车辆品牌 | ||
tupian | longtext | 4294967295 | 图片 | ||
xinghao | varchar | 200 | 型号 | ||
jiage | int | 价格/小时 | |||
lichengshu | varchar | 200 | 里程数 | ||
shiyongxuzhi | longtext | 4294967295 | 使用须知 | ||
chepaihao | varchar | 200 | 车牌号 | ||
cheliangxiangqing | longtext | 4294967295 | 车辆详情 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 0 | |||
discussnum | int | 评论数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-19:系统简介
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-20:管理员表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
4.4 系统时序图
对于系统设计的详细描述主要采用了时序图的方式,时序图描述了对象之间传递消息的时间顺序, 用来表示用例中的行为顺序, 是强调消息时间顺序的交互图; 时序图描述的事物: 时序图描述系统中类和类之间的交互, 将这些交互建模成消息交换, 时序图描述了类以及类之间的交换以完成的期望行为的消息, 时序图中每条消息都代表了类的一个操作或者引起状态机改变的触发事件。
4.4.1 注册时序图
注册时序图,如图4-4所示。
图4-4注册时序图
4.4.2 登录时序图
登录时序图如图4-5所示。
图4-5 登录时序图
4.4.3 管理员修改用户信息时序图
管理员修改用户信息时序图如图4-6所示。
图4-6 管理员修改用户信息时序图
4.4.4 管理员管理系统信息时序图
管理员管理系统信息时序图如图4-7所示。
图4-7管理员管理系统信息时序图
5 系统的实现
5.1前台功能实现
5.1.1系统首页页面
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过导航条导航进入各功能展示页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:
图5-2系统注册页面
车辆信息:在车辆信息页面的输入栏中输入车辆名称进行查询,可以查看到车辆详细信息,并进行预定、评论或收藏操作;车辆信息页面如图5-3所示:
图5-3车辆信息详细页面
行程路线:在行程路线页面的输入栏中输入路线名称进行查询,可以查看到行程路线详细信息,并进行收藏操作;行程路线页面如图5-4所示:
图5-4行程路线详细页面
5.1.2个人中心
个人中心:在个人中心页面可以对个人中心、修改密码、预订用车、取车信息、用车订单、报销申请、我的收藏进行详细操作;如图5-5所示:
图5-5个人中心界面
5.2管理员功能实现
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。管理员登录界面图5-6所示。
图5-6 管理员登录界面
管理员进入主页面,主要功能包括对时间段管理、路线类型管理、员工管理、车辆品牌管理、车辆信息管理、预订用车管理、取车信息管理、用车订单管理、行程路线管理、报销申请管理、实事监测管理、系统管理、我的信息等进行操作。管理员主页面如图5-7所示:
图5-7管理员主界面
员工功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写员工表单。这些员工表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如详情、修改或删除员工信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便员工功能可以看到最新的信息或相应的操作反馈。员工界面如图5-8所示:
图5-8员工界面
车辆信息功能在视图层(view层)进行交互,比如点击“搜索、新增或删除”按钮或填写车辆信息表单。这些车辆信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如详情、修改、查看评论或删除车辆信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便车辆信息功能可以看到最新的信息或相应的操作反馈。热门外卖界面如图5-9所示:
图5-9车辆信息界面
管理员点击预订用车管理,在预订用车页面输入车辆名称和选择是否通过进行搜索、删除或审核预订用车列表,并根据需要对预订用车详情信息进行详情、修改或删除操作;如图5-10所示:
图5-10预订用车管理界面
管理员点击行程路线管理,在行程路线页面输入路线名称和选择路线类型进行搜索、新增或删除行程路线列表,并根据需要对行程路线详情信息进行详情、修改或删除操作;如图5-11所示:
图5-11行程路线管理界面
管理员点击系统管理,在公告信息页面输入标题进行搜索、新增或删除公告信息列表,并根据需要对公告详情信息进行详情、修改或删除操作;如图5-12所示:
图5-12系统管理界面
6 系统测试
6.1 测试环境
企业用车系统的测试环境如表6-1所示。
分类 | 名称 | 版本 |
操作系统 | Windows | 7 |
数据库 | MySQL | 8.0 |
浏览器 | Chrome | 87.0.4280.88 |
6.2 测试目的
进行软件测试主要是为了验证产品或者系统是否完成了实现功能,测试能够防止系统出现错误,还能降低开发成本减少不必要的花销,其次测试的好处包括防止错误、降低开发成本和提高性能。其次,通过软件的检测可以对项目的安全性进行鉴别。向开发人员提供软件测试的反馈,并为项目的安全性评价提供必要的资料。此外,软件的检测保证在正式发布之前能够满足在线要求。在每一个开发过程中不断跟踪和对软件的测试。还有,软件测试还能保证系统到达预期的标准,从而能够尽快上线。
在本系统中,主要测试前端和后端,分别对系统的不同模块进行测试,比如用户注册、用户登录等功能是否实现,实现过程中是否出现问题等。是否能够处理不同的数据。前端主要测试:用户界面的实现和不同界面的交互情况,后端主要测试系统经过管理后前后端链接是否顺畅,前端界面是否及时更新,更新是有误。
6.3 测试概述
(1)测试应该以顾客的需要为基础。从用户的观点来考虑,最大的问题是软件不能达到用户的预期。有时候,软件产品的测试结果非常完美,但却不是客户最终想要的产品,那么软件产品的开发就是失败的,而测试工作也是没有任何意义的。因此测试应依照客户的需求配置环境,并且按照客户的使用习惯进行测试并评价结果。
(2)尽早测试。由于软件开发过程中的各种不同的环节都会出现问题,所以要及早进行测试,将软件的检测工作渗透到整个软件的整个寿命过程,使测试者可以及早地察觉并防止这些缺陷。减少了 bug修理费用。
(3)穷尽测试是不可能的。因为受时间和财力的制约,无法实现所有不同的输入和输出的综合测试,测试者能够基于测试的风险和轻重缓急等来决定测试的重点,由此来进行测试,并在测试成本、风险和收益间找到一个平衡点。
(4)遵循GoodEnough原则。GoodEnough原则是指测试的投入与产出要适当权衡,形成充分的质量评估过程,这个过程建立在测试花费的代价之上。测试不充分无法保证软件产品的质量,但测试投入过多会造成资源的浪费。随着测试资源投入的增加,测试的产出也是增加的,但当投入达到饱和时,测试的效果也逐渐达到饱和。
(5)测试缺陷要符合“二八”定理。缺陷“二八”理论又名 Pareto原理、缺陷集群效应,通常80%的缺陷都会出现在20%的组件上,缺陷的分配并不均匀。所以在测试中要把握好问题的关键,当发现一些问题较多的时候,就需要花更多的时间和精力来测试它们,以增加测试的效果。
(6)避免缺陷免疫:我们都了解昆虫耐药的原则,也就是长期服用某种药品后,昆虫会对其有抵抗力。而在软件测试中,缺陷也是会产生免疫性的。重复地重复同一个测试案例,找出 bug的机会就会变得更糟;对于软件来说,越是熟练的测试员,就越是忽视那些看似很微小的问题,越是难以找到错误,而这就是所谓的“杀虫剂”效应。这是因为测试者不能按时进行测试案例的升级,也可能是因为他们太了解测试案例和目标而导致的。
2.测试的方法
测试方法主要有人工测试和机器测试两种测试方法。
(1)人工测试
人工测试又称代码复审,包括个人复查、走查、会审三种方法。
(2)机器测试
计算机检测有两种方式:黑盒测试和白盒测试。黑盒测试:从外观上找出它的缺点和错误。黑盒测试是在编程接口上进行的,它仅仅是为了检验样品的执行情况,而不是根据要求规范的要求进行;白盒测试:对软件的内在构造进行了剖析,即在编程接口上进行了试验,其目的仅仅在于检验样品的执行情况,而不能满足要求规范的要求,检测来寻找问题。
在最终的检测中,本研究采取了将后黑盒子检测与白盒子检测相融合的方式。黑箱试验是为了对系统的输入、输出性能进行测试,以发现其性能上的误差和潜在的不足。白箱试验的目的是为了检测程序和程序的运行路线,从而找出运行中的问题。该系统有两种方式:单位试验和综合试验。
6.4 单元测试
6.4.1 注册测试
在对登录模块进行测试时,先键入登录名称和密码,再按下登录键测试是否能正常登录系统。如果信息填写错误,能否弹出弹框,用来提示用户何处输入错误。
注册测试用例如下表所示。
表6-2注册测试用例
测试模块 | 用户注册模块测试 |
测试目的 | 测试当注册信息输入不符合要求时,系统是否能进行相应处理并给出提示。 |
测试方法 | 黑盒测试 |
测试数据 | 1不输入用户名和密码,直接点击注册。 2输入未注册过的用户名。例如:qwer 3输入正确用户名,两次密码不一样。例如:用户名qwerty、密码 0001,确认密码1111 |
预期结果 | 1 界面不跳转,弹出对话框,提示用户输入必填项。 2界面跳转,弹出对话框,提示用户注册成功。 3界面不跳转,弹出对话框,提示两次密码不一致。 |
实际结果 | 与预期结果相同。 |
结论 | 注册模块实现成功。 |
6.4.2 登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮,如果信息添加正确,是否正常进入系统首页。如果信息填写错误,能否弹出弹框,提示用户信息输入有误。登录测试用例如下表所示。
6.5 集成测试
集成测试的方案主要如下所述:
(1)在完成安装部署后,将该系统移植到其他电脑,并可以顺利地运行该系统。
(2)用户信息管理模块综合测试,新增一个新的使用者 qq,指定一个普通的 角色,查看普通角色的特权,并储存设定。作为 qq登录,以了解所具有的权利。
(3)根据企业用车系统的具体设计和实施,采用多种角色的方式,对各个模块的性能进行检测,并检测各个模块之间的逻辑功是否正确。
通过实验证明,该开发的系统能够满足企业用车管理程序和基础需求。
企业用车系统是一款公平、包容、易操作的系统,基本上能满足使用者的需求,也符合本人的初始发展目的与发展方向。本文主要研究了 Java语言和MySQL等技术时的应用,它们都具有自己的优势,使其在实际应用中可以实现功能的稳定,同时也可以实现用户的各种需要。在具体的系统要求和功能模块的具体分析之后,进行了有针对性的设计,最终经过了测试,使整个系统可以正常工作,该企业用车系统设计完成。
在这个企业用车管理的过程中,我参照了许多有关的案例,互相学习,互相借鉴。目前已逐渐改进,但仍存在许多缺陷,需要今后继续研究。在设计过程中我遇到了很多困难,包括知识上和技术上,同时由于长时间没有进行独立开发工作,编码熟练度有了明显的下降,一些常用的函数和编码技巧也变得生疏,但好在我及时做出了学习,查阅各种资料,进行广泛的钻研,多做请教,依靠互联网和书籍不断吸取知识,完善自己,最终在师生的协助下,成功完成了该系统。
我认为此系统还是有很多优点的,首先系统结构清晰,易于理解。设计合理,符合用户习惯和人机交互要求,能给用户带来很好的使用体验。代码简洁,注释全面,易于后期的管理和维护,代码健壮,鲁棒性高,适合高并发和大用户量使用。但同时,也存在部分内容设计不合理,有待改进的情况,我会不断学习。
[1]杨芬, 宋晓燕. MySQL数据库应用的课程教学分析 [J]. 电子技术, 2023, 52 (10): 180-181.
[2]杨华, 徐扬. MySQL数据库对中文编码支持的探讨 [J]. 网络安全和信息化, 2023, (10): 157-160.
[3]尹应荆. JAVA编程语言在计算机软件开发中的应用 [J]. 石河子科技, 2023, (05): 45-47.
[4]程小红. 基于Java程序设计语言中一维数组的应用 [J]. 数字技术与应用, 2023, 41 (08): 31-34.
[5]王平泉, 逯小青. Java抽象类与接口课程案例的教学设计 [J]. 集成电路应用, 2023, 40 (07): 68-69.
[6] 单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术.2021,17(30)
[7]熊斐. 基于OBE理念的“Java语言程序设计”课程教学改革研究 [J]. 科技风, 2023, (15): 109-111.
[8]朱金波. Java编程语言在计算机软件开发中的应用优势分析 [J]. 信息记录材料, 2023, 24 (05): 68-70.
[9刘敏. 一个在线Java语言教学系统的设计与实现 [J]. 电脑知识与技术, 2023, 19 (05): 48-51+59.
[10]张一鸣. 基于Java语言的基础编程平台设计 [J]. 集成电路应用, 2023, 40 (02): 254-255.
[11]李华. Java软件开发问题分析 [J]. 电子技术与软件工程, 2023, (02): 43-46.
[12]索红升. 基于Java的电子商务平台的设计与开发 [J]. 软件, 2022, 43 (11): 138-140.
[13]Anirban Ghoshal. Oracle’s MySQL HeatWave gets Vector Store, generative AI features [J]. InfoWorld.com, 2023,
[14]Gopi Karthik, Mazumder Debashish, Crawford Jagoda, Gadd Patricia, Tadros Carol V, Atanacio Armand, Saintilan Neil, Sammut Jesmond. Developing a MySQL Database for the Provenance of Black Tiger Prawns (Penaeus monodon). [J]. Foods (Basel, Switzerland), 2023, 12 (14):
[15]Gao Yuan, Yan Ximu. Data analysis framework of tourism enterprise human resource management system based on MySQL and fuzzy clustering [J]. International Journal of System Assurance Engineering and Management, 2023, 14 (5):
时光是这个世界上最快而又最慢,最长而又最短,最平凡而又最珍贵,最容易被忽略又最令人难忘的东西,回望大学三载,可谓白驹过隙,匆匆而已。
然而,时光虽逝,宝贵的情谊却是永恒的,在这三年的光阴里,我最想感谢的就是我的家人、老师以及同窗。寸草之心,难报三春之晖,感谢我的家人,不辞辛劳,让我在求学期间,能够心无旁鹜,不为世俗所扰;天涯有尽,师恩无穷,感谢我的恩师,他温文尔雅、学识渊博让我领略到了何谓学者风范,他乐观、豁达让我体会到了广阔的胸襟与格局,尤其要感谢他在我论文撰写期间的辛勤付出,无论他工作多忙,都会给予我细致耐心地指导;山水一程,三生有幸,感谢法我的兄弟姐妹们,你们的每一次鼓励与帮助都让我倍感温暖。
最后,借此机会,祝愿身边遇到的每一位:万般熙攘化清风朗月,四方梦想皆如愿以偿。