仓库管理系统总体设计探讨.docx
- 文档编号:3635438
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:18
- 大小:534.03KB
仓库管理系统总体设计探讨.docx
《仓库管理系统总体设计探讨.docx》由会员分享,可在线阅读,更多相关《仓库管理系统总体设计探讨.docx(18页珍藏版)》请在冰豆网上搜索。
仓库管理系统总体设计探讨
二○○三年六月
摘要
仓库管理系统是一个企业单位不可缺少的部分。
它的内容对于企业生产和管理来说都至关重要,所以仓库管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
我们使用了VFP关系数据库管理信息系统,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,开发了仓库管理系统这一应用程序。
它运用方便、操作简单,效率很高,现阶段虽只实现了单机运行部分,但已具有数据录入、修改和查询等功能,将仓库管理人员从大量的票据计算、核查、物资清点等繁琐的工作中解放出来。
满足权限的操作人员随时可以对材料的日常出库、入库进行管理,对库存、台帐进行统计查询,并可打印日报、月报等多种报表。
使用计算机对仓库信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高仓库管理的效率,也是企业的科学化、正规化管理的标志之一,是与世界接轨的重要条件。
关键词:
仓库管理、VFP、面向对象
目录
前言……………………………………………………………………3
第一章概述………………………………………………………3
第二章系统需求分析……………………………………………4
2.1编程环境的选择………………………………………………4
2.2开发设计思想…………………………………………………4
2.3系统设计分析…………………………………………………4
第三章VisualFoxPro6.0编程环境简介……………5
第四章系统总体规划……………………………………………5
4.1系统功能………………………………………………………5
4.2流程图…………………………………………………………6
第五章系统具体实现……………………………………………6
5.1数据库的实现…………………………………………………7
5.2系统主程序的设计……………………………………………8
5.3用户界面的实现………………………………………………9
5.3.1欢迎界面和登陆界面……………………………………9
5.3.2主界面…………………………………………………9
5.3.3入、出库单输入界面……………………………………10
5.3.4权限设置界面……………………………………………10
5.4报表的统计查询功能…………………………………………11
5.5系统安全性设计…………………………………………………11
5.6帮助系统………………………………………………………11
第六章结束语……………………………………………………12
第七章主要参考文献……………………………………………12
附录……………………………………………………………………12
前言
仓库管理系统是一个企业单位不可缺少的部分。
它的内容对于企业生产和管理来说都至关重要,所以仓库管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对仓库信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高仓库管理的效率,也是企业的科学化、正规化管理的标志之一,是与世界接轨的重要条件。
因此,开发这样一套管理软件很有必要,在下面的各章中我们将以开发一套仓库管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
第一章概述
21世纪是知识经济的时代,组织和利用知识信息和有力武器——数据库将继续得到广泛应用。
数据库(Database,即DB)是存储在一起的相关数据的集合,是存储数据的“仓库”。
名词源于20世纪50年代,美国为战争的需要,把各种情报集中在一起,存入计算机。
60年代数据库帮助设计了阿波罗登月火箭,推动了数据库技术的产生。
70年代,数据库蓬勃发展,网状系统和层次系统占领了市场,并且关系数据库理论日趋完美。
80年代起,关系数据库产品相当成熟,后来有了分布式数据库系统(DistributedDatabaseSystems)、数据库机(DatabaseMachines)、知识库(KnowledgeBase)系统和知识机。
现在,数据库技术已成为计算机领域最重要的技术之一,它是软件学科中一个独立分支(即研究数据库的结构、存储、设计和使用的一门软件学科)。
在计算机的三大应用(科学计算、数据处理与过程控制)中,处理所占的比例为70%左右。
数据库技术就是作为数据处理中的一门技术发展起来的,今天它已广泛地应用到工业、农业、商业、国家机关、大专院校、科研单位、金融、财贸和国防军事、情报等各行业的管理信息系统(MIS)、办公自动化(OA)决策支持系统等领域中。
仓库管理是企业管理的重要组成部分。
企业的生产经营需要库存保证各种材料的及时供应,仓库管理对生产效率的提高有着极其重要的影响。
所有企业的经营活动都离不开物流的活动。
仓库管理的主要目标就是通过对仓库所有入、出库活动的管理和控制及对仓库数据有效的统计和分析,以保证企业生产中畅通的物流,使管理人员及早发现问题,采取相应措施,最大限度地降低仓库占用,提高仓库利用率。
同时,通过周期性的仓库盘点,及时补充备品材料,以保证企业生产经营活动的正常运行。
第二章系统需求分析
2.1编程环境的选择
VisualFoxPro6.0是是目前计算机领域内广泛使用、功能较齐全的一个数据库管理系统。
VisualFoxPro6.0提供了大量的控件和不少新向导(Wizard),这些控件和向导可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统VFP6.0是一个相对较好的选择。
2.2设计思想
本系统开发设计思想:
1.尽量利用企业现有软硬件环境,采用先进的管理系统开发方案,从而达到充分利用企业现有资源,提高系统开发水平和应用效果的目的。
2.系统应符合企业仓库管理的规定,满足企业日常仓库管理工作的需要,并达到操作过程中的直观、方便、实用、安全等要求。
3.系统采用模块化程序设计方法,既便于系统功能模块的组合,又便于未参与开发的技术人员补充、维护。
4.系统应具备数据库维护功能,能及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.3系统设计分析
仓库管理系统需要完成的功能主要应有:
系统主界面模块。
该模块提供仓库管理系统的主界面,是主系统的唯一入口和出口。
该界面采用下拉式菜单,提供用户进行各种操作。
数据维护模块。
该模块允许用户对出库、入库台帐进行维护工作(增、删、改)。
查询模块。
该模块提供入库/出库台帐、当前库存、收发存日报/月报的统计查询功能,并可设置某一条件进行查询。
第三章VisualFoxPro6.0编程环境简介
面向对象的数据库(OODB)是面向对象方法与数据库技术的结合领域。
OODB既需要具备传统数据库的必备功能,也需要具有面向对象方法的基本特征。
例如:
采用面向对象的数据模型,把对象作为存储与检索单位,支持继承与封装,提供面向对象的数据定义语言和数据操纵语言等等。
面向对象的编程方法摆脱了从头到尾编写程序代码的枯燥的程序开发方式,VFP的应用程序是把系统提供的控件对象和结构化程序设计方法结合起来,大大简化了程序的开发过程。
面向对象编程有几个优点,比如:
易于进行代码维护,可扩展性好,代码重用技术。
这些优点是过程编程所没有的。
下面就谈谈面向对象技术的这些优点:
易于维护。
在面向对象编程中模块性是与生俱来的,实体表现为类和名字空间中具有相同功能的类,你可以向名字空间中增加一个类却不会影响名字空间的其他成员。
可扩展性。
面向对象编程支持扩展性,如果你有一个有某种功能的类,你可以很快的扩展这个类,创建另一个具有扩展功能的类。
代码重用。
自从功能被压缩到一个类中并且类作为一个独立的实体存在,提供一个类库就变得非常容易了。
MicrosoftVisualFoxPro6.0关系数据库系统是新一代小型数据库管理系统的杰出代表,它以强大的性能、完整而又丰富的工具、极高的处理速度、友好的界面以及完备的兼容性等特点,备受广大用户的欢迎。
VFP6.0有极大的灵活性,用它可从应用程序、客户/服务器数据库或本地数据库存储集成数据,开发能运行在多个平台的应用程序。
并具有广泛的兼容性,它可让你使用来自多资源的成分和调动广泛和支持来开发出客户需要的应用程序。
目前,VFP6.0是用户收集信息、查询数据、创建集成数据库系统、进行实用系统开发较为理想的工具软件。
第四章系统总体规划
4.1系统功能
仓库管理系统主要功能如下:
4.2数据流程图
仓库管理系统数据流程图如下:
第五章系统具体实现
一个典型的数据库应用程序由数据结构、用户界面、查询选项和报表等组成。
利用VB建立一个数据库应用程序,首先必须在VB中创建一个项目,保存在磁盘中。
打开项目后,在项目管理器中,单击右侧的“新建”按钮,为数据库添加数据表,建立表单、报表、程序等。
最后将项目连编成以.app为扩展名的应用程序文件或以.exe为扩展名的可执行文件。
5.1数据库的实现
仓库管理系统数据库逻辑结构设计如表5-1至表5-5所示:
表5-1材料目录库clml.dbf
字段名
类型
长度
小数
CLBH(材料编号)
C
8
CLMC(材料名称)
C
30
GGXH(规格型号)
C
30
JLDW(计量单位)
C
6
JHDJ(计划单价)
N
10
2
表5-2当前库存库dqkc.dbf
字段名
类型
长度
小数
CLBH(材料编号)
C
8
KCSL(库存数量)
N
10
2
KCDJ(库存单价)
类型
长度
小数
ZJRQ(最近日期)
N
10
2
表5-2材料入库单rkd.dbf
字段名
类型
长度
小数
CLBH(材料编号)
C
8
GHDW(供货单位)
C
30
RKSL(入库数量)
N
10
2
RKDW(入库单位)
N
10
2
RKRQ(入库日期)
D
8
JBR(经办人)
C
8
BZ(备注)
C
20
表5-4材料出库单ckd.dbf
字段名
类型
长度
小数
CLBH(材料编号)
C
8
LLBZ(领料班组)
C
10
CKSL(出库数量)
N
10
2
CKDJ(出库单价)
N
10
2
CKRQ(出库日期)
D
8
JBR(经办人)
C
8
BZ(备注)
C
20
表5-5用户权限yhqx.dbf
字段名
类型
长度
小数
YHM(用户名)
C
8
MM(密码)
C
8
QXDJ(权限等级)
C
1
5.2系统主程序的设计
仓库管理系统在客户启动.EXE文件时调动一个名为MAIN.PRG的程序。
它调动应用程序框架中的各个功能组件,然后由这些功能组件调用应用程序的其余部分。
主程序构造如下:
SETSAFETYOFF
SETMULTILOCKSON
SETTALKOFF
SETDELETEDON
SETEXCLUSIVEOFF
SETESCAPEOFF
SETDATEYMD
SETCENTURYON
*设置程序初始环境
PUBLICM.PASSWORD
M.PASSWORD=.F.
*设置全局变量,利用该变量控制是否调用主界面
MYPATH=LEFT(SYS(16),RAT("\",SYS(16)))
SETDEFAULTTO(MYPATH)
IFFILE("HELP.HLP").or.FILE("HELP.chm")
SETHELPTOhelp
ELSE
SETHELPOFF
ENDIF
*加载帮助文件
MAINPATH=STRTRAN(MYPATH,'FORMS\','')
DOFORMf:
\bysj\form\welcomeNAMEwelcome
*调用欢迎界面
READEVENT
IFM.PASSWORD
doformf:
\bysj\form\mainnamemain
readevent
ENDIF
*调用主界面
RETURN
5.3用户界面的实现
5.3.1欢迎界面和登录界面
欢迎界面是系统运行时首先启动的界面。
在界面运行十秒或用户按任意键后系统运行登陆界面。
为防止单调,加入字体闪烁效果,画面上的文字“欢迎使用仓库管理系统”随时间改变字体颜色和大小。
登录界面则验证用户身份及使用权限。
用户必须输入正确的用户名及密码方能进入系统,以确保本系统数据的安全保密性能。
具体代码实现见附录。
5.3.2主界面
系统主界面提供数据维护、查询统计、权限设置等功能。
用户的各项操作主要在此界面内完成。
5.3.3入、出库单输入界面
入库单输入初始界面如下图。
用户可使用材料编号输入或材料目录选择两种方式进行输入。
使用材料目录选择方式,用户可从已有的材料目录中选择,避免记忆大量的枯燥数据。
当用户输入完毕后,按“保存”按钮系统将刚才输入的资料保存起来,如果不想保存则可按“取消”按钮,系统自动回复初始状态,等待用户重新输入数据。
具体代码实现见附录。
5.3.4权限设置界面
系统设置系统管理员、系统操作员、普通查询员三种权限级别。
只有拥有系统管理员的用户才能进行新用户的添加和删除。
具体代码实现见附录。
5.4报表的统计查询功能
本系统提供当前库存、入库台帐、出库台帐、收发存日报、收发存月报及呆滞材料等情况的查询功能。
用户进入库存管理界面后,所有库存货物全部列在界面上,库存数量以及库存金额也一目了然。
查询某一类货物库存总数,可以用查询信息栏。
使用收发存日(或月)报窗口,用户可以浏览任何一天(或一月)的收货发货情况,并且可以选择以数量形式还是以金额形式汇总。
用户可以预览、打印该报表。
使用入(或出)库台账窗口,用户可以浏览任何一月的材料入(或出)库情况,并且可以选择以数量形式还是以金额形式汇总。
用户可以预览、打印该台账报表。
5.5系统安全性设计
为保障系统数据的安全性,系统规定,只有以正确用户名及密码登录并拥有一定权限的合法用户,方能对各种数据进行操作。
系统还提供数据备份功能。
具体代码实现见附录。
5.6帮助系统
系统采用VisualStudio提供的MicrosoftHTMLHelpWorkshop帮助文件制作工具,为用户提供完整的系统级和对话框级的帮助功能。
第六章结束语
在大专的三年学习中,这次毕业设计是对我们的一次重要的检验,也是对我们在三年的学习成果是否合格的一次考核。
在毕业设计的时间里我感受到了研究课题的乐趣,也是我学习计算机以来的第一次系统的开发一个软件,在开发当中遇到的困难很多,但是每解决一困难,就会得到一次难得的经验。
短短的几个月里,在XXX老师的带领指导下,我克服了重重困难,加之不断的推敲钻研,我的毕业设计行将成功结束,毕业论文也即将完成。
在这段日子里,学到了很多东西,重新巩固了原来的知识。
能有现在这样的成果,离不开老师和同学的帮助。
在此向XXX老师致以诚挚的谢意,感谢在毕业设计期间所给予的热情的帮助。
对我个人而言,这是第一次系统的开发一个软件,而且由于时间和本身水平限制。
所以制作的这个仓库管理系统肯定还有很多不足之处,肯请各位多多指教。
第七章主要参考文献
[1]作者:
MicrosoftCorporation
VisualFoxpro6.0中文版语言参考手册
出版社:
北京希望电脑公司,1998。
[2]作者:
MicrosoftCorporation
VisualFoxPro6.0中文版程序员指
出版社:
北京希望电脑公司,1998。
[3]作者:
邵洋,谷宇,何旭洪
VisualFoxPro6.0数据库系统开发实例导航
出版社:
人民邮电出版社,2002。
[4]作者:
夏伟文
VisualFoxPro6.0中文版专家指南
出版社:
清华大学出版社,2001。
附录
欢迎界面字体闪烁效果:
ifi=0
thisform.label1.fontsize=24
thisform.label2.fontsize=26
thisform.label1.forecolor=16711935
thisform.label2.forecolor=65535
i=1
j=j+1
else
thisform.label1.fontsize=26
thisform.label2.fontsize=24
thisform.label2.forecolor=16711935
thisform.label1.forecolor=65535
i=0
j=j+1
endif
ifj>10
thisform.release
doformf:
\bysj\form\login
endif
登录界面“确定”按钮代码:
usef:
\bysj\data\yhqx
cname=ALLTRIM(thisform.text1.Value)
ppassword=alltrim(thisform.text2.value)
setordertoyhm
seekcname
ifalltrim(yhqx.yhm)!
=cname
cMessageTitle="错误"
cMessageText="用户名错误,请重新输入"
nDialogtype=4+32
nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)
docase
casenAnswer=6
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus
casenAnswer=7
thisform.release
endcase
else
ifalltrim(yhqx.mm)!
=ppassword
cMessageTitle="错误"
cMessageText="密码错误,请重新输入"
nDialogtype=4+32
nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)
docase
casenAnswer=6
thisform.text2.value=""
thisform.text2.setfocus
casenAnswer=7
thisform.release
endcase
else
rank=yhqx.qxdj
thisform.release
use
doformf:
\bysj\form\mainnamemain
endif
endif
入库单材料编号选择代码
m.材料编号=this.value
seleclml
locafor材料编号=m.材料编号
ifeof()
doformxzcl
locafor材料编号=m.材料编号
this.value=m.材料编号
endif
THISFORM.TEXT3.VALUE=clml.clmc
THISFORM.TEXT4.VALUE=clml.ggxh
THISFORM.TEXT5.VALUE=clml.jldw
“保存”按钮代码:
LOCALlcFilename
m.材料编号=thisform.text2.value
m.材料名称=thisform.text3.value
m.规格型号=thisform.text4.value
m.入库日期=thisform.text7.value
m.供货单位=thisform.text1.value
m.入库数量=thisform.text8.value
m.入库单价=thisform.text9.value
m.备注=thisform.text6.value
m.经办人=thisform.text11.value
ifm.入库数量*m.入库单价=0
waitwindows"数量和单价不能为0"NOWAIT
RETURN
ENDIF
lcFilename="data\rk"+left(dtoc(m.入库日期,1),6)+".dbf"
if!
file(lcFilename)
selectrkd
copystruto(lcFilename)
endif
select0
use(lcfilename)aliasrktz
appendblank
gathermemvar
use
selectdqkc
locatefor材料编号=m.材料编号
ifeof()
appendblank
repl材料编号withm.材料编号
endif
je=库存数量*库存单价
m.库存单价=(je+m.入库数量*m.入库单价)/(库存数量+m.入库数量)
m.库存数量=库存数量+m.入库数量
m.最近日期=m.入库日期
gathermemvar
thisform.text2.value=""
thisform.text1.value=""
thisform.text7.value=date()
thisform.text8.value=0
thisform.text9.value=0.00
thisform.text10.value=0.00
THISFORM.TEXT3.VALUE=""
THISFORM.TEXT4.VALUE=""
THISFORM.TEXT5.VALUE=""
thisform.text6.value=""
THISFORM.LABEL13.caption="材料编号:
"+m.材料编号+trim(m.材料名称)+trim(m.规格型号)+STR(m.入库数量)+STR(m.入库单价,12,2)
thisf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 仓库 管理 系统 总体 设计 探讨