精品库房库存物资管理系统的设计与实现毕业论文设计Word文件下载.docx
《精品库房库存物资管理系统的设计与实现毕业论文设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《精品库房库存物资管理系统的设计与实现毕业论文设计Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
![精品库房库存物资管理系统的设计与实现毕业论文设计Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/29/c32267bd-d1c9-4950-b5e5-e02d1c7f14b2/c32267bd-d1c9-4950-b5e5-e02d1c7f14b21.gif)
图2.1.1企业组织结构图
2.1.2货物流通模式
而涉外机构有:
供应商(进货)、客户(出货),形成如下的货物流通模式:
图2.1.2货物流通模式图
2.2库存管理系统信息分析
以采购、销售商品为主体经营业务的企业,其库房物资出、入库业务处理的一般步骤如下:
(1)企业采购部择优选择供应商采购商品后,填制《采购清单》,并将商品发送给库房,办理入库。
库房收到采购部门的商品后,对照《采购清单》办理入库业务,填写一式三份的《采购入库单》并进行审核,一联留存,一联递交财务部,另一联作为回执交由交货入库经手人,并登记《库存台帐》。
(2)企业与客户签订销售合同后,由业务部开具《客户提货单》并经财务部盖章确认后,再送交到库房,库房人员根据《客户提货单》检查现有实物库存量是否满足,不足则反馈到业务部并尽快补充库存,如果足够则根据《客户提货单》填写《销售出库单》并出货,再将审核后的《销售出库单》一联留存,一联递交财务部,一联交由提货经手人,并登记《库存台帐》。
(3)月末统计月度汇总报表(根据《库存台帐》、《采购入库单》及《销售出库单》汇总过去一个月的入、出库数据及现有库存数据),交财务部及企业领导,用于分析当前企业的经营情况,并对企业的下一月发展做出计划和决策,季末、年末还需出具季度、年度报表。
系统总体业务如图2.2所示
图2.2系统总体业务图
2.3库存管理业务流程
本文将抽取库存物资管理系统部分业务流程,来分析说明如何进行软件系统分析中的业务流程分析。
业务流程分析可以帮助系统分析人员了解该业务的具体处理过程,发现系统调查中的错误和疏漏,修改系统的不合理部分,优化业务流程,为目标系统的开发打下基础。
(1)采购入库业务流程
企业采购部择优选择供应商采购商品后,根据实际采购情况填制《采购清单》,并将商品发送给库房,库房收到采购部门的商品后,对照《采购清单》办理入库业务,填写一式三份的《采购入库单》并进行审核,一联留存,一联和月末报表一起递交财务部,另一联作为回执交给采购部的入库经手人,然后还要登记《库存台帐》记录本次入库的每项物品入库前库存量、本次入库数量及入库完成后实际库存量。
每月末、每季末、每年末统计出月度、季度、年度报表上交财务部及董事会。
(2)提货出库业务流程
企业业务部与客户签订销售合同后,由业务部开具《客户提货单》并经财务部盖章确认后,再送交到库房,库房人员根据《客户提货单》检查现有实物库存量是否满足,不足则反馈到业务部并尽快补充库存,如果满足则根据《客户提货单》填写《销售出库单》并出货(可直接出货给客户,也可出货给业务部再转交到客户),办理出库时应将审核后的《销售出库单》一联留存,一联与月末报表一起递交财务部,一联交由业务部的提货经手人,一联随货物发送给客户,以供客户所在企业入库登帐时使用。
然后还要登记《库存台帐》记录本次出库的每项物品出库前库存量、本次出库数量及出库完成后实际库存量。
(3)查询统计业务流程
库房在月末、季末、年末需统计月度、季度、年度汇总报表(汇总入出库数据及根据库存台帐整理出结余库存数据),交财务部及企业领导,用于分析当前企业的经营情况,并对企业的下一月发展做出计划和决策,财务部及领导也会随时向库房发出查询、统计需求,此时应该按上级要求进行查询、统计并及时反馈准确报表数据。
3企业库存物资管理系统的需求分析
3.1需求分析的任务
需求分析的任务是通过详细调查要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计。
调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对新系统的信息要求、处理要求和安全性与完整性要求。
3.2需求分析的方法
针对企业库房库存物资管理系统工作的特点,采用面向数据流的分析方法中的结构化分析方法(StructuredAnalysis,简称SA法)进行分析,该方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方法分析系统。
它把任何一个系统都抽象如图3.2.1所示的形式,然后对其进行分解如图3.2.2所示的形式。
图3.2.1系统高层抽象图
图3.2.2分层数据流图
它只是最高层次抽象的系统概貌,要反映更详细的内容,可将处理功能分解为若干子功能,每一子功能还可以继续分解,直到把系统工作过程表示清楚为止。
在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图。
数据流图表达了数据和处理过程的关系,系统中的数据则借助数据字典(DD)来描述。
数据流图(DataFlowDiagram,简称DFD)是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。
数据流图的图符数据流图有以下4种基本图形符号:
图3.2.3DFD基本元素
箭头表示数据流,圆或椭圆表示加工。
弯曲弧型表示数据存储,矩形框表示数据的源点或终点,即外部实体。
(1)数据流是数据在系统内传播的路径,由一组成固定的数据项组成。
除了与数据存储(文件)之间的数据流不用命名外,其余数据流都应该用名词或名词短语命名。
数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,也可以从源点流向加工或从加工流向终点。
(2)加工也称为数据处理,它对数据流进行某些操作或变换。
每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。
在分层的数据流图中,加工还应有编号。
(3)数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。
(4)数据源点和终点是软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称为外部实体。
一般只出现在数据流图的顶层图中。
3.3企业库存物资管理系统的需求分析
通过对库存管理业务的了解,得到系统总数据流如图3.3.1所示,再对总的数据流图分解,分解出关键业务对应的子功能,结合前面所示的库存管理业务流程图,本文将对这些流程进行结构化的分析。
图3.3.0系统总数据流图
对加工1.采购入库细分成子数据流处理,得到如图3.2.1所示。
图3.2.1采购入库子数据流图
对加工2.销售出库细分成子数据流处理,得到如图3.2.2所示。
图3.2.2销售出库子数据流图
对加工3.查询统计细分成子数据流处理,得到如图3.2.3所示。
图3.2.3查询统计子数据流图
对加工4.系统维护细分成子数据流处理,得到如图3.2.4所示。
图3.2.4系统维护子数据流图
再对图3.2.4系统维护子数据流图中的4.3进行分解,如下图所示:
图3.2.4.3进行维护操作子数据流图
4企业库房库存物资管理系统的数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式一厂建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
4.1库房库存物资管理系统的数据库设计
按照规范设计方法,在《库房库存物资管理系统的需求分析》中对系统进行需求分析的同时,也进行了数据库的需求分析,在此主要完成对数据库的概念结构设计和逻辑结构设计,从而设计出库房库存物资管理系统数据库的数据模型。
4.2概念结构设计
概念结构设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程,是数据库设计的关键。
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。
在库房库存物资管理系统的概念结构设计中,采用E-R模型来描述,采用自底向上方法。
经分析,得到系统的基本E-R图,如图4.0所示:
图4.0库房库存物资管理系统整体E-R图
(1)部门实体E-R分图,如图4.1所示:
图4.1部门实体E-R分图
(2)员工实体E-R分图,如图4.2所示
图4.2员工实体E-R分图
在“人员类型”里,区分“采购员”、“业务员”、“库房管理人员”
(3)供应商实体E-R分图,如图4.3所示
图4.3供应商实体E-R分图
(4)客户实体E-R分图,如图4.4所示
图4.4客户实体E-R分图
(5)物资实体E-R分图,如图4.5所示
图4.5物资实体E-R分图
(6)入库单实体E-R分图,如图4.6所示
图4.6入库单实体E-R分图
入库单在表结构设计时将使用主从表结构,以消除冗余的表头数据。
(7)出库单实体E-R分图,如图4.7所示
图4.7出库单实体E-R分图
出库单在表结构设计时将使用主从表结构,以消除冗余的表头数据。
(8)库存流水帐E-R分图,如图4.8所示
图4.8库存流水帐实体E-R分图
4.3数据表结构设计
房房库存物资管理信息系统的数据模型经过转换和优化,并结合系统的实际处理需求,得到系统的初步的全局逻辑模型,在此基础上得到本系统数据表结构如下(主键用横线标出):
(1)tb_BM(部门编码表)(部门编码,部门名称,部门电话,部门负责人,拼音简码,五笔简码,启用标志,备注)
(2)tb_YG(员工编码表)(员工编码,员工姓名,性别,出生日期,电话号码,家庭住址,部门编码,职务,人员类型,访问级别,登录密码,拼音简码,五笔简码,备注,在职标志)
(3)tb_GYS(供应商编码表)(供应商编码,供应商名称,联系人,联系电话,传真号码,EMAIL,通讯地址,邮政编码,拼音简码,五笔简码,备注,启用标志)
(4)tb_KH(客户编码表)(客户编码,客户名称,联系人,联系电话,传真号码,EMAIL,通讯地址,邮政编码,拼音简码,五笔简码,备注,启用标志)
(5)tb_FL(物资分类编码表)(分类编码,分类名称,备注,启用标志)
(6)tb_WZ(物资编码表)(物资编码,物资名称,规格,型号,包装,批号,批准文号,生产厂家,物资类型(分类编码),单位,单价,存放架号,存放禁忌要求,当前库存,库存上限,库存下限,拼音简码,五笔简码,启用标记,备注)
(7)tb_RKD(入库单主表)(入库单号,入库日期,录单人,审核人,采购人,供应商编码,总金额,备注)
(8)tb_RKDMX(入库单从表)(入库单号,物资编码,物资名称,物资单位,物资规格,物资型号,生产厂家,物资分类,批号,包装,入库单价,入库数量,入库金额)
(9)tb_CKD(出库单主表)(出库单号,出库日期,录单人,审核人,业务员,客户编码,总金额)
(10)tb_CKDMX(出库单从表)(出库单号,物资编码,物资名称,物资单位,物资规格,物资型号,生产厂家,物资分类,出库单价,出库数量,出库金额)
(11)tb_KCLSZ(库存流水帐表)(记录流水号,入出库单号,单据类型,登记日期,物资编码,物资单价,操作前库存,本次出库量,本次入库量,来源或去向,操作后库存,库存总金额)
5企业库房库存物资管理系统设计与实现
5.1库存物资管理系统的概要设计
概要设计的任务是概要地给出系统的实现方法,划分出组成系统的物理元素,确定系统的软件结构,即组成系统的各个模块及模块之间的关系。
根据需求分析所得到的库存管理系统数据流图,将其优化、求精后,得到系统的详细DFD,采用面向数据流的分析方法,由于系统是事务型的结构特征,因此按照事务分析的映射规则把数据流图映射到软件结构上,建立起系统的软件框架结构如图5.1所示:
图5.1库房库存物资管理系统软件结构图
5.2库房库存管理信息系统实现
根据管理信息系统的特点,按照设计出的系统的逻辑模型,采用原型法进行系统开发,运用PowerBuilder9.0构造出系统原型,再逐步完善,最后实现目标。
主用运用了结构化分析设计、面向对象技术、大型关系型数据库SQLServer2000、流程图绘制工具SmartDraw7.2。
5.2.1系统登录及主界面
系统首次运行出现如图5.2所示的数据库联接参数设置窗口,用户在输入正确的服务器IP、数据库名称、登录帐号及密码后,系统将保存登录信息,密码则加密保存,然后调出系统登录窗口。
下次运行程序不会再出现本窗口。
图5.2登录数据库窗口
以后每次运行程序,将首先出现如图5.3所示的系统登录窗口,用户在输入正确的员工编码及密码后,可登录到库房库存物资管理信息系统。
图5.3系统登录窗口
关键代码(登录按扭CLICKED事件精简代码):
stringls_czybm,ls_userpwl,ls_czydlmm
ls_czybm=sle_userid.text
ls_userpwl=sle_userpwl.text
ifls_userpwl="
"
then
messagebox("
提示"
"
密码不能为空,请输入登录密码!
~n~n初始帐号:
9999,密码:
9999,请登录后修改!
)
sle_userpwl.setfocus()
return
endif
selectDLMM,FWQXinto:
ls_czydlmm,:
ls_czyfwqxfromTB_YGwhereYGBM=:
ls_czybmANDDLMM=:
ls_userpwlandRYLX='
操作员'
andQYBZ='
Y'
;
ifls_czydlmm<
>
ls_userpwlorls_czydlmm="
then
li_errpass_times++
ifli_errpass_times=3then
messagebox("
密码错误!
您连续3次输入了错误的密码,登录被取消!
close(Parent)
haltclose
return
endif
sle_userpwl.setfocus()
您输入的密码不正确,请检查!
sle_userpwl.selecttext(1,100)
else
sle_userpwl.text="
//密码清空以防被窃取
str_czybm=ls_czybm//操作员编码
str_shczybm=str_czybm//审核操作员编码
str_czyfwqx=ls_czyfwqx//操作员访问权限
hide(parent)
li_errpass_times=0
ldec_err_times=0//重新计数
str_czyxm=trim(sle_username.text)
open(w_main)
登录系统后出现如图5.4所示的库房库存物资管理系统主界面,系统采用了MDI窗口风格,降低了系统资源的占用,方便了用户的窗口管理。
主界面主要分5大管理模块:
基础信息(部门信息管理、员工信息管理、物资分类管理、物资信息管理、供应商管理、客户管理、用户权限管理);
日常业务(物资入库管理、物资出库管理);
查询统计(物资信息查询、库存超限查询、入库单据查询、出库单据查询、库存流水帐查询、库房业务月报表);
系统维护(修改用户密码、系统参数设置、数据库备份和恢复、系统初始化、退出系统);
帮助(用户操作手册、关于本软件):
图5.4基础信息管理菜单窗口
5.2.2物资入库出库管理
其中入库业务管理涉及三个窗口,主入库操作窗口如下:
图5.5入库业务管理主窗口
其中入库单审核的存储过程如下(proc_wzrk):
/*物资入库审核*/
/*作者:
黄盛重大网院082计算机科学与技术*/
CREATEPROCproc_wzrk
@shczybmCHAR(6),
@dhCHAR(10)
AS
BEGINTRANSACTIONup
--1、设置审核标志,以防别人读取。
UPDATEtb_RKDSETshczy=@shczybmFROMtb_RKDWHERE(shczy='
'
orshczyisnull)ANDdh=@dh
IF@@error>
0
BEGIN
SELECT'
设置审核标志时失败。
请重试!
ROLLBACKTRANSACTIONup
RETURN
END
--2、生成流水帐记录
INSERTINTOtb_KCLSZ([DH],[DJLX],[DJRQ],[WZBM],[DW],[DJ],[KCDJ],[CSKC],[RKSL],[CKSL],[JYKC],[LYQX])
SELECTa.dh,'
I'
getdate(),b.wzbm,c.dw,b.dj,c.dj,c.dqkc,b.sl,0,c.dqkc+b.sl,d.gysmc
FROMtb_rkda,tb_rkdmxb,tb_wzc,tb_gysd
WHEREa.dh=b.dhandb.wzbm=c.wzbmanda.gysbm=d.gysbmanda.dh=@dh
生成流水帐记录时失败,请重试!
ROLLBACKTRANSACTIONup
--3、从流水帐记录中计算出加权平均单价及新的库存
UPDATEtb_WZsetdj=b.newdj,dqkc=b.jykc
FROMtb_WZa,(SELECTWZBM,JYKC,CONVERT(DECIMAL(12,2),(CSKC*KCDJ+RKSL*DJ)/JYKC)AS'
newdj'
FROMtb_KCLSZWHEREdjlx='
anddh=@dh)bWHEREa.wzbm=b.wzbm
更新库存时失败,请重试!
--提交事务
SELECT'
OK'
COMMITTRANSACTIONup
点击新单或在打开入库单窗口时已存未完成的单据,都将显示一个单据列表供用户选择要编辑的单据,该窗口同时还可以新增或删除未完成的单据,如图5.6所示:
图5.6待处理的入库单列表
出库单的窗口及处理和入库单相类似,考虑到出库时物资实际库存量可能会因其他用户也同时在进行出库处理,而导致在审核单据时发生某项物资的实际库存不足的情况,因此,出库单审核时需要增加一步库存量是否足够的检测工作,这一步在存储过程中有体现。
同时为了方便操作员提前检查这种待出库物资库存不足的情况,窗口中增加了一个【检测】按钮,如图5.7所示:
图5.7物资出库业务管理窗口
关键代码(出库单据审核的存储过程proc_wzck):
/*物资出库审核*/
CREATEPROCproc_wzck
BEGINTRANSACTIONdown
UPDATEtb_CKDSETshczy=@shczybmFROMtb_CKDWHERE(shczy='
ROLLBACKTRANSACTIONdown
O'
getdate(),b.wzbm,c.dw,b.dj,c.dj,c.dqkc,0,b.sl,c.dqkc-b.sl,d.khmc
FROMtb_ckda,tb_rkdmxb,tb_wzc,tb_khd
WHEREa.dh=b.dhandb.wzbm=c.wzbmanda.khbm=d.khbmanda.dh=@dh
ROLLBACKTRANSACTIONdown
FROMtb_WZa,(SELECTWZBM,JYKC,CONVERT(DECIMAL(12,2),CASEJYKCWHEN0THENDJELSE(CSKC*KCDJ-CKSL*DJ)/JYKCEND)AS'
FRO