vf软件设计报告 汽车修理管理系统.docx
- 文档编号:27486779
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:20
- 大小:825.20KB
vf软件设计报告 汽车修理管理系统.docx
《vf软件设计报告 汽车修理管理系统.docx》由会员分享,可在线阅读,更多相关《vf软件设计报告 汽车修理管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
vf软件设计报告汽车修理管理系统
Visualfoxpro课程设计报告
系统名称:
汽车修理管理系统
指导老师:
梁庆中
学生姓名:
蔡馨
目录
一、“汽车修理管理系统”开发
(一)系统综述································3
(二)数据需求································3
(三)功能需求分析····························4
2、应用程序设计及组成的功能模块代码
(一)总体设计·································5
(二)系统各模块的设计及代码说明···············5
(三)程序试运行·····························15
3、系统效果实现
程序运行的效果·······························15
4、课程设计感想
感想·········································18
1、汽车修理管理系统的开发
(一)系统综述
系统开发的背景:
某汽修厂根据业务需要,建立一个可以完成“对汽修有关的各类数据进行输入、修改与查询;编制季度零件订货计划;打印汽修发票”的系统。
系统开发目的:
汽车修理管理系统的目的是为企业提供一个计算机化的管理平台,实践企业内部科学有效的管理,促进企业管理信息化,规范化,将能使管理人员从繁琐的杂务工作中解脱出来,真正从事管理工作。
(二)数据需求
修车登记表
编号:
5001日期:
97/01/02
修理项目
点火线圈
汽车牌号
A2020203
型号
S130
生产厂
南方汽车厂
车主姓名
李符
地址
岭分路18号
电话
8787878
汽车修理单
登记单编号:
5005汽车牌号:
A2312318
修理项目
大修
送修日期
97/06/28
零件号
100001
100004
100005
数量
2
5
2
修理小时
98.0
零件入库单
日期:
零件号
零件名
成本
数量
价格
最低库存
订货量
验收人:
零件出库单
编号:
日期:
零件号
数量
第一季度零件订货计划
零件号
零件名
库存量
最低库存
订货量
100003
离合器
3
4
2
修理汽车发票
日期:
99/07/
顾客姓名
施治秋
地址
汽车牌号
修理项目
送修日期
备注
零件费
修理费
总金额
(三)功能需求分析
汽车修理厂的具体功能需求如下:
(1)能对汽车修理有关数据进行输入、修改和查询
(2)编制季度零件订货计划
(3)打印修理汽车发票
用户提出了系统开发的要求后,软件开发应通过调研归纳出目标系统的数据需求和功能需求。
根据用户提供的数据并基于认真仔细的调查研究,结合系统目标,现将该系统的功能需求归纳为以下四个方面:
(1)数据登记
登记功能用于把各种手填单据中的数据及时登记到系统将要定义的表中,还要求能进行修改。
这些单据包括修车登记单、汽车修理单、零件库存表、领料单和修理工登记表。
(2)查询
能查询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。
(3)编制月度零件订货计划
编制零件订货计划需要找出要订货的零件,订货条件为:
零件库存量<最低库存量。
订货量可由用户输入或修改。
(4)打印发票
发票中除包含顾客、汽车及修理项目等数据外,还要计算出修车费。
修车费包括修理费和零件费,按下列公式计算:
修理费=3*修理工时*修理工小时工资
零件费=∑(零件价格*耗用零件数量)
总计=零件费+修理费
2、应用程序设计及组成的功能模块代码
(一)总体设计
按照功能分类是总体设计中常用的方法,系统的总体结构可用层次图(如下)。
这种图自上而下进行分层:
第一层为系统层,通常对应主程序;第二层为子系统层,一般起分类控制作用,但是当该层没有下一层次时也可直接用来表达功能;第三层为功能层;第四层为操作层。
(二)系统各模块设计及代码说明
1.系统菜单设计
修车登记:
命令“DOFORMXCDJ”
汽车修理:
命令“DOFORMQCXL”
零件订货计划:
命令“DOFORMLJDH”
打印发票:
命令“DOFORMDYFP”
退出:
命令“CLEAREVENT”
2.初始用户界面设计
初始用户界面一般由应用系统封面和配有系统菜单的应用程序主窗口组成。
系统主文件(qcxl.prg)
代码:
settalkoff
setdefatoc:
\qcxl
closeall
setviewtosjhj.vue
publicxldh,zljf
xldh=space(4)
doformfm
keyb'{ctrl+f4}'
modiwindscreentitl'汽车修理管理系统'
clea
doqcxlcd.mpr
readevent
quit
3.功能模块设计
4.“修车登记”表单(scdj.scx)
用于输入、修改和添加修车登记单。
功能:
可以将多个表的输入等功能集于一身,是屏幕显示与修车登记单格式一致,方便操作;能提供翻页和寻页来寻找修车登记单;增页按钮用于新的修车登记单,登记单编号自动加一;若输入的汽车牌号在QC.DBF中已有,则汽车和车主的数据会自动填入表格;设有专门按钮,临时维护汽车和车主的数据。
(1)建立表单:
向命令窗口输入命令MODIFYFORMxcdj,使出现标题为xcdj.scx的表单设计器窗口。
(2)Forml的属性设置:
Caption属性设置为“修车登记”;AutoCenter属性设置为.T.
(3)创建各标签和文本框
Txt牌号文本框的vaild事件代码:
seleqc
locafor牌号=xld.牌号
ifnotfound()
insertintoqc(牌号)values(xld.牌号)
Endif
TXT车主名文本框的VALID事件代码如下:
selecz
locafor车主名=xld.车主名
ifnotfound()
insertintocz(车主名)values(qc.车主名)
Endif
COMMANDGROUP1的CLICK事件代码如下:
selexld
docase
casethis.value=1
ifrecn() skip endif casethis.value=2 ifrecn()>1 skip-1 endif casethis.value=3 gotop casethis.value=4 gobott casethis.value=5 doformsrxldh casethis.value=6 zy=messagebox('是要赠页吗? ',1+48256,'确认增加修理单') ifzy=1 gobott insertintoxld(编号)values(str(val(编号)+1,4)) endif casethis.value=7 sy=messagebox('是要删页吗? ',1+48+256,'确认删除修理单') ifsy=1 delete pack endif casethis.value=8 seleqc browtitl'汽车修改'+spac(20)+'单击行首可打删除标记,退出就删去' pack casethis.value=9 selecz browtitl'车主修改'+spac(20)+'单击行首可打删除标记,退出就删去' pack casethis.value=10 thisform.realease endc Thisform.refresh 寻页按钮的GOTFOCUS事件代码如下: selexld jlh=recn() locafor编号=trim(xldh) ifnotfound() waitwindow"无次编号! " gojlh endif thisform.refresh 2.2.4“输入修理单号”表单(srxldh.scx) Text1文本框的LostFocus事件代码编写如下: xldh=thisform.text1.value COMMAND1命令按钮的CLICK的事件代码编写如下: thisform.release 5.“输入修理单号”表单(SRXLDH.SCX) (1)TEXT1文本框的Lostfocus事件代码 Xldh=THISFORM.TEXT1.VALUE (2)Command1的Click事件代码 THISFORM.RELEASE 6.“汽车修理”表单 功能: 输入及修改修理小时、完工日期和修理工工号,并且同时显示修车登记单的主要信息及零件用量。 (1)建立表单: 向命令窗口输入命令MODIFYFORMqcxl,使出现“表单设计器”窗口 (2)Forml的属性设置: 将Caption属性设置为“汽车修理.修理情况”。 (3)在表单上创建如下图所示的标签和文本框。 其中关于xld表的编号、送修日期、修理项目和牌号字段的文本框,text1~text8等文本框的readonly属性都设为“.T.”。 (4)在表单上创建combol组合框,并设置以下属性。 Rowsourcetype: 6 Rowsource: xlg.工号,姓名 Columncount: 2 Controlsource: xld.工号 Boundcolumn: 1 FORM1的REFRESH事件代码编写如下: thisform.text1.Value="" thisform.text2.Value="" thisform.text3.Value="" thisform.text4.Value="" thisform.text5.Value=0 thisform.text6.Value=0 thisform.text7.Value=0 thisform.text8.Value=0 SELECTljyl LOCATEFOR编号=xld.编号 IFFOUND() thisform.text1.Value=零件号 thisform.text5.Value=数量 ENDIF CONTINUE IFNOTEOF() thisform.text2.Value=零件号 thisform.text6.Value=数量 ENDIF CONTINUE IFNOTEOF() thisform.text3.Value=零件号 thisform.text7.Value=数量 ENDIF CONTINUE IFNOTEOF() thisform.text4.Value=零件号 thisform.text8.Value=数量 ENDIF 创建命令按钮组: 在如上图表单底部居中处创建一个包含下页、上页到确定等6个命令按钮的命令按钮组,其对象名为commandgroup1。 COMMANDGRUOP1命令按钮的CLICK的事件代码编写如下: SELECTxld DOcase CASEthis.Value=1 IFRECNO() SKIP ENDIF CASEthis.Value=2 IFRECNO()>1 skip-1 ENDIF CASEthis.Value=3 GOtop CASEthis.Value=4 GObott CASEthis.Value=5 DOFORMsrxldh CASEthis.Value=6 thisform.Release ENDCASE Thisform.refresh 7.“零件订货表单”表单(LJDH.SCX) 功能: 在表单上设置一个列表共选定季度,确定季度后能显示LJKC表中库存量最低库存的零件信息及订货量,订货量可当场修改。 属性设置: 表“零件订货计划”属性设置 对象名 属性 属性值 说明 Form1 Caption 月度订货计划 Label1 Caption 请选月度(双击有效) List1 ControlSource yd 数据绑定到变量属性yd list1的init事件代码编写如下: this.additem("1") this.additem("2") this.additem("3") this.additem("4") LIST1的DBLCLICK事件代码如下: SELECTljkc COUNTFOR库存量<最低库存TOjls IFjls=0 MESSAGEBOX('库存量均不小于最低库存,第'+jd+'季度不需订货') ELSE SETFILTERTO库存量<最低库存 BROWSEFIELDS零件号: R,库存量: R,最低库存: R,订货量; TITLE'第'+jd+'季度零件订货计划' SETFILTERTO endi 8.“打印发票”表单(DYFP.SCX) TEXT1的LostFocus事件代码如下: xldh=thisform.text1.Value COMMAND1的CLICK事件代码如下: SELECTxld LOCATEFOR编号==TRIM(xldh) IFNOTFOUND() WAITwindow"无此编号! " ELSE SELECTljyl SUM数量*ljkc.价格FOR编号=TRIM(xldh)AND零件号=ljkc.零件号TOzljf REPOFORMfpprev thisform.Release Endif 9.“发票”报表(FP.FRX) 创建报表变量ljp(零件费)和xlf(修理费): 选定“报表”菜单的“变量”选项在“报表变量”对话框的“变量”列表中输入ljf在“要存储的值”与“初始值”文本框中均输入zljf。 在报表设计器窗口中创建如下图所示表达式控件,它的数据环境是xld、qc和cz3个表。 (三)程序试运行 选定“开始”菜单中“设置”选项的“任务栏和开始菜单”命令→选定“任务栏和开始菜单属性”对话框的“高级”选项卡→选定“添加”按钮→在“轻键入项目的位置: ”文本框中输入“C: \qcxl\qcxl”→选定“下一步”→在“选择程序文件夹”对话框中,认同默认文件夹“程序”,选定“下一步”按钮→在“键入该快捷的名称: ”文本框中输入: 汽车修理管理系统→选定“完成”按钮返回“任务栏和开始菜单属性”对话框→选定“确定”按钮,“汽车修理管理系统”程序项已建立在“开始”菜单“程序”子菜单中。 程序运行方法: 选定“开始”菜单中“程序”选项的“汽车修理管理系统”命令,即显示汽车修理管理系统封面。 3、系统效果实现 1.程序运行封面: 出现系统封面后,双击鼠标右键,便进入拥有菜单的窗口。 (菜单窗口) 2.修理登记单 单击“登记”栏,选择“修车登计”,用户可根据自身需要进行操作。 下页: 显示下一页 上页: 显示上一页 首页: 显示第一页 末页: 显示最后一页 寻页: 点击“寻页”后,会出现输入对话框,用户可在指定位置输入自己所要查询的修车单号。 增页: 点击“增页”,出现确认“增加修理单”对话框。 选择“确定”按钮,出现新表单可供登记。 单击“登记”栏,选择“汽车修理”,用户可根据自身需要进行操作。 4.零件订货计划 单击“零件管理”栏,选择“季度定货计划”,双击列表框“2”,出现第二季度订货计划 5.打印发票 单击“打印”栏,选择“发票”,输入单号选择“确定”,显示所要打印报表 4、课程设计感想 经过一个礼拜的设计和开发,汽车修理管理系统基本开发完毕。 其功能基本符合需求,能够完成对汽修有关的各类数据进行输入、修改与查询、编制季度零件订货计划、打印汽修发票的功能。 但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。 这些都有待进一步改善。 本次课程设计,是在老师的指导下,借助VisualFoxpro相关案例,运用老师所授的《VisualFoxpro及其应用系统开发》课程中的理论知识,经过长时间的酝酿和修改,最终完善而成。 在老师的悉心指导下,在同学们的热情帮助下,我对VisualFoxPro有了更深一层的理解,除自己翻阅资料外我门还在一起讨论,有好多的好的思想,但是我无法把他表达出来,我对VF运用还不熟练,我想通过自己的努力在以后作的更好。 只学习了半年的课程,对许多东西理解还是不够深入,运用不够熟练,以及存在一些问题,敬请谅解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vf软件设计报告 汽车修理管理系统 vf 软件设计 报告 汽车修理 管理 系统