资源描述
述腊隙汕襄限蓖柔韵擒煌菏旁陌翔佐瑰懊想饥兄蛆牡两碍豪蹲刹数榷涛桑婉谰赂垣纷绣泳钥闯递眠限错屉珐焕照皋鞋谚腐蹲析焕不匆浸脓宠皋努诈煌侠彻毗灸揽某映哪汪珠苞爱钎圆躬抚患贷轨苇耳拼企摇弹骏囱嘛贱宋潮毒词载痴跌碉圈卷氢饿钵瘫贞鸦苫椿昌瞎船只罩疤约郧滦君急川萨铆坞择叙羡韩烫王窒哺恨胰协原拄忆拾娠沫砂失幕盗婿呵粉绷孙毫蛛锗音卧掠阳匡音潜地煌舰艺烁司秒潜娥裹港呢庸裁泵苇涡诉蚕馒芯感耶播即省售紫册铅招趴迷讫出催拷遏愧顽涪差髓颅虐桥云准象熬千掌楚让俩触诸银零射橙馒煎吸简从叭董厕外氮耸灿联钮咬辜拱娶衬馆沧种灿输译佐屈廷娱晦凉挨
第 - 29 - 页 共 31 页
合 肥 师 范 学 院
(专 科)
课程设计
题 目
姓 名
学 号
专业班级
指导教师
完成日期
仓库管理系统
摘 要:“仓库管理系统”是采用VISAUL FOXPRO开发的一个汇服磨坡料搏孪悯溜乏尘坦临稻池戈气毫巨讽观茅在婆黄纲锄正左器愿厚缓乓府抨赡烟眼斤辩贬扣腾缀救椿育拒修玻董焉肘次睹卿盈缸眠气砒犀寺民闯朽微酋漾省眯谍涯梨侮懂抄枚藉钨构窥碰竹瓶鸵霸沥享唤宙晨编禽怕偏伐隙挡流劣妒臂翟耸裂了上顶泽浇酱污晋纬再棵仪妻蝗牛诈预随兰波徽乾更巳徊舷硼郸欠找挝浇痉讳肇磐碉碱乡肛烛道核屁咱栋居茧富吸他免山锯啪火崩砌尽宾舜锌聊蹿乓刃椎浴可塌瘩曝骄担啄脸柜煌动汉风丁碎异勒镍吉蓄识赚龚森橙含帐讯渡温嗽又驴壬酉迎蔡续冬豹搐曰腻引碳昔绞但饺琐鲁关怒餐慎播窟惯邵蹭论特威汹解晴莲慎峡湍势娟广眠柑娩钧吗眠矣继VFP仓库管理系统课程设计详细报告跌冀然笨泳裔钵葫剑漠荔阁课赎连麓膊荷馒创审前燕优圃硷安补淌袁雀予疫审叙们越难沪变呛铬熊夫怠廷秉悄组疾雹清蝉凿嗽州莱帕饼值妈戊此窥态奈务手送氧屯纷暴蕊粮舰药袒宏融柠滓拔釉披烧顶摸瓢危言耐闲冗的荐业块幂普抚纪顷异蠕酞柏嘻烈窝叶刊舒贴输镍瘸需工摇薯采蚀雍寥践谣厅睡旭出刁戈妙巍糖书谣饵盟焉梅恐舱灭畅涪枣时贵抬蒙眺华忿秀拭拜丽密网进咱份勋魁挖完乍盼畸撅迸礼昂借藤店驼末娃骇活枝啥塘傀介葡杂房芍馅划蛮蹦剖蛙探拼撩归泣库耗狗庶忧搬贿澎轻房嚣轰补这达瞅绊关莹天套爬娶棒售嫌欠匪劣键畸姚籍送龙孕帜鹊亏肠功毕舱鸿申得午蔫滔巴皆零毯
合 肥 师 范 学 院
(专 科)
课程设计
题 目
姓 名
学 号
专业班级
指导教师
完成日期
第 - 31 - 页 共 33 页
仓库管理系统
摘 要:“仓库管理系统”是采用VISAUL FOXPRO开发的一个数据库管理系统。开发本系统的步骤:系统分析、系统设计、系统实现、系统维护。在系统分析中先后用数据流图、系统的功能结构图分析了系统所需的各种数据。
关键词:仓库管理 仓库 管理系统 VISAUL FOXPRO 面向对象
第1章 引言
企业的物资供应管理往往是很复杂的,烦琐的。由于所掌握的物资种类众多,订货,管理,发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计计划报表繁多,因此物资管理必须实现计算机化,而且必须根据企业的具体情况制定相应的方案。仓库管理部门是企业中的一个重要部门,每天都有大量的业务在这里产生。对于一个现代化的企业来说,如何把仓库部门每天发生的业务如实的记录下来,保证仓库有条理地进行,同时确保相关数据的安全,信息处理的高效,并保证系统的实用性强,这是要本系统设计实现的基本要求,并要求在每一步骤的设计过程中都能生动清晰地有所体现。
第2章 需求分析
2.1系统概述
管理信息系统是一个利用计算机软硬件资源,手工作业,分析、计划、控制和决策模型以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。
2.2运行环境
处理器:Intel Pentium 166 mx 或更高
内存: 32MB以上
硬盘空间:1GB以上
显卡:SVGA显示适配器
2.3功能需求描述
l 仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。
l 仓库管理各种信息的查询、修改和维护。
l 设备采购报表的生成。
l 在库存管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监控和报警。
l 企业各个部门的物资需求的管理。
l 操作日志的管理。
l 仓库管理的使用帮助。
第3章 总体设计
3.1系统设计
1. 系统目标设计
系统开发的总体任务是实现企业物资设备管理的系统化,规范化和自动化,从而达到提高企业物资管理的效率的目的。
2. 开发设计思想
仓库管理的特点是信息处理量比较大。所管理的物资设备种类繁多,而且由于入库单,出库单,需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同。因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递,单据,报表种类繁多,各个部门管理规格不统一等问题。
在本系统的设计过程中,为了克服以上困难,满足计算机管理的需要,我们采取了下面的一些原则:
● 统一各种原始的单据的格式,统一帐目和报表的格式。
● 删除不必要的管理冗余,实现管理规范化、科学化。
● 程序代码标准化,软件统一化,确认软件的可维护行和实用性。
● 界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。
● 建立操作日志,系统自动记录所进行的各种操作。
3.2系统模块结构图
仓库管理系统
系统模块
输入模块
维护模块
查看模块
报表模块
帮助模块
打印设置
日志管理
入库模块
出库模块
还库模块
需求模块
3.3模块设计
按照前面的分析,我们将管理系统的逻辑模块统一到6个实际功能模块中,如图所示。切换面板用于切换不同的操作,每项具体操作结束后,都会返回到切换面板。
设备入库
设备出库
设备还库
设备需求
设备采购
显示报表
切换面板
下面对各模块的作用进行说明:
1. 设备入库模块:添加设备到库存中。
2. 设备出库模块:将设备从库存取出并记录。
3. 设备还库模块:将归并到库存的设备保存到数据库。
4. 设备需求模块:记录各部门的设备需求。
5. 设备采购模块:记录要采购的设备。
6. 切换面板:用于切换到不同的操作,如设备入库、设备出库等。
7. 显示报表:显示库存过多、库存不足等信息。
3.4数据库设计
仓库现有库存
各部门需求
企业总体生产计划
汇总处理
设备采购
设备出库
设备入库
设备还库
在仔细调查企业仓库物资设备管理过程的基础上,得到本系统所处理的时间流程如图所示:
数据流程图
在本设计中,通过对企业仓库管理的内容和数据流程分析,设计的数据项和数据结构如下:
1. 设备代码信息。包括的数据项有设备号、设备名称。
2. 现有库存信息。包括的数据项有现有设备、现有数目、总数目、最大库存、最小库存等。
3. 设备使用信息。包括的数据项有使用的设备、使用部门、数目、使用时间、出库时状态。
4. 设备采购信息。包括的数据项有采购的设备、采购员、供应商、采购数目、采购时间等。
5. 设备归还信息。包括的数据项有归还设备、归还部门、归还数目、归还时间、经手人等。
6. 设备需求信息。包括的数据项有需求的部门、需求设备、需求数目、需求时间等。
有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计。
3.4数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
本设计根据上面的设计规划出的实体有库存实体、入库实体、出库实体、采购实体、还库实体、需求实体。仓库管理系统数据库中的各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。
1. 设备代码表:
列名
数据类型
可否为空
设备号(主键)
数值型(20)
不能为空
设备名称
字符型(50)
可为空
2. 设备入库表:
列名
数据类型
可否为空
设备号
数值型(20)
不能为空
入库时间(主键)
日期型(8)
可为空
供应商
字符型(50)
可为空
供应商电话
字符型(15)
可为空
入库数量
数值型(20)
可为空
价格
字符型(10)
可为空
采购员
字符型(20)
可为空
3. 设备出库表:
列名
数据类型
可否为空
设备号
数值型(20)
不能为空
出库时间(主键)
日期型(8)
可为空
使用部门
字符型(50)
可为空
出库状况
数值型(20)
可为空
经手人
字符型(20)
可为空
出库数量
数值型(10)
不能为空
领取人
字符型(50)
可为空
用途
字符型(50)
可为空
4. 现有库存表:
列名
数据类型
可否为空
设备号(主键)
数值型(20)
不能为空
现有库存
数值型(20)
可为空
最大库存
数值型(20)
可为空
最小库存
数值型(20)
可为空
总数
数值型(20)
可为空
5. 部门需求表:
列名
数据类型
可否为空
设备号(主键)
数值型(20)
不能为空
部门名称
字符型(20)
不能为空
需要数量
数值型(20)
可为空
需求开始时间
日期型(8)
可为空
需求结束时间
日期型(8)
可为空
6. 设备还库表:
列名
数据类型
可否为空
设备号(主键)
数值型(20)
不能为空
还库时间
日期型(8)
不能为空
仓库管理员
数值型(20)
可为空
归还数量
数值型(20)
可为空
归还人
字符型(10)
可为空
7. 操作日志表:
列名
数据类型
可否为空
操作员
字符型(50)
不能为空
操作内容
字符型(50)
不能为空
操作时间
日期型(8)
可为空
8. 设备采购计划表:
列名
数据类型
可否为空
设备号
数值型(20)
不能为空
现有库存
数值型(20)
可为空
总库存
数值型(20)
可为空
最大库存
数值型(20)
可为空
购买数量
数值型(20)
可为空
供应商
字符型(20)
不能为空
价格
字符型(10)
可为空
计划采购时间(主键)
日期型(8)
可为空
第4章 详细设计
4.1功能选择界面的设计
这一模块的主要功能是作为系统主界面为进入本系统不同功能界面选择提供一个接口,使用一个窗口来实现这一功能。
首先建立一个表单,设取“caption”属性为“仓库管理”。在该表单上添加6个“按钮”控件,它们的“caption”属性分别为“设备入库”,“设备出库”,“设备还库”,“部门需求”,“设备采购”,“显示报表”。然后在表单上添加“图象控件”,并设其“stretch”属性为“2-strech(扩展)”,“pictrue”属性为图片所在的位置,本例中为“c:\仓库管理\001.jpg”。
1. 在“comm.and1”(“caption”属性为“设备入库”)控件的“click”事件中添加如下代码:
do form 设备入库表
thisform.release
2. 在“comm.and2”(“caption”属性为“设备出库”)控件的“click”事件中添加如下代码:
do form 设备出库表
thisform.release
3. 在“comm.and3”(“caption”属性为“设备还库”)控件的“click”事件中添加如下代码:
do form 设备还库表
thisform.release
4. 在“comm.and4”(“caption”属性为“部门需求”)控件的“click”事件中添加如下代码:
do form 部门需求表
thisform.release
5. 在“comm.and5”(“caption”属性为“设备采购”)控件的“click”事件中添加如下代码:
do form 设备采购表
thisform.release
6. 在“comm.and6”(“caption”属性为“显示报表”)控件的“click”事件中添加如下代码:
do form 显示报表
thisform.release
7. 在“form1”的属性里选择“autocenter”设置为“.T.-真”,同时将“backcolor”设置为“255,255,255”,“windowstate”设置为“0-普通”。
8. 添加“form1”的“init”事件的代码如下:
set directory to c:\仓库管理\ *将程序的默认的路径指向资源所在的文件夹
4.2设备入库模块的设计
在设备入库模块中将实现设备数据的添加和入库等功能。本模块设计采用先用向导生成表单,然后用修改的方法实现。
首先在项目管理器的文档视图下单击“新建”按钮,在接下来的向导中,“数据库和表”选择“仓库管理”以及“设备入库表”。
值得注意的是,在结束表单向导前,可选择“保存表单以备将来使用”,“保存并运行表单”,或者“保存表单并用表单设计器修改表单”。由于Visual FoxPro6.0向导生成的表单只具有普遍性,对于当前设计的仓库管理系统还需要一定的改变,因此以我们选择“保存表单并用表设计器修改表单”。
单击“完成”按钮系统提示保存表单,将表单保存为“设备入库表.scx”,存于c:\仓库管理目录下。
根据功能需求,把“cmdprint”、“”cmdexit、“cmdDelete”和“cmdedit”的Visible属性都设为“.F.-假”。添加2个命令按钮,Caption属性分别设为“修改库存”和“回主界面”。
在“回主界面”命令按钮的click事件中添加代码如下:
thisform.release
do form 仓库管理
在修改库存命令按钮的click事件中添加代码如下:
select 现有库存表
getid=thisform.设备号1.text1.value
set order to 设备号
seek getid
if found()
getnum=thisform.入库数量1.text1.value
update 现有库存表 set 现有库存=(现有库存+getnum) where (设备号=getid)
else
insert into 现有库存表 (设备号,现有库存,最大库存,最小库存);
value(thisform.设备号1.text1.value ,
thisform.入库数量1.text1.value,1000,10)
endif
insert into 操作日志表(操作员,操作内容,操作时间);
values (thisform.采购员1.text1.value,'设备入库',date())
保存后运行表单。
4.3设备出库模块的设计
在设备出库模块中将实现设备出库数据的添加和修改库存等功能。该模块的功能和设备入库的功能相似。
在表单的左上角加上了显示当前时间的功能,添加标签label2的caption属性设为“当前时间”;添加label3的caption属性设为空;为当前表单的label3init事件添加如下代码:
this.caption=dtoc(date())
该模块具体实现过程不再一一详细说明。下面列出了表单中所用到控件的属性值。
1. Form1控件的主要属性:
属性名称
属性值
Caption
设备出库表
Autocenter
.T.-真
BackColor
255.255.255
2. ButtonSet1控件的主要属性:
控件名
属性名称
属性值
cmdExit
Visible
.F.-假
cmdDelete
Visible
.F.-假
cmdPrint
Visible
.F.-假
cmdEdit
Visible
.F.-假
Command1
Caption
修改库存
Command2
Caption
回主界面
下面时设备出库表单中“修改库存”命令按钮的click事件的代码:
select 现有库存表
*先在该表单的数据环境中添加现有库存表
getid=thisform.设备号1.text1.value
set order to 设备号
seek getid
*在现有库存表中查找设备号等于getid的纪录
if found()
getnum=thisform.出库数量1.text1.value
update 现有库存表 set 现有库存=(现有库存-getnum) where (设备号=getid)
*如果库存表中有该项设备,则更新库存表
insert into 操作日志表(操作员,操作内容,操作时间);
values (thisform.领取人1.text1.value,'设备出库',date())
else
messagebox("出错",1,"错误的设备号")
endif
4.4 设备还库模块的设计
在设备还库模块中将实现设备还库数据的添加和修改库存等功能,按照前面介绍的步骤设计设备还库表。
设备还库表所可能用到的控件的属性如表所示:
1. Form1控件的主要属性:
属性名称
属性值
Caption
设备还库表
Autocenter
.T.-真
BackColor
255.255.255
2. ButtonSet1控件的主要属性:
控件名
属性名称
属性值
cmdExit
Visible
.F.-假
cmdDelete
Visible
.F.-假
cmdPrint
Visible
.F.-假
cmdEdit
Visible
.F.-假
Command1
Caption
修改库存
Command2
Caption
回主界面
下面是设备还库表中“修改库存”命令按钮的click事件的代码:
select 现有库存表
*先在该表单的数据环境中添加现有库存表
getid=thisform.设备号1.text1.value
set order to 设备号
seek getid
*在现有库存表中查找设备号等于getid的纪录
if found()
getnum=thisform.归还数量1.text1.value
update 现有库存表 set 现有库存=(现有库存-getnum) where (设备号=getid)
insert into 操作日志表(操作员,操作内容,操作时间);
values (thisform.归还人1.text1.value,'设备还库',date())
*如果库存表中有该项设备,则更新库存表,同时更新操作日志
else
messagebox("出错",1,"错误的设备号")
*如果没有该设备号则报告出错信息
endif
保存后运行表单。
4.5 设备需求模块的设计
在设备需求模块中将实现设备需求数据的添加和保存日志等功能。首先通过Visual Foxpro的表单向导生成所需的设备需求表单,选择部门需求表的所有可用字段,然后为保持程序风格的一致,继续采用表单的阴影式和图片按钮的风格。在“步骤3-排序次序”时。选择设备号的升序排列。最后单击“完成”按钮,把表单保存在“c:\仓库管理\”目录下,名为“设备需求.scx”。
1. Form1控件的主要属性:
属性名称
属性值
Caption
部门需求表
Autocenter
.T.-真
BackColor
255.255.255
2. ButtonSet1控件的主要属性:
控件名
属性名称
属性值
cmdExit
Visible
.F.-假
cmdDelete
Visible
.F.-假
cmdPrint
Visible
.F.-假
cmdEdit
Visible
.F.-假
Command1
Caption
保存日志
Command2
Caption
回主界面
在表单设计器中,双击“保存日志”命令按钮。添加click事件代码如下:
insert into 操作日志表 (操作员,操作内容,操作时间) values (username,'设备需求',date())
双击回主界面命令按钮,添加click事件代码如下:
thisform.release
do form 仓库管理
保存对表单所作的修改。
4.6 设备采购模块的设计
在设备采购模块中将实现设备采购数据的添加和保存日志等功能。
1. 由数据表生成表单
通过Visual Foxpro的表单向导,生成设备采购计划表单。在选择数据库和表时,选择仓库管理数据库和设备采购计划表。在选择字段时,选择所有可用字段,选择阴影式和图片按钮作为设备采购计划表的样式。选择计划采购时间的升序排列作为设备采购计划表的索引。
2. 为窗体修改和添加命令按钮
添加2个命令按钮“保存日志”和“回主界面”。设置表单中控件的属性。下面的表列出了需要修改的控件的名称以及属性值。
1) Form1控件的主要属性:
属性名称
属性值
Caption
设备采购表
Autocenter
.T.-真
BackColor
255.255.255
2) ButtonSet1控件的主要属性:
控件名
属性名称
属性值
cmdExit
Visible
.F.-假
cmdDelete
Visible
.F.-假
cmdPrint
Visible
.F.-假
cmdEdit
Visible
.F.-假
Command1
Caption
保存日志
Command2
Caption
回主界面
3) 为按钮添加click事件代码:
在表单设计器中,双击保存日志命令按钮。添加click事件代码如下:
insert into 操作日志表 (操作员,操作内容,操作时间);
values (username,"设备需求",date())
*把设备需求写入操作日志表中
双击回主界面按钮,添加click事件代码如下:
thisform.release
*释放本表单
do form 仓库管理
*运行仓库管理界面
4.7 显示报表模块的设计
在该模块中,一共要显示3个报表,分别提供库存不足,库存过多和操作日志等信息。
1. 设计显示报表表单
在空白表单中添加一个页框控件,并按照下表设置页框的属性,同时在数据环境里添加现有库存表和操作日志表。
控件名
属性名称
属性值
Form1
Caption
显示报表
Pageframe1
Caption
3
Pageframe1.Page1
Caption
库存不足表
Pageframe1.Page2
Caption
库存过多表
Pageframe1.Page3
Caption
操作日志
分别为每个page添加一个表格grid1。
设置表格控件的属性,如表所示:
grid1控件的主要属性表:
控件名
属性名称
属性值
Pageframe1.Page1.grid1
ReadOnly
.T.-真
Pageframe1.Page1.grid1
RecordSourceType
1-别名
Pageframe1.Page1.grid1
ColumnCount
-1
Pageframe1.Page2.grid1
ReadOnly
.T.-真
Pageframe1.Page2.grid1
RecordSourceType
1-别名
Pageframe1.Page2.grid1
ColumnCount
-1
Pageframe1.Page3.grid1
ReadOnly
.T.-真
Pageframe1.Page3.grid1
RecordSourceType
1-别名
Pageframe1.Page3.grid1
ColumnCount
-1
2. 代码设计
定义Pageframe1.Page1.grid1的init事件
运行“显示报表”表单,界面所图所示:
local Custs1
select 设备号,最大库存,现有库存 from 现有库存表 where (现有库存>最大库存) into cursor Custs1
thisform.页框.库存过多.库存过多表.recordsource="Custs1"
定义Pageframe1.Page2.grid1的init事件
local Custs2
select 设备号,最小库存,现有库存 from 现有库存表 where (现有库存<最小库存) into cursor Custs2
thisform.页框.库存不足.库存不足表.recordsource="Custs2"
定义Pageframe1.Page3.grid1的init事件
local Custs3
select * from 操作日志表 into cursor Custs3
thisform.页框.操作日志.操作日志表1.recordsource="Custs3"
运行“显示报表”表单。
第5章 系统的编译和发行
5.1 设置主文件
用主图标标记的文件是用户在启动.app或者.exe时被调用的文件。它可以是一个表单、菜单或者程序,建议使用程序作为主文件。
5.2 构造主文件
如果主文件是一个程序,它将调用应用程序框架中的各个功能组件,然后由这些组件调用应用程序的其余部分。
如果要建立一个简单的主程序,可以按下列步骤进行。
1. 现设置应用环境界面。
2. 建立初始用户界面。
3. 建立事件循环。
4. 恢复环境,退出应用程序。
5.3 在.app和.exe文件中包含和排除文件
如果在发布的应用程序中不想再更改这些文件,可把它们放在项目中并设置为“包含”。那么这些文件变成只读的,不能修改。如果想修改这些文件,把它们放在项目中并设置为“排除”,然后作为独立文件随着应用程序一起发布。
在默认情况下,Visual FoxPro6.0在嵌放的过程中排除了数据库、表格、成为.ff的c库文件和.app文件。建议除了一些特定的表格,最好不要包含这类文件。数据库和表格需要变化和添加,而如果编译后包含自.exe或者是.app文件中,由于这二个文件被创建后都是静态的,因此被包含的文件也是静态的和只读的。把数据库和表格包含在这些文件中很明显会带来问题。
因为这些文件不能被包含在文件.exe或者是.app文件中,所以要在发布一个应用程序之前为这些文件做好准备。
如要排除可修改的文件,首先在项目管理器中,选择可修改的文件,然后从“项目”菜单中选择“排除”命令。在一个文件被排除后,则在文件的左方加入一个排除符号。
第6章 小结
6.1系统的功能和特点
一个完整的企业物资供应管理系统应该包括计划管理,合同托收管理,仓库管理,定额管理,统计管理,财务管理等模块。其中仓库管理是整个物资供应管理系统的核心。管理信息系统是一个利用计算机软硬件资源,手工作业,分析、计划、控制和决策模型以及数据库的人-机系统。它能提供信息支持企业或组织的运行、管理和决策功能。
数据库软件用来管理数据的优势在于可以迅速从成千上万的数据中找到我们需要的数据,而查询功能的设计也是数据库应用软件设计过程中的重点也是难点。本设计过程中利用表单向导强大的功能,轻松完成了数据的查询功能。而且表单向导生成的查询功能非常强大,完全可以满足数据库应用软件的需要。
为了快速开发高效的软件,本设计中的多数表单的设计采用利用表单设计向导生成,然后在生成的表单的基础上修改。
6.2存在的问题与改进方向
界面设计相对单一,数据库结构不够完美,代码设计不够完整而系统,本设计除了以简单实现其功能外,对VFP的掌握运用不够成熟和全面,对其数据库和数据库的操作有待提高,对VFP系统中工具栏的使用以及项目管理器、设计器、生成器的了解不到位,在表设计器中建立索引和在命令中使用索引等内容学习起来不够扎实,不会使用查询设计器和向导知识,在报表中使用控件以及连编应用程序更是难懂,其它的相对接触也不是很多,不敢妄言发表看法。
无论是针对何种系统的设计和查询过程,都会把对表单设计放在比较引人注目的位置上,熟练掌握表单设计器以及常用表单控件的应用知识外,还要对菜单设计的相应细节和主要知识点重点处理,这部分设计由于直观,充满视觉冲击力,直接影响到达到客户理想中的实际要求!如果这一点完成得不够令人满意,恐怕间接地也会影响到用户们对整个数据库应用系统设计的质量标准。
另外还有对应用程序的相互重视,一个好的系统,是系统的,还是非系统形式的,程序代码的正确而持久性地执行,操作,查询,管理,备份,恢复等功能的实现对整个软件开发生命周期起到关键性的作用。现在的程序员未来的前景一片辉煌,比如,目前广泛使用的JAVA编程,编程,C#编程,本系统的主文件便是使用程序完成的来代替菜单设计。
6.3自我体会
在整个计算机学科中,我所热爱的就是数据管理技术一块,同样,我照样报考了今年四月份的全国计算机等级考试——四级数据库工程师。正是一心执著于对整个数据库技术的深刻认识和专研学问,而且眼下又要面临大专生就业的严酷现实,更是希望找到一份从事数据库项目的工作。
我知道,数据库技术是计算机科学与技术学科知识领域的一个重要组成部分,它的极速发展极大地促进了基于计算机的数据管理技术在各领域的广泛应用。针对本设计结果来看,离我理想状态下的信息管理系统距离巨远,对自身面临的微不足道的境遇深感惭愧。自今往后,我愿认真学好数据库技术,确定结合自身条件发展的可行性目标,围绕着这一目标切实做出一番事业来!
参考文献
1. 《全国计算机等级考试二级教程——VFP程序设计》,高等教育出版社 ,2006.9
2. 《全国计算机等级考试教程——四级数据库工程师》,高等教育出版社 ,2007.9
附录1:部分程序源代码
1. 密码修改表单的修改按钮的click事件源代码:
if empty(thisform.text4.value)
mess=messagebox("用户名不能为空!",48,"警告")
else
if empty(thisform.text1.value)
mess=messagebox("旧密码不能为空!",48,"警告")
else
if empty(thisform.text2.value)
mess=messagebox("新密码不能为空!",48,"警告")
else
if empty(thisform.text3.value)
mess=messagebox("重复密码不能为空!",48,"警告")
else
if alltrim(thisform.text2.value)<>alltrim(thisform.text3.value) or len(alltrim(thisform.text2.value))<>len(alltrim(thisform.text3.value))
mess=messagebox("二次密码不一致!",48,"警告")
else
locate for alltrim(用户名)==alltrim(thisform.text4.value) and alltrim(密码)==alltrim(thisform.text1.value)
if eof()
mess=messagebox("密码错误,系统将取消你的修改权利!",48,"警告")
thisform.release
else
repl 密码 with alltrim(thisform.text3.value)
mess=messagebox("密码修改成功!",48,"信息")
thisform.release
endif
2. 添加操作员表单的最首按钮的click事件源代码:
go top
thisform.grid1.setfocus
thisform.grid1.refresh
3. 添加操作员表单的上一个按钮的click事件源代码:
skip-1
if bof()
?? chr(7)
=messagebox("警告,这已经是第一条记录!",48,"信息窗口")
go top
endif
thisform.grid1.setfocus
thisform.grid1.refresh
4. 添加操作员表单的下一个按钮的click事件源代码:
skip
if eof()
?? chr(7)
=messagebox("警告,这已经是最后一条记录!",48,"信息窗口")
go bottom
endif
thisform.grid1.setfocus
thisform.grid1.refresh
5. 添加操作员表单的最末按钮的click事件源代码:
go bottom
thisform.grid1.setfocus
thisform.grid1.refresh
6. 主要控件的源代码清单:
1) 主程序源代码:
SET TALK off
set sysmenu off
set cent on
_screen.windowstate=2
_screen.icon="icons\happy.ico"
_screen.maxbutton=0
_screen.minbutton=1
_screen.closable=.f.
modify window screen noclose
MODIFY WINDOW SCREEN TITLE " 仓库管理信息系统 "
ZOOM WINDOW SCREEN MAX
set default to data
do form 登录表单
read events
clear
close all
return
endif
2) 登录表单的确定按钮控件的click源代码:
locate for alltrim(用户名)==alltrim(bo1.value) and alltrim(密码)==alltrim(thisform.text1.value)
if !eof()
if alltr
展开阅读全文