文章首发地址:https://www.canterdanai.top/?p=995
绪论
研究背景和意义
近些年来,私家车需求的不断增长促进了周边产业的不断发展,就以驾驶本考证最为明显,驾校的管理系统在当下的需求上也逐渐提上了日程。在基于信息化的大背景下,任何事务的发展也永远离不开科技的推动。互联网时代的到来更多的是带人们带来的便利性。此次我们课题的研究背景也是基于信息化的技术考虑,试想通过信息化的方式来解决生活或者工作中遇到的问题,这样一来,我们的业务问题可能通过技术方式就轻轻松松得到解决。那么此次我们的业务背景仍旧是面对传统行业的管理模式提出的人工成本高、人工处理会存在遗漏或者数据准确度不高等等问题,所以采用技术手段来解决这些问题。以往传统的驾校管理通过手工登记、人为登记的方式来进行。驾驶本儿的考核以及驾校的管理,面对突如其来的车辆、人员、学员、教练等等这些进行考量的时候,传统的管理方式显得悠然不足。那么此次呢,我们正是基于spring boot的技术条件之下来进行驾校管理系统的设计和实现。
研究现状
我们在对驾校管理系统的现状分析当中,那么还是主要以现阶段的情况进行一个分析,谈到研究现状的情况主要还是从两方面进行说明。一方面就是国内目前的现状情况,另外一方面就是国外对于此项目的研究现状。研究现状的介绍代表着当下最主流的技术以及目前关于此课题到达的程度,所以我们要对国内外的研究现状进行分析,以方便我们能够从一定高度上再进行研究,一些基础性的阶段化研究就可以借鉴前人的经验来进行定论。对于国内的研究现状来说,我国目前对于信息化的技术发展已经是达到日新月异的水平,同时对于此行业的业务熟悉程度也具备了研究角度,但其在更深入的研究基础之上也就是深入的算法分析和实现原理上存在着一定的短板,还需要加深研究。对于国外而言,因其信息化实现时间比较长而且信息化的发展历史也比较久远,再加上业务熟悉程度更高,所以说国外对于此课题的研究还是具有一定的深度的。
系统设计思路
那么我们在进行驾校管理系统的设计之初呢,首先是进行整个系统的设计思路整理。系统的设计思路是贯穿整个实现的全过程,如果想实现系统就需要进行多角度和方位的实现。从技术上来讲系统的设计思路首先要选择合适的架构方式,不同的架构方式带来的优缺点以及便利性也是不一样的。此次设计我们就要通过B/S的设计模式来解决系统的受访问约束,那么传统的C/S还需要进行安装软件,而且在安装软件的客户端还要求硬件资源的大小,那么这样一来就很难把握使用者的资源。基于此,我们采用B/S的设计模式,无论是访问还是系统的更新都在服务端进行即可,而且对于用户来说只要记住地址,有网络就可以进行访问这一点还是比较方便的。再有就是我们要根据系统的设计思路来解决相关的问题,而且解决问题的方式也是多种多样,完全没有必要只局限一种或者几种,我们可以通过百度来进行学术性的资料查找,通过请教老师和同学提供UI布局方面的建议等等。这些都是影响我们设计思路的许多因素,在设计思路都要考虑到。
设计方法
论文在使用过程当中的方法也有多种多样,我们往往是在不同的需求当中使用不同的研究方法,方法也是很关键的步骤,有道是方法对了离成功也就更近了一步。下面将论文在使用过程当中的研究方法进行一一列举:
文献法:想必文献法这个研究方法大家都在论文的编写过程当中会使用吧。程序设计在国内外已经经历了非常多的阶段,每一个阶段都会带来新的技术手段和知识,那么这些有意义、有价值的知识总会通过文献知识的方式保留下来。我们在论文的使用或者编写过程当中对于一些观点和定理就可以通过文献法的方式直接使用,这一点很类似于我们上学时候的数学公式,那么我们只要通过公式去解决我们的问题就行,没必要再进行一次公式的验证,极大程度的方便了我们论文的写作。
分析对比法:分析对比的研究方法不仅适用于我们在论文编写的过程当中,同样也适用于生活当中。那么我们此次对于系统的开发和研究上来讲,分析对比法首先能够让我们了解到自身的开发和现在市场上主流的系统区别以及功能,换句话来讲就是要通过分析对比法把我们的缺点拿出来比较比较,只有这样才能不断的完善系统与论文。
调查法:调查法是我们很常见的一种业务场景实现方法,业务场景不是凭空而来,所有的需求分析也不是自己想像,都是需要解决真正的业务痛点和社会问题而进行的研究。那么对于我们此次而言调查法就是让我们针对不同人群提出的问题进行解决。最能够容易理解的就是系统设计的操作性需要友好,那应该如何算是友好呢?对于系统使用者来说,操作性完好就需要使用调查法来进行。
相关技术介绍
B/S架构
互联网的普及导致大量的B/S应用程序诞生,B/S应用程序中所谓B/S就是指通过浏览器的方式进行的访问。这种访问方式有着得天独厚的优势,主要是基于B/S结构设计的应用程序可以依靠服务器端的更新从而实现所有访问用户的更新,而且如果在应用部署方式是集群的情况下可以实现用户无感升级;同时,对于用户而言,用户自身的电脑配置也不需要很高就可以进行程序的访问,一些算法、逻辑处理都在服务端进行,完全不依赖用户的电脑资源,只需要有一个浏览器就可以了;对于便利性来说,用户也不需要再安装什么应用,只要记得住地址无论是通过手机还是电脑的浏览器都可以访问,方便极了。
算法语言
考虑到驾校管理系统当中人员信息以及其他信息都需要一定的安全保密程度。不能将信息随意泄露,所以在我们信息系统的建设过程当中,免不了使用的是算法,那么对于一些大型的应用软件来说算法占据主要位置,比如说在企业资源计划ERP当中,那么我们的条件技术算法和MRP算法是主核心的关键点,也是我们承载ERP的一个重要部分。那么此次我们系统所使用的算法呢,也是有的,只不过相对于其大型应用软件的算法来说偏容易一些。用户名密码是每个系统都具备的一个属性,那么此次我们在算法当中采用了MD5的算法加密形式,就是为了能够保证。用户的密码保存系统之后可以进行加密,那么逆向转不回去,这样的话可以保证数据的安全性。MD5的算法也是至今最成熟、最常用的加密算法之一,那么它也支持着我们系统的不断发展。
MySQL数据库
在关系型数据库当中有一种数据库对于技术的发展和贡献有着非常大的影响,它就是MYSQL数据库。之所以它的地位非常的重要是因为它本身所拥有的特性是我们所不能忽略的。首先做为开源而且免费的数据库之一来说,无论是用运在商业场景当中还是用在我们个人的毕业设计上都是没有问题的,其次,开源免费只是它的一个基本特征更重要的一点原因就是它可以轻松容易的上手解决各种各样的问题。无论是简单的增、删、改、查还是复杂的存储过程这些问题都不在话下。那么对于此次的设计而言呢,MYSQL数据库又是我们大学当中所学习的数据库,如果遇到问题查找资料或者解决问题的方法相对来说也比较多一点,所以此次也就使用了MSYQL数据库。
Eclipse工具简介
时至今日,对于java程序员来说Eclipse工具的使用方法可谓是再熟悉不过了。对于java程序员来说入行的第一天可能就是接触的Eclipse的开发工具。从java语言诞生至今也算是有好几十个年头了,但在现在看来Eclipse的工具确实提供了非常方便的开发。在Eclipse工具当中提供了非常多的快捷输入的方法,它像一个资深的开发人员一样指导着你的开发过程,不仅如此,各种各样的插件也是丰富了方便的开发过程。生成类的方法和操作也能让开发者的代码更加规范,使我们的操作更加智能。工具的发展始终是让我们更加成功的使用语言技术,这一点对于我们来说也是非常重要的。
系统需求分析
功能需求分析
系统需求分析是我们整个章节中最关键的一部分,就是要描绘出我们的系统最终用户想要什么样的成绩。那么功能方面呢,肯定是系统需求的最突出部分,就是要表现出我们系统的功能,各个模块都有什么,还需要什么。在系统的功能当中,我们不仅要知道业务功能的需求,而且还要对系统的整体有一个把控,比如说系统的不同用户、不同角色,以及系统的登录注册,这些都是系统最具本的具备功能,只要有了这些功能才能算是一个完整的系统,如果没有,那让用户去哪儿登陆,怎么注册,可以说是系统非常失败。主要是通过不同的角色来进行区分的。首先,用户角色具有管理员具有系统用户管理、用户管理、教练管理、在线报名管理、缴费登记管理、考试成绩管理、缴费登记统计以及修改密码等功能个人资料修改、教练管理、在线报名、缴费登记、考试成绩、修改密码等功能。
非功能需求分析
系统的非功能需求上来说,就是对于系统的一些优化以及系统的建议。那么从系统的非功能需求说,我们首先可以分为两点,第一点是界面上的建议,第二点是输入输出上面的建议。那么关于界面上的建议呢?在设计规则里边儿一定要强调界面儿必须能让用户看得懂,而且界面操作必须简单。在我们用户使用的过程中,一定不要存在复杂或者不有好看不懂的业务逻辑提醒等等。 那么输入输出上一定要遵守简单简约规则,能够让用户在一些关键性的业务空间类型,比如说日期控件上选择日期不要精确到秒,有些当然却需要精确到秒的,那就要选择。那么在一般普通的业务场景中选择日期,比如说签收日期这种哪会精确到秒等等这样的场景,举例就是为了简单的说,让系统的非功能需求更加友好性,更加可以简单操作性。
可行性分析
时间可行性
对于毕业设计而言首先要实现而且必须遵循的就是时间可行性,时间可行性是我们必须要执行的一个标准,那我们的设想和预期都是比较好的,但如果开发的时间要超过两三年,而且还需要专业的团队来支持的话,那这样的时间可行性一定是不行的。时间可行性就是我们办事情的一个时间期限,如果能在这个期限当中做完,那就是可行的,如果在这个期限上做不完,说什么也不行。
经济可行性
经济可行性的话,我们就比较好理解了,就像手里有多少钱,要买多少货物一样。那么经济可行性就是我们要做出这个软件,具体要实施的费用是多少。第一,我们在可行性当中不能选择商业性的数据库或者商业性的语言,这样会支付一定的费用,我们的毕业设计也不支持持这种经济可行性。经济可行性是我们在实施毕业设计当中第一个要考虑的可行性,那么我们就是为了进行一个毕业设计,去实现我们的业务需求,完全没有必要采用非商业的形式,这样的话经济可行性是不允许的,我们作为学生也很难承担。
技术可行性
技术可行性我们也了解,就是为了实现技术可行的一个指标、标准,那么我们此次在毕业设计当中呢,采用的技术都是大学当中学到的,这样一来的话,我们寻求解决问题的资源也非常简单,技术上的通用手法我们都是经过深思熟虑,那么技术上如果不选择一些非开源的话,这将对我们后期实施的难度来说有很大的挑战。所以我们在技术上选择开源的语言或技术,在实施上技术可行性就会很大程度的提高。
系统业务流程
业务流程的体现主要是根据业务的情况来进行制定的,我们从业务的角度上可以说是有不同行业不同业务只需求,但从计算机的角度而言,无非就是对于有效信息的增删改查。对于一些。用户或者是基础信息的增加时,我们采用的是增加的业务流程,一般增加的业务流程也是根据用户输入的信息,系统进行一个信息的有效性校验,校验之后只要是通过了,就可以进行数据库的保存。业务流程图如下:
对于修改的流程而言,我们其实一方面是要把修改的数据准备好,另一方面其实要针对于数据库表中的修改ID也需要配置好。修改不同于新增,新增直接可以把所有的东西增进去。业务流程图如下:
系统设计
系统界面设计
在计算机设计软件儿当中,不仅仅有数据库设计,还有界面设计。界面设计看似是无关紧要的一种设计,但其实对于用户来说,这种设计恰恰是对于软件或者系统打分儿的一个重要指标。试想一下,不无论如何,你的软件在全功能再强大,得不到用户的使用,那所涉及的软件岂不是白搭?所以在计算机系统当中所要进行的界面设计也是有根据的,那么界面的设计原则也是有依据的。在界面的设计当中,首先对于系统的主题页面最能体现系统主题的页面要进行一个突出显示,能让用户一眼就明白系统具备的功能以及系统需要做的意义是什么。此次的毕业设计,对于页面设计上我也请教了一些UI朋友的建议。如果是日后专业的项目上,还是需要专业的UI进行设计,前端美工实现这样才能将系统最大化的意义,实现优美的界面。
系统总体模块
系统的整体模块,就是用模块儿图的形式把系统的所有功能进行一个表现,那么对于我们来说,可以更清楚的明白系统模块之间的关系以及系统的功能。就像我们生活中最常见的场景一样,装修房子的时候会把各个屋子的模块图进行一个画出,然后通过模块儿图的形式进行一个房间一个房间的装修。那么我们系统软件的开发也是一样,首先将各个模块划分出来,然后在开发的过程中,一个模块一个模块进行开发。如下:
E-R图
E-R图的使用是软件设计过程当中很常见的,专业有术语来讲E-R图更大程度上是为了体现其各个业务模块之间的关系。通过不同功能之间的关系为了能够更加清楚往往采用E-R图的方式,更甚至于E-R图直接能够体现出数据库的表与表之间的关系。
数据表设计
在设计之初就是要能够很合理而且完整的把数据库表的字段进行详细的表明清楚。这样一来就可以很好的避免数据库表后期的一些数据冗余、垃圾数据等问题,对后期我们系统的维护也有了更好的安排。表结构如下:
表1 user
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
yonghuming | 用户名 | Varchar | 50 | 是 | 否 |
mima | 密码 | Varchar | 50 | 是 | 否 |
xingming | 姓名 | Varchar | 50 | 是 | 否 |
xingbie | 性别 | Varchar | 50 | 是 | 否 |
chushengnianyue | 出生年月 | Varchar | 50 | 是 | 否 |
Varchar | 50 | 是 | 否 | ||
youxiang | 邮箱 | Varchar | 50 | 否 | 否 |
dianhua | 电话 | Varchar | 50 | 是 | 否 |
neirong | 内容 | Longtext | 500 | 是 | 否 |
tianjiaren | 添加人 | Varchar | 50 | 是 | 否 |
表2 news
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
title | 标题名 | Varchar | 50 | 是 | 否 |
Note | 内容 | Varchar | 500 | 是 | 否 |
Creater | 创建人 | Varchar | 50 | 是 | 否 |
Node | 备注 | Varchar | 100 | 是 | 否 |
表3 Leave
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
title | 标题名 | Varchar | 50 | 是 | 否 |
Note | 内容 | Varchar | 500 | 是 | 否 |
Creater | 创建人 | Varchar | 50 | 是 | 否 |
Backer | 回复人 | Varchar | 50 | 是 | 否 |
BackTime | 回复时间 | Time | 50 | 是 | 否 |
Node | 备注 | Varchar | 100 | 是 | 否 |
表4 System Introduction
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
id | id号 | int | 11 | 否 | 是 |
SYSName | 系统名称 | Varchar | 50 | 是 | 否 |
SYSNote | 系统简介内容 | Varchar | 500 | 是 | 否 |
Creater | 创建人 | Varchar | 50 | 是 | 否 |
Node | 备注 | Varchar | 100 | 是 | 否 |
系统实现
首页页面
首页在设计的时候就是按照我们系统的所有功能进行的设计,那我们首页最能凸显主题的就是我们的背景图片,通过我们的背景图片以及功能按钮的画风,能够让用户第一时间就看到我们是做什么的,还是需要怎么做都有。如下图所示:
登录页面
系统在安全性的验证方面究竟做了什么功能呢?在做之前我们也进行了思量,那么其中最简单一个就是用户的认证,那么对于用户及权限的认证是系统的最基本功能,通过用户和权限的认证,能够将功能进行分离,能够将一些恶意登录的用户进行过滤,保证了网站或者系统的安全性,这一点是非常重要的,也是我们日常中最常见的。那么此次呢,为了更加安全,防止机器破译的方式,所以我们在登录的页面当中还加了一些验证码的规则,通过人工输入才能进行一个有效的验证。如下图所示:
用户管理页面
系统的管理对于系统来说是非常重要的,那么系统的用户也是系统的生命命脉,那么系统最重要的一点是有可行可用的用户,如果在用户当中是没有的活动的用户或者系统当中无法进行用户管理那么系统的用户管理的功能可能有些欠缺。所以此次我们就将用户管理的界面放在系统首要的位置上,能够让系统管理员一眼就可以看到,这样的方式也能够帮助我们进行管理。如下图所示:
缴费登记添加页面
添加信息的页面在系统管理当中一定是必不可少的,系统的信息除了初始化数据之外,其他的信息都是在日常运营或运维过程中产生的,那么试运营过程中就要有信息的入口,那么信息的管理不仅有添加,还会有删除等等,这样的方式我们还会有多种多样,那么此次呢,我们还是采用左边菜单,右边操作区域的方式。如下图所示:
———–