基于SpringBoot的汽车推荐系统设计与实现 -附源码

摘   要

21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,信息管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。

论文主要是对汽车推荐系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对汽车推荐系统进行了一些具体测试。本文以Java为开发技术,采用了B/S的结构,同时,也使用java技术在动态页面上进行了设计,后台上采用Mysql数据库,实现了一个基于SpringBoot的汽车推荐系统。汽车销售网站的主要使用者分为管理员和用户;实现了本系统的主要功能模块包括用户管理、VIP用户管理、汽车推荐管理、汽车故事管理、汽车折扣管理、留言发贴、系统管理等功能。通过这些功能模块的设计,基本上实现了整个汽车信息推荐管理的过程。

关键词:汽车推荐管理;Springboot框架;MySQL数据库

Design and Implementation of a SpringBoot Based Automotive Recommendation System

Abstract

Today in the 21st century, with the continuous development and progress of society, people's understanding of the scientific nature of information has developed from a low level to a high level, and the importance of information management work has gradually been recognized by people. Scientific management enables information storage to achieve accuracy, speed, and perfection, and can improve work management efficiency and promote its development.

The paper mainly introduces the automotive recommendation system, including the current research status and the development background involved. It also discusses the design objectives of the system, the system requirements, and the entire design scheme. The design and implementation of the system are also discussed in detail. Finally, some specific tests are conducted on the automotive recommendation system. This article uses Java as the development technology and adopts a B/S structure. At the same time, it also uses Java technology to design on dynamic pages, and uses MySQL database in the background to implement a SpringBoot based car recommendation system. The main users of automotive sales websites are divided into administrators and users; The main functional modules of this system have been implemented, including user management, VIP user management, car recommendation management, car story management, car discount management, message posting, system management, and other functions. Through the design of these functional modules, the entire process of automotive information recommendation management has been basically achieved.

Key words: Car recommendation information management; Springboot framework; MySQL database

目  录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

1.3 本文的组织结构

第2章 相关技术介绍

2.1 Java语言与JDK开发环境

2.2 B/S结构

2.3 Springboot框架

2.4 MySQL数据库

第3章 系统分析

3.1 可行性分析

3.2 系统流程分析

3.2.1 系统开发流程

3.2.2 用户登录流程

3.2.3 系统操作流程

3.2.4 添加信息流程

3.2.5 修改信息流程

3.2.6 删除信息流程

3.3 系统用例分析

3.4 非功能需求分析

3.5 数据流程分析

第4章 系统设计

4.1 系统架构设计

图4-1 系统架构

4.2 系统功能结构

4.3 功能模块设计

4.4 数据库设计

4.4.1 概念模型

4.4.2 关系模型

4.4.3 数据表

第5章 系统实现

5.1 注册模块的实现

5.2 登录模块的实现

5.3 系统首页管理模块的实现

5.4 用户子系统模块的实现

5.4.1 个人信息模块

5.4.2 汽车推荐模块

5.4.3 汽车故事模块

5.4.4 评论模块

5.4.5 留言发贴模块

5.5 管理员子系统模块的实现

5.5.1 用户管理模块

5.5.2 个人资料管理模块

5.5.3 汽车推荐管理模块

5.5.4 汽车故事管理模块

5.5.5 汽车折扣管理模块

第6章 系统测试

6.1 测试目的

6.2 测试过程

6.3 测试结果

第7章 总结与展望

参考文献

致谢

第1章 绪论

1.1 研究背景与意义

随着我国国民经济的不断发展,人们对生活的质量要求也越来越高,许多的家庭购买了汽车,人民对汽车的需求逐年提高。传统的汽车营销模式已经不再适应当前汽车品牌的发展需求,无法对客户的信息和汽车的信息进行综合的管理,非常不方便,也无法为用户在众多汽车品牌型号中筛选出自己喜欢的汽车品牌,统计分析有效的信息。

我国汽车工业的快速发展,汽车行业面临的竞争也在逐渐的增强,采用信息化的手段来改变当前汽车品牌被动的销售局面和复杂的信息管理方式,同时为客户购车提供更方便快捷的汽车信息筛选已经成为当前汽车品牌不断探索和努力的方向。在这种背景下采用计算机的手段来开发一种汽车推荐系统,集数据采集、数据处理、数据存储、数据输入、数据挖掘于一体的汽车推荐系统能够很好的解决当前用户购车所面临的问题。

面对信息化时代的来临与用户的发展改革和转型升级,汽车推荐系统越来越正规化、科学化。使用计算机对一些信息管理,具有众多优点,可靠性高、存储量大、保密性好、寿命长、成本低等。因此开发一套汽车推荐系统是很有必要的事情,它将成为用户购车不可缺少的一部分。在日常使用过程中,计算机系统提供的方便,使得操作人员提高工作效率,并使人力资源得以更有效配置,从而提高汽车推荐信息日常管理水平,也让汽车品牌内部更好提高工作效率。

1.2 开发现状

随着计算机网络的不断渗透,人们的生活与工作、学习的方式也在慢慢发生变化。传统的用户相关信息管理方式一般都采取人工的方式,信息的获取、整理、修改、存储等工作还停留在人工阶段。这种方式一方面需要花费大量的人力、物力和金钱,交互起来比较困难,而且会浪费时间;另一方面对用户等信息的管理,特别是随着用户数量的递增,查询、修改起来特别困难;最后由于用户等其他信息的不断增加,信息的存储也成为了难题。

目前我国企业的发展逐步走向决策型的发展模式,对于汽车推荐系统来说,如何在现代化经济条件下适应决策型汽车推荐系统,将作为企业未来发展一个重要方向。我国的决策型汽车推荐系统研究,仍然处于低级阶段,但是对于决策型管理信息系统的研究在未来的发展过程中将会有一个比较大的创新与突破。大部分的黑客会攻击安装不适当和配置不正确的服务器,因此,此类服务器往往存在着许多安全漏洞,汽车销售统计分析的建立是为了实现企业内部管理各个系统的数据交换与共享,因此,系统的安全性尤为重要,为了防止汽车销售数据被竞争对手获取,或者被黑客恶意篡改和破坏,财务软件需要具备一定的安全性。财务软件需要保证系统架构硬件平台具备一定安全性,在网络操作过程中以及自身应用程序中需要具备一定的安全性。

一些发达国家,网络发展比较快,已经很大程度上完成了从人工到计算机管理的转变。我国计算机应用起步比较晚,而且发展区域不平衡,还有很多地区或单位使用传统的方式进行管理,但是目前计算机发展较快,包括网络也已经普及,很多单位和用户也开始慢慢接触网络管理系统。纵观这些系统主要有以下几个特点:

(1)先进性:实现网络化管理。

(2)通用性:同一行业基本都能使用。

(3)方便性:通过网络就能完成管理工作。

(4)及时性:信息更新及时。

(5)可扩展性:可根据需要进行模块的增加。

(6)安全性:对单位、用户等信息进行加密。

截至如今,互联网已经深入人们的生活,智能手机、笔记本电脑等已经是人们获取信息的主要工具,这是一个沟通无限的时代,因此,利用网络来进行汽车信息推荐的管理也成为大势所趋,所以,开发一个汽车推荐系统是必须的。

1.3 本文的组织结构

第一章是绪论,本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。

第二章研究了汽车推荐系统的所采用的开发技术和开发工具。

第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章是系统的具体实现,介绍系统的各个模块的具体实现。

第六章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望。

第2章 相关技术介绍

3.1 Java语言与JDK开发环境 

Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群[1]。

JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行[2]。

2.2 B/S结构

基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行[5]。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户[3]。

在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互[4]。

2.3 Springboot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。

2.4 MySQL数据库

MySQL经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷[8][9]。

针对本文中设计的汽车推荐系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在用户的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对汽车推荐系统后台数据进行存储操作[10][11]。

数据库管理系统的总体结构图如下图所示。

图2-1 数据库组成结构

第3章 系统分析

3.1 可行性分析

所谓系统分析就是,需求人员通过与客户的沟通,所获取的信息,然后把这些信息通过需求说明书的方式展示给用户和开发人员。在软件功能发展的历史长河中,很长时间,特别是最开始的时候,需求分析的重要性并不被人们所认同,例如当时美国IBM公司为英国电信公司开发一套信息管理系统,在需求不明确的情况下开始开发,最初的工期为一年,由于需求获取不清晰导致工期推迟了半年多,造成巨大损失。我们很多软件公司也存在这种情况,边需求,边开发,甚至与客户没有沟通清楚的情况下,直接照搬同类型的项目进行更改,导致到系统验收的时候,重新更改,造成了人力、物力的极大浪费。而导致这一切后果的原因就是需求获取不及时、不清楚、不全面。

技术性方面,采用当前主流的SpringBoot框架进行系统主体框架的搭建,前台使用Java技术,实现前台页面的设计与美观调整,以上技术,均由本人经过系统学习,并且都是在课程设计中实践过的,可以使得开发更加便捷和系统。从技术角度看,这个系统是完全可以实现的。

实用性方面,本次设计的主要任务是在汽车推荐系统内实现用户管理、VIP用户管理、汽车推荐管理、汽车故事管理、汽车折扣管理、留言发贴、系统管理等,符合当前潮流的发展。从用户角度出发,同时也考虑系统运营成本和人力资源,采用网络上的便捷方式,实现线上业务,使得业务流程更系统,也更方便用户的体验,比较实用。

经济性方面,由于本课题中设计的汽车推荐系统的主要目的是为了能够更加方便及快捷的进行信息的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个汽车推荐系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。

3.2 系统流程分析

3.2.1 系统开发流程

汽车销售网站开发时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如下图所示。

图3-1系统开发流程图

3.2.2 用户登录流程

为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如下图所示。

图3-2 登录流程图

3.2.3 系统操作流程

用户打开并进入系统后,会先显示登录界面,输入正确的用户名和密码,系统自动检测信息,若信息无误,则用户会进入系统功能界面,进行操作,否则会提示错误无法登录,操作流程如下图所示。

图3-3 系统操作流程图

3.2.4  添加信息流程

管理员可以对销售信息等进行信息的添加,用户也可以对自己权限内的信息进行添加,输入信息后,系统会自行验证输入的信息和数据,若信息正确,会将其添加到数据库内,若信息有误,则会提示重新输入信息,添加信息流程如下图所示。

图3-4 添加信息流程图

3.2.5 修改信息流程

管理员可以对销售信息等进行的修改,用户也可以对自己权限内的信息进行修改,首先进入修改信息界面,输入修改信息数据,系统进行数据的判断验证,修改信息合法则修改成功,信息更新至数据库,信息不合法则修改失败,重新输入。修改信息流程图如下图所示。

图3-5 修改信息流程图

3.2.6 删除信息流程

管理员可以对销售信息等进行信息的删除,对要删除的信息进行选中后,点击删除按钮,系统会询问是否确定,若点击确定,则系统会删除掉选中的信息,并在数据库内对信息进行删除,删除信息流程图如下图所示。

图3-6 删除信息流程图

3.3 系统用例分析

汽车推荐系统的功能主要分为前台用户根据自己的需求进行注册登录,浏览汽车推荐信息和汽车故事并对其信息进行评论、收藏等操作。后台系统分为VIP用户和管理员VIP用户主要对汽车推荐信息和汽车故事进行发布、维护操作;管理员主要对用户管理、VIP用户管理、汽车推荐管理、汽车故事管理、汽车折扣管理、留言发贴、系统管理进行处理。

用户用例图如下所示。

图3-7 用户用例图

VIP用户用例图如下所示。

图3-8 VIP用户用例图

管理员用例图如下所示。

图3-9 管理员用例图

汽车推荐系统在对需求做解析后,整个系统主要分为三个部分:用户、管理员和VIP用户,每个模块下的分支功能不一样。对功能做出如下说明:

用户模块:

账号登录认证。

管理个人资料信息,修改可修改的信息项。

查看汽车推荐信息,点击收藏、评论。

查看汽车故事,点击收藏、评论。

查看汽车折扣信息。

留言发贴,发布论坛交流帖子。

VIP用户模块:

账号登录认证。

管理个人资料信息,修改可修改的信息项。

发布汽车推荐信息,并可以销毁某个汽车推荐信息,更新汽车推荐信息数据,模糊搜索汽车推荐信息数据等。

发布汽车故事信息,并可以销毁某个汽车故事信息,更新汽车故事信息数据,模糊搜索汽车故事信息数据等。

管理员模块:

维护用户,审核用户的账号,可以冻结用户的登录权限,或者删除用户账号。

维护汽车推荐信息。

维护汽车故事信息数据。

发布汽车折扣信息,并可以销毁某个汽车折扣信息,更新汽车折扣信息数据,模糊搜索汽车折扣信息数据等。

发布新闻资讯,并可以销毁某个新闻资讯信息,更新新闻资讯信息数据,模糊搜索新闻资讯信息数据等。

管理留言发贴数据。

3.4 非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

3.5 数据流程分析

一层数据流程图包括了登录注册、用户功能和检索维护等模块,在登录注册模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。

系统的一层数据流图如下图所示。

图3-10系统数据流图(一层)

二层数据流程是对一层数据流层图中填写登录注册信息、用户功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户功能细化为汽车推荐、汽车故事、汽车折扣、留言发贴、新闻资讯、个人中心等操作。

系统的二层数据流图如下图所示。

图3-11系统数据流图(二层)

第4章 系统设计

4.1 系统架构设计

本汽车推荐系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构如下图所示。

图4-1 系统架构

4.2 系统功能结构

系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:个人中心、用户管理、VIP用户管理、汽车推荐管理、汽车故事管理、汽车折扣管理、留言发贴、轮播图管理、新闻资讯。

系统功能结构图如下图所示。

图4-2系统功能结构图

4.3 功能模块设计

用户管理模块

该模块是为所有用户登录设计的,如普通用户登录后只能进行自己的普通功能操作(如个人信息修改),管理员和超级管理员登录后有不同的权限,管理员不能超越权限。超级管理员能对整个系统的数据进行管理,主要是用户的登录权限以及用户登录后在系统里的操作权限。

汽车推荐信息模块

VIP用户来录入汽车推荐信息数据,点击汽车推荐信息录入按钮,依次填写要录入的汽车推荐信息数据,点击提交按钮,将数据提交至数据库,然后刷新汽车推荐信息数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。

汽车故事信息模块

VIP用户来录入汽车故事信息数据,点击汽车故事录入按钮,依次填写要录入的汽车故事信息数据,点击提交按钮,将数据提交至数据库,然后刷新汽车故事信息数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能

汽车折扣模块

管理员来录入汽车折扣数据,点击汽车折扣录入按钮,依次填写要录入的汽车折扣数据,点击提交按钮,将数据提交至数据库,然后刷新汽车折扣数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。

新闻资讯维护模块

管理员点击新闻资讯管理菜单,点击新闻资讯添加子菜单,添加资讯数据,填写标题、内容、类别、图片,提交成功后,新闻资讯数据页面刷新,新数据成功载入页面。

4.4 数据库设计

4.4.1 概念模型

对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在汽车推荐系统中存在着多个实体分别是用户、管理员、VIP用户、汽车推荐、汽车故事、汽车折扣。

系统总体ER图如下图所示。

图4-3系统总体ER图

4.4.2 关系模型

管理员(管理员id、用户名、密码、权限)

普通用户(普通用户id、账号、密码、姓名、性别、地区、手机、Email、照片)

VIP用户(VIP用户id、账号、密码、姓名、性别、地区、手机、Email、照片)

资讯数据(资讯id、标题、类别、首页图片、点击率、发布人)

汽车推荐信息(汽车推荐id、标题、类别、汽车品牌、汽车型号、汽车价格、内容、图片、点击率)

汽车故事(汽车故事id、标题、类别、汽车品牌、汽车型号、汽车价格、内容、图片、点击率)

汽车折扣(汽车折扣id、汽车品牌、汽车型号、汽车价格、汽车折扣、图片、日期)

4.4.3 数据表

数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。汽车推荐系统所需要的部分数据结构表如下表所示。

表名:forum

功能:留言发帖

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

帖子标题

content

longtext

4294967295

帖子内容

parentid

bigint

父节点id

userid

bigint

用户id

username

varchar

200

用户名

avatarurl

longtext

4294967295

头像

isdone

varchar

200

状态

表名:discussqichezhekou

功能:汽车折扣评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表名:yonghu

功能:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shoujihaoma

varchar

200

手机号码

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

表名:discussqichetuijian

功能:汽车推荐评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表名:vipyonghu

功能:vip用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shoujihaoma

varchar

200

手机号码

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

表名:discussqichegushi

功能:汽车故事评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表名:users

功能:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表名:config

功能:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表名:token

功能: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

表名:storeup

功能:收藏表

字段名称

类型

长度

字段说明

主键

默认值

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:收藏,21:赞,22:踩,31:竞拍参与,41:关注)

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表名:qichezhekou

功能:汽车折扣

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

qichemingcheng

varchar

200

汽车名称

qicheleixing

varchar

200

汽车类型

qichepinpai

varchar

200

汽车品牌

qicheyanse

varchar

200

汽车颜色

qichetupian

longtext

4294967295

汽车图片

qichetianchuang

varchar

200

汽车天窗

huandangfangshi

varchar

200

换挡方式

qichezuowei

varchar

200

汽车座位

qichepailiang

varchar

200

汽车排量

jiage

int

价格

qichexiangqing

longtext

4294967295

汽车详情

clicknum

int

点击次数

0

表名:qichetuijian

功能:汽车推荐

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

qichemingcheng

varchar

200

汽车名称

qicheleixing

varchar

200

汽车类型

qichepinpai

varchar

200

汽车品牌

qicheyanse

varchar

200

汽车颜色

qichetupian

longtext

4294967295

汽车图片

qichetianchuang

varchar

200

汽车天窗

huandangfangshi

varchar

200

换挡方式

qichezuowei

varchar

200

汽车座位

qichepailiang

varchar

200

汽车排量

tuijianliyou

longtext

4294967295

推荐理由

fabushijian

datetime

发布时间

faburen

varchar

200

发布人

clicknum

int

点击次数

0

userid

bigint

用户id

表名:qichegushi

功能:汽车故事

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

qichemingcheng

varchar

200

汽车名称

qichetupian

longtext

4294967295

汽车图片

qichepinpai

varchar

200

汽车品牌

gushishipin

longtext

4294967295

故事视频

gushixiangqing

longtext

4294967295

故事详情

fabushijian

datetime

发布时间

faburen

varchar

200

发布人

userid

bigint

用户id

表名:news

功能:新闻资讯

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

第5章 系统实现

5.1 注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

图5-1用户注册流程图

用户注册界面如下图所示。

图5-2用户注册界面

5.2 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布文件分享信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

图5-3登录流程图

用户登录界面如下图所示。

图5-4用户登录界面

5.3 系统首页管理模块的实现

系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台

如下图所示为系统的首页界面。

图5-4系统首页界面

5.4 用户子系统模块的实现

5.1.1 个人信息模块

用户点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过updatePassword()方法实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()方法实现。

密码修改流程图如下所示。

图5-5密码修改流程图

5.4.2 汽车推荐模块

用户浏览汽车推荐信息,选择某一汽车推荐信息点击查看详情,用户在Qichetuijiani_list查看汽车推荐,可以详细看到汽车的类型、品牌、颜色、座位、发布时间、点击次数等。点击收藏按钮可进行收藏操作。

汽车推荐列表展示界面如图所示。

图5-6汽车推荐列表展示界面

汽车推荐详细信息界面如图所示。

图5-7汽车推荐详细信息界面

5.4.3 汽车故事模块

用户浏览汽车故事信息,选择某一汽车故事信息点击查看详情,用户在Qichegushi_list查看汽车故事,可以详细看到汽车的品牌、发布时间、发布人和故事视频等。点击收藏按钮可进行收藏操作。

汽车故事视频信息界面如图所示。

图5-8汽车故事视频信息界面

5.4.4  评论模块

用户可以对汽车推荐、汽车故事、留言发贴、新闻等资讯做出评论。点击按钮之后会跳转至评论填写页面,填写评论提交之后,后台通过PinglunController的publish方法将相关信息保存到数据库系统。

评论添加流程图如下图所示。

图5-9评论添加流程图

评论添加界面如下图所示。

图5-10评论添加界面

5.4.5 留言发贴模块

留言发贴提供系统所有用户发布帖子、回复帖子、浏览帖子。用户发布新的论坛交流文章,信息添加功能主要指对其帖子标题、类型、内容等一些基本信息的添加、删除和修改。在tieziadd.jsp新增帖子信息,响应到逻辑层的添加方法,同步到数据库完成操作。留言发贴查询能根据帖子标题、发布人等多种条件对留言发贴信息进行查询。

留言发贴界面如下图所示。

图5-11留言发贴界面

5.5 管理员子系统模块的实现

5.5.1 用户管理模块

管理员在yhzhgl查看用户信息,先使用sql语句查询出所有用户表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用Java得到每个ArrayList对象的数据,在Java页面中解析ArrayList对象,得到其各个键值对的值。

用户管理界面如下图所示。

图5-12用户管理界面

5.5.2 个人资料管理模块

管理员点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过UserController.java的updatePassword()实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()实现。

密码修改流程图如下所示。

图5-13密码修改流程图

5.5.3 汽车推荐管理模块

管理汽车推荐信息时,输入必填字段后,表现层的QichetuijianController接受传过来的帖子信息参数,再调用QichetuijianController类的addQichetuijian方法,经过QichetuijianService业务层到QichetuijianMapper持久层的处理,完成对整个添加帖子信息的操作。addQichetuijian方法也和用户管理中的addUser方法类似,同时做添加和修改删除工作。

修改汽车推荐信息时,选择需要修改的汽车推荐信息进行修改,调用QichetuijianController控制器的editQichetuijian方法,拿到该帖子原本的汽车推荐信息并显示到页面,管理员再对需要修改的汽车推荐信息字段进行修改,完成后调用addQichetuijian方法,调用业务层的updateByKey方法,更新数据库的汽车推荐信息表的数据。

汽车推荐管理流程图如下所示。

图5-14汽车推荐管理流程图

汽车推荐添加管理界面如下图所示。

图5-15汽车推荐添加管理界面

汽车推荐管理界面如下图所示。

图5-16汽车推荐管理界面

5.5.4 汽车故事管理模块

此页面的关键是编写汽车故事信息,包括汽车品牌、汽车类型、发布人、视频故事等。单击提交按钮以完成信息的添加。如果未写入完整的汽车信息,例如,如果未写入汽车品牌,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

管理员点击左侧菜单“汽车故事管理”,页面跳转到汽车故事管理外观,调用后台汽车故事查询所有汽车故事信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出汽车故事信息,单击删除按钮完成汽车故事的删除。

汽车故事管理流程图如下图所示。

图5-17汽车故事管理流程图

汽车故事添加界面如下图所示。

图5-18汽车故事添加界面

汽车故事管理界面如下图所示。

图5-19汽车故事管理界面

5.5.5 汽车折扣管理模块

此页面的关键是编写汽车折扣信息,包括汽车品牌、汽车类型、折扣价格等。单击提交按钮以完成信息的添加。如果未写入完整的汽车折扣信息,例如,如果未写入汽车折扣金额,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

管理员点击左侧菜单“汽车折扣管理”,页面跳转到汽车折扣管理外观,调用后台汽车故事查询所有汽车折扣信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出汽车折扣信息,单击删除按钮完成汽车折扣的删除。

汽车折扣添加界面如下图所示。

图5-20汽车折扣添加界面

汽车折扣管理界面如下图所示。

图5-21汽车折扣管理界面

第6章 系统测试

6.1 测试目的

在对该系统进行完详细设计和编码之后,就要对汽车推荐系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。

6.2 测试过程

在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。

登录测试用例表如下所示。

表6-1登录测试用例

测试性能

用户或操作员登录系统

用例目的

测试用户或操作员登录系统时功能是否正常

前提条件

进入用户登录页面或操作员登录页面

输入条件

预期输出

实际情况

各项信息不予填写,直接点击登陆按钮

不允许登录,提示填写账号相关信息

一致

填写错误的登录名或密码后点击登录系统

提示用户名或密码错误,要求重新填写进行登录

一致

填写与验证码信息不一致的信息

系统显示出提示信息,表明验证码错误,要求重新填写

一致

留言发贴测试用例表如下所示。

表6-2留言发贴测试用例

测试性能

用户进行留言发贴的操作

用例目的

测试用户进行留言发贴操作时,该功能是否正常

前提条件

用户进入帖子详情页,该帖子能够被发布

输入条件

预期输出

实际情况

对着某帖子点击“发布”按钮

界面跳转至发布界面

一致

在发布界面,输入必填项,点击“提交”按钮

提示“发布成功”,并返回上一级界面

一致

在发布界面,填写发布表单的时候未输入完整,点击“提交”按钮

提示“发布失败”

一致

汽车推荐管理测试用例表如下所示。

表6-3汽车推荐管理测试用例

测试性能

相关汽车推荐管理功能

用例目的

测试系统操作者对相关汽车推荐信息进行管理的功能是否正常

前提条件

登录系统进入相关管理页面

输入条件

预期输出

实际情况

进入汽车推荐管理界面,点击“录入”按钮,填写所有必填项,点击提交

提示“录入成功”,并返回查询界面

一致

进入汽车推荐管理界面,点击“录入”按钮,未填写一个或者多个必填项,点击提交

提示“录入失败”,请填写必填项

一致

进入汽车推荐管理界面,选择要修改的一条数据,点击该条数据后面的“修改”按钮 

节目跳转至修改界面

一致

在修改界面,修改可修改项后,点击“提交”按钮

提示“修改成功”,并返回查询界面

一致

进入汽车推荐管理界面,点击某条数据后面的删除按钮

提示“是否要删除该数据”,如果用户点击“确定”按钮,则成功删除该条数据,并提示“删除成功”,之后返回查询界面

一致

6.3 测试结果

经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。

第7章 总结与展望

通过汽车推荐系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

参考文献

[1]谭添,马晓星,许畅,马春燕,李樾.Java指针分析综述[J].计算机研究与发展,2023,60(02):274-293.

[2]Paul Krill. JavaScript, Java, and Python skills top demand[J]. InfoWorld.com,2023.

[3]黄梓程,陈鹏飞,余广坝,陈泓仰.面向Java微服务系统的透明请求追踪及采样方法[J/OL].软件学报:1-21[2023-04-22].DOI:10.13328/j.cnki.jos.006523.

[4]肖扬. 基于产品画像的汽车推荐研究[D].大连外国语大学,2022.DOI:10.26993/d.cnki.gslyc.2022.000268.

[5]Kundu Srimanta,Maulik Ujjwal. Cloud deployment of game theoretic categorical clustering using apache spark: An application to car recommendation[J]. Machine Learning with Applications,2021,6.

[6]郝金隆,郭玮,肖强,李小玲.大数据技术驱动企业管理创新的研究——以某国内汽车品牌企业的实践为例[J].中国人事科学,2021(10):42-50.

[7]胡天译. 基于情感分析的汽车推荐系统研究与实现[D].湖北工业大学,2021.DOI:10.27131/d.cnki.ghugc.2021.000024.

[8]廖甜汇,黎飞,张森,张亮.基于大数据的新能源汽车个性化售后服务推荐系统[J].时代汽车,2021(06):181-182.

[9]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).

[10]程硕.基于智能网联汽车功能服务的推荐系统设计[J].汽车工程师,2020(09):30-32.

[11]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).

[12]. Capital One Services LLC; Researchers Submit Patent Application, "Offering Automobile Recommendations From Generic Features Learned From Natural Language Inputs", for Approval (USPTO 20200234357)[J]. Journal of Robotics & Machine Learning,2020.

[13]徐锐. 基于某二手车交易平台的产品个性化推荐方法及其系统[D].浙江理工大学,2020.DOI:10.27786/d.cnki.gzjlg.2020.000061.

[14]陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020(01):14-15+28.DOI:10.16184/j.cnki.comprg.2020.01.005.

[15]张振聪.汽车企业品牌管理的三种模式探究与比较分析[J].现代商业,2020(01):16-17.DOI:10.14097/j.cnki.5392/2020.01.006.

[16]熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2019,15(36):76-77.DOI:10.14004/j.cnki.ckt.2019.4290.

[17]蔺敬一. 基于汽车论坛的用户再购车推荐方法研究[D].大连理工大学,2019.DOI:10.26991/d.cnki.gdllu.2019.000881.

[18]沈烨. 沃尔沃汽车在中国市场的品牌管理策略研究[D].河北工业大学,2019.DOI:10.27105/d.cnki.ghbgu.2019.000427.

[19]张虎. 面向新用户需求的汽车个性化推荐[D].河北经贸大学,2019.

[20]申玉聪. 基于混合推荐模式的汽车类文章推荐系统的设计与实现[D].北京交通大学,2018.

致  谢

伴随着设计的完成,大学生涯也随之即将结束。大学期间是我最珍惜的时光,大学时光中学会了很多,也成长了很多,这段时光中每一段回忆都刻在脑海中。感谢一起学习,一起成长同学们,和成长过程悉心教导的老师们,非常感激有你们的陪伴。

首先感谢我的指导老师,设计的完成离不开老师的一系列指导。在毕业设计的完成过程中,老师给出了很多中肯的建议,正是由于老师一丝不苟的工作态度,我的设计才能顺利的完成。

最后,感谢在大学生涯中每一位教导我的老师,是你们教给了我丰富的知识,更教会了我遇到问题时,如何去应对并解决。谢谢你们的帮助与支持。

点赞+收藏+关注  →私信领取本源代码、数据库

关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值