驾校管理系统.docx
《驾校管理系统.docx》由会员分享,可在线阅读,更多相关《驾校管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
![驾校管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/10/ddadbfa3-c917-4ec8-8627-29dd7b57a38b/ddadbfa3-c917-4ec8-8627-29dd7b57a38b1.gif)
驾校管理系统
题目驾校管理系统的设计与实现
DesignandImplementationofdrivingschool
ManagementSystem
摘要
随着我国汽车工业的迅猛发展,给驾校本身的管理带来了很大的困难。
为了提高驾校工作效率,保证准确完整的数据,采用计算机来管理驾校的信息和调度日常的教学安排,可以快速处理所需信息。
因此,驾校管理系统的设计与实现具有实际应用意义。
基于B/S的驾校管理系统以软件工程理论为指导,以Java为程序设计语言,以MyEclipse8.6为前台开发工具,以MySQL为后台数据库和Tomcat6.0为Web服务器,结合面向对象的程序设计方法来设计。
整个系统由六大模块组成,包括学员信息管理、缴费信息管理、教练信息管理、部门信息管理、考试信息管理以及信息查询等,能够完成驾校的日常管理工作,对驾校有一定的实用价值。
关键词:
驾校管理;Java;MySQL
Abstract
Withtherapiddevelopmentofautomobileindustryinourcountry,tothedrivingschoolmanagementhasbroughtgreatdifficulties.Inordertoimprovethedrivingefficiency,ensureaccurateandcompletedata,usingcomputertomanagetheinformationofthedrivingandschedulingdailyteachingarrangement,canquicklyhandletherequiredinformation.Therefore,drivingmanagementsystemdesignandimplementationofpracticalapplicationsignificance.
DrivingmanagementsystembasedonB/Sonthesoftwareengineeringtheoryastheinstruction,fortheJavaprogramminglanguage,forMyEclipse8.6front-enddevelopmenttool,MySQLasthebackgrounddatabaseandTomcat6.0asWebserver,thecombinationofobject-orientedprogramdesignmethodtodesign.Thewholesystemismadeupofsixbigmodules,includingstudentinformationmanagement,captureexpendscoachinformationmanagement,informationmanagement,departmentofinformationmanagement,thetestinformationmanagementandinformationquery,abletocompletethedailymanagementofdriving,thedrivingschoolhassomepracticalvalue.
Keywords:
Drivingschoolmanagement;Java;MySQL
第一章绪论
1.1系统设计的目的
随着我国经济的日益增长,学车的人数也不断增多,各种材料信息也不好统计,所以给驾校本身的管理也带来了很大的困难。
如何能够快速有效的对大量的资料信息进行集中管理,现在已经成为如今社会必须面对而且要及时解决的问题。
在老师的指导下我联系驾校本身现状和学员练车的情况设计了一个实用的驾校管理系统。
1.2课题提出的背景
在科技经济日益发达的今天,人们的生活水平也逐渐提高,私家车已成为人们生活中必不可少的一部分,私家车的需求也就越来越多。
所以越来越多的人也开始驾驶学习,甚至有的工作岗位也要求要有驾驶证,所以驾校就越来越受欢迎,并且在实际考取驾驶证的过程中,大多数人都会选择报考驾校从而考取驾驶证。
而我本身也参加过驾驶证的考试,深知驾校对于有关学员信息等的管理有很大欠缺,甚至有些时候都是由工作人员用手抄录,十分不方便,就连保密工作也值得担忧。
基于驾校本身现状,根据学员的练车规律,有必要设计一个适合大众的驾校管理系统。
该系统能够根据学员信息、考试时间和约车信息分别进行管理,既方便了驾校的管理,也可以让报名学习的人更加放心。
1.3国内外研究现状
1.3.1国外研究现状
国外对于驾校管理系统的研究比较早,其中一个原因就是发达国家的交通事故频发。
FemandoA.Wilson等人(2010)根据在2010年安全专家、行业领袖以及几个美国参议员为了分散驾驶员的驾车危险,共同决定开发驾驶监督管理解决方案[1]。
针对这个驾驶监督管理解决方案,国外的许多驾校普遍应用驾校管理系统较高,主要表现在模拟器的使用情况、具体驾校使用各自驾校管理系统的情况。
1.3.2国内研究现状
国内驾校管理系统的起步较晚于国外,因而国内驾校管理系统的发展程度也远远不及国外。
国内的业界专家对于,指出驾校主要实现的功能有分别包括:
信息输入功能、存储功能、浏览功能、查询功能、数据统计功能、报表输出功能、数据维护功能[2]。
虽然对驾校管理系统的功能模块进行了相关的大致分类,但并没有对具体的对象进行描述。
随后对具体需要完成的相关任务进行分类,包含三大模块:
驾校管理模块、理科考试模块和教学管理模块,其中理科考试模块为该系统的核心模块[3]。
这个系统相对比较简单,而且研究比较不全面,没有涉及到费用、教练、车辆等方面的安排。
1.4设计过程和研究内容
(1)本系统主要是利用软件工程的规范来研究与实现的,首先对系统进行需求分析,确定系统需要完成哪些功能,完成需求分析报告书。
(2)根据需求进一步确定系统要实现的功能,完成系统的总体设计,在需求分析的基础上对系统进行更加完整与详细的分析,并画出该系统的功能模块图。
(3)根据总体设计进行数据库设计,首先进行概念结构设计,并画出系统各个模块的用例图,再进行逻辑结构设计和物理结构设计。
(4)根据总体设计和数据库的建立对各个功能模块进行详细设计,并画出主要功能模块的业务流程图。
(5)根据系统总体设计以及详细设计编写代码,逐步完成系统。
(6)进行系统测试,并进行一定的修改,使系统能够安全稳定的运行。
1.5开发工具与关键技术
1.5.1MyEclipse简介
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合。
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,JSP,Struts,Spring,Hibernate等多项功能。
可以说是几乎囊括了目前所有主流开源产品的专属开发工具[4]。
在结构上,MyEclipse的特征可以被分为7类:
JavaEE模型、WEB开发工具、EJB开发工具、应用程序服务器的连接器、JavaEE项目部署服务、数据库服务、MyEclipse整合帮助,对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们[5]。
1.5.2MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司[6]。
MySQL的SQL语言是用于访问数据库的最常用标准化语言。
在Web应用方面MySQL是最好的数据库选择,MySQL体积小、安装方便、容易操作、查询方便且速度快、开发成本低,因此许多软件开发者都喜欢使用MySQL作为数据库[7]。
目前Internet上流行的网站构架方式是LAMP和LNMP,即使用Linux作为操作系统,
Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统[8]。
1.5.3Tomcat简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat时,它实际上作为一个与Apache独立的进程单独运行的[9]。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
1.5.4JSP技术
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。
JSP技术在多个方面加速了动态Web页面的开发[10]。
与微软公司的ASP技术相比,JSP具有如下优点:
(1)开放的技术:
JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。
相比之下,ASP技术主要依赖Microsoft支持。
(2)平台和服务器的独立性:
JSP编写的代码可运行在任何符合Java语法结构的环境中。
这样JSP就能够运行在多种Web服务器上并支持来自多家开发商提供的各种工具包。
(3)开放的开发过程,开放的源码:
自1995年以来,Sun用开放过程方法同国际Java组织合作开发和修改Java技术和规范。
(4)JSP标记可扩充性:
JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP跨平台的可重用性:
JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可
重用的。
1.5.5JavaBean技术
JSP作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类JSP应用程序中,JSP+JavaBean的组合成为了一种事实上最常见的JSP程序的标准[11]。
JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。
对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
JavaBean通过Java虚拟机(JavaVirtualMachine)可以得到正确的执行,具有平台无关性。
一个JavaBean有三个部分组成:
(1)属性(Property)
Bean的属性就是对象的属性,但提供了属性读取和设置的接口支持。
例如一个时钟Bean可以有时区和镇铃属性,日历Bean可以有年份和月份属性。
每个属性通常遵守简单的方法命名规则。
这样可以很方便的找出Bean提供的属性,然后查询属性值或改变属性值,对Bean进行操作。
(2)方法(Method)
由于Bean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。
JavaBean严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有Public字段)。
这样,方法调用的是接触Bean的唯一途径。
(3)事件(Event)
Bean与其他软件组件交流信息的主要方式是发送和接收事件。
这与对象之间通过消息通信类似。
JavaBean传统的应用在于可视化的领域,如AWT下的应用。
自从JSP诞生后,JavaBean更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。
利用非可视化JavaBean,来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如JSP)的分离,使得系统具有更好的健壮性和灵活性。
1.5.6JDBC技术
JDBC是Java的开发者——Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术。
JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。
JDBC有一个非常独特的动态连接结构,它使得系统模块化。
使用JDBC来完成对数据库的访问包括以下四个主要组件:
Java的应用程序、JDBC驱动器管理器、驱动器和数据源。
简单地说,JDBC能完成下列三件事:
(1)同一个数据库建立连接;
(2)向数据库发送SQL语句;(3)处理数据库返回的结果。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。
它由一些Java语言写的类、界面组成。
JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。
也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer[12]。
用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。
不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用[13]。
Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!
”
Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。
它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键[14]。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。
或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh或UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
第二章需求分析
在项目开发过程中,通常都需要对开发过程中的源代码和文档进行有效的版本管理,不同驾校有不同的管理风格也成为一个急需解决的问题。
以往驾校采用人工手动的管理方式。
在对于数量多、内容庞大的学员信息进行人工管理统计时,不仅耗时长,而且容易出现误差。
现阶段的驾校管理系统,都是付费使用的,并不能完全了解驾驶学校的需求。
因此有必要实现一个方便快捷的驾校学员管理系统,能够满足驾驶学校的需求。
2.1可行性分析
可行性研究的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。
当然不能靠主观猜想,而是要靠客观分析。
必须分析几种主要的可能解法的利弊,从而判定原系统的系统目标和规模是否现实。
系统完成后所能带来的效益是否大到值得去投资开发这个系统的程度。
可行性研究主要从以下几个方面来进行。
2.1.1技术可行性
技术可行性主要分析技术上能否顺利完成本系统的开发工作;软件和硬件能否满足开发者的需求等。
该驾校管理系统采用了B/S模式进行开发。
前台开发工具选用MyEclipse8.6,后台数据库管理采用MySQL。
通过分析,在软、硬件方面现有的工具和环境满足实现该系统的要求,因此具有技术上的可行性。
2.1.2经济可行性
经济可行性主要是分析这个系统的经济效益能否超过它的开发成本。
开发该系统不需要很多人力和物力,开发周期也不长,开发该系统所需的资料都可以通过网上搜索、从图书馆借阅获得,而且也不需要花钱去购买其他的软、硬件。
因此开发成本不高,具有经济上的可行性。
2.1.3操作可行性
操作可行性主要是分析系统的操作方式在它这个用户组织内是否行得通。
该系统界面友好大方,操作简单,容易上手。
使用者能轻松地学会使用该系统,无需培训。
B/S模式的驾校管理系统能极大的方便学员预约车辆,不需要再到驾校去预定,在网上就可以轻松完成。
同时也减少了驾校管理人员的工作负担,让驾校管理更加高效。
因此具有操作上的可行性。
综上所述,该系统无论从技术上,经济上还是操作上都是可行的。
2.2功能需求分析
本系统旨在提供丰富的驾校信息,使学员练车时能更为省时省力。
比如查询学习内容,教练信息和车辆信息,或者考试时间等。
项目应实现以下功能:
(1)学员管理:
管理员可以管理驾校学员的基本信息。
(2)缴费管理:
管理员可以记录学员缴费用途的一切信息。
(3)部门管理:
管理员可以对部门信息进行相关管理。
(4)考试管理:
管理员可以设置考试时间、地点的相关信息。
(5)教练管理:
管理员可以管理驾校内教练的相关信息。
(6)约车管理:
管理员可以浏览学员约车信息从而实现报表操作。
下面给出本系统的部分用例图,如图2.1所示。
图2.1管理员用例图
图2.2学员用例图
图2.3教练用例图
2.3数据分析
根据功能的需求分析,确定本系统实际用到的统计表有学员基本信息表、教练基本信息表、教练授课信息表、部门基本信息表、缴费基本信息表、考试基本信息表和管理员信息表。
其中:
学员基本信息表:
学员编号、姓名、性别、年龄、联系地址、联系电话、密码;
教练基本信息表:
教练编号、姓名、性别、年龄、驾龄、联系电话、密码、部门编号;
教练授课信息表:
标题、学车时间、备注说明、学员编号、车辆车牌号、人数、教练编号;
部门基本信息表:
部门编号、部门名称、部门职能、负责人、备注说明;
缴费基本信息表:
学员编号、缴费项目、缴费金额、备注说明;
考试基本信息表:
考试编号、考试科目、考试地点、考试时间、备注信息;
学员考试信息表:
学员编号、考试编号;
管理员信息表:
用户名、密码;
第三章概要设计
3.1系统设计思想
根据需求分析,结合实际情况,系统应该要满足使学员可以自己预约车辆、修改约车信息等基本功能。
本系统的特点包括功能全面、操作简单、反应迅速。
该系统的开发主要包括前台应用程序的开发和后台数据库的管理,前台要求界面、功能人性化,操作方便,数据库要求的特点包含有安全性、高效性和稳定性等。
3.2系统功能结构图
驾校学员管理系统为学员的练车提供了很多方便,足不出户就可查询各个车辆情况,并能有效的规划自己的练车时间,系统总体功能结构,如图3.1所示。
图3.1系统功能结构图
上图主要包括六个模块功能:
管理学员信息、管理缴费信息、管理教练信息、管理部门信息、管理考试信息和查询信息。
3.3模块功能说明
(1)学员信息管理
增加学员:
管理员可以录入新报名的学员基本信息。
修改学员信息信息:
管理员修改毕业学员的错误信息及不准确信息。
删除学员:
管理员可以删除非驾校学员或毕业学员的相关信息。
(2)缴费信息管理
登记缴费信息:
管理员可以登记学员缴费的基本信息。
修改缴费信息:
管理员修改录入的错误的缴费信息及不准确的缴费信息。
(3)教练信息管理
录入新教练:
管理员可以录入新聘用的教练基本信息。
修改教练信息:
管理员可以对错误及不准确的教练信息进行修改。
删除教练:
管理员可以删除非驾校教练或不合格的教练的相关信息。
(4)部门信息管理
登记新部门:
管理员可以登记驾校新成立的部门信息。
修改部门信息:
管理员可以修改部门的错误信息及不准确信息。
删除部门:
管理员可以删除重复多余的部门。
(5)考试信息管理
发布考试时间:
管理员可以发布要参加考试的学员的考试时间。
修改考试信息:
管理员可以修改错误的考试信息及不准确的考试信息。
(6)信息查询
缴费信息查询:
学员可以对自己的考试科目进行成绩查询。
学员信息查询:
学员可以对自己的基本信息进行查询。
教练信息查询:
学员可以对教练的相关信息进行查询。
考试信息查询:
学员可以对车辆的相关信息进行查询。
3.4数据库设计
3.4.1数据库需求分析
数据库作为整个系统的基础,要确保设计的合理性,数据表要符合相关的规范要求。
想要设计好的系统,首先要考虑如何设计数据库以及怎样实现数据库。
3.4.2数据库概念设计
在概念设计中,设计人员首先要从用户的角度出发看待数据的处理,产生一个反映用户观点的概念模式,然后再把概念模式转换成逻辑模式。
通过对本系统的数据进行详细的分析,系统涉及的实体有管理员信息实体,学员基本信息实体,教练基本信息实体,教练授课信息实体,部门基本信息实体,缴费基本信息实体,考试基本信息实体,学员考试信息实体。
(1)管理员实体具有的属性有:
用户名、密码。
如图3.2所示。
图3.2管理员实体属性图
(2)学员基本信息实体具有的属性有:
学员编号、姓名、性别、年龄、联系地址、联系电话、密码。
如图3.3所示。
图3.3学员基本信息实体属性图
(3)教练基本信息实体具有的属性有:
教练编号、部门编号、姓名、性别、年龄、驾龄、联系电话、密码。
如图3.4所示。
图3.4教练基本信息实体属性图
(4)教练授课信息实体具有的属性有:
标题、学车时间、备注说明、学员编号、车辆车牌号、人数、教练编号。
如图3.5所示。
图3.5教练授课信息实体属性图
(5)部门基本信息实体具有的属性有:
部门编号、部门名称、部门职能、备注说明、负责人。
如图3.6所示。
图3.6部门基本信息实体属性图
(6)缴费基本信息实体具有的属性有:
学员编号、缴费项目、缴费金额、备注说明。
如图3.7所示。
图3.7缴费基本信息实体属性图
(7)考试基本信息实体具有的属性有:
考试编号、考试科目、考试地点、考试时间、备注信息。
如图3.8所示。
图3.8考试基本信息实体属性图
(8)学员考试信息实体具有的属性有:
考试编号、学员编号。
如图3.9所示。
图3.9学员考试信息实体属性图
驾校管理员可以管理学员,对学员信息进行添加,查询,修改和删除;管理教练,对教练信息进行添加,查询,修改和删除;收取缴费,对缴费信息进行添加,查询,修改和删除;通知考试,对考试进行添加,查询,修改和删除。
驾校管理员的实体联系图如图3.10所示。
图3.10驾校管理员实体联系图
教练可以对学员进行授课,每一个教练可以教学多个学员。
教练教学的实体联系图如图3.11所示。
图3.11教练教学实体联系图
学员可以参加考试,每一个学员可以参加多门考试。
学员考试的实体联系图如图3.12所示。
图3.12教练教学实体联系图
3.4.3数据库逻辑设计
数据库中包含的数据表及其相应功能如下表所示:
(1)管理员表(admin)用于存储管理员的信息,表中各字段功能定义如表3.1所示。
表3.1管理员表(admin)
字段名称
数据类型
长度