- 990.33 KB
- 2022-05-16 18:34:26 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
仓库管理系统摘要:仓库管理是与我们日常生活息息相关的问题。本文设计并实现了一个仓库管理系统。详细介绍了系统从需求分析,总体设计,详细设计以及系统测试、实施各阶段的主要内容和成果。设计实现的管理系统能够正确有效地完成仓库管理的日常工作,并能够根据需求进行灵活的查询;系统与数据库管理系统结合,提供了功能较为强大的数据安全功能;系统界面友好,操作简单,易掌握。关键词:仓库管理:数裾库;管理信息系统;而向对象目录觀11.需紛析21.1系统概述21.2系统运行环境21.3功能需求描述22.,总體i十32.1幵发与设计的总体思想32.2系统模块结构图32.3模块设计32.4界面设计62.5数据库设计113.飾册143.丨货物信息管理模块143.2客户信息管理模块173.3采购入库管理模块203.4销售出库管理模块223.5综合查询模块13.6打印模块13.7登录管理模块13.8±辦1
结衆语1参献1.需求分析仓库管理部门是企业中的一个重要部门,每天都有大量的业务在这里产生。对于一个现代化的企业来说,信息化管理是必须的,而仓库部门作为企业的一个重点部门,同样需要加强信息化管理。如何把仓库部门每天发生的业务如实地记录下来,保证仓库工作有条理地进行,同吋确保相关数据的安全,信息处理的高效,并保证系统的实用性强,这是本系统设计的0的。1.1系统概述仓库管理系统可以为小型的货物管理部门提供基本的仓库管理,从而帮助仓库管理人员能够使用软件对其现有业务流程进行搞笑的管理,这些管理包括:①货物信息管理,包拈货物信息的增加、修改、删除、浏览管理;②客户信息管理,包括客户信息的增加、修改、删除、浏览管理;③货物采购入库管理,对采购的货物完成电子入库;④货物销ft出库管理,对销售的货物实现电子出库;⑤查询管理,包栝对货物信息的杏询、客户信息的杏询和其他信息的杏询;⑥货物信息打印,对当前仓库中的货物信息进行打印;⑦管理员管理,主要是管理员的登录管理与口令管理。1.2系统运行环境1.硬件环境处理器:IntelPentium166MX内存:32MB以上硬盘空间:1GB以上2.软件环境操作系统:Windows98/2000/XP1.3功能需求描述仓库管理系统的功能需求有如下儿个方而①货物信息管理:实现对货物信息的增加、修改、删除、浏览管理。②客户信息管理:实现对客户信息的增加、修改、删除、浏览管理。③采购入库管理:根据已有的货物信息和客户信息,下达入库单,从某客户处采购若干数量的某货物,并入库。④采购出库管理:根据己有的货物信息和客户信息,下达出库单,对客户销售若干数量的某货物,并出库。
①综合查询功能:包括对货物信息的查询、客户信息的查询和其他信息的查询;②打印功能:对库存货物信息进行打印;
①管理员管理:管理员可以输入密码登录系统,同时管理员也可以修改自己的U令。1.总体设计依据需求分析的结果,仓库管理系统应该具备对重要相关信息的管理功能,这些管理包括数据的曾、删、改,以及査询、打印等功能,同样还应该实现对数据信息访问控制。下面从软件的整体结构设计角度来进行设计。2.1开发与设计的总体思想作为给小型货物管理部门使用的仓库管理系统,本系统界面设计简单,尽可能地简化操作步骤,同时考虑到方便性,增加了查询的手段,增加了打印功能,为了增加系统的可用性,还设计了管理员的角色,从而更好地满足仓库管理的一般耑求。2.2系统模块结构图依裾需求分析结果,仓库管理系统的主要模块包括:货物信息管理、客户信息管理、采购入库管理、销售出库管理、综合查询、打印、登录管理等7个主要的功能模块,系统结构如阁1所示。仓库管理系统2.3模块设计货物信息管理客户信息管理采购入库管理W出库管综合杏询系统校块结构图登录管理
1.货物信息管理模块货物信息管理模块提供货物信息的管理功能,包括货物信息的浏览功能、货物信息添加功能和货物信息删除功能。货物信息管理模块的功能如图2所示。货物信息管理货物浏览添加货物删除货物货物信息管理模块功能阁2.客户信息管理模块客户信息管理模块提供客户信息的管理功能,包括客户信息的浏览功能、客户信息添加功能和客户信息删除功能。客户信息管理模块的功能图如图3所示。客户信息管理客户浏览添加客户删除客户問3货物信息管理模块功能陶1.采购入库管理模块采购入库管理模块提供货物信息的简单查询、客户信息的简单查询,以及在确认采购货物信息和客户
信息后的货物入库的功能。采购入库管理模块的功能如图4所示。采购入库管理查询货物查询客户货物入库阁4采购入库管理模块功能阁1.销俦出库管理模块销隽出库管理模块提供货物信息的简单查询、客户信息的简单查询,以及在确认采购货物信息和客户信息后的货物出库的功能。销售出库管理模块的功能如图5所示。销售出库管理阁5销售出库管理模块功能阁2.综合杏询管理模块综合杏询管理模块提供货物信息的详细杏询、各户信息的详细杏询和其他杏询3项功能。综合杏询管
理模块的功能图如图6所示。阁6采购入库管理模块功能阁1.打印模块打印模块提供货物信息的打印。2.登录管理模块登录管理模块提供管理员登录功能和管理员口令修改两项功能。登录管理模块的功能如图7所示。阁6采购入库管理模块功能阁2.4界面设计1.主窗体设计
主窗体提供主要的功能模块入口。如图8所示阁8主窗体界面设计效果阁2.货物信息管理界面设计货物信息管理是对货物信息进行基本管理。窗体中提供了一组命令按钮和一部分信息浏览区域,浏览区域中用于显示当前具体的货物信息,命令按钮区域中分为记录浏览部分,增加记录部分和删除记录部分,从而实现对应的数据操作。如图9所示阁9货物信息管理界酣设计效果阁3.客户信息管理界面设计客户信息管理是对客户信息进行基本管理。窗体中提供了一组命令按钮和部分信息浏览区域,浏览区域用于显示当前具体的客户信息,命令按钮区域中分为记录浏览部分,增加记录部分和删除记录部分,从
而实现对应的数据操作。如图10所示阁10客户信息管理界诎设计效果阁1.采购入库管理界面设计采购入库模块分为3个区域,第一个区域为货物信息区,第二个区域为客户信息区,第三个区域为操作区。如图11所示。阁11采购入库筲理界诎设计效果阁2.销售出库管理模块销隽出库模块分为3个区域,第一个区域为货物信息区,第二个区域为客户信息区,第三个区域为操作区。如图12所示gl=J回22||
货物信.1货号1象:1ItOOOl货号确定
阁12销售fli库管理界诎设计效果阁1.综合杏询操作界面设计综合查询操作界面分为3个区域,第一个区域根据货物货号进行货物查询,第二个区域根据客户代码进行客户信息查询,第三个区域完成其他信息查询。如图13、14所示阁13综合斉询操作界诎设计效果阁1口口口5规格产地CIA0001打印机台杭州….…_
阁14齊询结果显示界面设计效果阁1.打印界面设计打印界面提供一个简单的报表设计器,显示当前所有库存货物信息。如图15所示令•今%令**>v*->y**>zVzZ*y*,-v;*^*z^"V/■✓*«vT*^*zzCV*"^y^-yy**>y*-yy*»y7-.-v*l,*•;*,J/J-,**.:^Ar.,/.t.,:^:>><>//7y//^/^z%%多分诊务※灰分:多多^-^//"^多:今多诊今么争各灰^/-^/^岁命々多岁灸※灰分:参诊参%《^/y//.^参••今々《多:么岁参今灰^/7//.^库存信息表-<«&CI•CT5SA規格nt90001电海个北京如001打印机台杭州A0002复印机台枕州阁15打印界面设计效果阁2.登录管理界面没计为了实现管理员功能,设计了一个用户登录界面和管理员修改口令界面。如图16、17所示
阁16登录界诎设计效果阁阁17修改管理员密码设计效果阁2.5数据库设计根据系统功能设计的要求以及功能模块的划分,数据库表结构设计如下。1.管理员信息表(见表1)名称:管理员信息表表名称标示:管理员数据来源:数据库设计时录入表1管理员信息表名称字段名称类型宽度非空管理员1D管理员1D字符型10No管理员密码密码字符型10No管理员名称管理员名称字符型10No2.客户信息表(见表2)名称:客户信息表表名称标示:客户信息
数据來源:在客户信息管理模块进行录入表2客户信息表名称字段名称类型宽度非空客户代码客户代码字符型10No客户名称客户名称字符型30No客户公司地址公司地址字符型50No客户公司开户银行开户银行字符型30No客户公司收款单位收款单位字符型30No客户公司账号账号字符型20No客户公司联系人联系人字符型8No联系人职务职务字符型10No公司电话公司电话字符型24No联系人手机号码手机号码字符型15No联系人住宅电话住宅电话字符型24No客户公司传真号码传真号码字符型24No客户公司通信地址通信地址字符型40No客户公司业务范围业务范围字符型60No1.库存信息表(见表3)名称:库存信息表表名称标示:库存数据来源:在库存信息管理模块进行录入表3库存信息表名称字段名称类型宽度非空货物货号货号字符型20No货物品名品名字符型10No货物规格规格字符型10No货物产地产地字符型80No产品说明产品说明备注型4No产品外形产品外形字符型40No货物现有数量现有数量字符型10No备注备注字符型40No4.采购入库信息表(见表4)名称:采购入库信息表表名称示:采购入库
数据來源:在采购入库管理模块进行录入表4采购入库信息表名称字段名称类型宽度非空货号货号字符型10No货物品名品名字符型10No货物进价进价数值型10No货物规格规格字符型20No货物数量数量数值型10No进货客户代码客户代码字符型10No进货客户名称客户名称字符型40No本次采购员代码采购员代码字符型10No本次采购员名称米购员名称字符型8No本次进货时间进货时间日期时间型8No货物产地产地字符型80No货物产品说明产品说明备注型4No货物产品外形产品外形字符型40No5.销ft出库信息表(见表5)名称:销俦出库信息表表名称和<示:销隽出库数据来源:在销售出库管理模块进行朵入表5销售出库信息表名称字段名称类型宽度非空货号货号字符型10No货物品名品名字符型10No货物售价售价数值型10No货物规格规格字符型20No货物数量数量数值型10No售货客户代码客户代码字符型10No售货客户名称客户名称字符型40No本次售货员代码售货员代码字符型10No本次售货员名称售货员名称字符型8No本次售货时间售货时间日期时间型8No货物产地产地字符型80No货物产品说明产品说明备注型4No
货物产品外形产品外形字符型40No3详细设计基于系统需求分析与系统总体设计的结论,本系统采用VisualFoxP6.0实现各模块的功能,下面按照功能模块的划分来分别阐述系统的详细设计和实现过程。3.1货物信息管理模块1.功能描述货物信息管理模块负责对货物信息的数据库操作。在该模块巾,用户可以通过浏览区域浏览货物信息的相关信息,也可以通过下面按钮区域实现货物信息的查询功能、货物信息添加功能和货物信息删除功能。2.窗体和源文件定义窗体名称:表华frmllwmanage文件名:frmllwinanage.sex数据环境:库存表.dbf3.对象设置(见表6)表6货物信息管理表单屮的对象没置对象属性值说明FormlCaption货物管理Label15Caption货物信息:TextgoodsnumberControlSource库存表.货号TextgoodsnameControlSource库存表.品名TextgoodstypeControlSource库存表.规格Text1ControlSource库存表.产地EditlControlSource库存表.产品说明Edit2ControlSource库存表.产品外形Text2ControlSource库存表.备注Text3ControlSource库存表.现有数量Thisform.ComniandGroupl.Command1Caption第一个Thisform.CommandGroupl.Command2Caption上一个Thisform.CommandGroupl.Command3Caption下一个Thisform.CommandGroupl.Command4Caption最后一个Thisform.CommandGroupl.Command6Caption添加Thisform.CommandGroupl.Command7Caption删除Thisform.CommandGroupl.Command9Caption退出4.函数与方法声明(1)Command1中的Click事件功能:选择库存表,同时将记录指针指向第一个位置,浏览第一条记录。
程序清单:*选择库存表select4gotopthisform.refresh0(1)Command2中的Click事件功能:选择库存表,同时将记录指针向前移动一个位置,浏览前一条记录。程序清单:*选择库存表select4if!bof()skip-1elsegotopendifthisfor.refresh()(2)Command3中的Click事件功能:选择库存表,同时将记录指针向后移动一个位置,浏览后一条记录。程序清单:*选择库存表select4if!eof()skipelsegobottomendifthisfor.refresh()(3)Commandd中的Click事件功能:选择库存表,同时将记录指针指向最后一个位置,浏览最后一条记录。程序清单:*选择库存表select4gobottomthisform.refresh()(4)Command6中的Click事件功能:选择库存表,添加新记录,指针指向表尾,同时刷新窗体。程序清单:*选择库存表select4appendblankgo
bottomthisform.refresh()(1)Command7中的Click事件功能:选择库存表,同时对当前指定货号的记录进行删除操作,删除以前先确认是否进行该项操作。程序清单:*选择库存表select4x=messagebox(“真的删除货号为”+allt(thisform.Textgoodsumber.value)+”的货物吗”,4+32+256,“重要提示”)ifx=6deletethisform.refreshelsereturn.F.endifthisform.refresh(2)Command9中的Click事件功能:退出当前窗体。程序清单:Thisform.releaseclearevents3.2客户信息管理模块1.功能描述客户信息管理模块负债对客户信息的数据操作。在该模块中,用户可以通过浏览区域浏览客户信息记录的相关信息,也可以通过下面按钮区域实现客户信息的查询功能、客户信息添加功能和客户信息删除功能。2.窗体和源文件定义窗体名称:表甲•frmKhmanagc文件名:frmKhmanage.sex
数据环境:客户信息表.dbf3.对象设置(见表7)表7客户信息筲理表甲.中的对象设置对象属性值说明FormlCaption客户信息管理Label15Caption客户信息表.Textl1ControlSource客户信息表.客户代码Textl2ControlSource客户信息表.客户名称TextlControlSource客户信息表.公司地址Text2ControlSource客户信息表.开户银行Text3ControlSource客户信息表.收款单位Text4ControlSource客户信息表.账号Text5ControlSource客户信息表.联系人Text6ControlSource客户信息表.职务Text7ControlSource客户信息表.公司电话Text8ControlSource客户信息表.手机号码Text9ControlSource客户信息表.住宅电话TextlOControlSource客户信息表.传真号码Textl3ControlSource客户信息表.通信地址Textl4ControlSource客户信息表.业务范围Thisforni.CommandGroupl.Command1Caption第一个Thisforni.CommandGroupl.Comniand2Caption上一个Thisforni.CommandGroupl.Comniand3Caption下一个Thisforni.CommandGroupl.ConinianddCaption最后一个Thisforni.CommandGroupl.Comniand6Caption添加Thisform.CommandGroupl•Command7Caption删除Thisforni.CommandGroupl.Comniand9Caption退出4.函数与方法声明(1)Command1中的Click事件功能:选择客户信息表,同时将记录指针指向第一个位置,浏览第一条记录。程序清单:*选择库存表select3gotop
thisform.refresh0(1)Command2中的Click事件功能:选择客户信息表,同时将记录指针向前移动一个位置,浏览前一条记录。程序清单:*选择库存表select3if!bof()skip-1elsegotopendifthisfor.refresh()(2)Command3中的Click事件功能:选择客户信息表,同时将记录指针向后移动一个位置,浏览后一条记录。程序清单:*选择库存表select3if!eof()skipelsegobottomendifthisform.refresh()(3)Commandd中的Click事件功能:选择客户信息表,同时将记录指针指向最后一个位置,浏览最后一条记录。程序清单:*选择库存表select3gobottomthisform.refresh()(4)Command6中的Click事件功能:选择客户信息表,添加新记录,指针指向表尾,同时刷新窗体。程序清单:*选择咨户信息表select3appendblankgobottomthisform.refresh()(5)Command7中的Click事件
功能:选择客户信息表,同时对当前指定货号的记录进行删除操作,删除以前先确认是否进行该项操作。程序清单:*选择客户信息表select3x=messagebox(“真的删除货号为”+allt(thisform.Text12.o.value)+”的货物吗”,4+32+256,“重要提示”)ifx=6deletethisform.refreshelsereturn.F.endifthisform.refresh(1)Command9中的Click事件功能:返出当前窗体。程序清单:Thisform.releaseClearevents3.3采购入库管理模块1.功能描述采购入库模块对指定存在的货物信息,可以从指定已存在的客户处完成货物的采购,用户可以在货物信息区査找货物信息,在客户信息区査找客户信息,最后完成货物的入库操作。2.窗体和源文件定义窗体名称:表单frmln文件名:frmln.sex数裾环境:客户信息表.dbf、库存表.dbf、入库表.dbf3.对象设罝(见表8)表8采购入库管理表单中的对象设Hmillim
EormlCaption采购入库管理Label1Caption货物信息:Labe12Caption货号货号输入区:TextGoodsnumberTextgoodsnameControlSource库存表.品名TextgoodstypeControlSource库存表.规格Text2ControlSource库存表.产地Label15Caption客户信息Lable3Caption客户代码客户代码输入区:Text11Textl12ControlSource客户信息表.客户名称TextlControlSource客户信息表.公司地址Command2Caption货号确定Comniand3Caption客户代码确定Command9Caption入库Command1Caption退出TextgoodsnameEnabled.F.TextgoodstypeEnabled.F.Text2Enabled.F.Textll2Enabled.F.TextlEnabled.F.4.函数与方法声明(1)Command2中的Click事件功能:选择货物信息表,查找当前表中是否有指定货号的货物信息,如果有则显示结果。程序清单:*选择货物表select4locatefor货号=upper(al11(thisform.textgoodsnumber.value))ifnotfound()=mesagebox(‘没有改货物的货号!’,0+64+0,‘提示’)Gotopelsethisform.command3.enabled=.T.thisform.refreshendif
(1)Command3中的Click事件功能:选择客户信息表,查找当前表中是否有指定代码的客户信息,如果有则显示结果。程序清单:*选择客户信息表select3locatefor客户代H=upper(allt(thisform.text11.value))ifnotfound0=messagebox(‘没有该客户的客户代码!’,0+64+0,‘提示’)gotopelsethisform.command9.enable=.T.thisform.refreshendif(2)Command9中的Click事件功能:完成货物的采购入库操作。输入:无。处理:①选择庠存表;②判断厍存表是否存在指定货号的货物,如果没则提示,有则继续操作;③检查库存表,更新库存表中货物数量;④将入库信息同时写入入库表;⑤完成入库,并提示。输出:无。程序清单:*选择库存表sele4privalocatefor货号=upper(allt(thisform.textgoodsnumber.value))ifnotfound0=messagebox(‘没有该货物的货号,请先创建该货物!’,0+64+0,‘提示’)gotopelse*1更新货物数量3=库存表.现有数量*如果库存小于零,则让现有库存为0Ifa<0a=0endifa=a+val(thisform.Textd.value)
replace库存表.现有数量witha*2—将入库信息同时写入入库表*选择进货表中添加了主要信息,其余信息根据情况自行添加,或者查询nJ•得replace进货表.货号withalltrim(thisform.Textgoodsnumber.value)replace进货表.数量withareplace进货表.进价withalltrim(thisform.Text3.value)replace进货表.客户代码withalltrim(thisform.Textll.value)*提小*完成=messagebox(‘入库成功!’,0+64+0,‘提示’)Endif(1)Command1中的Click事件功能:返出当前窗体。程序清单:thisform.releaseclearevents3.4销售出库管理模块1.功能描述销售山库模块对指定存在的货物信息,可以从指定已存在的客户处完成销售货物的操作,用户可以在货物信息区査找货物信息,在客户信息区査找客户信息,最后完成货物的出库操作。2.窗体和源文件定义窗体名称:表单frmOut文件名:frmOut.sex数掘环境:客户信息表.dbf库存表.dbf、出库表.dbf3.对象设罝(见表9)表9销售出库管理表单中的对象设Hmillim
EormlCaption销售出库管理Label1Caption货物信息:Labe12Caption货号货号输入区:TextGoodsnumberTextgoodsnameControlSource库存表.品名TextgoodstypeControlSource库存表.规格Text2ControlSource库存表.产地Label15Caption客户信息Lable3Caption客户代码客户代码输入区:Text11Textl12ControlSource客户信息表.客户名称TextlControlSource客户信息表.公司地址Command2Caption货号确定Comniand3Caption客户代码确定Command9Caption出库Command1Caption退出TextgoodsnameEnabled.F.TextgoodstypeEnabled.F.Text2Enabled.F.Textll2Enabled.F.TextlEnabled.F.4.函数与方法声明(1)Command2中的Click事件功能:选择货物信息表,查找当前表中是否有指定货号的货物信息,如果有则显示结果。程序清单:*选择货物表select4locatefor货号=upper(al11(thisform.textgoodsnumber.value))ifnotfound()=mesagebox(‘没有改货物的货号!’,0+64+0,‘提示’)gotopelsethisform.command3.enabled=.T.thisform.refreshendif
(1)Comma.nd3中的Click事件
功能:选择客户信息表,查找当前表中是否有指定代码的客户信息,如果有则S示结果。程序清单:*选择客户信息表select3locatefor客户代H=upper(allt(thisform.text11.value))ifnotfound()=messagebox(‘没有该客户的客户代码!’,0+64+0,‘提示’)gotopelsethisform.command9.enable=.T.thisform.refreshendif(1)Command9中的Click事件功能:完成货物的销售出库操作。输入:无。处理:①选择庠存表;②判断厍存表是否存在指定货号的货物,如果没则提示,有则继续操作;③检杏库存表,更新库存表中货物数量;④将入库信息同时写入俦货表;⑤完成出库,并提示。输出:无。程序清单:*选择库存表sele4priva,blocatefor货号=upper(allt(thisform.textgoodsnumber.value))ifnotfound0=messagebox(‘没有该货物的货号,请先创建该货物!’,0+64+0,‘提示’)gotopelse*1更新货物数量3=库存表.现有数量*如果库存小于零,则让现有库存为0Tfa=0=message(‘数量为零,无法ft货!’,0+64+0,‘提示’)
endifIfa