1、题 目 驾校管理系统的设计与实现 Design and Implementation of driving schoolManagement System 学校代码 10722 学号 1010034136分类号 公 开作者姓名专业名称学科门类指导教师提交论文日期谭美路信息管理与信息系统管理学韩丽娜二一四年五月成绩评定等级TP315密级I摘要随着我国汽车工业的迅猛发展,给驾校本身的管理带来了很大的困难。为了提高驾校工作效率,保证准确完整的数据,采用计算机来管理驾校的信息和调度日常的教学安排,可以快速处理所需信息。因此,驾校管理系统的设计与实现具有实际应用意义。基于 B/S 的驾校管理系统以软件工
2、程理论为指导,以 Java 为程序设计语言,以 MyEclipse8.6 为前台开发工具,以 MySQL 为后台数据库和 Tomcat6.0 为Web 服务器,结合面向对象的程序设计方法来设计。整个系统由六大模块组成,包括学员信息管理、缴费信息管理、教练信息管理、部门信息管理、考试信息管理以及信息查询等,能够完成驾校的日常管理工作,对驾校有一定的实用价值。关键词:驾校管理;Java;MySQLIIAbstractWith the rapid development of automobile industry in our country, to the driving school mana
3、gement has brought great difficulties. In order to improve the driving efficiency, ensure accurate and complete data, using computer to manage the information of the driving and scheduling daily teaching arrangement, can quickly handle the required information. Therefore, driving management system d
4、esign and implementation of practical application significance.Driving management system based on B/S on the software engineering theory as the instruction, for the Java programming language, for MyEclipse8.6 front-end development tool, MySQL as the background database and Tomcat6.0 as Web server, t
5、he combination of object-oriented program design method to design. The whole system is made up of six big modules, including student information management, capture expends coach information management, information management,department of information management, the test information management and
6、information query, able to complete the daily management of driving, the driving school has some practical value.Key words:Driving school management; Java; MySQLIII目 录第一章 绪论 .11.1 系统设计的目的 11.2 课题提出的背景 11.3 国内外研究现状 11.3.1 国外研究现状 .11.3.2 国内研究现状 .11.4 设计过程和研究内容 21.5 开发工具与关键技术 21.5.1 MyEclipse 简介 21.5.2
7、 MySQL 简介 .21.5.3 Tomcat 简介 .31.5.4 JSP 技术 31.5.5 JavaBean 技术 41.5.6 JDBC 技术 4第二章 需求分析 .62.1 可行性分析 .62.1.1 技术可行性 62.1.2 经济可行性 62.1.3 操作可行性 62.2 功能需求分析 72.3 数据分析 8第三章 概要设计 .93.1 系统设计思想 93.2 系统功能结构图 93.3 模块功能说明 93.4 数据库设计 103.4.1 数据库需求分析 103.4.2 数据库概念设计 10IV3.4.3 数据库逻辑设计 14第四章 详细设计与实现 .174.1 登录模块 174.
8、2 学员信息管理 184.3 教练信息管理 .194.4 教练授课信息管理 .214.4.1 学员申请学车 .214.4.2 教练管理学车信息 .224.5 其他信息管理 .23第五章 系统测试 .245.1 测试概述 245.2 测试用例 .245.2.1 登录模块测试 245.2.2 学员用户管理测试 255.2.3 教练授课信息测试 26第六章 总结与展望 .28致谢 .29参考文献 .30咸阳师范学院 2014 届本科毕业设计(论文)1第一章 绪论1.1 系统设计的目的随着我国经济的日益增长,学车的人数也不断增多,各种材料信息也不好统计,所以给驾校本身的管理也带来了很大的困难。如何能够
9、快速有效的对大量的资料信息进行集中管理,现在已经成为如今社会必须面对而且要及时解决的问题。在老师的指导下我联系驾校本身现状和学员练车的情况设计了一个实用的驾校管理系统。1.2 课题提出的背景在科技经济日益发达的今天,人们的生活水平也逐渐提高,私家车已成为人们生活中必不可少的一部分,私家车的需求也就越来越多。所以越来越多的人也开始驾驶学习,甚至有的工作岗位也要求要有驾驶证,所以驾校就越来越受欢迎,并且在实际考取驾驶证的过程中,大多数人都会选择报考驾校从而考取驾驶证。而我本身也参加过驾驶证的考试,深知驾校对于有关学员信息等的管理有很大欠缺,甚至有些时候都是由工作人员用手抄录,十分不方便,就连保密工
10、作也值得担忧。基于驾校本身现状,根据学员的练车规律,有必要设计一个适合大众的驾校管理系统。该系统能够根据学员信息、考试时间和约车信息分别进行管理,既方便了驾校的管理,也可以让报名学习的人更加放心。1.3 国内外研究现状1.3.1 国外研究现状国外对于驾校管理系统的研究比较早,其中一个原因就是发达国家的交通事故频发。Femando A.Wilson 等人 (2010)根据在 2010 年安全专家、行业领袖以及几个美国参议员为了分散驾驶员的驾车危险,共同决定开发驾驶监督管理解决方案 1。针对这个驾驶监督管理解决方案,国外的许多驾校普遍应用驾校管理系统较高,主要表现在模拟器的使用情况、具体驾校使用各
11、自驾校管理系统的情况。1.3.2 国内研究现状国内驾校管理系统的起步较晚于国外,因而国内驾校管理系统的发展程度也远远不及国外。国内的业界专家对于,指出驾校主要实现的功能有分别包括:信息输入功能、存储功能、浏览功能、查询功能、数据统计功能、报表输出功能、数据维护功能 2。虽然对驾校管理系统的功能模块进行了相关的大致分类,但并没有对具体的对象进行描述。随后对具体需要完成的相关任务进行分类,包含三大模块:驾校管理模块、理科考试模驾校管理系统的设计与实现2块和教学管理模块,其中理科考试模块为该系统的核心模块 3。这个系统相对比较简单,而且研究比较不全面,没有涉及到费用、教练、车辆等方面的安排。1.4
12、设计过程和研究内容 (1) 本系统主要是利用软件工程的规范来研究与实现的,首先对系统进行需求分析,确定系统需要完成哪些功能,完成需求分析报告书。(2) 根据需求进一步确定系统要实现的功能,完成系统的总体设计,在需求分析的基础上对系统进行更加完整与详细的分析,并画出该系统的功能模块图。(3) 根据总体设计进行数据库设计,首先进行概念结构设计,并画出系统各个模块的用例图,再进行逻辑结构设计和物理结构设计。(4) 根据总体设计和数据库的建立对各个功能模块进行详细设计,并画出主要功能模块的业务流程图。(5) 根据系统总体设计以及详细设计编写代码,逐步完成系统。(6) 进行系统测试,并进行一定的修改,使
13、系统能够安全稳定的运行。1.5 开发工具与关键技术1.5.1 MyEclipse 简介MyEclipse 是一个十分优秀的用于开发 Java,J2EE 的 Eclipse 插件集合。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持 Java Servlet,JSP ,Struts,Spring, Hibernate 等多项功能。可以说是几乎囊括了目前所有主流开源产品的专属开发工具 4。在结构上,MyEclipse 的特征可以被分为 7 类:JavaEE 模型、WEB 开发工具、EJB 开发工具、应用程序服务器的连接器、JavaEE
14、 项目部署服务、数据库服务、MyEclipse 整合帮助,对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们 5。1.5.2 MySQL 简介MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于Oracle 公司 6。MySQL 的 SQL 语言是用于访问数据库的最常用标准化语言。在 Web 应用方面 MySQL 是最好的数据库选择,MySQL 体积小、安装方便、容易操作、查询方便且速度快、开发成本低,因此许多软件开发者都喜欢使用 MySQL 作为数据库 7。咸阳师范学院 2014 届本科毕业设计(论文)3目前 I
15、nternet 上流行的网站构架方式是 LAMP 和 LNMP,即使用 Linux 作为操作系统,Apache 和 Nginx 作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本) 就可以建立起一个稳定、免费的网站系统 8。1.5.3 Tomcat 简介Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以
16、这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的 9。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。1.5.4 JSP 技术JSP 是由 Sun 微系统公司于 1999 年 6 月推出的一项技术,是基于 JavaServlet
17、 以及整个 Java 体系的 Web 开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP 技术在多个方面加速了动态 Web 页面的开发 10。与微软公司的 ASP 技术相比,JSP 具有如下优点:(1) 开放的技术:JSP 技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP 技术主要依赖 Microsoft 支持。(2) 平台和服务器的独立性:JSP 编写的代码可运行在任何符合 Java 语法结构的环境中。这样 JSP 就能够运行在多种 Web 服务器上并支持来自多家开发商提供的各种工具包。(3) 开放
18、的开发过程,开放的源码:自 1995 年以来,Sun 用开放过程方法同国际Java 组织合作开发和修改 Java 技术和规范。(4) JSP 标记可扩充性:JSP 技术能够为开发者扩展 JSP 标记,充分利用与 XML 兼容的标记技术强大的功能,大大减少对脚本语言的依赖。驾校管理系统的设计与实现4(5)JSP 跨平台的可重用性:JSP 组件(EJB,JavaBean 或定制的 JSP 标记)都是跨平台可重用的。1.5.5 JavaBean 技术JSP 作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类 JSP 应用程序中,JSP + JavaBean 的组合成为了一种事实上最常见的
19、JSP 程序的标准 11。JavaBean 是描述 Java 的软件组件模型,有点类似于 Microsoft 的 COM 组件概念。在 Java 模型中,通过 JavaBean 可以无限扩充 Java 程序的功能,通过 JavaBean 的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是 JavaBean 可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。JavaBean 通过 Java 虚拟机(Java Virtual Machine)可以得到正确的执行,具有平台无关性。一个 JavaBean 有三个部分组成:(1)属性(Property)Bean 的属性就是
20、对象的属性,但提供了属性读取和设置的接口支持。例如一个时钟Bean 可以有时区和镇铃属性,日历 Bean 可以有年份和月份属性。每个属性通常遵守简单的方法命名规则。这样可以很方便的找出 Bean 提供的属性,然后查询属性值或改变属性值,对 Bean 进行操作。(2)方法(Method)由于 Bean 本身是 Java 对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean 严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有 Public 字段)。这样,方法调用的是接触 Bean 的唯一途径。(3)事件(Event)Bean 与其他软件组件交流信息的主要方式是发送和接收事
21、件。这与对象之间通过消息通信类似。JavaBean 传统的应用在于可视化的领域,如 AWT 下的应用。自从 JSP 诞生后,JavaBean 更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。利用非可视化 JavaBean, 来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序( 如 JSP)的分离 ,使得系统具有更好的健壮性和灵活性。咸阳师范学院 2014 届本科毕业设计(论文)51.5.6 JDBC 技术JDBC 是 Java 的开发者Sun 的 JavaSoft 公司制定的 Java 数据库连接JavaDataBaseConnectivity 技术的简称
22、,是为各种常用数据库提供无缝联接的技术。JDBC在 Web 和 Internet 应用程序中的作用和 ODBC 在 Windows 系列平台应用程序中的作用类似。JDBC 有一个非常独特的动态连接结构,它使得系统模块化。使用 JDBC 来完成对数据库的访问包括以下四个主要组件:Java 的应用程序、 JDBC 驱动器管理器、驱动器和数据源。简单地说,JDBC 能完成下列三件事: (1)同一个数据库建立连接;(2)向数据库发送 SQL 语句;(3) 处理数据库返回的结果。JDBC 是一种可用于执行 SQL 语句的 JavaAPI(ApplicationProgrammingInterface,应
23、用程序设计接口) 。它由一些 Java 语言写的类、界面组成。JDBC 给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java 语言编写完整的数据库应用程序。 通过使用 JDBC,开发人员可以很方便地将 SQL 语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问 Sybase,写另一个程序访问 Oracle,再写一个程序访问 Microsoft 的 SQLServer12。用 JDBC 写的程序能够自动地将 SQL 语句传送给相应的数据库管理系统(DBMS)。不但如此,使用 Java 编写的应用程序可以在任何支持Java 的
24、平台上运行,不必在不同的平台上编写不同的应用 13。Java 和 JDBC 的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!” Java 具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。它所需要的是 Java 应用如何同各种各样的数据库连接,JDBC 正是实现这种连接的关键 14。 JDBC 扩展了 Java 的能力,如使用 Java 和 JDBC API 就可以公布一个 Web 页,页中带有能访问远端数据库的 Applet。或者企业可以通过 JDBC 让全部的职工(他们可以使用不同的操作系统,如 W
25、indwos,Machintosh 或 UNIX)在 Intranet 上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。驾校管理系统的设计与实现6第二章 需求分析在项目开发过程中,通常都需要对开发过程中的源代码和文档进行有效的版本管理,不同驾校有不同的管理风格也成为一个急需解决的问题。以往驾校采用人工手动的管理方式。在对于数量多、内容庞大的学员信息进行人工管理统计时,不仅耗时长,而且容易出现误差。现阶段的驾校管理系统,都是付费使用的,并不能完全了解驾驶学校的需求。因此有必要实现一个方便快捷的驾校学员管理系统,能够满足驾驶学校的需求。2.1 可行性分析可行性研究的目的就是要用最小的代
26、价在尽可能短的时间内确定问题是否能够解决。当然不能靠主观猜想,而是要靠客观分析。必须分析几种主要的可能解法的利弊,从而判定原系统的系统目标和规模是否现实。系统完成后所能带来的效益是否大到值得去投资开发这个系统的程度。可行性研究主要从以下几个方面来进行。2.1.1 技术可行性技术可行性主要分析技术上能否顺利完成本系统的开发工作;软件和硬件能否满足开发者的需求等。该驾校管理系统采用了 B/S 模式进行开发。前台开发工具选用MyEclipse8.6,后台数据库管理采用 MySQL。通过分析,在软、硬件方面现有的工具和环境满足实现该系统的要求,因此具有技术上的可行性。2.1.2 经济可行性经济可行性主
27、要是分析这个系统的经济效益能否超过它的开发成本。开发该系统不需要很多人力和物力,开发周期也不长,开发该系统所需的资料都可以通过网上搜索、从图书馆借阅获得,而且也不需要花钱去购买其他的软、硬件。因此开发成本不高,具有经济上的可行性。2.1.3 操作可行性操作可行性主要是分析系统的操作方式在它这个用户组织内是否行得通。该系统界面友好大方,操作简单,容易上手。使用者能轻松地学会使用该系统,无需培训。B/S 模式的驾校管理系统能极大的方便学员预约车辆,不需要再到驾校去预定,在网上就可以轻松完成。同时也减少了驾校管理人员的工作负担,让驾校管理更加高效。因此具有操作上的可行性。 综上所述,该系统无论从技术
28、上,经济上还是操作上都是可行的。咸阳师范学院 2014 届本科毕业设计(论文)72.2 功能需求分析本系统旨在提供丰富的驾校信息,使学员练车时能更为省时省力。比如查询学习内容,教练信息和车辆信息,或者考试时间等。项目应实现以下功能:(1)学员管理:管理员可以管理驾校学员的基本信息。(2)缴费管理:管理员可以记录学员缴费用途的一切信息。(3)部门管理:管理员可以对部门信息进行相关管理。(4)考试管理:管理员可以设置考试时间、地点的相关信息。(5)教练管理:管理员可以管理驾校内教练的相关信息。(6)约车管理:管理员可以浏览学员约车信息从而实现报表操作。下面给出本系统的部分用例图,如图 2.1 所示
29、。管理员约车管理考试信息查询学员信息管理缴费管理教练管理部门管理图 2.1 管理员用例图学员个人信息管理考试时间信息查询学车信息申请图 2.2 学员用例图驾校管理系统的设计与实现8教练员个人信息管理学车信息管理图 2.3 教练用例图2.3 数据分析根据功能的需求分析,确定本系统实际用到的统计表有学员基本信息表、教练基本信息表、教练授课信息表、部门基本信息表、缴费基本信息表、考试基本信息表和管理员信息表。其中:学员基本信息表:学员编号、姓名、性别、年龄、联系地址、联系电话、密码;教练基本信息表:教练编号、姓名、性别、年龄、驾龄、联系电话、密码、部门编号;教练授课信息表:标题、学车时间、备注说明、
30、学员编号、车辆车牌号、人数、教练编号;部门基本信息表:部门编号、部门名称、部门职能、负责人、备注说明;缴费基本信息表:学员编号、缴费项目、缴费金额、备注说明;考试基本信息表:考试编号、考试科目、考试地点、考试时间、备注信息;学员考试信息表:学员编号、考试编号;管理员信息表:用户名、密码;咸阳师范学院 2014 届本科毕业设计(论文)9第三章 概要设计3.1 系统设计思想根据需求分析,结合实际情况,系统应该要满足使学员可以自己预约车辆、修改约车信息等基本功能。本系统的特点包括功能全面、操作简单、反应迅速。该系统的开发主要包括前台应用程序的开发和后台数据库的管理,前台要求界面、功能人性化,操作方便
31、,数据库要求的特点包含有安全性、高效性和稳定性等。3.2 系统功能结构图驾校学员管理系统为学员的练车提供了很多方便,足不出户就可查询各个车辆情况,并能有效的规划自己的练车时间,系统总体功能结构,如图 3.1 所示。驾校管理系统管理学员信息 管理考试信息管理教练信息管理部门信息查询信息增加学员修改学员信息删除学员增加教练员删除教练员登记新部门修改部门信息删除部门发布考试时间修改考试信息缴费信息查询学员信息查询教练信息查询考试信息查询修改教练员信息管理缴费信息登记缴费信息修改缴费信息图 3.1 系统功能结构图上图主要包括六个模块功能:管理学员信息、管理缴费信息、管理教练信息、管理部门信息、管理考试
32、信息和查询信息。3.3 模块功能说明(1)学员信息管理增加学员:管理员可以录入新报名的学员基本信息。修改学员信息信息:管理员修改毕业学员的错误信息及不准确信息。删除学员:管理员可以删除非驾校学员或毕业学员的相关信息。(2)缴费信息管理驾校管理系统的设计与实现10登记缴费信息:管理员可以登记学员缴费的基本信息。修改缴费信息:管理员修改录入的错误的缴费信息及不准确的缴费信息。(3)教练信息管理录入新教练:管理员可以录入新聘用的教练基本信息。修改教练信息:管理员可以对错误及不准确的教练信息进行修改。删除教练:管理员可以删除非驾校教练或不合格的教练的相关信息。(4)部门信息管理登记新部门:管理员可以登
33、记驾校新成立的部门信息。修改部门信息:管理员可以修改部门的错误信息及不准确信息。删除部门:管理员可以删除重复多余的部门。(5)考试信息管理发布考试时间:管理员可以发布要参加考试的学员的考试时间。修改考试信息:管理员可以修改错误的考试信息及不准确的考试信息。(6)信息查询缴费信息查询:学员可以对自己的考试科目进行成绩查询。学员信息查询:学员可以对自己的基本信息进行查询。教练信息查询:学员可以对教练的相关信息进行查询。考试信息查询:学员可以对车辆的相关信息进行查询。3.4 数据库设计3.4.1 数据库需求分析数据库作为整个系统的基础,要确保设计的合理性,数据表要符合相关的规范要求。想要设计好的系统
34、,首先要考虑如何设计数据库以及怎样实现数据库。3.4.2 数据库概念设计在概念设计中,设计人员首先要从用户的角度出发看待数据的处理,产生一个反映用户观点的概念模式,然后再把概念模式转换成逻辑模式。通过对本系统的数据进行详细的分析,系统涉及的实体有管理员信息实体,学员基本信息实体,教练基本信息实体,教练授课信息实体,部门基本信息实体,缴费基本信息实体,考试基本信息实体,学员考试信息实体。(1)管理员实体具有的属性有:用户名、密码。如图 3.2 所示。咸阳师范学院 2014 届本科毕业设计(论文)11管理员用户名 密码图 3.2 管理员实体属性图(2)学员基本信息实体具有的属性有:学员编号、姓名、
35、性别、年龄、联系地址、联系电话、密码。如图 3.3 所示。学员基本信息姓名性别联系电话学员编号年龄密码联系地址图 3.3 学员基本信息实体属性图(3)教练基本信息实体具有的属性有:教练编号、部门编号、姓名、性别、年龄、驾龄、联系电话、密码。如图 3.4 所示。教练基本信息教练编号姓名性别年龄密码驾龄联系电话部门编号图 3.4 教练基本信息实体属性图(4)教练授课信息实体具有的属性有:标题、学车时间、备注说明、学员编号、车辆车驾校管理系统的设计与实现12牌号、人数、教练编号。如图 3.5 所示。教练授课信息标题学车时间备注说明学员编号车辆车牌号教练编号人数图 3.5 教练授课信息实体属性图(5)
36、部门基本信息实体具有的属性有:部门编号、部门名称、部门职能、备注说明、负责人。如图 3.6 所示。部门基本信息负责人备注说明部门编号部门名称部门职能图 3.6 部门基本信息实体属性图(6)缴费基本信息实体具有的属性有:学员编号、缴费项目、缴费金额、备注说明。如图 3.7 所示。缴费基本信息学员编号缴费项目缴费金额备注说明图 3.7 缴费基本信息实体属性图咸阳师范学院 2014 届本科毕业设计(论文)13(7)考试基本信息实体具有的属性有:考试编号、考试科目、考试地点、考试时间、备注信息。如图 3.8 所示。考试基本信息考试科目考试地点考试时间备注信息考试编号图 3.8 考试基本信息实体属性图(
37、8)学员考试信息实体具有的属性有:考试编号、学员编号。如图 3.9 所示。学员考试信息表学员编号考试编号图 3.9 学员考试信息实体属性图驾校管理员可以管理学员,对学员信息进行添加,查询,修改和删除;管理教练,对教练信息进行添加,查询,修改和删除;收取缴费,对缴费信息进行添加,查询,修改和删除;通知考试,对考试进行添加,查询,修改和删除。驾校管理员的实体联系图如图 3.10 所示。图 3.10 驾校管理员实体联系图11管理员 收取管理缴费教练管理学员通知考试n11nnn驾校管理系统的设计与实现14教练可以对学员进行授课,每一个教练可以教学多个学员。教练教学的实体联系图如图 3.11 所示。教练
38、员 教学1 学员n图 3.11 教练教学实体联系图学员可以参加考试,每一个学员可以参加多门考试。学员考试的实体联系图如图 3.12 所示。学员 参加1 考试n图 3.12 教练教学实体联系图3.4.3 数据库逻辑设计数据库中包含的数据表及其相应功能如下表所示:(1)管理员表(admin)用于存储管理员的信息,表中各字段功能定义如表 3.1 所示。表 3.1 管理员表(admin)字段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号username varchar 8 否 用户名password varchar 6 否 密码(2)学员基本信息表(stu)用于存储学员的基本信息,
39、表中各字段功能定义如表 3.2 所示。表 3.2 学员基本信息表(stu)字段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号xbh varchar 8 否 学员编号name varchar 8 否 姓名sex varchar 2 否 性别age varchar 2 否 年龄address varchar 20 否 联系地址phone varchar 11 否 联系电话pwd varchar 6 否 密码(3)教练基本信息表(teacher) 用于存储教练的基本信息,表中各字段功能定义如表 3.3咸阳师范学院 2014 届本科毕业设计(论文)15所示。表 3.3 教练基本信息
40、表(teacher)字段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号tbh varchar 8 否 教练编号bbh varchar 8 否 部门编号name varchar 8 否 姓名sex varchar 2 否 性别age varchar 2 否 年龄jl varchar 2 否 驾龄phone varchar 11 否 联系电话pwd varchar 6 否 密码(4)教练授课信息表(sq)用于存储教练的授课信息,表中各字段功能定义如表 3.4 所示。表 3.4 教练授课信息表(sq)字段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号bt va
41、rchar 10 否 标题sj varchar 20 否 学车时间bz varchar 50 否 备注说明xbh varchar 8 否 学员编号cp varchar 8 否 车辆车牌号num int 2 否 人数tbh varchar 8 否 教练编号(5)部门基本信息表(bm) 用于存储部门的基本信息,表中各字段功能定义如表 3.5 所示。表 3.5 部门基本信息表 (bm)字段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号bbh varchar 8 否 部门编号驾校管理系统的设计与实现16mc varchar 10 否 名称zn varchar 20 否 职能续表 3
42、.5字段名称 数据类型 长度 是否主键 描述fzr varchar 8 否 负责人bz varchar 50 否 备注说明(6)缴费基本信息表(jf) 用于存储缴费的基本信息,表中各字段功能定义如表 3.6 所示。表 3.6 缴费基本信息表(jf)字段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号xbh varchar 8 否 学员编号xm varchar 10 否 缴费项目je float 10 否 缴费金额bz varchar 50 否 备注说明(7)考试基本信息表(ks)用于存储考试的基本信息,表中各字段功能定义如表 3.7 所示。表 3.7 考试基本信息表(ks)字
43、段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号kbh varchar 8 否 考试编号km varchar 6 否 考试科目address varchar 8 否 考试地点sj varchar 20 否 考试时间bz varchar 50 否 备注信息(8)学员考试信息表(ks)用于存储学员的考试信息,表中各字段功能定义如表 3.8 所示。表 3.8 学员考试信息表(xyks)字段名称 数据类型 长度 是否主键 描述id int 4 是 自动编号咸阳师范学院 2014 届本科毕业设计(论文)17xbh varchar 8 否 学员编号kbh varchar 8 否 考试编
44、号驾校管理系统的设计与实现18第四章 详细设计与实现详细设计阶段是确定怎样具体的实现所设计的系统,主要设计工具有程序流程图、盒图、PAD 图、判定表、判定树等。本文主要对系统的登录模块、学员信息管理模块、教练授课信息管理模块、教练信息管理模块、部门基本信息、缴费信息管理模块、考试信息管理模块等几个方面进行介绍。4.1 登录模块驾校管理系统的登录界面支持三种角色登录。用户登录流程图如图4.1所示。开始输入用户名和密码用户名是否存在密码是否正确选择身份信息身份是否匹配登录成功结束NNYYYN图 4.1 用户登录流程图在登录页面index.jsp的form表单,调用AdminAction.java中
45、的doPost( )中符合method.equals(“)的方法进行角色的选择。method.equals(“one“)为管理员登录,根据语句if(username = null|username.trim().equals(“)request.setAttribute(“message“, “请正确输入用户名!“);request.getRequestDispatcher(“index.jsp“).forward(request,response);elseif(password=null|password.trim().equals(“)request.setAttribute(“mess
46、age“, “请输入密码!“);咸阳师范学院 2014 届本科毕业设计(论文)19request.getRequestDispatcher(“index.jsp“).forward(request, response);判断信息是否输入正确。如果正确,管理员则进入管理员页面;method.equals(“two“)为教练登录,根据语句select id from jl where id=“+username+“ and pwd=“+password+“判断是否存在该教练。if(str=null)request.setAttribute(“message“,“登录信息错误!“);request.
47、getRequestDispatcher(“index.jsp“).forward(request,response);elsesession.setAttribute(“user“,username);session.setAttribute(“type“,“teacher“);request.getRequestDispatcher(“teacher/teacherIndex.jsp“).forward(request, response);判断信息是否输入正确。如果正确,教练则进入教练页面(teacher/teacherIndex.jsp);method.equals(“three“)为
48、学员登录,根据语句select id from stu where id=“+username+“ and pwd=“+password+“判断是否存在该学员。if(str=null)request.setAttribute(“message“,“登录信息错误!“);request.getRequestDispatcher(“index.jsp“).forward(request,response);elsesession.setAttribute(“user“,username);session.setAttribute(“type“,“stu“);request.getRequestDis
49、patcher(“teacher/stuIndex.jsp“).forward(request, response);判断信息是否输入正确。如果正确,学员则进入学员页面(teacher/stuIndex.jsp)。 4.2 学员信息管理系统成功运行后,管理员通过登录进入网站,选择学员用户管理,进而选择要管理的学员,可以完成学员的录入、查询和修改。学员通过登录进入网站,选择个人信息管理,只能查看和修改自己的个人信息。管理员对学员信息管理的流程图如图 4.2 所示。驾校管理系统的设计与实现20开始选择操作增加 管理确认增加修改 删除确认修改确认删除更新列表结束NYNYNY图 4.2 学员信息管理流程图查看学员信息:管理员通过登录的方式进入管理页面(/teacher.jsp),选择学员用户管理,点击学员用户管理子菜单跳转到查看页面(teacher/stu.jsp),学员基本信息由 from 表单,调用 ComAction.java 中的 doPost( )中符合 method.equals(“stuinfo“)的方法进行学员的查看。将查看的信息返回到页面(teacher/stu.jsp)中。添加学员信息:管理员通过登录的方式进入管理页面(/teache