随着计算机科学技术日渐成熟以及应用的普及,人们已经深刻的认识到了计算机功能的强大,计算机已经逐渐应用到了人类社会发展中的各个领域,并且发挥着十分重要的作用。在驾校管理方面,驾校的车辆、学员、教练、练车预约、退学等信息的管理是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。在该领域,传统的手工存取或者借助一些软件对驾校进行管理方式常常不能对驾校各种信息进行实时的跟踪以及管理,因此为了更加完善的对驾校进行统一的管理,使其能够更加全面、更加有效的服务于软件开发的过程,故开发此驾校练车预约系统。
论文针对在驾校练车预约各种信息数据规模大,管理员、教练和学员需要对驾校练车预约相关的信息查询管理的需求,设计了驾校练车预约系统的框架,给出了驾校练车预约系统的总体设计,并对驾校练车预约系统的架构及关键模块的实现过程进行了详细论述。采用Java语言和MySQL数据库技术,基于SSM框架实现了一个完整系统的设计,为大使用者提供了良好的驾校练车预约系统。
关键词:驾校练车预约;SSM;Java ;MySQL
1 绪论
1.1 研究背景
近几年来,我国交通事业发展迅速,导致了车辆的不断增多,基本家家户户都有汽车,甚至有的家庭都有多辆汽车,交通业的发展,衍生了许多的行业,驾校就是其中之一,随着学车学员的日益增多,驾校的管理方面压力越来越大,同时用户对驾校管理方面的需求也越来越高,对于学员来说,之前用户在驾校练车预约的时候都是三四个学员提前和教练约定好固定的时间,大家一起跟车去练习,别人上车的时候,自己只能够在车内或者固定地点等待,浪费了很多的时间;对于教练来说这种提前预约的方式可能会出现哪个学员迟到的话,会影响整个团队的练习效率;而对于驾校来说就缺乏一个整体的管理体制,因此加强驾校的管理已经迫在眉睫。伴随着计算机技术的发展以及普及,人们对驾校练车预约的方式也逐渐上升到计算机层面,因此结合目前人们对驾校练车预约的需求,开发一个驾校练车预约系统势在必行。
1.2国内外研究现状
在因特网问世后,各种管理系统应运而生,并在业界开展了大量的研究与实践。现在管理系统是互联网上最流行的一种,它可以向亿万用户提供各种类型的信息,包括新闻信息,视频,电子商务产品,音乐,电影,书籍,游戏,朋友,工作等等。通过实例验证,管理系统的开发能够为用户提供更高的价值。
目前我国的市面上已经开发出了很多的关于驾校管理的系统,比如振阳驾校学员管理软件,军博驾校管理系统,机动车驾驶员培训系统,博软驾校管理系统等等,在这些管理软件当中,每个软件都有自己的特点,但是这些软件在一定的程度上都存着着一定的缺陷,比如系统是基于C/S结构的,不能让学员实时查看驾校信息,进行在线练车预约等,如今随着驾校规模的不断扩大,学员不断增多,这种系统升级难度比较大,不利于后期的维护。
国外在驾校管理方向的研发是比较早的,因为国外的经济比较发达,交通业相对国内而言也是发展迅速的,交通事故发生比较频繁,因此Femando A.Wilson等人共同开发制订了驾驶监督管理解决方案,国外大部分的驾校也都开始根据这个解决方案开发了驾校管理系统,实现了驾校学习的自动化,它能够帮助驾校更加便捷的管理其内部信息,方便学员进行预约学习,降低了企业的运营成本。
2.1 业务需求分析
练车预约模块是驾校练车预约系统中最主要的一个模块,这个模块在整个系统中发挥着十分重要的作用,在这个模块当中涉及到了管理员、教练以及学员三种角色。学员可以进入到系统当中实现注册登录,然后实现交流、预约、退学、练车评分等,教练可以对车辆、预约、出车、还车等信息进行管理,管理员可以系统中所有的功能进行审核管理,不同的用户对应各自不同的功能权限。
2.2 功能需求分析
驾校练车预约系统中练车预约模块是系统的核心,通过练车预约可以把学员、教练以及管理员的业务链接起来,行程一个内部循环,学员练车预约后,进而实现暂停预约、出车信息、还车信息、练车评分等业务,系统在用户角色上分为了管理员、教练和学员三部分。
管理员可以登录、网站管理、人员管理、内容管理,模块管理,个人管理,管理员用户用例图如图2-1所示。
图2-1 管理员用户用例图
教练可以登录、车辆信息、练车中心、练车预约、暂停预约、出车信息、还车信息、练车评分、个人管理,教练用户用例图如图2-2所示。
图2-2 教练用户用例图
学员可以查看系统信息,包括交流论坛,公告消息,个人账户,退学申请,注册登录,练车预约,暂停预约,学员信息,练车评分,毕业通知,学员用户用例图如图2-3所示。
图2-3 系统用户用例图
2.3 数据需求分析
系统的数据主要来源于数据库字段,每个数据都对于相应的数据库表,在设定一个数据的时候,我们只要调取到数据库表,从数据库表中提取数据即可,按照系统的功能要求,每个字段都会不同。对学员进行具体分析,从功能上我们看出学员的主要功能就是交流、练车预约、退学申请,实现这些功能必须对应相应的数据库表(ID,教练等)
对教练进行具体分析,教练实现对车辆信息、练车中心以及练车预约等相关信息的管理、设置,实现这些功能必须对应相应的数据库表(ID,车辆等)。
同时对管理员也进行具体的分析,管理员最重要的功能就是对系统数据的管理,其管理的主要内容包括学员,教练,车辆,预约,出车/还车,退学申请,练车评分,学员毕业等,比如练车预约,其数据字段主要包括:预约号、序号、教练编号、教练姓名、驾校名称、车牌号、驾证类型、练车类型、预约人数、学员编号、学员姓名等。
3总体设计
3.1 总体概念
驾校练车预约系统包含了管理员,教练和学员三部分,系统的功能模块图如图3-1所示。
图3-1功能模块图
3.2 系统E-R图设计
本驾校练车预约系统结合用户的需求以及驾校管理的要求,在角色上分为了管理员,教练和学员三个角色,在功能上实现了论坛交流,车辆信息,练车中心,练车预约,出车信息,还车信息,学员信息,退学申请,练车评分,学员毕业等功能,下面是整个驾校练车预约系统中主要的数据库表总E-R实体关系图。
图3-2 驾校练车预约系统总E-R关系图
3.3 功能模块
3.3.1车辆管理部分
管理员在车辆信息功能界面可以对添加车辆,修改车辆,删除车辆和查询车辆,教练在车辆信息界面可以查看车辆信息,进行车辆出库。这个模块主要是使得管理人员更好的管理驾校的车辆,查看出车教练。
3.3.2 练车中心部分
管理员和教练在练车中心可以增删改查练车中心信息,管理学员对练车中心提交的评论,学员可以查看练车中心,进行评论、预约等。
3.3.3练车预约部分
管理员和教练都可以管理练车预约信息,可以进行暂停预约,也可以进行练车评分,学员可以查看自己的预约信息,通过练车预约这项功能方便用户实时进行查询预约信息,节约用户时间,给用户提供便利。
3.3.4交流论坛部分
驾校练车预约系统是一个开放型的系统,通过交流论坛学员可以提交交流信息,进行互相交流,在后台可以对自己提交的交流信息进行管理,管理员可以对用户提交的交流信息进行管控。
3.4 数据库设计
数据库是由多个数据库表组成,在驾校练车预约系统中主要包含了学员信息表,驾校名称信息表,练车中心信息表,练车预约信息表,暂停预约信息表,出车信息表,还车信息表等。
(1)student_user学员用户信息表。
表3-1 student_user学员用户信息表
(2)name_of_driving_school驾校名称信息表。
表3-2 name_of_driving_school驾校名称信息表
(3)training_center练车中心信息表。
表3-3 training_center练车中心信息
(4)car_practice_appointment练车预约信息表。
表3-4 car_practice_appointment练车预约信息表
(5)pause_appointment暂停预约信息表。
表3-5 pause_appointment暂停预约信息表
(6)departure_information出车信息表。
表3-6 departure_information出车信息表
(7)return_information还车信息表。
表3-7 return_information还车信息表
(8)withdrawal_application退学申请信息表。
表3-8 withdrawal_application退学申请信息表
(9)training_score练车评分信息表。
表3-9 training_score练车评分信息表
(10)forum论坛信息表。
表3-10 forum论坛信息表
4 功能实现
驾校练车预约系统的界面应用了JSP、Spring+SpringMVC+MyBatis、Jquery、Ajax等技术来进行布局与设计,整体色系搭配简洁大方,让操作用户操作起来简单方便,同时也参考了市面上的一些布局来应用到自己的设计当中,操作者不需要担心操作上带来困难。
4.1前台功能模块
4.1.1 前台首页界面
在前台界面为用户提供了导航栏方便用户对信息的查询,同时设施了注册登录按钮,便于用户操作,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2注册登录界面
当用户点击在右上方的“注册”按钮,然后根据提示内容完成注册。注册完成后可以点击“登录”按钮,输入用户信息进行登录,注册登录界面展示如下图所示。
图4-2注册界面图
图4-3登录界面图
图4-4注册登录流程图
4.1.3练车中心界面
学员可以查看练车中心信息,在练车中心详细界面当中,可以预约练车和发表评论操作,练车中心界面如下图4-5所示。
图4-5练车中心界面图
4.1.4练车预约界面
学员点击“预约练车”后进入到预约界面,根据提示输入练车预约信息可以进行提交练车预约,练车预约界面如下图4-6所示。
图4-6练车预约界面图
4.1.5 交流论坛界面
点击导航栏上的“交流论坛”就会显示所有的交流论坛列表,可以发布内容,点击进入详细界面进行评论,交流论坛界面如下图4-7所示。
图4-7交流论坛界面图
4.1.6 退学申请界面
学员登录以后点击导航栏上的“退学申请”菜单进入到提交退学申请界面,输入退学原因,点击“提交”按钮进行提交退学申请,退学申请如图4-8所示。
图4-8 退学申请界面图
4.2后台功能模块
驾校练车预约管理系统当中学员、教练和管理员都有各自的后台,实现了对驾校练车预约相关信息的管理。
4.2.1车辆信息界面
管理员可以增删改查车辆信息,教练可以查看车辆信息,进行“出车”操作,车辆信息界面如下图所示。
图4-9 车辆信息界面图
图4-10 车辆信息界面图
4.2.2练车中心界面
教练可以添加,删除和查询练车中心信息,同时可以对学员提交的评论信息进行管控,练车中心界面如下图4-11所示。
图4-11练车中心界面图
4.2.3 练车预约界面
教练和管理员可以查看用户提交的练车预约信息,可以选择练车预约信息进行暂停预约和练车评分,学员可以查看自己提交的练车预约信息,练车预约界面如下图4-12所示。
图4-12练车预约界面图
4.2.4暂停预约界面
教练可以查看自己提交的暂停预约信息,也可以添加暂停预约信息,学员可以查看暂停预约信息进行审核回复,管理员可以管理所有的暂停预约信息,暂停预约界面如下图4-13所示。
图4-13暂停预约界面图
4.2.5出车信息界面
教练可以查看自己的出车信息。出车信息界面如下图4-14所示。
4.2.6还车信息界面
管理员在还车信息界面可以添加还车信息,教练可以查看自己的还车信息。还车信息界面如下图4-15所示。
图4-15还车信息界面图
4.2.7学员信息界面
管理员可以对学员信息进行更新管理,学时可以进行“学员毕业”操作,学员信息界面如下图4-16所示。
图4-16学员信息界面图
4.2.8退学申请界面
管理员点击退学申请可以查看学员提交的退学申请信息,可以进行审核管理,退学申请界面如下图4-17所示。
图4-17退学申请界面图
4.2.9人员管理界面
管理员可以对管理员,学员用户和教练用户进行管控。人员管理界面如下图4-18所示。
5系统测试
5.1系统测试的目的
通过前面章节的介绍,我们可以看到本驾校练车预约系统已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。
5.2 系统测试用例
5.2.1登录测试
不管是学员,教练还是管理员想要进行练车预约相关信息的操作的时候,必须登录到系统当中,因此登录功能的正常运行是开发本驾校练车预约系统的基础。
登录模块流程图如图5-1所示。
图5-1 登录流程图
预期效果:当用户名和密码都输入正确的话,就会顺利进入到对应的用户管理界面,如果用户名或者密码错误,就会弹出提示信息“用户名或者密码错误,请重新输入”。
5.2.2添加信息测试
一个系统的最常用功能就是系统的增删改查,本驾校练车预约系统的所有用户都可以添加信息,添加信息流程如图5-2所示。
图5-2 添加信息流程图
预期效果:当使用者添加信息的时候,首先进入到信息添加的界面,然后根据提示输入信息内容,点击“提交”按钮,如果信息正确就会保存成功,如果信息不合法(内容缺失、错误)就会提示“所填写的信息不完整”。
5.2.3练车预约测试
练车预约时驾校练车预约系统中最重要的一个功能,我们练车中心点击“预约练车”后系统会验证用户是否登录到系统当中,如果登录了进入到预约练车信息填写界面,根据提示输入预约人数,点击提交练车预约就完成了,如果没有登录就会提示“请先登录”,然后再进行预约操作,练车预约流程如图5-3所示。
图5-3 练车预约流程图
预期效果:当学员登录以后点击“预约练车”按钮就会跳转到预约信息填写界面,填写好预约信息,点击“提交”按钮,预约成功;如果学员没有登录点击“预约练车”按钮会提示“没有登录,请登录”。
5.3 系统测试结果
本章首先介绍了系统的测试目的,然后对系统的主要功能模块进行了详细的用例测试分析,证实测试用例的合理性。测试结果表明驾校练车预约系统的各个模块的实现达到了设计要求。
在系统的开发过程中,使用的是JSP文件来展示前台数据,随着前后端慢慢的彻底分离,JSP这种夹带着大量后台代码的方式以及慢慢在企业应用中消失,但是用于训练还是很有用处的,熟悉以后,也可以把项目改成vue前端项目,进行彻底的前后端项目分离。Vue如今非常的流行,本系统采用的是引入的方式来使用vue的,以后可以通过vue脚手架做的项目,这样更方便前台系统的维护和扩展。在后台的技术使用上,为了能够快速搭建系统后台,采用了SSM框架进行开发,SSM能够优化很多的配置,节约大量开发的时间,这样也有利于系统的维护和扩展。SSM结合maven的使用,可以大大缩小项目的体积,利用项目的发布。
在系统的开发过程中,发现对数据的结构和算法的学习是十分重要的,比如树型结构数据,递归方法的使用,还有map容器等都是常用的,虽然现在很多的第三方的插件和方法已经帮我们总结了很多有用的方法,方法的具体如何实现的有的时候还是需要进行了解的。第三方插件在使用上,虽然可以大量节约我们的开发时间,但是同样也有一定的风险,版本的更新乃至废弃都有发生,在项目的使用上,尽量还是进行方法的封装,这样以后进行项目的开发就能更好的进行维护了。
总的来说,通过这样一个小项目,能够从全局的方式了解一个项目的开发流程,应该能为以后的工作提供有力的支撑。
[1]国外智能视频监控技术的发展和应用[J]. 彭旑婧. 信息化建设. 2015(12)
[2]关于Mybatis持久层框架的应用研究[J]. 荣艳冬. 信息安全与技术. 2015(12)
[3]Redis架构下的MySQL数据库性能提升浅析[J]. 舒伟,刘兵. 通讯世界. 2015(14)
[4]视频监控技术的发展与应用探讨[J]. 何军玲. 电子技术与软件工程. 2014(18)
[5]基于REIDS缓存框架的分析与实践[J]. 马冰,姜学军,史海洋. 科技视界. 2014(26)
[6]基于Redis+MySQL+MongoDB存储架构应用[J]. 朱亚兴,余爱民,王夷. 微型机与应用. 2014(13)
[7]企业视频系统集中管理的技术应用[J]. 王磊,宋博. 电子世界. 2013(20)
[8]Redis在高速缓存系统中的应用[J]. 曾超宇,李金香. 微型机与应用. 2013(12)
[9]视频监控系统的发展趋势分析[J]. 杜勇慧,任启军,乔斌,李根胜,潘新华. 中国铁路. 2013(03)
[10]基于Spring的网站文件安全监测系统设计[J]. 丁振凡,吴根斌. 计算机技术与发展. 2012(12)
[11]基于云计算的驾校管理系统设计研究[J]. 何成,刘艳飞. 科技与创新. 2015(01)
[12]浅谈驾校培训管理信息系统的设计与实现[J]. 曾笑林,程兵. 数字技术与应用. 2013(09)
[13]驾校管理系统设计与实现[J]. 丁波. 软件导刊. 2014(05)
[14]我国驾校信息管理系统研究进展——基于CNKI相关研究成果的统计分析[J]. 左为民,范红霞. 黑龙江交通科技. 2014(09)
[15]驾校管理系统概要设计[J]. 王斌. 科技广场. 2012(09)
[16]基于SpringBoot+Mybatis的驾校预约系统设计与实现[J]. 李唯. 电脑编程技巧与维护. 2022(03)
通过设计与开发这样一个系统,首先向我们老师、同学和朋友表达真诚的感谢。没有指导老师的指导和平日子的教导,我也不能够学到如此多的专业知识。另外,也佩服老师兢兢业业的工作态度,给我们做好了表率。系统开发技术要学习的东西很多,前台框架、后台框架、业务流程、数据结构、操作系统等各种知识非常的丰富,都需要慢慢的专研。在这里,首先感谢老师细心的教导,我只想说一句:“老师,谢谢您,您辛苦了!有您在,大学生活才更加的充实。”另外,我要感谢我的室友,由于知识掌握得不够产生各种问题,正因为有了你们的帮忙,给我提出很多很好的建议,才能更好的解决系统开发问题。同时,我也应该感谢那些计算机专业的先哲们,正是由于有这么一群人,才能把这样的专业研究得如此透彻,才能助力新世界的诞生。你们的理论,是我们一生学习的内容,你们的成就,是我们一生追求的目标。
最后,也希望自己在未来的道路上能够走得更远,不辜负在大学的学习,以及老师们的细致的教导。
免费领取源码,请点赞关注私信博主