摘 要
伴随着我国社会的发展,人民生活质量日益提高。于是对新能源汽车数据分析管理进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套新能源汽车数据分析,帮助进行通知公告、汽车资讯、汽车销量等管理繁琐又重复的工作,提高工作效率的同时,也减轻了管理者的压力。
本论文的主要内容包括:
第一,研究分析当下主流的web技术,结合日常管理方式,进行新能源汽车数据分析的数据库设计,设计新能源汽车数据分析功能,并对每个模块进行说明。
第二,陈列说明该系统实现所采用的架构、系统搭建采用的服务器、系统开发环境和使用的工具,以及系统后台采用的数据库。
最后,对系统进行全面测试,主要包括功能测试、查询性能测试、安全性能测试。
分析系统存在的不足以及将来改进的方向。
关键词:新能源汽车数据分析;B/S架构;Spring Boot框架;
Abstract
The main content of this paper includes:
Firstly, research and analyze the current mainstream web technologies, combined with daily management methods, design a database for new energy vehicle data analysis, design new energy vehicle data analysis functions, and explain each module.
Secondly, display and explain the architecture adopted for the implementation of the system, the servers used for system construction, the system development environment and tools used, as well as the database used in the system backend.
Finally, conduct comprehensive testing of the system, mainly including functional testing, query performance testing, and security performance testing.
Analyze the shortcomings of the system and the direction for future improvement.
Keywords: data analysis of new energy vehicles; B/S architecture; Spring Boot framework;
目 录
5.1系统开发环境以及运行环境................................................................................ 15
5.2新能源汽车数据分析的主要功能模块实现........................................................ 15
5.2.2后台管理员功能模块................................................................................. 16
1 绪 论
1.1研究背景
信息技术的集成化和信息网络化的不断发展,人类开始步入信息化时代,信息技术作为一种资源成为战略不可分割的一部分,在当今社会,人们的生活节奏逐渐加快,人们对经济的要求逐渐降低,越来越多的人开始追求简单、快捷的方式。以现在计算机的技术的应用,使计算机成为人们使用现代发达技术的桥梁[1]。计算机可以有效的解决信息,十分方便的获取信息,从而提高工作的效率。
1.2 研究意义
现如今科技的卓越发展,时代环境的大变革。人们生活变得越来越多元化,这种多元化很大程度上由互联网科技发展引起,日新月异的互联网让我们实现了众多的不可能。利用网络进行信息管理改革已经成为了人们追捧的一种趋势[2]。“新能源汽车数据分析”是运用java语言,Spring Boot框架,以Mysql数据库为基础而来发出来的。为保证我国经济的持续性发展,必须要让互联网信息时代在我国日益壮大,蓬勃发展,一个好的新能源汽车数据分析,方便用户通过注册登录到网站查看通知公告、汽车资讯、汽车销量,修改个人信息等,管理员对信息进行维护与管理,还能帮助工作者从琐碎冗杂的日常管理事务中解放出来,更专心投入在其它事务上,因而能更好的履行它自身的社会责任,这个新能源汽车数据分析也就间接地为美好社会的创建出了一份力[3]。所以新能源汽车数据分析的设计和实现是必要的也是很有意义的。
1.3研究现状
如今,因为无线网相关技术的快速,尤其是在网上进行资源的上传下载、搜索查询等技术,以及信息处理和语言开发技术的进步,同时编程语言、建模技术的不断发展,促使诸多的平台系统架构由C/S(客户端/服务器)更多的转变为采用B/S(浏览器/服务器)的架构,从而让程序平台网络端的系统架构迎来了一个新的阶段。
并且,在对国外新能源汽车数据分析发展现状的了解中,发现国外新能源汽车数据分析一大多是一种门户的建设,除日常的办公业务外,关系紧密的许多业务也都被设计为功能模块加入系统中[4]。在这一点上,我国完全没有落后,通过采用集成了这些功能的系统,帮助各项业务的工作效率都得到了极大提高,从而持续地带来更高的管理效率。
1.4本文组织结构
本论文将详细阐述新能源汽车数据分析的开发背景、应用可行性以及系统实现所具有的现实意义,在对新能源汽车数据分析进行详细的需求分析后,会根据需求分析的结果再结合实际情况为系统的实现选取合适的技术和架构,之后在上述分析论述的基础上进行系统设计,最后完成系统实现和测试。
本文共分为七章,分别是:
第一章绪论,在这一章中对新能源汽车数据分析的研究背景和意义进行介绍,同时浅述了信息管理系统的发展,明确了新能源汽车数据分析的实现的目的和方向[5]。
第二章技术介绍,在本章中列举介绍了系统实现采用到的所有技术,包括一些主流的框架技术。
第三章需求分析,这一章对新能源汽车数据分析的需求进行了全面详细的分析,从系统实现的应用可行性、技术可行性,再到系统的功能、性能、安全性需求都做了说明分析,最后描述了系统的业务流程对需求分析进行补充。
第四章系统设计,这一章中包含了系统实现选取的架构模式,以及组成系统的各个功能模块。
第五章系统实现,本章是在经过前面几章的分析后,将新能源汽车数据分析开发实现,章节内容包括系统开发环境、运行环境和具体的功能模块实现。
第六章系统测试,模拟系统的实际应用环境,对编写完成的程序进行测试。在本章中列举了测试用例和测试结果。
第七章总结,对新能源汽车数据分析的整个设计和实现过程进行总结[6]。
2 技术介绍
在这一章中,主要是罗列出实现系统将采用的java语言并对其做简单介绍。本论文中的新能源汽车数据分析使用当下主流的Spring Boot作为后台开发框架,系统的底层数据库选用了关系型数据库MySQL。
2.1 Spring Boot框架介绍
Spring Boot是由Pivotal团队提供的轻量级框架,其“开箱即用”及“约定优于配置”的策略可以使开发者全身心的投入到业务逻辑代码的编写中,极大地提高了软件开发项目的效率。相比于Spring框架而言,Spring Boot框架更加能够节省程序员配置XML的时间,Spring Boot项目允许开发者使用它的所有模块和开发功能,此外, Spring Boot内置了服务器,简化了开发者启用服务器的整体流程,Spring Boot还可以自动适配不同类型的数据库以满足用户快速连接后台数据库管理的需求,这极大地方便了用户快速搭建应用程序的实现过程。 2014年4月,Spring Boot 1.0.0发布,截止到2022年2月,发布的Spring Boot版本为Spring Boot 3.0.0-M1。在系统的设计与开发中,为了能够快速搭建软件后台服务的开发环境,从技术实现的难度以及平台开发的成本两个方面考虑,Spring Boot框架能够使开发者更关注平台功能的业务逻辑代码实现,可采用Spring Boot框架搭建系统为前端App提供数据服务。因此,本案例项目后台开发选择Spring Boot框架。
2.2 Java语言
Java,目前Internet中最流行的编程语言之一。它吸取了C++编程语言的长处的同时还摒弃了许多复杂抽象,不易掌握的问题,使得Java编程语言不但功能强大而且使用方便。
Java技术在使用过程中有优势也有劣势。其优势在于,因为Java本身相对严格的语法,所以可以强化程序员在编程时的规范性问题,不容易出现明显结构错乱的问题。因此,规范将是Java的巨大优势。但是它也有劣势,就是不太适应互联网模式下的不断修改,总是修改容易破坏架构。
面向对象的三种特征:封装,继承和多态。
密封:主要是指对数据信息的隐藏,通过把数据信息类别与通过数据信息的功能密封在一块,让数据信息被保存在数据信息类别的里面,只留下一部分可以对外的接口,以便于尽可能的地隐蔽里面的数据信息。因此好处也就十分的明显就是实现了专业的分工,同时也隐藏了信息,保证了安全。
继承:这就像是实际人生中的父子关系一样,孩子要承袭父母的特点。类似的,一个种类同时也继承了另一个种类的某些特性,其父属之间有一种特别的一般性的联系,是is-a的关系,从根本上来说都属于同一个实体。
多态:多态系统是以封装和继承为基础的。由于所传输的父类对象能够引入各种各样的子类对象,因而能够显示出各种各样的现象,给多态的编程带来了良好的扩展。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品。MySQL谁最流行的关系型数据库管理系统之一,在Web应用方面,MySQL是最好的RDBMS(关系型数据库管理系统)应用软件之一。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小,速度快,总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
2.4 B/S架构
Web程序设计技术是一项用于网页制造方面的专业技术,主要实现了网页的动态交互功能,通过此项技术语言(如PHP、CGI、ASP等)所设计的相关网页可以对用户所发出的及时操作以及需求进展相应的相应,从而到达实现即时动态交互的目的。
B/S构造(Browser/Server,浏览器/效劳器模式),其是一种分布式的计算机网络系统,用户通过浏览器向上一级的网站程序传递相关的参数和请求,然后效劳器上的程序再将这些请求和参数进展处理,最后将结果通过反响回用户浏览器反映出来。
2.5 Vue框架简介
VUE是一套用于构建用户界面的渐进式框架。为了实现前后端分离的开发理念,开发前端 SPA(single page web application) 项目,实现数据绑定,路由配置,项目编译打包等一系列工作的技术框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动.
2.6本章小结
在本章中,详细介绍了本论文中实现的新能源汽车数据分析所采用的技术,包括后台开发中所使用的Spring Boot框架,对上述技术的研究和应用,可以为程序后续的顺利开发提供帮助,在简化程序开发的同时提高开发效率和质量[7]。
3需求分析
在这一章中将对本论文要实现的新能源汽车数据分析进行详尽的可行性分析、需求分析等,本章内容主要涵盖了对系统预期应用环境的分析,对系统功能和安全性需求的分析,最后还有对系统的功能需求的分析[8]。这一章的内容将为之后的系统设计和实现提供可靠依据,是系统完整可靠实现的重要保障。
3.1可行性分析
3.1.1经济可行性
开发方面,因为在开发系统时使用的开发工具基本都是免费的,只有一些少量的人工费。所以,开发工具上的经济消耗都是很少的,都是在可控范围内的。另外,可以在确保质量的前提下,尽可能的减少设计成本,可以为开发之后的工作留下更多的经济资源[10]。
在最大限度降低开发成本的同时,也可以让使用者最大限度的从系统中获利,对双方来说都是一个可行的新能源汽车数据分析。总结下来就是,该系统的各项开发费用都处于可控范围内。经过了种种分析和考虑后证明,该系统软件可以行得通的,经济方面的压力是在预料之内的。
3.1.2技术可行性
开发新能源汽车数据分析的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了JAVA、springboot和 MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发[11]。
3.1.3运营可行性
可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用于小孩,成人和老人。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。JAVA 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说Java的可移植性很强,那么系统的价值越高,可行性也就越强[12]。
3.1.4法律可行性
新能源汽车数据分析属于自己设计的管理系统,因为这个系统在数据管理方面以及软件方面都是应用自己开发的开源代码,不存在模仿或盗用其他人的软件问题,是非常合法的[12]。
从上面给大家讲解的过程不难看出,新能源汽车数据分析是一个全面优质的系统,我们开发的这个程序也是存在合法和必然性的,而且在技术方面也是过硬的,还节约了成本,难度不大,很适合用户进行操作[13]。
3.1.5社会可行性
在社会可行性分析中,首先能结合国家经济和社会发展的实际情况,还需要能够让用户更加的便利,给使用者带来多方面的高效益,使得可以比较快速的发展以及应用,随着很多领域的发展,尤其是智能化的社会下,据统计许多的人都拥有属于自己的系统,这种情况下就带来很多的问题,比较突出的就是管理上的不足,从而出现低效率的原因。
在可行性分析中的收益分析,是比较清晰地发掘开发的系统带来的各种直接的有效的利益以及一些隐藏起来的好处,以便在后续的设计中更加的坚定和确信系统开发的意义。解决一些社会方面存在的问题,设计并开发系统肯定是要发现某类社会存在的问题,并且能够带来一定的社会价值。还有一些社会的影响力,是通过系统想优势和切实的好处来产生的,能够在一定的情况下提高效率,肯定会增加一些社会的进步和发展。社会上的可行性,包括法律上的可行性,也包括法律上的可能性,法律上的可行性,需要社会上的许多因素,可以来实现系统建设的现实性。如果所开发的系统与国家法律或政策等相关的因素不相符合,在某些信息化的邻域中使用的是一些加密的信息或者技术问题,还有不经过正常的操作使用其他的一些公开的信息等这些情况,这样的系统的开发在法律的范围中就是不能被允许的。
其中还有一个比较重要的用户使用可行性也是通过执行系统时的可行性,是从所有情况下用户的角度来考虑系统的可行性,由于设计开发相关的系统就是站在社会中广大的用户体验考虑的,所以在这个层面考虑也是符合的[12]。
3.2系统需求分析
3.2.1 性能需求
新能源汽车数据分析设计的目的在于帮助学校的管理者能够更加高效轻松地进行日常的管理工作,所以作为一个工具,该系统应该被设计得易于上手使用,整个系统界面需要简洁明了、清晰易懂,而且一定要为用户提供必要的提示信息,比如在登录时用户密码或者用户名输入错误时要给予提示。总之一定要从使用者的角度出发,去设计用户操作界面[14]。
3.2.2 安全性需求
首先要保证服务器不受攻击,数据库不能曝露在互联中。对使用系统的不同用户赋予相应的权限,用户只能进行自己权限允许范围内的操作。数据库中进行多用户管理,对用户的敏感信息如身份证信息,只有最高权限的数据库管理员用户可查询,其他用户无权限查看。
3.2.3功能需求
本新能源汽车数据分析是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了用户和管理员这二者的需求。操作简单易懂,合理分析各个模块的功能,尽可能优化界面,让用户和管理员能使用环境更好的系统。
对比要实现的功能来分析出用户的需求,可以让用户在线对其进行查看通知公告、汽车资讯、汽车销量等信息,这不仅满足了用户的需求,还大大的节省了时间。因此,管理员对信息进行添加、修改、删除、查看,可以提高管理员的工作效率。
(1)管理员用例图如图3-1所示;
图3-1 管理员用例图
(2) 用户用例图如图3-2所示:
图3-2 用户用例图
3.3本章小结
在本章中对本论文要实现的新能源汽车数据分析要实现的需求进行了详尽的说明,包括系统实现的可行性分析,整个系统在功能、性能和安全方面需求的分析,最后对整个系统不同身份用户的业务流程进行了有序的阐述。通过对以上内容的分析和说明,使得系统要实现的具体功能更加清晰,这给后面系统的设计和实现奠定了良好的基础,有助于整个程序开发的顺利进行。
4系统设计
通过前三章的分析说明,本论文中新能源汽车数据分析已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。
4.1系统结构设计
随着互联网的兴起以及国内外许多B/S架构的优秀系统被广泛使用而变得流行,B/S架构成为了系统开发的主流。本论文中的新能源汽车数据分析也同样采用了B/S架构标准的三层架构,即将整个系统划分为表现层、业务层和持久层这三层。
采用B/S架构,整个系统的核心业务逻辑都被放在服务器端,使得开发过程变得方便。虽然这会使得服务器端的压力较大,但在Ajax等技术兴起后,在前台也就是浏览器端也可以实现部分业务逻辑,一定程度上分担了服务器的压力。
同时,该系统采用的三层B/S架构,将整个系统进行分层。在表现层,主要负责处理从客户端接收到的请求,根据请求内容进行处理后向客户端响应结果。在业务层中,囊括了整个系统的核心业务逻辑,它位于数据访问层之上表现层之下,表现层的请求发送至业务层,业务层将根据编写好的业务逻辑与数据层进行交互。但是每个层之间是不具有必然联系的,表现层的请求发送至业务层,业务层在接受到后可以不进行处理,这并不会导致整个系统出现错误。所以只要层与层之间交互的接口不发生变化,某一层的变更并不会对其它层产生影响。所以这种架构的系统实际上很易于扩充,只要表现层有新的请求发送给业务层,业务层只要有相应的处理逻辑就好了,所以业务逻辑层的设计是十分重要的。而在持久层,主要进行的就是数据的存取,也就是和数据库打交道。
以上这种对程序进行分层的方式,可以使开发者专注于结构中的某一层,每一层要进行的工作十分明确,降低了耦合性,这种标准化的开发方式,有利于程序的复用,也极大地降低了之后对系统功能扩充和维护的成本。
这些功能可以充分满足新能源汽车数据分析的需求。此系统功能较为全面如下图系统功能结构如图4-1所示。
图4-1功能结构图
4.2系统功能模块设计
新能源汽车数据分析的使用者主要有二类用户,一类是管理员,他拥有整个系统的最高权限,然后是用户,他具有管理员给予级别的权限,都只能对自己的个人信息进行操作。系统根据这二类用户,划分出了二大功能模块。
4.3 数据库设计
4.3.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体线以及关联构成的图,E-R图可以明确地叙述系统中涵盖的实体线相互关系。
用户信息E-R图如图4-2所示:
图4-2用户信息E-R图
汽车价格E-R图如图4-3所示:
图4-3汽车价格E-R图
汽车数据E-R图如图4-4所示:
图4-4汽车数据E-R图
汽车购买E-R图如图4-5所示:
图4-5汽车购买E-R图
新能源汽车数据分析总体E-R图如图4-6所示:
图4-6新能源汽车数据分析总体E-R图
4.3.2 数据库表结构
本论文中的新能源汽车数据分析采用MySQL数据库,系统中的所有对象以及对象的所有属性都将在下列表格中展现。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 用户编号: |
表article (文章:用于内容管理系统的文章)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
表article_type (文章分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表auth (用户权限管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
表automotive_data (汽车数据)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | automotive_data_id | int | 10 | 0 | N | Y | 汽车数据ID | |
2 | automobile_brand | varchar | 64 | 0 | Y | N | 汽车品牌 | |
3 | car_number | varchar | 64 | 0 | Y | N | 汽车编号 | |
4 | car_name | varchar | 64 | 0 | Y | N | 汽车名称 | |
5 | lowest_price | varchar | 64 | 0 | Y | N | 最低价格 | |
6 | highest_price | varchar | 64 | 0 | Y | N | 最高价格 | |
7 | car_sales | int | 10 | 0 | Y | N | 0 | 汽车销量 |
8 | pure_electric_range | varchar | 64 | 0 | Y | N | 纯电续航 | |
9 | car_level | varchar | 64 | 0 | Y | N | 汽车级别 | |
10 | energy_type | varchar | 64 | 0 | Y | N | 能源类型 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表car_prices (汽车价格)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | car_prices_id | int | 10 | 0 | N | Y | 汽车价格ID | |
2 | automobile_brand | varchar | 64 | 0 | Y | N | 汽车品牌 | |
3 | car_number | varchar | 64 | 0 | Y | N | 汽车编号 | |
4 | car_name | varchar | 64 | 0 | N | N | 汽车名称 | |
5 | lowest_price | varchar | 64 | 0 | Y | N | 最低价格 | |
6 | highest_price | varchar | 64 | 0 | Y | N | 最高价格 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表car_purchase (汽车购买)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | car_purchase_id | int | 10 | 0 | N | Y | 汽车购买ID | |
2 | automobile_brand | varchar | 64 | 0 | Y | N | 汽车品牌 | |
3 | car_number | varchar | 64 | 0 | Y | N | 汽车编号 | |
4 | car_name | varchar | 64 | 0 | Y | N | 汽车名称 | |
5 | car_level | varchar | 64 | 0 | Y | N | 汽车级别 | |
6 | energy_type | varchar | 64 | 0 | Y | N | 能源类型 | |
7 | sales_current_price | varchar | 64 | 0 | Y | N | 销售现价 | |
8 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
9 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
10 | purchase_date | date | 10 | 0 | Y | N | 购买日期 | |
11 | purchase_quantity | int | 10 | 0 | Y | N | 0 | 购买数量 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表car_sales (汽车销量)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | car_sales_id | int | 10 | 0 | N | Y | 汽车销量ID | |
2 | automobile_brand | varchar | 64 | 0 | Y | N | 汽车品牌 | |
3 | car_number | varchar | 64 | 0 | N | N | 汽车编号 | |
4 | car_name | varchar | 64 | 0 | Y | N | 汽车名称 | |
5 | lowest_price | varchar | 64 | 0 | Y | N | 最低价格 | |
6 | highest_price | varchar | 64 | 0 | Y | N | 最高价格 | |
7 | car_sales | int | 10 | 0 | Y | N | 0 | 汽车销量 |
8 | pure_electric_range | varchar | 64 | 0 | Y | N | 纯电续航 | |
9 | car_level | varchar | 64 | 0 | Y | N | 汽车级别 | |
10 | energy_type | varchar | 64 | 0 | Y | N | 能源类型 | |
11 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
12 | sales_current_price | varchar | 64 | 0 | Y | N | 销售现价 | |
13 | introduction_to_automobiles | text | 65535 | 0 | Y | N | 汽车简介 | |
14 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
15 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
16 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表collect (收藏)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表comment (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表hits (用户点击)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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: |
表notice (公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表praise (点赞)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_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: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
表regular_users (普通用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表slides (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表upload (文件上传)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 文件类型 |
表user (用户账户:用于保存用户登录信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
4.4本章小结
本章主要是对新能源汽车数据分析进行设计,详细的说明了该系统实现所采用的架构、系统中所有的功能模块,并以表格的形式展现了系统持久层中的所有实体和实体的所有属性。明确的功能说明和详尽的数据陈列,方便将系统业务和数据联系起来,为后面的程序开发提供方便。
5 系统实现
在上一章中,本论文中的新能源汽车数据分析进行了全面的系统设计。接下来第五章对本新能源汽车数据分析的实现过程进行说明,包括对该新能源汽车数据分析所需的开发环境、运行环境的说明以及对上一章中提到的各种内容的实现。
5.1系统开发环境以及运行环境
5.1.1 系统开发环境
表5-1 开发环境
开发使用的操作系统 | Windows10 |
开发使用的编程语言 | JAVA |
开发框架选择 | Spring Boot |
选取的数据库 | MySQL |
开发采用的Eclipse | IntelliJ EclipseA |
5.1.2 系统运行环境
本新能源汽车数据分析的运行环境如表5-2所示。
表5-2 客户端运行环境
运行使用操作系统 | Windows10 |
客户端软件 | Chrome浏览器 |
5.2新能源汽车数据分析的主要功能模块实现
5.2.1前台用户功能模块
网站首页页面主要包括首页、通知公告、汽车资讯、汽车销量、个人中心等内容,并根据需要进行详细操作;如图5-1所示:
图5-1网站首页界面图
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示。
图5-2用户注册界面图
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示。
图5-3用户登录界面图
用户点击汽车资讯,在汽车资讯页面可以查看内容、标题、文案图、创建时间等信息;还可以进行点赞或者收藏等操作;如图5-4所示。
图5-4汽车资讯界面图
用户点击汽车销量,在汽车销量页面查看汽车品牌、汽车编号、汽车名称、最低价格、最高价格、汽车销量、纯电续航、汽车级别、类型、封面图片、销售现价、汽车简介、点击数、点赞数、智能推荐等信息,还可以点击购买、点赞或者收藏等操作;如图5-5所示。
图5-5汽车销量界面图
用户点击个人中心,在个人中心页面可以修改个人资料、密码修改,还可以对汽车购买、收藏进行详情操作,如图5-6所示。
图5-6个人中心界面图
5.2.2后台管理员功能模块
管理员进行登录,进入系统前在登录页面根据要求填写用户名和密码等信息,点击登录操作,如图5-7所示。
图5-7管理员登录界面图
管理员登录系统后,可以对后台首页、系统用户、汽车数据管理、汽车价格管理、汽车销量管理、汽车购买管理、系统管理、通知公告管理、资源管理等进行相应的操作管理,如图5-8所示。
图5-8管理员功能界图面
管理员点击用户管理,在用户管理页面输入昵称、用户名、用户姓名、用户性别、创建时间、更新时间等信息,然后进行查询、重置或添加用户信息等操作,如图5-9所示。
图5-9用户管理界面图
管理员点击汽车数据,在汽车数据页面输入汽车品牌、汽车编号、汽车名称、最低价格、最高价格、汽车销量、纯电续航、汽车级别、能源类型、创建时间、更新时间等信息,然后进行查询、重置或删除汽车数据等操作,如图5-10所示。
图5-10汽车数据品界面图
管理员点击汽车价格管理,在汽车价格管理页面输入汽车品牌、汽车编号、汽车名称、最低价格、最高价格、创建时间、更新时间等信息,然后进行查询、重置或删除汽车价格等操作,如图5-11所示。
图5-11汽车价格管理界面图
管理员点击汽车销量管理,在汽车销量管理页面输入汽车品牌、汽车编号、汽车名称、最低价格、最高价格、汽车销量、纯电续航、汽车级别、类型、封面图片、销售现价、汽车简介、点击数、点赞数、智能推荐、创建时间、更新时间等信息,然后进行查询、重置、添加或删除汽车销量等操作,如图5-12所示。
图5-12汽车销量管理界面图
管理员点击轮播图管理,在轮播图管理页面输入轮播图、标题等信息,然后进行查询、重置或删除轮播图信息等操作,如图5-13所示。
图5-13轮播图管理界面图
管理员点击通知公告,在通知公告页面输入标题、创建时间、更新时间等信息,然后进行查询、重置或删除通知公告等操作,如图5-14所示。
图5-14通知公告界面图
5.2.3本章小结
在本章中对系统的开发和应用环境进行说明,这些内容为下一章测试时的环境搭建提供依据。本章还通过文字说明和截图的方式对系统应用的界面做了简要介绍。
6系统测试
6.1系统测试原则
编筐编篓,重在收口。软件测试的完成效果直接影响到整个系统的使用效果。对于软件测试来说,如果能早点发现系统的漏洞,就能及时修改,可以让设计的成本减少。进行软件测试的时候,测试员们需要制定自己的测试脚本,让这个脚本尽可能多的覆盖系统需要测试的各个路径,避免系统疏漏。同时,在软件测试的过程中,要检测程序有没有进行与系统预期功能要求无关的代码运行。避免多余的程序运行对系统产生破坏,降低效率,增加成本。同时在测试后,还要尽量保留所有测试用例,这样可以帮助日后想要修改时可以及时找到原先的用例,可以再直接进行测试。以下是总结下来比较重要的一些软件测试原则:
(1)要尽可能早的进行软件测试。
随着系统的设计进行,设计过程中每一个阶段发生的错误都有可能导致在后续的开发设计的时候连续出错,如果等到软件设计工作基本全都完成再进行测试,可能会导致大量的错误同时出现,而且很难找到它们出错的源头。因为开发设计的每一步都与后续程序紧密相连,如果不及时找出错误,可能会因一处错误导致后续整个程序瘫痪。所以要坚持尽早进行软件测试的原则,一来可以减少牵一发而动全身的错误,二来可以降低成本。
(2)软件测试证明软件存在缺陷。
通过软件测试可以检测系统设计时是否存在错误和缺陷,但并不能说明系统是不存在任何缺陷的。软件测试的目的是辅助软件开发,让程序员可以尽可能早的发现错误,提高质量。软件开发的过程或多或少都会产生一些错误,软件测试就是尽可能地发现错误和缺陷,尽可能优化程序。
(3)缺陷集群效应原则。
一个软件核心的地方可能就只有那么小的一部分,但就是那一小部分,却能引发软件大规模的损坏。当我们进行软件测试的时候要特别注意那一小部分,也就是核心的部分,因为它们几乎控制了整个软件的稳定性,它们是最容易出现错误的,控制好它们几乎就控制了软件的八成稳定性。但我们也不能只仅限于这小部分模块的检查,也要对剩余的地方进行适当的测试。
(4)以人为本原则。
新能源汽车数据分析设计的目的就是为人服务,任何的缺陷和错误的修改方向都要在使用者的角度去进行。要做到尽可能贴近使用者的日常模式,从使用者的角度去出发,去修改。
(5)经常更新测试方式。
测试人员应该尽量避免对系统所有的部分都使用同一种测试方式。一些测试方式只能检测特定的模块,并不能对整个系统都进行有效的测试,甚至无法发现一处错误。所以,为了能更好的发挥软件测试的作用,软件测试的时候应该经常更新测试方法,让测试的质量最大化。
6.2测试用例
表 6-1 测试用例表
测试功能、流程 | 预期结果 | 实际结果 | 结论 |
进行登录实验。需要管理员输入相应的信息验证,看能否进入 | 录入信息验证通过, 转入管理员界面 | 登陆成功, 成功跳转页面 | 测试成功 |
对用户的登录进行测试。管理员就录入特定的信息,看能否成功登录 | 录入特定信息, 可以登录,可以在数据后台找到信息 | 可以登录,在后台找到了对应信息 | 测试成功 |
测试登录功能是否符合规定。测试员要输入错误的登录信息,检查能否登录 | 在输入错误的信息后,系统会发现错误,禁止测试人员登录 | 输入错误信息后,系统禁止登录 | 测试成功 |
对兼容性进行测试,让软件在不同的电子类产品上进行登录测试 | 都可以成功打开软件,正常运行 | 可以在不同的设备上和其他软件共存 | 测试成功 |
续表6-1
测试功能、流程 | 预期结果 | 实际结果 | 结论 |
安装测试,在试验机上登录软件,检测能否按预期正常运行 | 登录后可以进行正常操作,可以发行 | 在试验机上可以正常运行,没有卡顿 | 测试成功 |
6.3本章小结
本章旨在进一步的完善系统,为此进行了系统测试,通过测试验证了系统运行的正确性和可靠性,根据测试结果也进一步完善了新能源汽车数据分析的功能。
结 论
本文对新能源汽车数据分析的实现进行了分析设计,并给予分析设计的内容实现了新能源汽车数据分析。在论文开端,通过对现实背景的分析论述,证明了新能源汽车数据分析的应用可行性和现实意义。之后我们对系统实现所采用的技术进行研究说明,然后结合学校日常管理工作的实际情况,提出了系统实现要满足的需求,并详细叙述了这些需求的具体内容以及将要应用系统的不同使用者的业务流程,这些是新能源汽车数据分析能够正确实现功能的基本前提和依据,后续的设计与实现都将围绕需求中的内容展开。接着开始进行系统设计,首先进行系统架构设计,采用了当下主流的B/S结构,将整个系统分层,方便了系统的开发,降低了系统功能扩充的维护成本。然后,对数据库进行设计,将所有数据表列出。最后,我们将新能源汽车数据分析实现,并进行测试。
在整个系统的设计与实现过程中,除了应用在学校中学到的知识外还学习了新的技术,使我在整合已有知识的同时,拓宽了自己的知识面,增加了自己的技能点。这个过程必然不是一帆风顺的,其中有许多同学和老师的帮助,所以这次毕业设计是十分愉快的一次经历。
参考文献
- 西尔伯沙茨(Silberschatz.A.) . 计算机科学丛书:数据库系统概念(原书第6版)[M]. 机械工业出版社,2019:03.
- 竺天元.基于java的企业人事薪酬管理信息系统的设计与实现[D].湖南大学,2020:07.
- 王珊.基于SpringBoot框架的医院人力资源管理系统的设计与实现[D].西安科技大学,2019:11.
- 王志任.基于java的开发平台的设计与实现[D].广东工业大学,2021.
- 李绪成,闫海珍 java Web开发教程—入门与提高篇(JSP+Servlet) 清华大学出版社,2019:13.
- 刘敏.基于SpringBoot框架社交网络平台的设计与实现[D].湖南大学,2020.
- Robert W.Sebesta著,刘伟琴等译.Web程序设计[M],北京清华大学出版社,2019(4):9-450.
- 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2021:10-180.
- 陈刚.Eclipse从入门到精通[M].北京:清华大学出版社,2021(2):17-380.
- 韩思凡.Web开发中的java与HTM的基础应用[J].科学技术创新,2020(14):71-72.
- 刘小飞,李明杰.基于SpringBoot和Servlet架构的新闻频道系统[J].电脑知识与技术,2020,16(12):82-83.
- 赵辉,熊文俊.SpringBoot的网络数据库连接技术及运用之研究[J].电脑知识与技术,2019,15(17):25-26.
- 刘婷.java技术发展前景研究[J].信息与电脑(理论版),2019(08):70-71.
- 杨正午.基于WEB前端开发技术的网站设计,2020,34(03):51-53+57.
- 李秋锦.基于SpringBoot的简单网页设计[J].科技经济导刊,2019,27(16):30.
致 谢
时光飞逝,转眼间四年的大学就要过去了。当我做到了大学里最后任务的最后一个模块时,我意识到自己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回想起在学校的四年,让我有很深的感触。回想起在学校的点点滴滴,让我有太多无法忘记的人和事。学校的室友,同学,朋友,老师,图书馆,教学楼等,当这些东西在我脑里闪过的时候,我的心里很不是滋味。
首先,我要感谢我的亲人。他们无论何时都是我最亲近的人,无论我对他们怎么发脾气,他们都不会生我的气。每次当我因为某些事而无法承受的时候,他们总是会第一时间来关心我,来给我出主意,帮我度过难关。今后,我也会努力前进,回报我的亲人们对我的支持。
当然,还要感谢我的毕设指导老师。他是一位发自内心希望我们以后能功成名的老师。他陪伴了我几乎整个大学时光,他每次上课的时候都会向我们分享他所做过的程序。将他自己的实战经验授予我们。他会将自己觉的最有用的东西交给我们,还会向我们分享他觉得非常实用的软件,如果我们无法下载,他也会帮我们下载软件。记得在大四上学期的时候,他还帮助我们重装系统,给我们安装最实用的软件。他也是一个非常有责任感的老师,他会经常询问我们的论文情况,如果我们有问题,他都会在第一时间给我们解答。或许对于一位老师来讲,学生学有所成是他的期望。
还要感谢我的室友们。虽然这几年的生活会有磕磕绊绊,但是每次我有困难或者不开心的时候,他们都会给我建议,让我不在难过。每当我过生日的时候,他们都会不约而同的为我庆祝。每当我有困难的时候,他们总是站在我这一边,为我考虑。而在和他们沟通后,我都会从坏心情里走出来,变的愉悦。所以,我也很感谢他们这四年的陪伴。
时光飞逝,四年大学生活转眼间就要过去了。这一刻,四年里的时光又在我的脑海里进行了一遍。我的室友,同学,老师,这一刻,我已止不住自己的泪水。我有太多的回忆永远的刻在了脑子里,我不会忘记他们,不会忘记和他们的点点滴滴。于此同时,我会积极备战考研,吸取第一次的失败经验,争取再二战中取得一个好的成绩,考上心目中理想的学校。我一定会加油的!