案例仓库管理信息系统的开发.docx
《案例仓库管理信息系统的开发.docx》由会员分享,可在线阅读,更多相关《案例仓库管理信息系统的开发.docx(18页珍藏版)》请在冰豆网上搜索。
![案例仓库管理信息系统的开发.docx](https://file1.bdocx.com/fileroot1/2022-10/28/8b580e7a-6dda-4988-9e11-d87c0050117b/8b580e7a-6dda-4988-9e11-d87c0050117b1.gif)
案例仓库管理信息系统的开发
案例:
仓库管理信息系统的开发
一、项目开发背景
某公司是专营家电的中型企业,该公司经营10大类几十个品种的家电产品。
管理工作主要是进货商品的入库管理和销售商品的出库管理及库存商品的保管管理。
现有的管理工作主要依靠手工完成,工作量大,且效率不高。
为了能更好地利用现代信息技术的成果,提高管理工作的效率和水平,以适应企业发展的需要,决定开发库存管理系统。
二、系统分析
(1)可行性分析
根据调查,商品入库的过程是当购入商品到货后,负责进货的人员首先填写入库单,然后经仓库管理人员对商品的质量及数量进行核查后方可入库,并更新商品入库流水帐,另外如果是新产品,则还要在库存台帐中建立新帐页。
商品出库管理过程是管理人员根据销售人员提供的商品出库单,经核查后付货,同时登记商品的销售流水帐。
按照要求,每天下班之前统计分析人员要根据商品购入流水帐和商品销售流水帐,累计汇总出各种商品当日的累计购入入库量、累计销售出库量和库存结余量等数据,并将这些数据填入库存台帐。
原有的手工方式存在的问题有:
●手工模式下的劳动强度高、效率低、错误多、处理速度慢,不适应企业发展的需要。
●在具体工作中,存在大量数据的保存、汇总、查询等工作,手工模式速度慢而且不利于数据的分析,已不适应现代管理模式。
本系统开发的目的,就是通过系统开发,实现库存管理工作计算机化,提高业务的处理速度和规范化程度,并对有关的工作进行继承和重组,进一步通过计算机网络系统实现整个企业管理信息化。
该系统可以提高管理工作的质量和效率,主要表现在以下几个方面:
●实现库存管理的“动态”化,能及时地提供库存商品动态信息,配以库存报警功能,在库存过高或过低时,都给予提示。
●强大的统计分析功能,利用计算机工具以各种方式统计出销售等情况,以便于整体营销策略的调整。
●方便的查询功能,能快速实现对商品的入库、销售及库存情况的查询。
从技术上讲,现行的网络技术和计算机技术完全能完成本系统的功能要求。
经济方面,该企业用于系统开发的预算基本可满足设备的投入和人力投入。
就收益而言,系统投入使用后能加快资金的周转,提高资金的利用率,而且可以提高管理效率,减少人力资源的浪费。
在管理可行性方面,系统的开发于使用与现行的管理制度没有冲突,而且现在员工通过培训可以很容易掌握和使用系统。
综上所述,该系统具备可开发的条件,项目可行,建议开始开发。
(2)组织结构调查,管理功能分析
①商品库存管理主要完成商品出入库管理和提供库存信息,如:
库存清单、报表、统计信息等。
向管理者提供决策支持信息,库存管理的组织结构图如图1所示。
图1组织结构图
②商品库存管理的管理功能分析,如图2所示
图2库存管理功能图
(3)管理工作的业务流程分析
库存管理的业务流程图,如图3所示。
图3业务流程图
(4)数据流程分析
数据流程图,如图4.1,4.2,4.3所示。
第0层数据流程图:
基本的输入为有关部门送来的商品入库单和销售出库单,输出为报表数据,如图4.1所示。
图4.10层数据流程图
第1层数据流程图:
根据分析,整个仓库管理系统可分为三部分:
采购入库管理、销售出库管理及报表中心。
如图4.2所示。
图4.2第1层数据流程图
第2层数据流程图,如图4.3
(1),4.3
(2)所示:
采购入库管理可分为登记购入流水帐、登记库存台帐两个环节:
图4.3
(1)采购入库管理
销售出库管理可分为登记销售流水帐、登记库存台帐两个环节:
图4.3
(2)销售出库管理
(5)主要的数据字典
a.数据项的定义
数据项编号:
I10
数据项名称:
库存量
别名:
实际库存量
概述:
某种商品的实际库存
类型;数值型
长度:
4位整数
取值范围:
0~9999
b.数据流的定义
数据流编号:
F1
数据流名称:
商品入库单
简述:
采购人员填写的商品入库凭单
数据流来源:
采购人员
数据流去向:
登记商品购入流水帐处理功能
数据流组成:
日期+入库单编号+商品号+单位+购入数量
数据流量:
30份/天
高峰流量:
50份/天
数据流编号:
F2
数据流名称:
销售出库单
简述:
销售人员填写的商品销售出库单
数据流来源:
销售人员
数据流去向:
登记商品销售流水帐处理功能
数据流组成:
日期+出库单编号+商品号+单位+数量
数据流量:
500份/天
高峰流量:
800份/天
c.数据存储的定义
数据存储编号:
S1
数据存储名称:
库存台帐
简述:
记录商品的编号、名称单价与库存数量等信息
数据存储组成:
商品号+商品名称+购入单价+销售单价+库存数量
相关联的处理:
登记库存台帐、制作报表
d.处理逻辑的定义
处理逻辑编号:
P1.1
处理逻辑名称:
登记购入流水帐
简述:
采购员根据入库单信息登记流水帐
输入的数据流:
F1商品入库单
处理:
读入商品入库单
读取商品入库单中的商品编号
打开购入流水帐
按商品号查找入库单、商品编号、入库数量
如果存在
库存数量=库存数量+入库数量
否则
在流水帐中添加一条新记录
将商品入库单上的商品编号、入库数量等写入购入流水帐
显示“入库完成!
”信息
返回
输出的数据流:
如果入库单数据检验不合格,拒绝登记,并给出出错的原因和可能的改正方法;如果登记过程完成,除将数据写入购入流水帐中,还要在屏幕上给出登记操作完成的提示。
处理频率:
30份/天
e.实体的定义
外部实体编号:
E1
外部实体名称:
采购人员
简述:
负责商品的购入、与库房的商品交接
外部实体组成:
编码+姓名+性别+年龄+所属部门
输出的数据流:
F1商品入库单
三、系统设计
(1)概要设计
根据需求分析,该库存管理系统可划分为数据维护、数据查询、报表、统计分析、系统维护五个子系统:
①数据维护子系统:
主要完成三类文件数据的录入工作,一是商品库存文件数据的录入。
库存文件录入工作在系统投入运行之前,把原有库存数据装入到商品库存文件中,并在系统运行过程中,录入商品出库信息。
二是商品购入文件的数据录入。
三是商品销售文件数据的录入。
根据出入库商品更新相应的文件:
库存文件、销售文件、购入文件。
②数据查询子系统:
主要是完成库存管理过程的查询工作,如查询实际库存数量,查询某一笔购入或是销售出库情况,某一商品在某一时期内的进销情况等。
③报表子系统:
能根据计算机所存数据生成各种所需形式的表格、报表。
④统计分析子系统:
能根据指定商品生产阶段的销售量的直方图,分析商品的销售量的走势等。
⑤系统维护子系统:
主要完成系统操作员的密码维护、操作权限的设定、系统数据的备份与恢复和其他的系统设置。
(2)系统功能结构设计
根据需求分析和总体设计结果,对系统的功能继续进行细化。
最终得到系统经过改进的功能结构图,如图4所示。
图4系统功能结构图
(3)代码设计
本系统的编码设计依据唯一性、合理性、可扩充性和稳定性的原则,根据这些原则,系统主要的编码如下:
1、员工工作证编码:
第一、二位
第三位
第四、五位
部门代码
职称
编号
●具体如下:
●第一、二位(部门代码)
●XS——销售部
●SC——生产部
●CW——财务部
●XZ——行政部
●RS——人事部
●ZJ——质检部
●JS——技术部
●CG——采购部
●CK——仓库
●第三位(职称)
●0——总经理
●1——副总经理
●2——副总经理
●3——副经理
●4——班、组、仓库负责人
●5——一般员工
●第四、五位(编号):
表示员工在其所在部门中的序号,由于公司目前每个部门的员工数量非常有限,且预计在未来多年内都很难出现超过100员工的部门。
因此只用两位来表示其序号。
●另外,对于总经理和副总经理不属于具体部门时,则工作证以“XH”开头。
如:
“CW206”表示财务部经理,同时他是财务部的第六号员工。
●如:
“CK401”表示仓库主管;“CK504”表示仓库普通员工,同时他是仓库的第4号员工。
●2、采用分组码对采购入库单进行编码:
如:
IBC-040316-06表示2004年3月16日入库的第6份入库单。
3、销售出库单编码与入库单编码类似。
如:
编码OBC-040325-10表示2004年3月25日出库,且为当日第12份出库单。
(4)数据库设计
①概念结构设计
概念模型见图5所示。
图5概念模型
利用数据库建模工具S_Designer5.0建立的CDM概念模型
②利用数据库建模工具生成物理模型
四、系统实施
(1)系统运行环境:
硬件要求:
CPU:
80586以上(最好PentiumⅡ以上);
内存:
64M以上;
硬盘空间:
至少100M剩余空间以上;
打印机及其他。
软件要求:
操作系统:
采用MSWindows2000简体中文版
数据库:
SQLServer2000或AdaptiveServerAnyWhere6.0
数据库前端开发工具:
PowerBuilder7.0(或以上版本)
(2)主要的界面及脚本介绍
1.系统的总体结构(主菜单m_main)
2.应用脚本的open()事件:
open(win_logon)
//getid&password
structure_logonupp
upp=message.PowerObjectParm
ifupp.id=""then
halt
endif
//出现splash窗口
open(win_splash)
environmentenv//保存环境信息
stringstartupfile//定义初始化文件名
/*获取环境信息*/
IF(GetEnvironment(env)<>1)THEN
MessageBox("Application:
Open","Unabletogetenvironmentinformation.~nHalting...")
HALT//终止应用程序的执行
ENDIF
/*根据当前使用的操作系统选择初始化文件*/
CHOOSECASEenv.OSType
CASEWindows!
WindowsNT!
startupfile="pb.ini"
CASESol2!
AIX!
OSF1!
HPUX!
startupfile=".pb.ini"
CASEMacintosh!
startupfile="PowerBuilderPreferences"
CASEELSE
MessageBox("Application:
Open","Unrecognizedoperatingsystem.~nHalting...")
HALT
ENDCHOOSE
/*根据当前PB.INI的设置值设置事务对象SQLCA属性*/
sqlca.DBMS=ProfileString(startupfile,"database","dbms","")
sqlca.database=ProfileString(startupfile,"database