汽车修理信息管理系统

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
【摘要】 (I)
【Abstract】............................................................................................. I I
一引言 (1)
(一)本课题的研究意义 (1)
(二)设计目的与内容 (1)
(三)可行性分析 (1)
1、技术可行性 (1)
2、经济可行性 (2)
二开发环境 (3)
(一)软件环境 (3)
1、中文操作系统Windows的特点: (3)
2、VFP6.0中文版概述 (3)
(二)硬件环境 (6)
三需求分析与系统设计 (8)
(一)需求分析 (8)
(二)系统设计 (8)
1、逻辑设计 (8)
2、物理设计 (9)
3、应用程序设计 (10)
4、用户界面设计 (10)
四主要模块的设计与实现 (11)
(一)主文件模块 (11)
(二)数据输入模块 (12)
1、“修车登记”表单 (12)
2、“输入修理单号”表单 (14)
3、“汽车修理”表单 (14)
4、“零件订货计划”表单 (15)
(三)数据输出模块 (16)
五测试与分析 (17)
(一)系统测试与运行 (17)
(二)设置应用系统程序项 (17)
六总结 (18)
参考文献 (19)
致谢 (20)
汽车修理管理系统
【摘要】随着社会的不断发展,技术的不断进步,信息技术和数据处理速度越来越引起人们的重视,因为信息的大量而快速的传递,大批量数据的处理单靠人工是不可靠的,也是不现实的。

各行业都迫切需要高性能的管理系统。

而汽车修理管理系统就是根据某汽车修理厂业务发展的需要而建立的典型的信息管理系统(MIS)。

本系统是为了适应汽车修理厂发展的需要而设计的,采用VisualFoxpro6.0面向对象编程语言设计而成,能够稳定而快捷地完成汽车修理业务管理的信息化任务,从而取代了以往繁杂的人工劳动,提高了工作效率。

它以处理为中心,其重点是进行查询、统计、打印客户所需信息。

开发主要包括数据库的建立和维护。

【关键词】数据库、编码、信息系统
The automobile fixs information
management system
【Abstract】This system is wanted and designed for meeting the needs of garage's development, adopt Visual Foxpro6.0 to face target's programming language to design , can finish the information-based task of repairing business management of the automobile steadily and swiftly , thus replaced miscellaneous artificial work in the past , has improved working efficiency. With the continual development of our society, the continual progress in the part of technology, we more and more think much of the information of technology and the speed of data processing. It is irresponsible and unpractical only by manual work to quickly deliver a lot of information, to manage plenty of data. Every industry needs high-powered MIS exigently. The MIS of repairing automobile, it is this kind typical system, is designed with the need of the development of the factory of repairing automobile. Management is its center. Queering and counting and printing the information, which is the need of our customs, is its emphases. The designment includes primarily the building and maintenance of the database.
【Keyword】Database , code , information system
一引言
(一)本课题的研究意义
汽车修理管理系统是一个汽车修理行业不可缺少的部分,它的内容对于企业的管理者和技术工人来说都至关重要,所以汽车修理理系统应该能够为用户和工人提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式进行管理和记录,这种管理方式存在着许多缺点,如:工作效率低、另外时间长,将浪费大量的文件和数据,这对于查找、结算都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对汽车修理的信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高汽车修理管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,使用VFP6.0开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套汽车修理管理系统,简单介绍其开发过程和所涉及到的问题及解决方法。

(二)设计目的与内容
帮助汽车修理企业对有关的各类数据进行输入、修改、查询等工作,编制零件订货计划,并可将汽车修理发票等信息打印出来,从而可将有关人员从以往烦琐的工作解脱出来,充分体验到信息时代的企业信息化工作给企业的日常工作所带来的便利和快捷,体会到计算机的快速、准确、智能的强大功能。

(三)可行性分析
1、技术可行性
由于对汽车维修管理系统这一类的企业管理系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。

另外本系统操作简单,功能使用,一般人员只要稍作熟悉便能够自如应用,不但技术难度低,更省去了培训的费用。

2、经济可行性
由于本系统功能简单,因此在硬件方面并没有很高的要求。

基于企业的现有计算机及配套设备,建设MIS系统,不但能大大减少重复性的书面报告,降低办公费用,提高办公室效率,而且能提高检测数据效用,为企业提供很方便。

由于汽车维修管理系统是一个比较小型的系统,是由学生个人进行开发的,所以从人力、物力、财力方面来说都是可行的。

综上所述,此系统设计合理层次分明,工程技术先进,实用性强,投资与收益比例适当,具有一定开发价值。

所以本工程产品的开发可立即进行。

二开发环境
(一)软件环境
操作系统选用目前较稳定的Windows中文版;数据库系统采用关系型数据库系统MicrosoftVisualFoxPro6.0中文版;由Windows和MicrosoftVisualFoxPro6.0(以下简称VFP6.0)共同组成系统的开发环境。

1、中文操作系统Windows的特点:
首先,操作系统采用完全图形化的用户界面。

将使软件用户的培训大大简化,提高了工作效率。

其次,Windows的设备无关性使本系统软件开发时无须固定使用设备,有利于软件的移植和硬件设备的更新换代。

再次,Windows系统中文版支持信息交换用汉字编码字符集,完善的中文支持使二者紧密结合,构成一个功能完备的软件开发环境。

2、VFP6.0中文版概述
现在市场上有很多管理系统的开发工具,如:Visual basic、delphi、ASP等等,数据库开发工具又有很多种,如:Access,SQL Sever,Oracle等等。

这些都是很出色的管理信息系统及数据库的开发工具。

不过Visual foxpro6.0有着以下几项特点: Visual foxpro是microsoft公司推出的全新的pc平台关系数据库管理系统。

它具有强大的性能、无与匹敌的速度、完整而丰富的工具、及其友好的图形用户界面、简单得数据存取方式、良好的兼容性、独一无二的跨平台特性及真正的可编译性,是系统成为目前最快、最完美的数据库系统。

不但兼容早期的dbase以及foxbase各种版本,同时还提供了许多基于windows的崭新功能。

Visual foxpro作为具有windows95兼容标志的应用软件,具有快速开发应用程序、面向对象和客户机/服务器的强大功能,它是多年来出现在关系数据库方面最重要的产品。

随着桌面操作系统有windows98逐渐向windowsXP升级的发展潮流,visual foxpro 必将成为今后数据库产品中的主流。

Microsoft visual foxpro是一个32位的数据库开发系统,可运行于window98和windowsxp操作系统。

Visual foxpro既具有visual系列的功能强大、直观易用、面向对象等优点,又兼具windows和foxpro的长处。

提供了“向导”、“设计器”和“生成器”等工具,使的数据库的管理工作变的容易。

Visual foxpro 的易用性使初学者和那些想避免涉及foxpro复杂命令的人能很快用它来管理自己的数据库,制作各种报表、标签等;增添的面向对象的编程方式等新特色,使它成为应用程序开
发人员强有力工具;其兼容性使原来的广大Xbase用户能迅速转为使用visual foxpro;visual foxpro还能广泛地与其他许多软件共享和交换数据。

正是由于其易用性、先进性和广泛性,使visual foxpro 真正做到了面向各种水平的用户。

(1)简单,易学,易用
①快速完成应用任务
Visual Foxpro6.0提供了向导,生成器和设计器三种工具,这三种工具都使用图形交互界面方式,使用户能够简单而又快速地完成数据操作任务。

操作向导提供了用户要完成某一项任务所需的详细的操做步骤,在这些步骤的指导下,用户可以一步步地很简单完成任务。

例如:此工资管理系统中的各项工资数据输入的表单就是用表单向导和生成器来制作的。

生成器也是一种具有友好界面的图形工具,它的主要功能是在用户自己的应用程序中加入一定的控制功能,例如列表框生成器就是一个带有标签的对话界面,利用列表框,生成器,用户可以在窗体中设计出一个列表框,并且可以在这种生成器中设计一个列表框的共同特征,如有手写输入,可以加入到表单中去,减少用户输入繁琐的,大量的工作,用户只要从列表下拉框中选择即可,本系统在查询设置均使用了这种方法。

如果用户想突破向导和生成器本身的限制,想要自己对应程序进行更复杂或更灵活的控制,可以利用另一种Visual Foxpro6.0提供的方便有效的工具——设计器,设计器也提供了一个友好的图形应用程序开发接口,通过它对用户能建立起自己的应用程序。

例如:用户可以用窗体设计器定义和生成一个窗体,用数据表设计器定义和生成一个数据表。

②使用方便的工具栏
像许多其他Microsoft产品一样,Visual Foxpro6.0也给用户提供了使用方便的工具栏,工具栏里有许多按钮,他们代表着菜单里的某些选项。

一般来说,用户经常执行的操作或使用的对象多对应一个按钮,用户可以通过选择这些按钮方便而迅速地完成操作,而不必通过菜单选项。

③不编程而建立应用程序界面
Visual Foxpro6.0提供的窗体设计器是一种功能强大的工具,用户能够不编程或使用很少的代码来实现友好的交互式应用程序界面以及对界面的控制。

例如;用户可以用栅格控制很容易地建立一对多的窗体;用户只需把一个数据表拖到一个窗体上就可以了。

也可以利用页格式控件来建立有标签的对话框话或用户自己的生成器界面。

④用项目管理器统一界面
Visual Foxpro6.0提供的另一高效易用的工具是项目管理器。

通过项目管理器,用户可以集中地管理数据,文档,类库,源代码等各种资源。

例如用户可以建立和更新数据库,设计或改变窗体和报表,定义或改变类库,生成或重新生成自己的应用程序。

另外,用户也可以在项目管理器中使用Visual Foxpro6.0提供的简单而有效的其他工具,如向
导,生成器,工具栏等。

所有这些,使用户能够对工作进行集中管理而又简单有效。

(2)功能更强大
Visual Foxpro6.0比以前的数据库管理系统具有更强大的功能。

它通过使用快速查询技术和对系统的优化而使用户最大限度地体会到Visual Foxpro6.0快速而又功能强大的优点。

①具有面向对象编程的能力
Visual Foxpro6.0在支持标准的Xbase传统编程方式的同时,也提供了完全的面向对象编程的能力。

在Visual Foxpro6.0的对象模式下,用户可以利用所有的面向对象编程特性,这些特性包括继承,封装,多态性以及分类,他们都作为用户所熟悉的Xbase编程语言的扩展集而实现。

Visual Foxpro6.0提供了一套基类,包括窗体、工具栏、页格式等,使用这些类,用户可以建立基本的窗体、工具栏、页格式,这样就可以一方面减少用户编程工作量,另一方面又加快程序开发过程。

再进一步,用户可以将自己定义的类再进行分类,这样可利用用户已有的代码或窗体。

例如,用户可以将基本的窗体类再进行分类而建立自己的子类,这个子类将根据用户的要求自动地在应用程序中建立起一个用户希望看到的窗体,它的结构是由用户分类来决定的。

Visual Foxpro6.0类模式能够在用户应用程序中对对象进行深入而全面的控制,例如用户在设计时可用窗体设计器对窗体中的对象进行完全的控制,二类模式下当用户运行程序时客队窗体中的表现和行为提供相同的控制。

在Visual Foxpro6.0中,用户可以用类设计器交互式地建立一个类,或者用DEFINE CLASS命令来编程建立。

②更容易处理事件。

Visual Foxpro6.0包含一种事件模式,它能够帮助用户自动地处理事件。

在这种事件模式下,用户可以获取并控制所有标准的WINDOWS Visual Foxpro6.0事件,例如鼠标的移动,通过处理这一事件,用户可以拖动和放置一个对象,用户可以用两种方式来控制事件:一种是通过特性窗体来可视地控制;另一种是通过Visual Foxpro6.0的编程语言来控制这两种方法都能使用户很容易的建立起完全的事件驱动应用程序而不用考虑READ层次及浏览窗口限制,也不用编写事件处理程序。

③最优化系统
Visual Foxpro6.0能通过优化用户的实际来提高自身的性能。

在所有的优化措施中,做有效的方法是尽可能多地增加用户的扩展内存或减少被其他程序所占用的内存。

其余的提高Visual Foxpro6.0性能的措施包括加快启动速度和优化设置指令。

④使用快速查询技术
快速查询技术是一种专用的数据查询技术,他能够迅速从数据库中选择出一组满足用户要求的记录。

使用这种即使能将数据查询所需的时间大大缩短,这样可以极大的提高数据查询效率。

⑤真正的数据库概念
以前的Xbase软件中称.DBF文件为数据库,使人容易产生一个数据库就是一个二维表的错误认识。

而visual foxpro 废除了以前Xbase 不合理的数据库概念,采用独特的数据库容器,为用户管理应用系统中的表、查询、表单、报表、程序等数据提供了方便,支持长数据库文件名和字段名设置的显示标题,为字段指定默认值,设置字段级和记录级的有效性规则,设置表的插入、删除和改变记录的触发程序得集合,合理得体现了关系型数据库的思想,与关系数据库理论统一了起来。

新的数据库把有关系的表封装在一起,关系清晰、合理且处理方便。

Viual foxpro 由于使用了这种真正的数据库概念,使得它数据库结构与sql等标准结构统一,从而使数据库的实现更加标准、合理、方便。

⑥可视化编程技术
Visual foxpro用于visual c++、visual basic同样的编程技术,这是他取名为Visual foxpro的原因。

可视化编程技术给人一种所见即所的的感受,在您编辑屏幕表单、报表、菜单时,可以直接运行,不必来回调试,极为方便。

⑦新增许多命令和函数,功能大大加强,sql语句更加丰富
增加了7种新的字段类型:整型、货币型、日期时间型、双精度型、通用型、二进制型和二进制备注型。

在结构化的复合索引中可以建立4种类型的索引:主索引、候选索引、普通索引和唯一索引。

允许在表中使用空值null,以保证与采用sql标准的数据库管理系统的兼容和数据共享。

⑧用32位方式
Visual foxpro使用32位方式,其运算速度、存储能力大大提高。

(二)硬件环境
服务器
CPU:P4 1.8以上
内存:256MB以上(建议512MB以上)
硬盘可用空间1G以上
显卡:标准VGA,24位真彩色
工作站
最低配置:
CPU:PII以上
内存:64MB以上
显卡:标准VGA,24位真彩色建议配置:
CPU:PIII以上
内存:128MB以上
显卡:标准VGA,24位真彩色其他配置:
软驱,鼠标
硬盘:空间占用20MB
软件需求
Windows 98以上
数据库
SQL server 2000 server版网络
局域网通畅,TCP/IP协议
三需求分析与系统设计
(一)需求分析
某汽车修理厂因业务发展的需要,决定开发一“汽修管理系统”,以取代人工管理。

通过调查研究,确定目标系统需满足如下5个方面的功能需求。

数据登记。

登记功能用于把各种手填单据中的数据及时登记到系统的表中,并能进行修改。

这些单据包括修车登记单、汽车修理单、零件入库单和零件出库单。

查询。

能查询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。

编制并显示季度零件订货计划。

编制零件订货计划,找出要订货的零件,订货条件为:零件库存量<最低库存量。

订货量可由用户输入或修改。

打印发票。

发票中除包含顾客、汽车及修理项目等数据外,还要计算出修车费,修车费包括修理费和零件费。

打印员工工资月报表。

员工月工资=Σ工作时数×小时工资。

(二)系统设计
数据库设计的任务是确定系统所需的数据库。

数据库是表的集合,通常一个系统只需一个数据库。

数据库设计可分逻辑设计与物理设计两个步骤。

第一步确定数据库所包含的表及其字段。

第二步确定表的具体结构,即确定字段的名称、类型及宽度;此外还要确定索引,为建立表的关联准备条件。

1、逻辑设计
设计从分析输入数据着手,输入数据中的某类相关数据可以归纳为一个表。

对需要同时调用的若干个表,应使它们符合关联需求。

数据库设计好后,可通过分析输出数据来验证其可用性,若发现有的输出数据不能从输入数据导出,须继续向用户征集数据。

本例根据输出单据的数据需求,从修车登记表、汽车修理单、零件库等输入数据中归纳出包含6个表的数据库。

现将这些表列出如下:
修理单:XLD(编号、牌号、工号、修理项目、修理小时、送修日期、完工日期)
汽车:QC (牌号、型号、生产厂、车主名)
车主:CZ(车主名、地址、电话)
修理工:XLG(工号、姓名、地址、电话、出生日期)
零件用量:LJYL (编号、零件号、数量)
零件库存:LIKC(零件号、零件名、价格、库存量)
车主名 工号 修理单汽车QC 修理工XLG 车主cz
牌号 编号
零件用量零件库存LIKC
零件号 以上扩号外的字符串使表名,括号内为字段名表,有下划线的字段字为关联关键字。

根据系统数据处理的需要,这些表的关联情况如图3.1所示。

图中用矩形框表示表,需要关联的两个表用线段连接,连线的一端标出了关联关键字,表明必须在这一端的表中建立索引。

表3.1 表间关联的设计
下面对上述设计说明如下:
(1)为同时调用不同表的数据,须将他们关联,还要在表中补充字段。

例如仅从修理的角度而言,QC.DBF 包含牌号,型号和生产厂三个字段已很完整,但打印发票时要用到车名和地址,为使QC.DBF 与CZ.DBF 关联,在QC.DBF 中需增加车主名字段。

(2)数据库设计须注意合理性。

若将不同类的数据放进同一个表中,可能会产生数据冗余。

数据冗余会多占存储容量,更糟糕的是还会破坏数据的一致性。

如果车主改名只要有一处忘记修改,将来查询或打印时可能会输出不一样的数据。

表的分拆往往能减少数据冗余,但表个数的增多有会增加程序的复杂性,因为须在不同的工作区打开这些表,而且为了实现数据连用还要对表进行关联。

2、物理设计
下面列出汽车修理管理系统所有表的结构与必须的索引,为便于读者理解本系统,顺便也列出表的部分记录。

修理单结构:
xld (编号,牌号,修理项目,送修日期,完工日期,工号,普通索引,修理小时)
汽车结构:
Qc (牌号,普通索引,型号,生产厂,车主名)
车主结构:
Cz (车主名, 普通索引,地址,电话)
修理工结构:
Xlg(工号,普通索引,姓名,地址,电话,出生日期,进厂日期,小时工资)
零件用量结构:
Ljyl(编号,普通索引,零件号,数量)
零件库存结构:
Ljkc(零件号,普通索引,零件名,成本,库存,最低库存,定货量)
除上述6个表外,零件入库,出库时还需有暂存表。

零件入库表为LJRK.DBF。

零件出库表的结构为:ljck(零件号,数量)。

3、应用程序设计
总体设计
按照功能分类是总体设计中常用的方法,系统的总体结构可以用层次图来表示(图
3.2)。

图3.2所示的汽车修理管理系统有三个层次,系统功能分类如下:修车登记单,汽
车修理单和修理工数据管理等数据的输入与修改归入登记一类,零件定货计划,零件入库和出库归入零件管理一类,查询与打印各成一类。

汽车修理管理系
登记零件管理查询打印
修车登记汽车修理修理工管理零件订货计划零件入库零件出库发票修理工工资月
表3.2总体结构图
4、用户界面设计
该系统分为3个层次:系统层对应菜单文件;子系统层对应菜单标题;功能层对应子菜单项。

表3.3为“汽车修理管理系统”下拉式菜单。

登记零件管理打印退出
修车登记零件订货计划发票
(xcdj.scx) (ljdh.scx) (dyfp.scx)
汽车修理(qcxl.scx) 零件入库管理修理工工资月报
修理工管理零件出库管理
表3.3汽车修理管理系统的菜单
四主要模块的设计与实现
本小节将对“汽车修理管理系统”主要模块的设计与编写做一些简要说明。

(一)主文件模块
菜单文件名定为QCXLCD(汽车修理菜单),并设置一个主文件来调用它。

主文件编码如下:
SET TALK OFF
SET DEFA TO c:\qcxl && 设置文件默认路径,本例所有文件都应装在该目录中
CLEA ALL
SET VIEW TO sjhj.vue && 统一设置数据环境,自动关闭所有的工作区后打开视图文件PUBLIC xldh,zljf && xldh用于存储输入的修理单号;zljf存储总零件费,打印发票用
xldh=SPACE(4)
DO FORM fm && 显示封面(将fm表单复制到C:\qcxl)
KEYB '{CTRL+F4}' && 关闭Command窗口
MODI WIND SCREEN TITL '汽车修理管理系统' && 打开VFP主窗口并设置窗口标题
CLEA
* 以上为初始化环境代码
DO qcxlcd.mpr && 菜单文件名定为QCXLCD(汽车修理菜单)
READ EVENT && 建立事件循环
QUIT && 退出VFP
* 恢复环境代码设置在“退出”菜单项中。

程序中用到的SJHJ(数据环境).VUE文件,须事先打开数据工作期来建立。

该视图文件为应用程序设置了如图所示的数据环境,它满足图4.1总体结构图中表间关联的要求。

图4.1总体结构图
菜单程序(QCXLCD.MPR)。

在命令窗口键人命令MODI MENU QCXLCD,就会出现菜单设计窗口,此时可按表3.3建立菜单。

“退出”菜单项的命令为:CLEAR EVENTS&&停止事件循环,转去执行read events后的命令;按表3.3设置调用各表单的命令,例如对“修车登记”菜单项可键人命令DOFORM xcdj;从菜单文件QCXLCD.MNX生成菜单程序QCXLCD.MPR。

(二)数据输入模块
1、“修车登记”表单(XCDJ.SCX)
修车登记表单用于输入,修改或添加修车登记单,主要操作步骤如下:
(1)创建表单
往命令窗口键入命令MODIFY FROM xcdj,使出现标题为xcdj.scx的表单设计器窗口。

(图4.2)
图4.2登记表
(2) form1的属性设置
caption属性设置为“修车登记”;autocenter属性设置为.T.,使表单在VFP主窗口内居中显示。

(3)在表单上创建各标签和文本框
在数据环境中添加xld,qc和cz等3个表,然后将下列9个字段分别拖到表单窗口中规定
的位置,产生各个相应的标签和文本框:xld表的编号,送修日期,修理项目和牌号等字段,qc表的型号,生产厂和车主名字段,cz表地址和电话字段。

牌号和车主名需设置事件代码。

Txt牌号文本框的valid事件代码如下:
SELE qc
LOCA FOR 牌号=xld.牌号
IF NOT FOUND()
INSERT INTO qc(牌号) VALUES(xld.牌号)
END IF
Txt车主名文本框的valid事件代码如下:
SELE cz
LOCA FOR 车主名=xld.车主名
IF NOT FOUND()
INSERT INTO cz(车主名) VALUES(qc.车主名)
END IF
(4)添加表格线条:利用表单控制工具栏的线条按钮画出表格的所有横线和竖线。

(5)创建命令按钮组:
在表单低部居中创建一个包含下页,上页到确定等10个命令按钮组,其对象名为commandgroup1。

下面是他的部分事件代码:
SELE xld
DO CASE
CASE this.value=1
IF RECN()<RECC()
SKIP
END I
寻页按钮的gotfocus事件代码:
SELE xld
Jlh=RECN()
LOCA FOR 编号=TRIM(xldh)
IF NOT FOUND()
WAIT WINDOWS “无此编号!“
GO jlh
END IF
THISFORM.refresh。

相关文档
最新文档