《基于DELPHI的车辆管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于DELPHI的车辆管理系统的设计与实现.doc(43页珍藏版)》请在三一办公上搜索。
1、毕 业 论 文(设 计)作 者:xxx学 号:xxx系 部:信息科学与工程系专 业:计算机科学与技术题 目:基于Delphi的车辆管理系统的设计与实现指导老师xxx讲师提交日期2010年5月15日基于Delphi的车辆管理系统的设计与实现摘 要 随着经济的日益增长,车辆数量增长迅速,车辆的种类也在不断的增加,由此车辆管理所需要保管的车辆档案资料增加迅速。随着档案资料的增加,工作人员劳动强度增大,档案资料的存储、查询等工作与办公高效率的要求矛盾日渐突。为解决此矛盾,采用计算机对车辆进行管理已成为必然趋势。本文主要介绍了如何利用Delphi7及SQL Server2000构筑车辆管理系统,文中分析
2、了该系统的主要组成情况,重点介绍了系统功能模块的详细思路和实现方法。该系统能有效地协助单位进行车辆的管理,系统使用起来方便、简单,使用该系统大大减少了管理人员作业量,减少出错几率,提高了工作效率。关键词:车辆管理,Delphi7, SQL Server2000Development of Vehicle Management System Based on DelphiABSTRACTWith the economy growing, the vehicle quantity increases rapidly and the kind of the vehicle is in constan
3、t increase too,which will cause that the vehicles reference material will increase. Along with the reference material increase, the staff work load increases, file storage, query, such as office work and high-efficiency requirements have become increasingly prominent contradictions. In order to reso
4、lve this contradiction, that using the computer to manage vehicle will become the inexorable trend.This paper mainly introduces how to use delphi and sql server to structure the vehicle management system. The paper analyzes the main components of the system, focusing on the system functional modules
5、 detailed ideas and methods. The system can assist the unit to manage the vehicles effectively,which is convenient and simple to be used , the system can reduce administrative staffs work load greatly, reduce the probability of making mistakes, improve working efficiency. Keywords: Traffic managemen
6、t, Delphi7, Sql server2000目 录摘 要IABSTRACTII第一章前言- 1 -1.1 背景- 1 -1.2 MIS系统的起源和作用- 1 -1.3 单位车辆管理系统的功能和作用- 1 -第二章系统开发相关技术- 3 -2.1 编程工具的选择- 3 -2.2 数据库的选择- 3 -2.3 构筑单位车辆管理系统- 4 -第三章系统的分析和数据库设计- 5 -3.1 需求分析- 5 -3.2 系统结构- 5 -3.3 数据流程图- 8 -3.4 数据库设计- 8 -3.4.1 E-R图- 8 -3.4.2 数据库表的设计- 10 -第四章 系统设计- 11 -4.1 系统
7、登录界面设计- 11 -4.2 系统主界面的设计- 12 -4.3 车辆档案管理设计- 13 -4.4 车辆档案查询设计- 14 -4.5 数据库连接设计- 15 -第五章 系统实现- 17 -5.1 系统环境- 17 -5.2 系统运行情况- 17 -5.2.1 用户登录界面- 17 -5.2.2 系统主界面- 17 -5.2.3 车辆档案管理界面- 18 -5.2.4 车辆档案信息查询界面- 18 -5.2.5 驾驶员信息管理和查询界面- 19 -5.2.6 车辆类型管理界面- 20 -结束语- 21 -致谢- 22 -参考文献- 23 -附录A-数据库表- 24 -附录B-部分代码- 2
8、5 -第一章前言1.1 背景当前随着信息时代的到来,信息高速公路的兴起,全球信息化进入了一个新的发展时期。人们越来越认识到计算机强大的信息处理功能,使之成为信息产业的基础和支柱。1随着我国经济的快速发展,汽车已经成为人们不可缺少的交通工具。对于拥有大量车辆的企事业单位来说,车辆的管理已经成为日常工作中重要的一项。在传统管理过程中,表单填写与查询管理都非常的耗费人力物力,同时由于采用手工操作,不可避免造成一些的错误,这种管理方式还存在着许多缺点,如效率低、保密性差且较为烦琐。如何让管理人员及时了解每一辆车的情况,提高车辆的使用效率减少费用支出,就成为个单位需要解决的一个问题。1.2 MIS系统的
9、起源和作用管理信息系统(Management Information Systems, MIS)的概念起源比较早,在20世纪50年代就已经有人提出管理依赖于信息和决策的思想。而管理信息系统一词最早出现在1970年,由瓦尔特肯尼万(WalterT.Kenne-van)提出。而计算机首次进入管理业务领域是1954年美国通用电气公司在计算机上计算职工工资。管理信息系统是研究管理领域中的信息活动及计算机的实现方法,为管理提供决策支持。管理系统包括数据处理和管理两部分功能。数据处理功能是把各种形式的原始数据进行分类、整理和保存,以供查询,进行各种系统分析和综合工作,及时提供各种统一格式的信息。管理功能用
10、来管理义务过程的的具体决策活动,包括计划、预测、决策优化等功能。在管理活动中面对大量信息进行管理决策,无疑会对管理者带来一定影响,而管理信息系统对大量信息进行一定处理,使之呈现一定的规律性,为管理者决策活动带来方便。21.3 单位车辆管理系统的功能和作用单位车辆管理系统能够对车辆的各种信息汇总,保存,以供管理人员使用。本系统集中管理车辆的运营、维修、事故、违章等一系列信息,有效跟踪和管理单位每台汽车的使用状况,避免单位车辆管理的随意性,节省人力、物力、财力,提高工作效率,使得车辆管理程序化、规范化、系统化,使企业管理更加科学、更加规范,对于提高劳动热情和办公效率,具有重要的现实意义。3第二章系
11、统开发相关技术2.1 编程工具的选择本系统编译工具为Delphi,具体编译工具版本为Delphi7。Delphi是美国BorlandSoftwareCorporation公司的编程工具产品。它基于Pascal语言,可视化程度高,代码简捷易读执行效率高,它功能强大而且容易学习。Delphi的主要特点体现在以下几个方面:1)编译器速度较快且已编译代码的效率执行效率较高。Delphi的编译器采用Pascal编译器,其特点就是速度快。 2)应用程序可通过在Delphi中使用Borland公司提供的数据引擎(BDE)功能,可以毫无障碍地使用多种数据库,同时Delphi具有数据库感知和数据库浏览功能,使用
12、户在开发应用程序时就可看到数据的变化。用户可在Delphi的集成开发环境中,方便浏览、修改数据库中的数据。3).适用范围广,易用易学。Delphi的优势在于数据库方面,主要体现在Delphi与BDE的无缝集成,以及Delphi提供的一大堆数据库操作控件。目前Delphi支持BDE、ADO、InterBase以及DbExpress四种种数据库访问方式,所有方式都能拖到应用程序中实现可视化操作。42.2 数据库的选择数据库是数据的集合,其作用在于组织和表达信息。计算机的数据库可以分为关系数据库(relational)和非关系数据库(flat-file) 。关系数据库是当前应用主流,关系数据模型的数
13、据逻辑结构为二维表。5本系统使用SQL Server2000数据库。SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。TSQL是结构化查询语言SQL的一种,支持ANSI SQL92标准。SQL Server2000的同一个数据库引擎可以在不同的windows平台上使用且具有分布式事务支持功能,能充分保护任何分布式数据更新的完整性。SQL Server2000还易于安装和使用,SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程使得安装和使用方便
14、。62.3 构筑单位车辆管理系统利用Delphi7在方便的可视化控件、优异的数据库连接功能等方面的优势结合中小型数据库SQL Server2000,可以很好地完成系统开发,实现车辆管理的电子化,大大提高工作效率。7第三章系统的分析和数据库设计3.1 需求分析单位车辆管理系统的目标是对实现车辆相关信息的计算机管理,使得管理科学化、规范化、自动化。针对一般的车辆管理,可总结出以下需求:1.车辆档案管理车辆档案不仅包括车辆信息档案,还包括报废车辆档案,异动车辆档案,车辆类型档案。对车辆档案的管理就是实现对其录入,修改,删除,查询。2.运营车辆管理运营车辆是当前正在使用的车辆,其运营信息包括运营时长,
15、收入,运营时间等。运营车辆管理就是实现对运营信息的录入,修改,删除,查询。3.车辆管理车辆管理就是实现车辆维修管理、车辆违章管理、车辆事故管理。4.驾驶员管理实现对驾驶员档案信息的管理,包括信息录入、修改、删除、查询。3.2 系统结构 根据需求分析将车辆管理分四部分,现将系统功能分如图3-1所示六部分车辆管理系统档案管理运营管理车辆管理驾驶员管理系统维护关于图3-1 系统功能图 各部分又包括若干功能:q 档案管理车辆档案录入、车辆档案查询、车辆异动、车辆异动查询、车辆报废、车辆报废查询、车辆类型q 运营管理车辆运营管理、车辆运营查询、清空运营表q 车辆管理车辆维修管理、车辆维修查询、车辆违章管
16、理、车辆违章查询、车辆事故管理、车辆事故查询q 驾驶员管理驾驶员档案、驾驶员档案查询、驾驶员奖惩q 系统维护 系统初始化、管理员设置、数据备份、数据恢复q 关于帮助、关于、注销车辆管理系统车辆管理驾驶员管理系统维护关于运营管理档案管理车辆档案录入车辆异动车辆报废查询车辆异动查询车辆类型车辆报废车辆运营管理车辆运营查询清空运营表车辆维修管理车辆维修查询车辆违章管理车辆违章查询车辆事故管理车辆事故查询驾驶员档案驾驶员档案查询查询驾驶员奖惩系统初始化车辆档案查询管理员设置数 据 备 份帮 助注 销关 于数 据 恢 复图3-2 系统详细功能图 3.3 数据流程图数据流程图是一种能够全面地描述车辆管理系
17、统逻辑模型的主要工具,它用少数几种符号综合反映出系统中数据、信息的流动、存储、处理和使用的情况。车辆添加零件报废管理维修管理报废记录事故管理事故记录维修记录零件记录违章管理违章记录档案管理车辆信息记录异动管理异动记录车辆类型记录 驾驶员档案管理奖罚管理驾驶员档案记录图3-3 数据流程图3.4 数据库设计3.4.1 E-R图E-R模型是数据库设计的依据,实体、联系、属性是E-R图的主要内容。车辆管理系统的实体为车辆、驾驶员,其联系是驾驶,实体车辆的属性包括车辆的基本信息如车牌号、载重量、购买日期、发动机号等,见图3-4,还包括违章维修异动信息、事故报废信息,见图3-5;实体驾驶员的属性包括姓名、
18、出生日期、驾驶证号、获证日期、驾龄,见图3-4。车 辆车牌号车类型车架号载重量发动机号购置日期使用单位所在单位驾驶驾驶员姓 名出生日期驾驶证号获证日期驾 龄是否质检维修违章信息事故报废信息图3-4 E-R图事故报废异动信息事故日期承担者事故类型保险理赔公司金额对方金额对方姓名对方单位报废日期报废原因维修违章信息异动日期异动原因维修日期维修部件所需费用违章日期违章原因违章原因图3-5 车辆部分属性3.4.2 数据库表的设计详见附录A-数据库表的设计第四章 系统设计4.1 系统登录界面设计用户在进入系统前,必须通过系统登录进入主程序界面,通过系统登录界面主要实现确认用户的身份及使用权限。登录界面设
19、计如下: 图4-1 用户登录界面控件图 新建form,拖放控件label1,label2,label3,button1,button2,edit1,edit2,adoquery,各控件属性如表4-1,代码见附录B-部分代码。表4-1控件属性表控件名属性值 label1caption用户登录label2caption用户名 label3caption密码 edit1nameedtUserIDedit2nameedtPasswordbutton1button2namebbtnOKcaption登录 onclickbbtnOKClicknamebbtnOK caption取消 onclickbbtn
20、CancelClick adoquerynameaqryUser connectionDataModule1.connOracle 4.2 系统主界面的设计 设置form1其caption属性为车辆管理系统,name属性为frmMain1402,系统主界面设计如图4-2。图4-2 系统主界面设计图在主界面拖放控件Mainmenu,并设置其菜单项分别为档案管理,运营管理,车辆管理,驾驶员管理,系统维护,关于。在菜单项档案管理下设置其选项:车辆档案录入,车辆档案查询,车辆异动,车辆异动查询,车辆报废,车辆报废查询,车辆类型。在运营管理菜单设置其选项:车辆运营管理,车辆运营查询,清空运营表。在车辆管
21、理菜单下设置其选项:车辆维修管理,车辆维修查询,添加零件,车辆违章管理,车辆违章查询,车辆事故管理,车辆事故查询。在驾驶员管理菜单下设置其选项:驾驶员档案,驾驶员档案查询,驾驶员奖惩。在系统维护菜单下设置其选项:系统初始化,管理员设置,数据备份,数据恢复。在关于菜单下设置其选项:帮助,关于,注销。添加toolbar控件和lmagelist控件,两者关联。在toolbar中添加12个按钮,分别对应车辆档案录入,车辆档案查询,车辆异动查询,车辆报废查询,车辆运营查询,车辆维修管理,添加零件,车辆违章查询,差了事故查询,驾驶员档案查询,注销。在lmagelist中添加相应图标对应toolbar中的1
22、2个按钮。Toolbar与mainmenu中选项的onclick事件都为tbtnaddrecordclick事件。添加控件adoquery1,adoquery2,label1各控件属性如表4-2,代码见附录B-部分代码。表4-2 控件属性表控件名属性值Lmagelistpictrue图片所在路径AlignalcientAutosizefalseAdoquery1nameaqryconnectionDataModule1.connOracleadoquery2nameqryOperation。connectionDataModule1.connOraclelabel1caption车辆管理系统4
23、.3 车辆档案管理设计在form1中添加控件panel,panel2,toolbar1,再在各控件中添加相应控件,位置如图4-3,控件属性见表4-3,代码见附录B-部分代码。图4-3 车辆档案管理设计图表4-3 控件属性表控件名属性值Adoquery1Adoquery2Adoquery3nameatbVehiclenameatbTypenameatbDriverConnectionDataModule1.connOracleDatasource1DatasetdsVehiclenameatbVehicle Datasource2DatasetdsTypenameatbTypeDatasourc
24、e3DatasetatbDrivernameatbDriverDBEdit1dataFieldPLATENODBLoolupCombobox1dataFieldTYPENODBLoolupCombobox1dataFieldDRIVERNODBEdit2dataFieldCAPACITYDBEdit3dataFieldUSINGDEPTDBEdit4dataFieldBELONGDEPTDBEdit5dataFieldENGINEMODELDBEdit6dataFieldFRAMENODBEdit7dataFieldFACTORYPLATENODBEdit8dataFieldReviewDBE
25、dit9dataFieldInsureDBEdit10dataFieldACQUISITIONDATE 共有属性dataSourcedsVehicle4.4 车辆档案查询设计设置Form属性caption为车辆档案查询,name为frmVehicleRecord。添加控件panel,DBGrid,adoquery,datasource到frmVehicleRecord中,控件位置如图4-4,控件属性见表4-4,代码见附录B-部分代码。图4-4 控件位置图表4-4 控件属性表控件名属性值Panel1caption车辆档案查询Radiobutton1caption按车牌号Tag1 Radiobut
26、ton2caption按驾驶员Tag2 Radiobutton3caption按车辆类型Tag3 Radiobutton4caption异动车辆Tag4Radiobutton5caption以报废车辆Tag5Radiobutton6caption没有年检车辆Tag6Radiobutton7caption没有保险车辆Tag7 Radiobutton共有OnclickradioButton1click Combobox1onclickCombobox1changeCombobox2onclickCombobox2changeCombobox3onclickCombobox3changeAdoque
27、ry1nameaqryQueryAdoquery2nameaqryVehicleAdoquery3nameaqryDCTypeAdoquery4nameaqryDriverAdoquery共有ConnectionDataModule1.connOracleDatasource1namedsQuery DatasetaqryQuery4.5 数据库连接设计本系统使用的数据库为sql server2000,程序使用ado控件的connectionstring属性连接数据库。程序中连接数据库的控件较多,因此采用在datamodule中放置一个adoconnection控件供多个aodquery控件连
28、接数据库的方法,如图4-5所示。图4-5 数据库连接设计图各控件属性图如表4-5所示表4-5 控件属性表控件名属性值AdoconnectionnameconnOracleLoginPromptfalseConnectionstringProvider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=student;Data Source=jk第五章 系统实现5.1 系统环境 CPU Intel Pentium II / 233 MHz 以上 内 存 至少128M 硬盘空间 至少950M 操作系
29、统 windows98/2000/xp5.2 系统运行情况5.2.1 用户登录界面图5-1 用户登录界面此界面用于登录系统,用户分管理员与普通用户,普通用户的操作受到限制,管理员则拥有所有操作权限,而管理员账户123(密码也为123)为初始管理员,当管理员进行系统初始化时,除初始管理员123外的其余所有账户,都被清除。5.2.2 系统主界面图5-2 车辆管理系统主界面在系统主界面中有六个菜单为档案管理、运营管理、车辆管理、驾驶员管理、系统维护、关于。各个菜单下又有若干选项,单击可进行相应操作。同时主界面中还设置了一些快捷图标,可直接进行相应操作。5.2.3 车辆档案管理界面图5-3 车辆档案信
30、息管理界面此界面对车辆档案信息进行管理如增加、删除、修改,同时可查看档案信息,但要完整填写档案信息首先要完成车辆类型信息与驾驶员档案信息的录入。5.2.4 车辆档案信息查询界面图5-4 车辆档案查询5.2.5 驾驶员信息管理和查询界面图5-5 驾驶员管理界面图5-6 驾驶员档案查询界面可以对驾驶员信息进行管理和查询,但要完整填写驾驶员的信息需要首先完成车辆类型信息的录入。5.2.6 车辆类型管理界面图5-7 车辆类型管理界面车辆类型管理是完整录入驾驶员信息与车辆档案信息的基础。在此界面可以对车辆类型进行录入、删除、作废三项操作。结束语经过两个多月的设计和开发,该车辆管理系统基本开发完毕。其功能
31、比较全面,能有效地协助单位进行车辆的管理,管理方便,简单,大大减少了管理人员作业量,减少出错几率,提高了工作效率。但是由于设计时间较短,在系统设计方面还有待改进的地方,比如对录入不完整的时间数据的处理界面不够友好,录入时间数据的正确性不加判别,今后会在此方面予以改进,也请各位老师多提宝贵意见。致谢在毕业设计即将结束之际,首先衷心感谢我的指导老师xxx老师。这次毕业设计是在曹老师的悉心指导和帮助下完成的。在整个毕业设计中,曹老师一直非常关心我的毕业设计的完成情况,每个星期都会和我进行交流,并针对我的设计提出非常宝贵的建议。每一次交给老师的报告,老师都及时认真的审阅,并耐心的指导我。曹老师认真负责
32、的态度,是我学习的榜样。此外,向支持我的其他各位老师表示衷心的感谢。因为,在设计过程中,由于所学知识有限及应用不灵活等原因经常会出现一些疑难问题,在解决设计中的各种问题时,他们给予我很大的帮助。最后,在这里对以上帮助我的老师再次表示感谢,正是由于他们的帮助使我充实了平时所学的知识,掌握了实际的工作技能,真正的将理论与实际相结合,使我获益匪浅,在此表达我最真挚的谢意!参考文献1 车辆管理系统论文. 2 雍殿书. 管理信息技术与系统. 南京:南京大学出版社,2009.73 车辆管理系统. 4 何鹏飞. Delphi 7程序设计教程. 北京:清华大学出版社,2003,.75 封玲等. 现代数据库系统
33、实用教程. 北京:人民邮电出版社,2006.106 王晶. SQL Server 2000管理与应用开发教程. 北京:人民邮电出版社,2009.17 宋一兵等. Delphi17基础教程. 北京:机械工业出版社,2005.1附录A-数据库表表1 用户表字段名类型长度是否空含义UserIDnvarchar50否登陆名Passwordnvarchar50否登陆密码StatusReal4否是否为管理员表2车辆记录表字段名类型长度是否空含义PlateNonvarchar50否车牌号DriverNonvarchar50否司机号TypeNo nvarchar50否车类型号IfReviewint4否是否年检
34、IfInsureint4否是否参保acquisitiondatedatatime8否购置日期capacitReal4否载重usingdepynvarchar50否使用单位Belongdeptnvarchar50否所在单位enginemodelnvarchar50否发动机号framenonnvarchar50否车架号factoryplatenonvarchar50否车牌型号reviewint4否已年检InsureInt4否已参保表3运营管理表字段名类型长度是否空含义PlateNonvarchar50否车牌号perationdatedatatime8否运营日期OperationincomMoney
35、8是收入OperationontimeDatatime8否运营时间表4 车辆维修记录表字段名类型长度是否空含义PlateNonvarchar50否车牌号partsnamenvarchar50否维修部件maintenancedateDatatime8否维修日期neednumberMoney8否所需费用表5 事故表字段名类型长度是否空含义PlateNonvarchar50否车牌号AccidentDateDatatime 8否事故日期accidentundertakernvarchar 50否承担者CompanysumMoney8否公司负责金额insurancesumMoney8否保险理赔金额opp
36、ositesumMoney8否对方理赔金额oppositenamenvarchar50否对方姓名opposiredamagenvarchar50否对方损坏程度Oppositedeptnvarchar50否对方单位accidentgeneralNvarchar50是事故概要表6违章车辆表字段名类型长度是否空含义PlateNonvarchar50否车牌号nfringedateDatatime8否违章日期infringereasonNvarchar50否违章原因Punishmentnvarchar50否是否处罚infringeremarkNvarchar50是备注表7 驾驶员记录表字段名类型长度是否
37、空含义DriverNo nvarchar50否司机编号DriverNamenvarchar50否司机姓名birthdayDatatime8是出生日期licensendnvarchar50否驾驶证号dateexpiresDatatime8否获证日期drivedyard nvarchar50否驾龄表8 车辆类型表字段名类型长度是否空含义IfvoidInt4否是否作废TypeNo nvarchar50否类型号TypeName nvarchar50否类型名表9 车辆异动表字段名类型长度是否空含义PlateNonvarchar50否车牌号TransactiondateDatatime8否异动时间Tran
38、sactionttypenvarchar50否异动类型specifyNvarchar50是详细说明表10 报废车辆表字段名类型长度是否空含义PlateNonvarchar50否车牌号ScrapdateDatatime8否报废时间ScrapreasonNvarchar50是报废原因表11 零件表字段名类型长度是否空否含义partsno nvarchar50是零件编号partnamenvarchar50否零件名stockqtyInt4否库存量unitpriceMoney8否零件单价附录B-部分代码主界面4.2,具体代码unit Main0061402;uses DataModual; proced
39、ure TfrmMain1402.FormCreate(Sender: TObject);var sUserID:string;begin gfunOpenLogin(sUserID);/通过登录表单的接口调用登录界面 StatusBar1.Panels1.Text:=用户:+sUserIDend;procedure TfrmMain1402.FormCloseQuery(Sender: TObject; var CanClose: Boolean);begin if application.MessageBox(是否确定退出,提示,mb_yesno)=id_no then CanClose:
40、=False;end;/主界面关闭时,断开数据库连接procedure TfrmMain1402.FormClose(Sender: TObject; var Action: TCloseAction);begin if DataModule1.connOracle.Connected then DataModule1.connOracle.Close; if qryOperation.Active then qryOperation.Close;end;/本系统主要事件,通过此事件调用各事件处理窗口procedure TfrmMain1402.tbtnAddRecordClick(Sende
41、r: TObject);begin case(Sender as TComponent).Tag) of 11:begin /调用车辆档案录入 gfunOpenAddVehicle(); end; 12:begin/ 调用车辆档案查询 gfunOpenVehicleRecord(); end; 13:begin /调用车辆异动管理 gfunOpenAddTransaction(); end; 14:begin/调用车辆异动查询 gfunOpenTransaction(); end; 15:begin /车辆报废管理 gfunOpenAddScrap(); end; 16:begin/车辆报废查询 gfunOpenVehicleScrap(); end; 17:begin /车辆类型 gfunOpenDCType(); end; 21:begin /车辆运营管理 gfunOpenAddOperation(); end; 22:begin /车