




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
驾校管理系统的设计与实现毕业论文 目录摘要IAbstractII引言1第一章绪论11.1论文背景11.2国内驾校管理系统现状分析21.3本课题在驾校管理系统的开发上的改进及开发思路41.4相关概念51.5开发环境选择5第二章 软件的系统分析与总体设计62.1 系统的需求分析62.1.1 管理组长需求分析62.1.1 管理员需求分析72.2运营可行性分析92.3总体设计92.3.1系统总体功能设计92.3.1系统流程设计10第三章 驾校管理系统的详细设计123.1系统主要功能模块设计123.1.1登陆模块设计123.1.2学员报名模块设计123.1.3分车排课模块设计143.1.4考试晋阶模块设计153.1.5结业模块设计153.1.6财务模块设计163.2 数据库设计17第四章 系统主要功能模块的实现214.1学员报名模块的实现214.1.1跟车报名模块实现214.1.2学员查询及增删改功能界面实现264.2教务管理模块的实现324.2.1学员分车界面实现324.2.1排课界面实现364.3后勤管理模块的实现394.3.1教员档案界面实现39第五章 总结与展望43参考文献44致谢45附录一 部分源程序代码46附件二 部分数据表结构54I浙江理工大学经济管理学院本科毕业论文驾校管理系统的设计与实现05电商(1) 班D05570118 方 寅引言本截至2007年底,全国机动车和驾驶人数量保持快速增长机动车保持快速增长。汽车、摩托车为机动车主要构成部分。与2006年相比,增加145万辆,约10.02%.随着市场经济的发展,汽车在日常生活中占据了不可替代的地位。在汽车市场呈现出一片火红的情势之下,道路交通安全的隐患已经不知不觉的暴露出来。统计数据和研究资料表明,我国已经进入道路交通事故的高发期,道路交通安全形势十分严峻。近年来,驾驶员责任肇事呈明显上升趋势,驾驶员责任事故数占全年事故总数的比例由1999年的68%上升到2000年的83.6%,而2001年则是86.7%, 2002年更是因驾驶员肇事而致8.6万人死亡。为了有效的防止交通事故,首先要做的并且最重要的是:提高驾驶员素质,管好事故的源头。因此,严把机动车驾驶培训这一关特别重要。本系统是一个专门为目前驾校设计的管理系统,在开发上选择了delphi7.0作为开发工具,以SQL Server 2000作为数据库的开发。用delphi7.0的可视化界面编程来进行前台开发可以使系统更具人性化及易于操作,而以Microsoft SQL Server 2000作为后台数据库的开发对于小型系统来说,功能还是非常强大的,它能跨越多种平台、应用和设备实现数据共享,它对系统硬件要求不高。在开发系统中,关键在于通过实际的操作能够掌握系统开发的思想、流程,提高自己的实际分析动手能力,包括站在用户的角度考虑问题、解决问题等等。第一章 绪论1.1论文背景随着生活水平的日益提高和轿车逐渐步入家庭,参加机动车驾驶培训的人员逐年增加,在驾驶培训行业却存在驾校鱼龙混杂、教学质量参差不齐、学员学时不够、教练车质量不好、学车场地不足等问题,不少驾校采取“速成”的办法,学员拿到驾照后不会开车的现象屡见不鲜。“速成”驾校培养的“马路杀手”给交通安全带来了隐患,驾培行业的培训质量已经成了人民生活质量和生命安全休戚相关的大问题,加强驾校管理迫在眉睫。随着信息技术与电子技术的发展,社会上的培训管理已经从过去的传统方式转向了自动化,并且采用先进管理思想,实现培训管理的系统化、规范化,但是在管理方面还是存在很多不足之处,例如:人员管理模块分散化、管理软件操作复杂化、软件架构简单化等, 随着计算机技术的迅猛发展,社会资源的信息化、数据的分布处理、各种计算机资源共享等应用需求推动计算机技术朝着群体化方向发展,促使计算机技术不断更新1 。1.2国内驾校管理系统现状分析1.2.1国内驾校管理现状分析伴随国民经济的飞速发展和人民生活水平的不断提高,家用汽车在我国逐渐普及。面对不断增长的庞大的用户群,随之产生的驾驶培训行业,规模不断扩大。虽然交通部门规范了营运驾驶员从业资格的管理,加大了对从事道路运输经营活动驾驶员的培训管理力度,但在实际的管理过程中,仍然存在以下问题:(1)管理部门内部人员在实际管理过程中存在人情管理,不进行培训、考试直接进行发证。(2)从业驾驶员培训机构不能严格执行管理部门的大纲及学时规定,减少培训课时。(3)在考试过程中出现代考、代答现象。(4)学员的纸质档案管理,查询难、易丢失。同时随着现代信息化的发展,人们不再满足于传统的低效的办公方式,迫切需要一种高效的方式代替传统的方式,以适应社会的发展2。1.2.2相关驾校管理介绍国内的驾校培训系统屡见不鲜,比较典型的有驾培通管理系统、赛管家驾培系统。(1)驾培通管理系统。该系统软件共计38个功能模块,采集了营运驾驶员从报名到档案及日常管理的全过程信息。从营运驾驶员的报名开始,对营运驾驶员的培训、考试、证件、档案、违章稽查进行全面的综合管理。培训学时和无纸化考试一体化,学时达不到标准要求,系统不能对该学员进行出题考试。没有学时和考试成绩,系统不进行打证、发证,形成闭合的流程监管。软件远程的监管考试管理和学时监控管理系统,杜绝了培训驾校为了减少成本对于学员不进行按学时授课的情况,同时通过教练IC卡的签到管理,监控教练是否定时上课4。系统主要功能和技术: 培训管理:包括报名登记、缴退费管理、IC卡发放/指纹采集、教学管理 考试管理:包括题库维护、模板维护、考试编排、学员考试、试卷考核、考试统计 从业资格证管理:资格证审批、资格证发放、资格证管理、资格证审验和统计查询管理 档案管理:包括申请档案、培训档案、考试档案、资格证档案陪驾通管理系统的具体流程如图1所示。图1. 陪驾通管理系统流程(2)赛管家驾培系统赛管家驾培系统是应用于驾驶行业,保证驾驶学员按规定学时学习驾驶技术、按质按量达到行驶资格要求的系统。该系统包括手持式车载计时设备、读卡器、制卡器、IC卡等硬件设备及其相应软件系统,后台驾培信息管理系统两大部分。赛管家驾培系统的主界面如图2所示。图2. 赛管家驾培系统系统主要功能和技术包括:系统采用IC卡技术 以专用车载计时机保证学员培训的最低学时,防止驾培企业和学员单方减少学时 记录场内学车和场外学车时间 完整的IC卡管理系统 预留指纹识别和GPRS数据传输接口 为后台驾培信息管理系统做好数据接口1.3本课题在驾校管理系统的开发上的改进及开发思路针对驾校管理系统存在的问题,本系统采取如下改进措施:(1)从技术层入手,在系统开发之前作好实地调研,深入驾校进行学习,全面了解目前驾校的实际需求,事先查阅工厂的各项统计数据,确定开发规模为中小型8。(2)通过对桐庐桐江的实地调查,详细了解驾校系统需求,建立完善的数据仓库,以学员报名、分车排课、考试晋阶等环节为树干,以管理人员、财务人员等角色为树枝,以报名学生数量、阶段考试数量、毕业学生数量等系列指标为树叶,归纳、总结出来驾校的管理指标体系。这样后续的固定报表、查询、数据挖掘等都可以看作是构架在这个指标体系之上的应用系统。(3)本系统着重强调了驾校管理工作的计划性、预见性和灵活性,提供详细的报名计划、分车培训计划、学生学习进度计划及各个阶段在驾校等信息。把调度的指令规范化、具体化。使管理人员和教练真正作到“权责明确”。1.4相关概念(1)环境:所谓“环境”,指的是为维持整个系统正常工作而必备的最基础、最底层的数据;而环境维护,则是指为达到给系统设立正确完善的环境数据的目的,而对环境数据进行诸如创建、修改、删除、查询等的一系列操作。一般来说,系统建立之初,在新建用户之后,就必须以新建用户的用户标识登录系统,进行环境维护,而正常运行之后,除非有特殊情况,否则环境数据极少变动5。(2)学员管理:学员管理是指对学员的基本信息的管理,包括报名、结业、退学、档案管理,以及学员入学时的医疗鉴定、申请审核资料、相应信息的查询。维护好学员的基础资料,是今后开展培训、考试等工作的基础,也是环境数据建立好之后,进入日常工作时,首先要做的重要工作。(3)收费系统:收费系统是专门处理和报名、培训相关的收、退费业务的功能模块。本模块不仅较为灵活的处理了收费大厅的收费、退费业务,还提供了设定费用项目和变动各项费用的功能,同时严格控制了收费大厅的现金流转,使整个现金收入清楚明了、可靠度高,为整个驾校业务的正常运作提供有力保障。(4)教务管理:教务管理是对包括分车、排课、培训、考核在内的驾校教学全过程的管理。在跟车培训报名和计时培训报名完毕后即要进行本部分工作。(5)后勤管理:后勤管理指的是不属于教学工作和学员管理工作,但又直接为教务工作服务的这部分工作的维护和管理;是为了教学任务能正常运作而进行的基础的日常维护6。1.5开发环境选择(1)系统结构环境本系统在开发时选择了采用了开放式的C/S结构模式,它是软件系统体系 结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到客户(Client)端和服务器(Server)端来实现,降低了系统的通讯及管理运行方面的开销。使服务器运行数据负荷较轻,数据的储存管理功能较为透明6。(2)系统开发环境系统开发工具采用Delphi7.0来开发此系统软件,用Delphi7.0编程有许多好处,特别是对财务管理类系统得开发编程,Delphi7.0自带了很多有针对性地功能,如树型结构及图形报表等组键。本系统在开发时数据存储采用Microsoft SQL Server 2000数据库系统,对数据的增删改及查询等功能完善,在SQL中,还可以对数据进行分类汇总,及数据统计,对数据操作的功能十分强大。SQL是大型数据库,可实现大规模的数据存储而不会出现数据益处的情况。第二章 软件的系统分析与总体设计2.1 系统的需求分析需求分析的目的在于理解项目的商业需要,同时为项目的设计打下基础。软件需求分析是软件生存期中重要的一步,也是决定性的一步。只有通过需求分析才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。软件需求分析也是一个不断认识和逐步细化的过程。目前,驾驶员培训学校中进行学员、收费、培训、资产、车辆、教练员、投诉等的管理时,普遍使用的是进行登记、查找、统计等枯燥的手工操作,这种操作既繁琐又不精确,很多数据不方便长期保留,迫切需要设计驾校信息管理系统。有了驾校信息管理系统,将彻底改变这种局面,利用计算机中最为友好、最为方便的Windows界面进入本系统,可以让管理人员轻松自如地利用鼠标、键盘等最为简单的输入,来完成信息的添加、浏览、查询、统计,以及数据的修改等工作,真正实现学员、收费、培训、资产、车辆、教练员、投诉等管理的电子化,大大提高工作效率。2.1.1 管理组长需求分析在整个流程开始以前,必须由管理组长对整个流程必须的数据进行设计,这是系统在开工以前必须完成的,主要包括系统设置,收费设置,教务设置。管理组长的用例如图3所示。图3. 管理组长用例(1)系统设置系统设置包括基础信息设置和教学模式两个方面(a)基础信息中的学校名称会被用于各种报表的表头以及其它有关学校的标识性的称谓中;工作时间是指驾驶学校每一天之中,整个培训课程安排的起止时间,它决定了培训课程安排中的最早和最晚时间。(b)教学模式是指驾驶学校所采取的教学管理的基本方式,即是否按阶段,或者按多少个阶段实施教学管理。在开始所有正式工作之前,应该首先确定所用的教学模式。(2)教务设置教务设置包括教学项目管理、驾驶路段管理、培训学时管理和投诉内容四个方面。(a)教学项目是学校在对学员的培训过程中设置的教学任务。正确设置教学项目,是教务管理中的课程安排得以正常进行的基础。教务管理人员可以根据需要随时对教学项目进行新增或删除。(b)驾驶路段是指学员在培训过程中的训练路段,由学校统一规定。在对学员进行实际训练课程的安排之前,必须预先设置驾驶路段。(c)每种车型的每一个教学阶段(或培训阶段),都有最低培训学时数的要求,我们把该学时数称之为教学阶段的标准学时数。培训学时管理是用于对当前教学模式下各教学阶段的标准学时数进行设置和管理。(d)投诉内容设置是针对校内教、职员一些常见不当行为,预先在系统中设定部分常用的投诉内容,以便在投诉管理中直接调用,简化日常操作14。(3)收费设置收费设置包括跟车培训收费培训标准和计时培训收费标准。(a)跟车培训收费标准,是指跟车培训所包括的各种收费项目的收费标准。用户必须先维护跟车培训各项目的收费标准,方能进行相应的缴费操作和财务收支核算等。(b)计时培训收费标准,是指计时培训所包括的各种收费项目的收费标准。用户必须先维护计时培训各项目的收费标准,方能进行相应的缴费操作和财务收支核算等。2.1.1 管理员需求分析完成了以上基础信息的设置,后续的任务将主要是管理员按如下操作流程进行日常工作。管理员的用例如图4所示。图4. 管理员用例(1)报名入学登记跟车培训是各驾驶学校根据教学大纲要求,为学员提供的常规驾驶培训。学员入学后按照学校规定的教学模式进行系统化的培训,完成所有教学训练后,通过相关考试然后毕业。参加跟车培训的学员也可自费参加计时培训。(2)分车学员分车(分配车辆)是根据每个学员所报的考证类型,给他们安排相应的车辆,以方便排课时进行车辆安排。在操作本模块前,首先应通过车辆档案管理做好车辆维护。对于已分配有车辆的学员,排课时若发生车辆冲突,系统也提供临时调整车辆的功能。(3)阶段培训培训课程安排(排课)包括跟车培训课程安排和计时培训课程安排。在排课之前,必须先维护好相关环境数据,如:跟车(计时)培训项目、车辆信息、教练信息等。(4)考试管理考试管理包括对科目一、科目二和科目三的所有参考学员的考试成绩录入、删除、查询、打印等功能。考试合格者将进入下一轮考试。未录入此次考试成绩的学员,无法参加下一轮的考试;此次考试成绩不合格的学员必须补考,该学员将进入下一次该类考试的“备考学员”名单中,以便下一次安排该类考试时制定名单。(5)考试晋阶考试晋阶是在相应阶段的考试成绩达标以后,学员进入下一个培训阶段的操作。(6)学员结业学员结业是在学生完成学校所有的课程并顺利通过考试以及缴纳学费以后,学校准其领取驾照并存档。本系统采用结构化的程序设计思想进行编制,整个系统数据存在表格文件中,由数据库文件进行管理。本系统在设计数据库时使表格文件发生关联,组成关系型数据库,以便于对数据进行处理。这样就可以在数据的操作上分别针对属于不同表的数据,不必为了某条记录的一个字段来对全部记录进行修改,加快了数据的处理速度,增加了数据的可管理性。已基本能够满足驾校管理需求。 2.2运营可行性分析为使系统达到最佳的稳定状态,驾校需配备2-3名管理人员,以便操作和维护能同时得到有效的监管。为使驾校人员能迅速熟练使用此系统,需为驾校管理人员针对此系统专门培训一段时间。驾校业务比较繁忙,如果注重员工培训这个环节,能节省不少时间、财力、人力,故安排人员接受短期仓库管理操作系统的培训是完全可行的。同时,为避免出现系统与原有网络平台不兼容的情况出现,在安装此系统之前得首先改造驾校管理流程,本系统的运行环境要求windows2000/xp操作平台,要求装有微软office系统,主要是对excel的需求。系统运行环境对驾校是有一定要求的,必须在运行安装环境达到相关要求之后才能使用本驾校管理系统。绝大部分驾校配有内部网络平台,主要是针对员工调度指挥的,现接入驾校管理系统,不需要对物理设备进行大的改造,只要在网络平台上进行设置后就能满足系统运行环境7。2.3总体设计2.3.1系统总体功能设计本软件系统不仅为驾驶学校提供了从学员报名登记开始,到学员入学、培训直至最后结业离校的全过程管理,使整个教学过程清晰流畅、操作轻松,在管理层面使学员有一个良好的感受;而且还提供收费管理、财务管理、后勤车辆管理、人事管理等有机联系的功能模块。系统的总体功能设计如图5所示。图5. 系统总体功能设计本系统包括环境维护、学员管理、收费系统、教务管理、后勤管理、系统维护、报表中心等七个功能模块,系统功能结构如下图所示。本系统所设计的主要模块是其中的教务中心以及学员管理模块,并且能让学员培训报名、分车、排课以及后勤管理产生现实联系。 2.3.1系统流程设计本系统设置了管理员操作权限,将系统的操作者分为管理组长和管理员。首先管理组长必须首先完成整个驾校管理系统的基础信息的设置。基础信息包括用户权限,教学项目,驾驶路段,培训费用,投诉内容,培训学时。图6为管理组长的信息设置。图6. 管理组长信息设置图当管理人员完成了驾校的基本信息设置以后,管理员可以在自己的权限内完成工作。管理员负责学生从报名直至驾照的领取,主要包括报名学生的信息录入,学生的缴费登记,学生分车排课,培训记录,考试名单录入,考试成绩录入以及学生结业和相关费用的退还。管理员的具体操作流程如图7所示。图7. 管理员操作流程第三章 驾校管理系统的详细设计系统经过了多个用户实际操作,在界面设计上综合考虑用户使用方便,只要会电脑操作的用户即可操作本系统,具有完善的纠错功能,不会让用户输错重要信息,学员资料只须输入一次,其它表格自动调用相关的数据,让用户以最少的信息量输入,减轻操作负担。 结合上述功能需求,最终达到:让管理流程更为清晰,; 能够管理学员从入学到结业的全过程;能够对教学工作,如分车、排课、考核等进行管理;可以方便的查询学员的学习、考核情况,学校的教学情况、收费情况等;可以轻松的获得各类报表;使用方便,容易掌握。3.1系统主要功能模块设计3.1.1登陆模块设计先根据输入的用户名判断是管理组长还是管理员,再判断密码是否正确。如是管理组长,则开放管理组长权限;反之,则开放管理员权限。管理员登陆流程如图10所示。图8. 管理员登陆流程3.1.2学员报名模块设计学员报名模块包括跟车学员报名操作、计时学员报名操作。跟车培训报名就是对新入学的学生进行信息录入,整个系统对学生记录的录入只需一次。如果学生是由教练带入学校,则系统会指定由该教练负责指导学生;如果学生是自己来报名的,学校负责统一分车。跟车报名流程如图9所示。图9. 跟车报名流程跟车报名的具体步骤如下:(1)当管理员进入主界面以后,跟车报名的菜单激活,管理员进行跟车报名的信息录入。(2)每个学生必须先完成体检,为跟车报名提供有效的健康数据。(3)管理员根据学生的材料录入相关的报名信息,系统首相对身份证,申请车型,视力等基本信息进行审核,符合驾校规定的则将该生划入跟车名单;反之则会提示相应不符合规定的信息。(4)接着再根据生源的不同,对报名学生再次进行分类,由教练自己介绍的则为学员指定教练,否则由学校同意分车。(5)经过筛选,确定跟车名单以后,考生需要进行缴费,管理员则录入每个学生所缴纳的实际费用。(6)完成缴费后,系统会改变学生的状态,从而制定出跟车培训名单。计时培训报名,是指在教学大纲培训时间以外的时间,由驾校自行安排计时培训项目,学员自愿报名,流程与跟车培训报名类似,该培训项目进行另外收费。计时培训报名的具体流程如图10所示。图10. 计时报名流程计时报名的具体步骤如下:(1)当管理员进入主界面以后,计时报名的菜单激活,管理员进行计时报名的信息录入。(2)系统首先对考生的基本信息审核,此处与跟车报名类似。(3)计时报名再完成名单更新以后,属于和驾校的额外交易,需要独立签定协议3.1.3分车排课模块设计当有学生完成报名后,意味着学校需要正式开始对学生进行培训,第一步就是对学员进行分车,系统同样采用批量处理的方式对学员进行分车,系统将自动根据学员申报的车型,为其指定相应的教练。每辆车在同一时间已经满4人,则无法安排在该车进行训练分车完成后,意味着该生已经有了教练。分车排课和晋阶的具体流程如图11所示。图11. 分车排课流程系统做如下操作:(1)将学生表中教师的编号进行修改。根据学生信息表中教师的编号,来判断学生是否满足排课要求。排课是指根据驾校要求,每位学生必须完成所学内容。在排课过程中,系统的操作如下:(2)根据车辆分配情况,自动划分到相应教练。(3)根据相应阶段,在训练表中写入相应课程。(4)判断与教练的时间是否有冲突,在训练表中写入相应培训时间。(5)根据培训的具体时间段,在训练表中写入相应学时。(6)根据学校指定路段写入训练表。3.1.4考试晋阶模块设计根据教学日志的内容,系统将根据驾校要求,生成不同考试阶段的考试名单,考生成绩通过后,才能进行阶段晋阶,这样反复进行,当考生完成第3阶段晋升后,则进行毕业。系统接受到教学日志后,进行以下操作(1)根据不同阶段的培训学时要求,确定是否纳入考试名单,将培训信息表中的完成学时名单复制到考试名单。(2)录入考试成绩,在成绩表中相应的考试阶段录入考试成绩。(3)根据考试成绩,确定晋阶名单,修改学生表中的状态信息。(4)进入下一阶段的分车与排课。3.1.5结业模块设计跟车培训结业是指在完成驾校所有培训项目并在阶段考试中取得合格的前提下,学校予以结业并发放驾照,此环节进行批量处理。跟车结业的流程图如图12所示。图12. 跟车结业流程 跟车结业的具体流程如下(1)选择学员并输入结业日期。(2)判断培训课程、考试成绩以及所缴费用。(3)生成结业名单。此处只需填写结业日期,计时培训毕业与跟车培训结业类似。计时结业流程如图13所示。图13. 计时结业流程计时结业的具体流程如下:(1)选择学员并输入结业日期。(2)判断培训课程、考试成绩以及所缴费用。(3)生成结业名单。3.1.6财务模块设计财务模块的主要功能是对驾校培训过程车的费用变化进行操作,次模块由专门的财务人员进行操作,负责对学员报名进行的缴费,培训退费,以及结业费用清算进行操作。 学员入学缴费实行一次性缴费,将包括培训过程中的费用。计时培训费用将独立于学费之外,此费用并不是必须的,是根据学生自愿的原则。学费主要包括3个阶段的培训费用,每个阶段的费用由管理组长根据收费标准要求提前设定,财务人员的职责只是负责录入学员所缴费用。如果学员在未完成教学大纲所规定的课程要求而要求离校,学校则根据学生在学校完成的阶段情况对学生进行费用结算。学生完成教学大纲并顺利结业后,学校也将对学生的费用惊醒结算。跟车缴费流程如图14所示。图14. 缴费流程具体步骤如下:(1) 根据培训名单,将编号依次计入费用表。(2) 财务人员根据名单内容,录入费用,系统将信息写入费用表。(3) 判断培训信息,结算学员费用。3.2 数据库设计本系统采用SQL server 2000 作为数据库存放数据的,数据库名称:biyeshiji,共设计了六张固定表,分别是:跟车学生表(student),教员表(teacher),车辆表(car), 培训表(train),成绩表(score),投诉表(tousu),跟车费用表(genchefee),用户表(user)。 所用数据表包括管理员信息表、出库数据表、入库数据表以及仓库储存原料信息表等。数据库关系结构图如图15所示。 图15. 数据库关系结构图表1. 跟车学生表(表名:student)类型名类型索引是否为空长度说明stidchar主键否10学生编号snamechar是20学生姓名ageint是4学生年龄sfcardchar是20时间日期sexchar是50学生性别sqtypechar是4申请类型zjtypechar是4准驾类型bmtimedatetime是8报名时间bytimedatetime是8毕业时间phonechar是20电话号码addressVarchar是50住址photovarchar是200图片路径statuint是2学生状态tcidchar外键否10教师编号一旦学生报名培训,每个学生都自动生成一个唯一的编号(stid),状态号(statue)表示每个学生所处的阶段,随着学生在驾校的每个学习阶段的晋升,状态也会相应改变,状态号是学校分车,排课,安排考试以及退费的标志,每个学生只有一个教员进行辅导。表9. 教师表(表名:teacher)类型名类型索引是否为空长度说明tcidchar主键否10教师编号tcnamechar是20教师姓名ttypechar是4驾驶类型caridchar外键否10车牌号码btimedatetime是8上任时间stimedatetime是8离职时间phonechar是20电话号码教师和车辆是一一对应的关系,但是每个老师可以对应多个学生。教师的薪水同样作为学校财务的一个方面,从而增加了系统的多样性。表10. 汽车表(表名:car)类型名类型索引是否为空长度说明caridchar主键否15车牌号码tcnamechar是20教师姓名ctypechar是4车类型pricemoney是10价格repairfeemoney是10维修费用repairtimedatetime是8维修时间feetimedatetime是8加油时间oilfeemoney是10油费表3. 培训表(表名:train)类型名类型索引是否为空长度说明stidchar外键否10学生编号caridchar外键否10车牌号码Finishtime1int是4阶段一完成学时Traintime1datetime是8阶段一培训日期Finishtime2int是4阶段二完成学时Traintime2datetime是8阶段二培训日期Finishtime3int是4阶段三完成学时Traintime3datetime是8阶段三培训日期管理员将车辆分配结束以后,学生将接受正式培训,培训阶段(JXNAME)记录每个学生所处的培训阶段,培训学时(finishitime)记录每个学生完成的学时,必须达到相应的学时才能进行阶段考试。 表4. 成绩表(表名:score)类型名类型索引是否为空长度说明stidchar外键否10学生编号firstscoreint是4阶段一成绩secondscoreint是4阶段二成绩thirdscoreint是4阶段三成绩firsttimedatetime是8阶段一考试时间secondtimedatetime是8阶段二考试时间thirdtimedatetime是8阶段三考试时间 学生的成绩表记录学生在培训中三个阶段的时间,前两个阶段的成绩分别作为学生进入下个阶段的依据,一但成绩合格,并且由管理员完成学生同意晋升的操作,学生的状态也会改变;最后一个阶段的成绩则是作为学生毕业的依据。第四章 系统主要功能模块的实现驾校管理软件涉及到学生报名、分车排课,考试晋阶等模块,虽然设计的不是大型系统,但本系统的代码设计与实现还是一个较为庞大、复杂的工程。在此仅对主要功能模块代码的实现进行说明,其中列出的代码是实现各功能的主要代码,并非所有代码。4.1学员报名模块的实现4.1.1跟车报名模块实现跟车培训是各驾驶学校根据教学大纲要求,为学员提供的常规驾驶培训。员入学后按照学校规定的教学模式进行系统化的培训,完成所有教学训练后,过相关考试然后毕业。参加跟车培训的学员也可自费参加计时培训。跟车报名的界面如图16所示。图16. 跟车报名界面(1)打开菜单【学员管理】/【入学管理】/【跟车培训报名】,进入“跟车培训报名”功能界面。若当前操作员为学校本部操作用户,窗口将显示所有在校学员的报名记录;若是招生点用户,窗口将显示在该招生点报名的在校学员记录。(2)若需进行报名登记,在此操作界面上点击学员报名按钮,打开子操作界面“报名登记”。根据要求输入报名学员的各项信息(可根据各驾驶学校自身的要求填写,但带“*”号者为必填信息),其中橘红色名称的项目,表示此时输入以后,将来对学员报名信息进行修改时是不能再作更改的,因此不要填错。填好以后点击保存按钮,此学员即可完成报名。此时可点击缴费按钮,直接进入缴费操作界面进行缴费。为方便操作,用户可以不必返回主界面,直接点击新学员便可继续录入新学员的报名信息。(3)如要修改某学员报名信息,可双击该学员记录,系统将弹出包含该学员详细信息的“报名登记”子操作界面,修改相应信息后,点击保存按钮修改即可生效。(4)若需打印学员花名册或考勤册,点击打印花名册或打印考勤册按钮即可。跟车培训报名模块代码实现procedure TForm2.Button1Click(Sender: TObject);var s:string;var st:string;begin adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add(select* from student where sfcard=:p2); adoquery1.Parameters0.Value:=trim(edit4.Text); adoquery1.open;s:=if exists(select name from sysobjects where name=p1 and type=p);s:=s+ drop procedure p1;adocommand1.CommandText:=s;adocommand1.Execute;s:=create proc p1(v1 varchar(50) ,v2 varchar(50),v3 int,v4 varchar(50),v5 varchar(50),v6 varchar(50),v7 varchar(50),v8 decimal(9,1),v9 decimal(9,1),v10 datetime,v11 varchar(50),v12 varchar(50),v13 varchar(200) as ;s:=s+ begin;s:=s+ if(select count(*) from student where stid=v1 or sfcard=v4)=0 ;s:=s+ insert into student(stid,sname,age,sfcard,sex,sqtype,zjtype,leftview,rightview,bmtime,phone,address,photo) values(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13);s:=s+ end;adocommand1.CommandText:=s;adocommand1.Execute;with adostoredproc1 do begin procedurename:=p1; parameters.Clear; parameters.CreateParameter(vv1,ftstring,pdinput,50,); parameters.CreateParameter(vv2,ftstring,pdinput,50,); parameters.CreateParameter(vv3,ftinteger,pdinput,10,0); parameters.CreateParameter(vv4,ftstring,pdinput,50,); parameters.CreateParameter(vv5,ftstring,pdinput,10,); parameters.CreateParameter(vv6,ftstring,pdinput,10,); parameters.CreateParameter(vv7,ftstring,pdinput,9,); parameters.CreateParameter(vv8,ftfloat,pdinput,9,0); parameters.CreateParameter(vv9,ftfloat,pdinput,9,0); parameters.CreateParameter(vv10,ftdatetime,pdinput,50,0); parameters.CreateParameter(vv11,ftstring,pdinput,50,); parameters.CreateParameter(vv12,ftstring,pdinput,10,); parameters.CreateParameter(vv13,ftstring,pdinput,200,); with adoquery3 do begin close; sql.Clear; sql.Add(select top 1*from student order by stid desc); open; st:=fieldbyname(stid).AsString; end; if st= then st:=st000; parameters.ParamByName(vv1).Value:=st00+inttostr(strtoint(copy(st,3,3)+1); parameters.ParamByName(vv2).Value:=trim(edit2.Text); parameters.ParamByName(vv3).Value:=strtoint(trim(edit3.Text); parameters.ParamByName(vv4).Value:=trim(edit4.Text); parameters.ParamByName(vv5).Value:=trim(combobox1.Text); parameters.ParamByName(vv6).Value:=trim(combobox2.Text); parameters.ParamByName(vv7).Value:=trim(combobox3.Text); parameters.ParamByName(vv8).Value:=strtofloat(trim(edit7.Text); parameters.ParamByName(vv9).Value:=strtofloat(trim(edit8.Text); parameters.ParamByName(vv10).Value:=strtodatetime(trim(edit9.Text); parameters.ParamByName(vv11).Value:=trim(edit5.Text); parameters.ParamByName(vv12).Value:=trim(edit10.Text); parameters.ParamByName(vv13).Value:=trim(form10.filelistbox1.FileName); if adoquery1.RecordCount1 then begin execproc; adocommand2.CommandText:=insert into train (stid) values(:p14); adocommand2.Parameters.ParamByName(p14).Value:=st; adocommand2.Execute; adocommand3.CommandText:=insert into score (stid) values(:p15); adocommand3.Parameters.ParamByName(p15).Value:=st; adocommand3.Execute; showmessage(保存成功); edit2.Text:=; edit3.Text:=; edit4.Text:=; edit5.Text:=; end else showmessage(者身份证重复); end; with adoquery2 DO BEGIN close; sql.Clear; sql.Add(select stid as 学生编号,sname as 学生姓名 ,sfcard as 身份证号,zjtype as 准驾车型 ,sqtype 申请车型 ,bmtime as 入学时间 from student); open; END; button1.Enabled:=false; combobox2.Items.Clear;end;procedure TForm2.FormShow(Sender: TObject);beginwith adoquery2 DO BEGIN close; sql.Clear; sql.Add(select stid as 学生编号,sname as 学生姓名 ,sfcard as 身份证号,zjtype as 准驾车型 ,sqtype 申请车型 ,bmtime as 入学时间 from student); open; END;button1.Enabled:=false;edit9.Text:=datetimetostr(date);end;procedure TForm2.Edit3KeyPress(Sender: TObject; var Key: Char);beginif (key9) and (key#13) and (key#8) then begin showmes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论