vf软件设计报告 汽车修理管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual foxpro 课程设计报告
系统名称:汽车修理管理系统
指导老师:梁庆中
学生姓名:蔡馨
目录
一、“汽车修理管理系统”开发
(一)系统综述································错误!未定义书签。
(二)数据需求 (3)
(三)功能需求分析 (4)
二、应用程序设计及组成的功能模块代码
(一)总体设计 (5)
(二)系统各模块的设计及代码说明 (5)
(三)程序试运行 (15)
三、系统效果实现
程序运行的效果 (15)
四、课程设计感想
感想 (18)
一、汽车修理管理系统的开发
(一)系统综述
系统开发的背景:某汽修厂根据业务需要,建立一个可以完成“对汽修有关的各类数据进行输入、修改与查询;编制季度零件订货计划;打印汽修发票”的系统。
系统开发目的:汽车修理管理系统的目的是为企业提供一个计算机化的管理平台,实践企业内部科学有效的管理,促进企业管理信息化,规范化,将能使管理人员从繁琐的杂务工作中解脱出来,真正从事管理工作。
(二)数据需求
修车登记表
编号:5001 日期:97/01/02
汽车修理单
零件入库单
日期:
验收人:
零件出库单
编号:日期:
第一季度零件订货计划
修理汽车发票
日期:99/07/
(三)功能需求分析
汽车修理厂的具体功能需求如下:
(1)能对汽车修理有关数据进行输入、修改和查询
(2)编制季度零件订货计划
(3)打印修理汽车发票
用户提出了系统开发的要求后,软件开发应通过调研归纳出目标系统的数据需求和功能需求。根据用户提供的数据并基于认真仔细的调查研究,结合系统目标,现将该系统的功能需求归纳为以下四个方面:
(1)数据登记
登记功能用于把各种手填单据中的数据及时登记到系统将要定义的表中,还要求能进行修改。这些单据包括修车登记单、汽车修理单、零件库存表、领料单和修理工登记表。
(2)查询
能查询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。
(3)编制月度零件订货计划
编制零件订货计划需要找出要订货的零件,订货条件为:零件库存量<最低库存量。
订货量可由用户输入或修改。
(4)打印发票
发票中除包含顾客、汽车及修理项目等数据外,还要计算出修车费。修车费包括修理费和零件费,按下列公式计算:
修理费=3*修理工时*修理工小时工资
零件费=∑(零件价格*耗用零件数量)
总计=零件费+修理费
二、应用程序设计及组成的功能模块代码
(一)总体设计
按照功能分类是总体设计中常用的方法,系统的总体结构可用层次图(如下)。这种图自上而下进行分层:第一层为系统层,通常对应主程序;第二层为子系统层,一般起分类控制作用,但是当该层没有下一层次时也可直接用来表达功能;第三层为功能层;第四层为操作层。
(二)系统各模块设计及代码说明
1.系统菜单设计
修车登记:命令“DO FORM XCDJ”
汽车修理:命令“DO FORM QCXL”
零件订货计划:命令“DO FORM LJDH”
打印发票:命令“DO FORM DYFP”
退出:命令“CLEAR EVENT”
2.初始用户界面设计
初始用户界面一般由应用系统封面和配有系统菜单的应用程序主窗口组成。
系统主文件(qcxl.prg)
代码:
set talk off
set defa to c:\qcxl
close all
set view to sjhj.vue
public xldh,zljf
xldh=space(4)
do form fm
keyb'{ctrl+f4}'
modi wind screen titl'汽车修理管理系统'
clea
do qcxlcd.mpr
read event
quit
3.功能模块设计
4.“修车登记”表单(scdj.scx)
用于输入、修改和添加修车登记单。
功能:可以将多个表的输入等功能集于一身,是屏幕显示与修车登记单格式一致,方便操作;能提供翻页和寻页来寻找修车登记单;增页按钮用于新的修车登记单,登记单编号自动加一;若输入的汽车牌号在QC.DBF中已有,则汽车和车主的数据会自动填入表格;设有专门按钮,临时维护汽车和车主的数据。
(1)建立表单:向命令窗口输入命令MODIFY FORM xcdj,使出现标题为xcdj.scx的表单设计器窗口。
(2)Forml的属性设置:Caption属性设置为“修车登记”;AutoCenter属性设置为.T.
(3)创建各标签和文本框
Txt牌号文本框的vaild事件代码:
sele qc
loca for 牌号=xld.牌号
if not found()
insert into qc(牌号) values(xld.牌号)
Endif
TXT车主名文本框的VALID事件代码如下:
sele cz
loca for 车主名=xld.车主名
if not found()
insert into cz(车主名) values(qc.车主名)
Endif
COMMANDGROUP1的CLICK事件代码如下:
sele xld
do case
case this.value=1
if recn() skip endif case this.value=2 if recn()>1 skip-1 endif case this.value=3 go top case this.value=4 go bott case this.value=5 do form srxldh case this.value=6 zy=messagebox('是要赠页吗?',1+48256,'确认增加修理单')