驾校管理系统的设计与实现1.docx
- 文档编号:15873329
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:39
- 大小:432.55KB
驾校管理系统的设计与实现1.docx
《驾校管理系统的设计与实现1.docx》由会员分享,可在线阅读,更多相关《驾校管理系统的设计与实现1.docx(39页珍藏版)》请在冰点文库上搜索。
驾校管理系统的设计与实现1
河北农业大学现代科技学院
本科毕业论文(设计)
题目:
驾校管理系统的设计与实现
摘要
如今人们生活水平有了极大的提高,快节奏、高效率成为现代生活的需要。
与此同时,汽车成为生活出行不可或缺的交通工具,购买私家车的家庭也越来越多,考驾照的人员也急剧增加。
但是传统的驾校管理模式给驾校管理者带来巨大的工作量。
信息化的发展以及网络技术的普及,对网络驾校的实现提供了很大的有利条件。
我对当前驾校管理模式做了解,对驾校需求做了调研,并通过需求分析、项目策划、项目设计、项目测试、上线等,做出了一套驾校管理系统,该系统使用VisualStudio2010作为开发环境,SQLServer2012作为数据储存,实现了学员报名,学员信息管理,学员查找,学员考试预约,自动接收考试成绩,成绩查询,等功能,同时提供了良好的系统扩展性,使用低廉的成本就可以进行二次开发。
该系统实现了驾校信息化管理,自动化管理。
减轻驾校管理人员的任务,提高工作效率,保证数据正确,提供多维度数据分析,并且减少雇佣人员费用。
关键字:
驾校管理、ERP、C#、WinForm、SQLServer2012
Abstract
Today,people'slivingstandardhasbeengreatlyimproved,fast-paced,high-efficiencyneedsofmodernlife.Meanwhile,thecarbecameanindispensablemeansoftransporttravelinglife,buyafamilycarmoreandmore,drivingtestpersonnelhasincreaseddramatically.However,thetraditionalmanagementmodeldrivingschoolDrivingmanagerstobringhugeworkload.Developmentofinformationtechnologyandthepopularizationofnetworktechnology,thenetworkprovidesagreatdrivingschooltoachievefavorableconditions.
Idounderstandthecurrentmanagementmodeldrivingschool,drivingschoolneedstodoresearchon,andthroughneedsanalysis,projectplanning,projectdesign,projecttesting,on-line,etc.,madeadrivingschoolmanagementsystem,whichasadeveloperusingVisualStudio2010environment,SQLServer2012asdatastorage,toachieveastudentenrollment,studentinformationmanagement,studentsfind,studentexamsappointmentautomaticallyreceivetestscores,queryresults,andotherfunctions,whileprovidingagoodsystemscalability,lowcost,youcanuseforsecondarydevelopment.ThesystemimplementsDrivinginformationmanagement,automatedmanagement.Easethetaskofdrivingschoolmanagement,improveworkefficiency,andensuredataiscorrect,providingmulti-dimensionaldataanalysis,andreducehiringpersonnelcosts.
Keywords:
Drivingmanagement,ERP,C#,WinForm,SQLServer2012
1.绪论
1.1课题研究的背景及意义
随着社会节奏的不断加速以及人们生活水平的不断提高,汽车已经成为人们生活当中不可缺少的代步工具,相应参加汽车驾校进行培训的人员也越来越多。
然而,层出不穷的驾校却也同时制造了相当多的驾驶事故;更有一些所谓速成的驾校培养了相当多的“马路杀手”,这是对生命的一种漠视,带来了无穷的交通安全隐患。
由此,加强驾校管理的行动迫在眉睫。
而当下飞速发展的网络技术为开发驾校管理系统提供了相当丰富的技术。
虽然当下许多驾校的培训管理已经在向系统化、规范化、自动化转变,其中却还是存在着相当多的问题,例如管理模块分散、操作复杂等等。
我们该做的,就是利用更先进的技术手段来解决当下存在的这些系统缺陷,是驾校系统进一步的完善。
1.2现行驾校管理系统概况
伴随着社会的发展和人们生活水平的提高,快节奏、高效率成为现代生活的需要。
与此同时,汽车成为生活出行不可或缺的交通工具,购买私家车的家庭也越来越多,考驾照的人员也急剧增加。
传统的驾校管理模式给驾校管理者带来巨大的工作量。
信息化的发展以及网络技术的普及,对网络驾校的实现提供了很大的有利条件[1]。
目前,大部分的驾校还是传统的模式,管理模式落后存在很多问题:
1.管理人员使用简单的办公软件甚至简单的纸笔管理学员信息。
2.录入效率低,准确性查,检索混乱。
3.驾校管理人员的工作量大,带来了不必要劳动力开销。
4.管理部门内部人员在实际管理过程中存在人情管理,不进行培训、考试直接发证。
5.从业驾驶员培训机构不能严格执行管理部门的大纲及学时规定,减少培训课时。
6.在考试过程中出现代考、代答现象。
7.学员的纸质档案管理,查询难、易丢失。
目前市场上也存在一部分驾校管理系统,但是仅仅是对驾校人员信息和成绩的简单储存,还需要驾校工作人员手工录入大量信息,储存的数据少且没有参考价值,没有对学员的精准营销和对学员成绩的分析,更没有对教练教学成绩的分析。
同时学员成绩是手工录入的,造成大量错误和数据延迟。
现在系统的主要功能一般都有以下几点:
培训管理:
包括报名登记、缴退费管理、IC卡发放/指纹采集、教学管理
考试管理:
包括题库维护、模板维护、考试编排、学员考试、试卷考核、考试统计
档案管理:
包括申请档案、培训档案、考试档案、资格证档案
随着现代信息化的发展,人们不再满足于传统的低效的办公方式,迫切需要一种高效的方式代替传统的方式,以适应社会的发展。
为了解决这些问题,我主要提出以下观点:
1.学员通过刷身份证的方式自动录入学员信息。
2.成功报名学员部分信息的更改和部分信息不可再更改,保证数据正确。
3.学员信息的多维度检索,比如学员姓名和学员身份证。
4.自动化接收车管所接口开放的学员成绩数据。
5.自动化通过成绩判断学员的考试状态。
6.自动化的学员预约管理,对学员科目进度和考试状态的判断,保证学员正确预约。
7.良好的可扩展性,对在线报名在线预约和数据分析等二期开发的新功能提供支持。
1.3论文组织
论文全文共分为六章:
第一章绪论:
主要介绍了论文选题的引言、对课题研究的背景及意义进行了分析,同时也现行系统状况及发展趋势进行了介绍。
第二章开发环境和开发技术:
介绍了系统、系统的开发模式、开发环境等基础知识。
第三章需求分析:
主要介绍了系统设计思想、可行性分析、功能和性能需求。
第四章系统设计:
主要介绍了系统的总体结构设计和系统的数据库设计,其中数据库的设计包括了概念设计、逻辑设计和物理设计。
第五章系统实现:
介绍了系统的所有模块和它的功能。
第六章总结展望:
总结了现有系统的功能和以后待完善的功能。
2.系统的理论基础
2.1C#技术特点
C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:
强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(GarbageCollection,指一种自动内存释放技术)。
软件必须做到强大、持久,并具有较强的编程生产力。
此种语言为在分布式环境中的开发提供适用的组件开发应用。
新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。
开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本。
C#在设计时就考虑了这些问题。
它使开发者用更少的代码做更多的事,同时也不易出错。
新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。
现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。
所以,它们一般无法很好地支持最新的网络技术[2]。
C#程序员可以在Microsoft.NET平台上事半功倍的构建应用程序的扩展框架。
C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用。
更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样。
这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。
还有一些精细的特性,使得C#成为一流的网络编程工具。
例如,XML正逐渐成为在网络上传输结构化数据的标准。
这种数据集合往往非常小。
为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class。
这样对处理少量的数据非常有效。
为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。
对国际化的支持非常重要。
C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用[3]。
2.2SQLServer2012技术特点
SQL(StructuredQueryLanguage)是结构化查询语言的缩写。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
在SQL中,关系模式(模式)称为“基本表”(basetable);存储模式(内模式)称为“存储文件”(storedfile);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)[4]。
SQLServer2012是Microsoft公司推出的SQLServer数据库管理系统,它和以往的数据库不同,主要有以下强大的新功能使我们系统更强大:
1.AlwaysOnAvailabilityGroups
这项功能将数据库镜像故障转移提升到全新的高度,利用AlwaysOn,用户可以将多个组进行故障转移,而不是以往的只是针对单独的数据库。
此外,副本是可读的,并可用于数据库备份。
更大的优势是SQLServer2012简化HA和DR的需求。
2.WindowsServerCoreSupport
在WindowsServer产品中你可以向UbuntuServer一样只安装核心(意味着你的系统不具备GUI)。
这么做所带来的优势是减少硬件的性能开销(至少50%的内存和硬盘使用率)。
同时安全性也得到提升(比安装图形版更少的漏洞)。
从SQLServer2012开始将对只安装核心的WindowsServer系统提供支持。
3.ColumnstoreIndexes
这是一个相当酷的功能,是SQLServer之前版本都不具备的。
特殊类型的只读索引专为数据仓库查询设计。
数据进行分组并存储在平面的压缩的列索引。
在大规模的查询情况下可极大的减少I/O和内存利用率。
4.User-DefinedServerRoles
DBA已经具备了创建自定义数据库角色的能力,但在服务器中却不能。
例如DBA想在共享服务器上为开发团队创建每个数据库的读写权限访问,传统的途径手动配置或使用没有经过认证的程序。
显然这不是良好的解决方案。
而在SQLServer2012中,DBA可以创建在服务器上具备所有数据库读写权限以及任何自定义范围角色的能力。
5.EnhancedAuditingFeatures
现今所有的SQLServer版本都具备审计功能,用户还可以自定义审计策略,以及向审计日志中写入自定义事件。
而在SQLServer2012中提供过滤功能,同时大幅提高灵活性。
6.BISemanticModel
BISemanticModel代替了ASUDM(AnalysisServicesUnifiedDimensionalModel)。
BISemanticModel这种混合的模式允许数据模型支持所有SQLServerBI实践,此外还可允许一些整洁的文本信息图图表。
7.SequenceObjects
对于使用Oracle的人说,这是他们长期希望拥有的功能。
序列仅仅是计数器的对象,一个好的方案是在基于触发器表使用增量值。
SQL一直具有类似功能,但现在显然与以往不同。
8.EnhancedPowerShellSupport
Windows和SQLServer管理员现在就要开始提高他们PowerShell的脚本技能了。
Microsoft为了推动其服务器产品上PowerShell的发展做出了很大的努力。
在SQLServer2008中DBA以及有所体会,在SQLServer2012中增加了更多的cmdlet。
9.SQLAzureEnhancements
虽然这与Microsoft释放出的SQLServer2012并无直接联系,但Microsoft正在SQLAzure做关键的改进。
Azure现已具备ReportingServices以及备份Azure数据存储的能力,这是个不小的进步。
Azure现在允许最大150GB的数据库。
同时Azure数据同步可更好适应混合模型和云中部署的解决方案[5]。
2.3开发工具VisualStudio2012介绍
VisualStudio是微软公司推出的开发环境。
是最流行的Windows平台应用程序开发环境。
最新版本为VisualStudio2012,VisualStudio2012是我们到目前为止最卓越的版本。
它的目的就是帮助您在贵在创意、重在速度的市场中发展壮大。
全新的外观和感受:
一打开IDE,您就会看到不同之处。
整个界面经过了重新设计,简化了工作流程,并且提供了访问常用工具的捷径。
工具栏经过了简化,减少了选项卡的混乱性,您可以使用全新快速的方式找到代码。
所有这些改变都可以让您更轻松地导航应用程序,以您喜爱的方式工作。
Web开发升级:
对于Web开发,VisualStudio2012也为您提供了新的模板、更优秀的发布工具和对新标准(如HTML5和CSS3)的全面支持,以及ASP.NET中的最新优势。
此外,您还可以利用PageInspector在IDE中与正在编码的页面进行交互,从而更轻松地进行调试。
那么对于移动设备又如何呢?
有了ASP.NET,您现在便可以使用优化的控件针对手机、平板电脑以及其他小屏幕来创建应用程序[6]。
云功能:
以前,每个人都需要维护一台服务器。
光是扩展容量便占用了基础架构投资的一大半。
而现在,您可以利用云环境中动态增加存储空间和计算能力的功能快速访问模板和发布选项),并且支无数虚拟服务器。
VisualStudio提供了新的工具来让您将应用程序发布到WindowsAzure(包括新持分布式缓存,维护时间更少。
灵活敏捷的流程,可靠的应用生命周期管理:
到目前为止,我们主要在关注开发方面。
但是随着应用程序变得越来越复杂,您还需要能帮助您的团队更快更智能工作的工具。
这就是我们要加入一种灵活的敏捷方法的原因。
利用VisualStudio和TeamFoundationServer,您可以根据自己的步调采用效率更高的方法,同时还不会影响现有工作流程。
我们还提供了让您的整个组织来参与整个开发测试过程,通过新的方法让利益相关方、客户和业务团队成员跟踪项目进度并提出新的需求和反馈。
3.系统分析
3.1设计思想
系统采用面向对象的思想开发。
第一步,确定用户的功能需求、业务流程、业务的参与者。
第二步,根据第一步的结果对系统的设计进行可行性分析。
第三步,根据第一步所确定的系统参与对象建立相应的数据模型。
第四步是根据确定的数据模型规划建立数据库,根据业务流程规划功能设计。
第五步,确定应用类型(WEB应用/桌面应用)并设计界面。
第六步,编码实现阶段。
第七步,测试完善。
3.2系统可行性分析
可行性研究是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。
可行性研究应具有预见性、公正性、可靠性、科学性的特点。
3.2.1技术可行性
为避免出现系统与原有网络平台不兼容的情况出现,在安装此系统之前得首先改造驾校管理流程,本系统的运行环境要求windows操作平台+.Net4.5环境。
系统运行环境对驾校是有一定要求的,必须在运行安装环境达到相关要求之后才能使用本驾校管理系统。
绝大部分驾校配有内部网络平台,主要是针对员工调度指挥的,现接入驾校管理系统,不需要对物理设备进行大的改造,只要在网络平台上进行设置后就能满足系统运行环境。
3.2.2经济可行性
当下社会随着汽车代步现象的普遍性,各地区驾校也是大量涌现,但却是良莠不齐,主要就是管理方面的问题,保证学员信息正确,录入快速,保证学员正确预约,提高驾校管理人员效率。
应当有一定的市场前景。
3.2.3操作可行性
系统建成平稳运行之后,驾校管理人员可以通过该系统刷身份证给学员报名,通过系统可查询那些学员可以进行科目预约,操作简单,点击鼠标就可以完成大部分工作。
3.3需求分析
所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
简单的说就是分析用户的要求。
需求分析是系统设计的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
在和驾校的相关负责人员进行沟通和了解后,最终确定了以下功能需求,这些功能和需求将作为系统建模和流程设计的依据。
3.3.1基本功能需求
主要有六大模块:
登录模块
驾校系统管理员输入正确的用户名和密码可以登录系统,配置链接的数据库服务器。
2.学员报名
主要实现新学员的姓名、身份证号、家庭住址、手机号等信息的录入,可以通过刷身份证实现
3.学员管理
主要对报名学员信息的查询和修改功能。
4.预约模块
学员对科目一、科目二、科目三的预约、取消预约、补考预约等功能
5.成绩查询
学员可以通过搜索姓名和身份证号来查询自己考试进度、考试成绩、考试时间、是否通过等信息。
6.系统设置
添加管理员和添加考试时间。
3.3.2预约名单的打印需求
学员预约后,驾校管理人员需要向车管所提供一份打印的名单,用于学员考试前点名和信息记录等。
格式需要按车管所提供的统一格式,所以需要设计几套报表模板进行打印操作。
4.系统设计
4.1业务流程需求分析
业务流程图(transactionflowdiagram,简称TFD),就是用一些规定的符号及连线来表示某个具体业务处理过程。
一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向。
图4-1业务流程图
4.2系统架构需求分析
本系统在开发时选择了采用了C/S结构模式,主要是本系统是针对驾校管理人员使用的,无需通过web访问。
同时C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
具体表现在以下两点:
(1)应用服务器运行数据负荷较轻。
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。
二者可分别称为前台程序与后台程序。
运行数据库服务器程序的机器,也称为应用服务器。
一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
(2)数据的储存管理功能较为透明。
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。
所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。
在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。
在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理[7]。
4.3数据库设计
本系统采用SQLserver2012作为数据库存放数据的,数据库名称:
driver,共设计了十张表,分别是:
学员表(student),科目一(subjectone),科目二(subjecttwo),科目三(subjectthree),进度表(subject),车型(carmodel),教练(coach),状态(status),考试时间(examtime),管理员(admin),总体设计原则体现出将表分成事实表和维度表表两类,事实表由外键管理维度表主键,这样的设计方便以后系统扩展[8]。
图4-2数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 驾校 管理 系统 设计 实现