1、Visual Foxpro课程设计实习报告题 目:汽车配件管理系统的设计与开发班 级: 171081 姓 名: 康健 学 号: 20081004239 指导教师: 宋麦玲 2009年7月目录一、系统开发背景-(3)二、课程设计要求-(3)三、业务流程 -(4)四、分析与设计-(4)1、系统分析-(4)2、系统设计-(4) 3、项目管理-(7) 4、结构设计-(8)5、程序设计-(8)五、系统实施-(16)六、系统测试-(16)七、结束语-(16)附录-(18)汽车配件管理系统的设计与开发(20081004239 康健)一、系统开发背景目前汽车配件销售企业大多数在其连锁店的管理还是手工进行,随着
2、汽车配件行业的迅速发展,手工管理的种种弊端暴露无疑,给销售企业的发展带来了不必要的麻烦。为了规范企业内部管理,提高企业业务管理水平,更好的为客户服务,应采用计算机来管理汽车配件的进销存业务。汽车配件管理系统的目的是为企业提供一个计算机化的管理平台,实践企业内部科学有效的管理,促进企业管理信息化,规范化,将能使管理人员从繁琐的杂务工作中解脱出来,真正从事管理工作。本系统实在vf理论学习的基础上,在老师的帮助下,针对具体项目进行了详细的设计,在设计与实现过程中,结合源代码具体的描述出整个项目的开发过程。二、课程设计要求:要求:1、本系统包括数据录入,数据修改,数据添加,数据查询,数据备份和报表生成
3、。 2、数据库信息包括配件名称,配件代码,配件型号,配件价格,配件库存量,配件所属车型,出厂日期等。 3、查询应可以提供多种查询方式。 4、汇总报表等。三、 业务流程打开程序可直接进行相关操作和查询,具体业务流程如下:汽车配件管理系统数据查询数据录入数据添加数据修改报表生成关闭配件名称,配件代码,配件型号,配件价格,配件库存量,配件所属车型,出厂日期四、 分析与设计1、系统分析该系统可以达到以下几个目的:汽车配件代码,配件型号,配件价格,配件库存量,配件所属车型,出厂日期等信息的查询;上述信息的添加与删除等。在软件开发分析阶段,信息收集是决定软件项目可行性的重要环节。程序设计者要通过对开发项目
4、信息的收集,确定系统目标,软件开发的总体思路。2、系统设计数据库文件设计(1)、用程序文件建立数据库文件“汽车配件管理系统.dbf”,程序如下;Create table 汽车配件管理系统.dbf配件代码 char(2);配件名称 char(10);配件型号char(2);配件价格 char(5);库存量char(3);所属车型char(10);出厂日期出厂日期char(8);(2)、用程序文件建立数据库文件“xs.dbf”,程序如下;Create tablecar.dbf配件代码 char(2);配件名称 char(10);配件型号char(2);配件价格 char(5);库存量char(3)
5、;所属车型char(10);出厂日期char(8); 字段名称字段类型字段宽度小数位数是否索引配件代码字符型20普通索引配件名称字符型100无配件型号字符型20无配件价格数值型50无库存量字符型30无所属车型字符型100无出厂日期日期型80无 (3)、建立“登录main.SCT” 3、项目管理建立“car.PJT”4、结构设计各控件属性及其程序 登陆菜单结构如图: 因其直接可以进入主程序,故没有click程序;关闭按钮的click程序如下:thisform.release5、 程序设计在程序设计里需要完成配件名称,配件代码,配件型号,配件价格,配件库存量,配件所属车型,出厂日期等的查询,数据的
6、添加和修改,退出程序的程序设计。VF不但拥有大量的交互式数据管理工具,而且还拥有一套功能完善的程序语言系统,下面是每个环节的程序原代码。本系统的程序语法简单易懂,没有错误,可以完成基本的程序要求。 全部查看汽车配件信息的程序如下:do casecase mandgroup1.value=1thisform.label2.caption=请输入配件代码:case mandgroup1.value=2thisform.label2.caption=请输入配件名称:case mandgroup1.value=3thisform.label2.caption=请输入所属车型:case mandgrou
7、p1.value=4thisform.label2.caption=请输入出厂日期:case mandgroup1.value=5thisform.label2.caption=请输入库存量:endcasethisform.text1.value=thisform.text1.setfocusthisform.refresh(2)数据录入、数据修改、数据添加系统其结构如下图所示其代码如下:do form add.scxdo casecase mandgroup1.value=1set filter to 配件代码=alltrim(thisform.text1.value)case mandgr
8、oup1.value=2set filter to 配件名称=alltrim(thisform.text1.value)case mandgroup1.value=3set filter to 所属车型=alltrim(thisform.text1.value)case mandgroup1.value=4 tj=if not empty(thisform.text1.value)tj=出厂日期=ctod(thisform.text1.value)endifset filter to &tjcase mandgroup1.value=5nj=if not empty(thisform.text
9、1.value)nj=库存量=val(thisform.text1.value)endifset filter to &njendcasethisform.refresh(3)数据查询系统 其结构图如下其代码程序如下:do casecase mandgroup1.value=1thisform.label2.caption=请输入配件代码:case mandgroup1.value=2thisform.label2.caption=请输入配件名称:case mandgroup1.value=3thisform.label2.caption=请输入所属车型:case mandgroup1.val
10、ue=4thisform.label2.caption=请输入出厂日期:case mandgroup1.value=5thisform.label2.caption=请输入库存量:endcasethisform.text1.value=thisform.text1.setfocusthisform.refreshdo casecase mandgroup1.value=1set filter to 配件代码=alltrim(thisform.text1.value)case mandgroup1.value=2set filter to 配件名称=alltrim(thisform.text1.
11、value)case mandgroup1.value=3set filter to 所属车型=alltrim(thisform.text1.value)case mandgroup1.value=4tj=if not empty(thisform.text1.value)tj=出厂日期=ctod(thisform.text1.value)endifset filter to &tjcase mandgroup1.value=5nj=if not empty(thisform.text1.value)nj=库存量=val(thisform.text1.value)endifset filter
12、 to &njendcasethisform.refresh(4)报表制作与其结构图如下:其代码如下:report form total.frxdo casecase mandgroup1.value=1set filter to 配件代码=alltrim(thisform.text1.value)case mandgroup1.value=2set filter to 配件名称=alltrim(thisform.text1.value)case mandgroup1.value=3set filter to 所属车型=alltrim(thisform.text1.value)case man
13、dgroup1.value=4tj=if not empty(thisform.text1.value)tj=出厂日期=ctod(thisform.text1.value)endifset filter to &tjcase mandgroup1.value=5nj=if not empty(thisform.text1.value)nj=库存量=val(thisform.text1.value)endifset filter to &njendcasethisform.refresh(3)、退出系统退出系统的程序如下:thisform.release五、系统实施在软件开发实施阶段,要按系统的
14、思想,把程序对象视为一个大的系统,然后将这个的大系统分为若干个小的系统,保证高级控制程序能够控制各个功能模块。一般采用“自顶向下的“的设计思想开发高级控制程序,并逐级控制更低一层的模块,每一模块执行一个独立、精确的任务,而且受控与高级程序。此系统简单容易阅读,易维护,达到了各个模块间的接口数目尽量小的原则。六、系统测试在软件维护阶段,要经常修正系统程序的缺陷,增加新的性能。在这个阶段测试系统的性能尤为关键,要通过调式检查语法错误和算法错误,并加以改正。此系统也是按照以上的原则开发的,经过测试基本可以满足以上要求。七、结束语(1)设计题目分析这次课设有一定难度。比如要用代码来完成一些操作。通过设
15、计与实现,基本完成了课设任务,取得了较大收获。(2)需要完善之处在设计过程中,感觉有以下几点可以进行完善:汽车配件的数据录入、数据修改、数据添加系统做到了一起;查询目标不明确;虽然系统的整体运行良好,但整个系统的形式过于单一,需要加以补充和完善。(3)总结经过一个礼拜的设计和开发, 汽车配件管理系统基本开发完毕。其功能基本符合需求,能够完成汽车配件的查询、修改、添加等工作。用户也可较方便进行数据备份和恢复、数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。本
16、次课程设计,是在老师的指导下,借助Visual Foxpro相关案例,运用老师所授的Visual Foxpro及其应用系统开发课程中的理论知识,经过长时间的酝酿和修改,最终完善而成。在老师的悉心指导下,在同学们的热情帮助下,我对Visual FoxPro有了更深一层的理解,除自己翻阅资料外我门还在一起讨论,有好多的好的思想,但是我无法把他表达出来,我对VF运用还不熟练,我想通过自己的努力在以后作的更好。 只学习了半年的课程,对许多东西理解还是不够深入,运用不够熟练,以及存在一些问题,敬请谅解。 【参考文献】1史济民主编,Visual Foxpro及其应用系统开发,清华大学出版社,2004年1月
17、2白永军,Visual Foxpro程序开发项目案例,清华大学出本社,2004年5月3明日科技,Visual Foxpro数据库系统开发案例精选,人民邮电出版社,2006年8月4朱静、李向,VFP课程设计指导手册,中国地质大学计算机学院,2007年7月5李雁翎Visual FoxPro 应用基础与面向对象程序设计教程(第二版).北京:高等教育出版社. 20026 李雁翎Visual FoxPro 实验指导、习题集与系统开发案例(地二版).北京:高等教育出版社. 2003;7黄梯云.计算机软件技术基础.北京:高等教育出版社,19998萨师煊,王珊.数据库系统概论(第三版).北京:高等教育出版社,
18、2000 附录:Visual FoxPro 命令一览表:CREATE DATABASE :建立并打开一个数据库文件命令CREATE FORM :打开表单设计器命令APPAND FROM :从另一个文件添加记录到当前表的末尾命令CREATE :创建一个新的Visual FoxPro数据库表命令COUNT :统计表中的记录数命令BLANK :清除当前记录中字段的数据命令DELETE :为指定记录加上删除标记命令PACK :永久性的删除当前表中加有删除标记的记录命令DELETE FILE :从磁盘中删除指定的文件命令DIR :显示一个目录或文件夹中的文件信息命令DISPLAY :在窗口中显示当前表的
19、信息命令DISPLAY FILES :显示文件的有关信息命令DISPLAY MEMORY :显示当前内存变量和数组元素的内容命令EDIT :显示要编辑的字段命令EXIT :退出DOWHILE、FOR、DCAN循环语句结构的命令IFENDIF :根据逻辑表达式的值有条件地执行一组命令INDEX :建立一个索引文件,按某个逻辑顺序显示和访问表中的记录命令INSERT :在当前表中插入一条新记录,然后显示该记录并进行编辑命令LIST :显示库文件命令HELP :打开帮助窗口命令DO CASEENDCASE :将执行第一个逻辑表达式中为真的那个分支后面的一组FORENDFOR :将一组命令反复执行指定
20、的次数DO WHILEENDDO :根据指定的条件循环执行一组指定的命令GO/GOTO :移动记录指针到指定记录号的记录中命令MODIFY DATABASE :打开数据库设计器,允许用户按交互方式编辑当前数据库MODIFY COMMAND :打开编辑窗口,以便能编辑或者建立程序文件RENAME :更换一个文件的名称MODIFY STRUCTURE :打开表设计器,以便修改表的结构REINDEX :重建当前打开的索引文件RECALL :去除当前表中记录的删除标记SET :打开数据会话窗口SEEK :查找表中索引关键字值与指定的表达式相匹配的第一条记录SELECT :选择指定工作区REPLACE :更新表中记录APPEND :添加一个或多个新记录到表的末尾BROWSE :打开窗口并显示当前表或指定表的记录LOCATE :顺序查找表中满足指定条件的第一条记录CONTINUE :继续执行以前的LOCATE命令SET TALK ONSET TALK OFF :确定Visual FoxPro 是否显示命令的结果SET DELETED ONSET DELETED OFF :指示是否处理带有删除标记的记录