成品库存管理信息系统的分析、设计与实施
成品库存管理信息系统的分析、设计和实施一、系统分析
1.用户需求
某厂是我国东北地区一家生产照明灯的老企业,每年工业产值在四千万元左右。为了库存管理的需要,决定开发成品库存管理信息系统以加强对成品库存的管理。
用户主要要求如下:
(1)能够对成品库存相关的数据进行输入、查询、修改
(2)能够打印库存月报表
(3)能够提示超额库存和不足库存
在用户提出对应用系统的要求后,软件开发者应通过调查研究了解企业库存管理方面的业务流程和数据流程。
2.可行性分析
可行性分析是在初步调查基础上进行的。
1.管理可行性分析
2.技术可行性分析
3.经济可行性分析
分析结果:可立即开发(分析过程略)
3.管理业务流程调查
可行性分析以后,进行详细调查。在调研的过程中,收集到企业使用的报表、单据如下:
该厂目前生产的产品如表l所示。
表2 产品入库单第册号
注:批发出库时在备注栏的批发[ ]处划“√”,否则在零售[ ]处划“√”表4 产品入库流水帐页
表5产品零售出库流水帐页
表6产品批发出库流水帐页
表8 库存月报表
同时将了解的情况用文字描述如下:
工厂的产品仓库管理组隶属于销售科领导,由七名职工组成,主要负责产品的出入库管理、库存帐务管理和统计报表,并且应当随时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,库存管理组还应该经常提供库存报警数据(与储备定额相比较的超储数量或不足数量)。
产品入库管理的过程是,各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库检验员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。
产品出库管理的过程是,仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出库,以便及时登记相应的产品出库流水帐。
平均看来,仓库每天要核收三十笔入库处理,而各种出库处理约五十笔。每天出入库处理结束后,记帐员就根据入库流水帐和出库流水帐按产品及规格分别进行累计,以便将本日内发生的累计数填入库存台帐。
产品入库单如表2所示,出库单如表3所示,入库流水帐如表4所示,出库流水帐如表5和表6所示,而库存台帐帐页如表7所示。
产品库存的收发存月报表是由记帐员根据库存台帐制作出来的。
上级领导对于产品库存信息的查询是通过将查询条件告诉记帐员,然后由记帐员翻阅几本帐之后将计算结果汇报给领导。主要查询需求为某种产品的当前库存以及根据出入库单编号查询出入库单据中出入库数据。
目前库存报警功能尚未实现。
根据调研信息,绘制如下图表:
a.组织结构图
该厂产品库存管理的组织机构如图所示。
b.管理功能图
库长——全面负责仓库的行政与业务管理;
出入库管理组——负责产品的入库检验、产品的出入库管理、登记出入库帐;
统计分析组——每天根据出入库管理组的出入库帐,统计出各种规格产品当日出入库累计数字,然后登库存台帐。此外,负责生成产品收发存月报表,经库长签字后呈上级主管部门。有时还要尽量满足各方面的各种查询要求。
C.管理业务流程图
业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中不合理流向。
现行产品库存管理系统的业务流程图如图3所示。
4.数据流程调查1
2)第一层数据流程图
3)第二层数据流程图
5.数据字典
(1)数据流字典
①数据流名称:产品入库单标识符:F1
数据结构:
01产品入库单
02日期(RQ)PIC X(8)
02产品代码(CPDM)PIC X(3)
02产品名称(CPMC)PIC X(18)
02单位代码(DWDM)PIC X
02单位(DW)PIC X(4)
02规格代码(GGDM)PIC XX
02规格(GG)PIC X(10)
02入库数量(RKSL)PIC 9(6)排列方式:按(入库日期+产品代码)升序排列
流量:最大50张/日
平均30张/日
来源:生产车间
去向:产品入库处理
②数据流名称:产品出库单标识符:F2
数据结构:
01产品出库单
02日期(RQ)PIC X(8)
02产品代码(CPDM)PIC X(3)
02产品名称(CPMC)PIC X(18)
02单位代码(DWDM)PIC X.
02单位(DW)PIC X(4)
02规格代码(GGDM)PIC XX
02规格(GG)PIC X(10)
02备注
03零售出库数量(LSSL)PIC 9(6)
03批发出库数量(PFSL)PIC 9(6)排列方式:按(日期十产品代码)升序排列
流量:最大:70张/日
平均:50张/日
来源:销售科
去向:产品出库处理
其它的数据字典内容描述省略。
6.确定新系统目标
系统分析的前几个部分都是对组织原有信息处理系统的分析和表达,从这个环节开始根据以前的分析以及和组织管理人员的反复沟通、确认并且要结合系统分析人员的经验从而确定新系统的具体目标和要求。
该项目新系统的目标及要求如下:
1.能够实现初始工作数据环境的设置,包括:输入现有产品的相关信息,能够输入各种产品的初始库存
2.能够对现有产品的信息进行维护、当产生了新产品后,能够录入新产品的信息
3.能够保存出入库单中的数据,并且提供根据单号查询
4.能够根据出入库单中的数据自动计算出每种产品的当日库存,并能够实现当前库存查询
5.能够打印出库存月报表,月报表中包括每种产品的本月入库合计数、本月出库合计数、月末当日的库存数、所有产品入库合计数、出库合计数、库存总额、按照不变价格合算出的入库产品的总金额、出库产品的总金额、库存总金额、按照现行变价格合算出的入库产品的总金额、出库产品的总金额、库存总金额。
6.能够根据库存量提供当前时间的库存报警信息,包括不足库存和超额库存。
7.新系统的业务流程
原有业务流程的评价:在原有的手工系统中,需要通过出入库单中的数据和商品的初始库存汇总出每一日的出入库总额,并手工计算出当日的产品库存,到了月末,再根据日记帐中的数据手工汇总出当月的数据,计算量大,计算耗时较长,所以无法提供报警数据。
在新的系统中,由于采用了计算机处理,可以对原有业务流程进行如下改造:
当录入出入库单中的数据时,可实时的更新当前库存,而不必再汇总当日出入库单据中的数据后计算库存,所以也省去了每日数据汇总的工作环节。
月报表中的数据也可在月末当月出入库数据全部录入后,自动由计算机汇总存储,无需人工计算,从而提高了工作效率。
计算机系统需要录入商品的基本信息和初始库存,但此项工作只需在系统工作前录入一次即可,所以在其他工作环节之前添加录入商品基本信息和初始库存的工作环节。
由于计算机提高了计算效率所以为提供报警数据产生了可能,经过分析,报警数据可由当前库存和商品的最低储备和最高储备计算而来,所以可随时查阅报警数据,因此增加报警数据计算和查询的工作环节。
以上四个方面是针对原有业务流程进行的改造。基于以上分析,画出新系统的业务流程图。
7.数据存储分析
由现状的相关单据票证帐簿报表找出要长期储存的基本项
(1)商品类(产品名称,单位,规格,最高储备,最低储备,不变价,现行价,初始库存)(2)出入库单类(出入库数量,日期,填制人,出入库商品名称)
(3)报表类(暂略,可参看前面收集到的表格)
考查数据之间的计算关系(如必要列出计算公式)
构建系统的E-R模型
由于一张出入库单据只能填写一种产品的出入库数据,所以入库单和产品之间是多对一的关
系,出库单和产品之间也是多对一的关系。
另外,在这个环节要考虑需要对哪些实体编码,但不需要确定编码的方案。应对产品、入库单、出库单实体编码。
根据E-R图建立基本表
产品表(产品编码,产品名称,单位,规格,最高储备,最低储备,不变价,现行价,库存)入库单表(编号,填制人,日期)
出库单表(编号,填制人,日期)
产品—入库单关系表(产品编码,编号,入库数量)
产品—出库单关系表(产品编码,编号,批发出库数量,零售出库数量)
由于产品和出、入库单均为一对多的关系,所以可以将关系表转入多方,转化后的表为:产品表(产品编码,产品名称,单位,规格,最高储备,最低储备,不变价,现行价,库存)
入库单表(编号,填制人,日期,入库数量,商品编号)
出库单表(编号,填制人,日期,批发出库数量,零售出库数量,商品编号)
又因为入库单表和出库单表结构大体相同,所以将其合并,可以通过编号区分是入库还是出库。再次合并后基础表如下:
产品表(产品编码,产品名称,单位,规格,最高储备,最低储备,不变价,现行价,库存)出入库单表(编号,填制人,日期,入库数量,批发出库数量,零售出库数量,商品编号)
除了基础表外,还有一些为了满足数据处理的需要而设计的工作表,如为了打印月报表,必须在计算出月报表中的数据后将这些数据存储起来,所以要设计一张月报表
月报表(日期,产品编码,产品名称,现行价,不变价,当月入库总额,当月出库总额,当前库存)
8.数据查询分析
数据的查询需求为:
输入产品编号,查询当前库存
输入出入库单编号,查询出入库数据
9.新系统的逻辑模型
主要包括两个方面:a 新系统的数据流程图(顶层图,其他层略)。
b 新系统的数据字典(略)是对原有数据字典的补充完善。
二、系统设计
1. 总体设计
1)系统的总体结构
本系统采用单机单用户操作方式,系统为单机系统,所以没有网络结构。在工作岗位上设备的配置方式为:一台计算机,机器安装在仓库办公室
2)软硬件平台
软、硬件基本配置如下;
硬件:
机型:P4机型
移动设备接口:USB
硬盘:40G
内存:1GB
显示器:VGA
打印机:方正A 230
软件:
OS:windows xp
开发工具:Foxpro 6.0(简体中文版)
数据库:Foxpro 6.0(简体中文版)
3)子系统划分
子系统的划分采用功能划分法。新系统功能结构图如下:
2. 详细设计
1)代码设计
根据在系统分析中的结果知道:需要对商品及出入库单据进行编码,基于便于程序设计和处理的原则,代码设计方案如下:
商品代码设计:
代码类型:顺序码
代码位数:考虑企业现有产品为14种,以后可能会开发新的产品,在可以预见的时间内产品规模不会达到上千种,所以代码位数为3位数
具体代码如下
出入库单据代码设计:
代码类型:区间码
代码结构:出入库单据类型+年+月+日+流水号
代码位数:出入库单据类型,考虑到单据分为3类,用r表示入库单,L表示零售出库单,
p表示批发出库单,用1位字母表示
年,出入库单据发生的年份,用2位数字表示
月,出入库单据发生的月份,用2位数字表示
日,出入库单据发生的日号,用2位数字表示
流水号,不同类型的单据按不同的序列给予流水号,考虑到一日内单据量不超过上千张,用3位数字表示
代码示例如下:
2000年10月1日产生的第一张入库单,编号为:r001001001
2)数据库设计
在系统分析中数据存储分析的基础之上,进行数据库的设计设计结果如下:
不足储备量数值型
最高储备数值型
最低储备数值型
3)I/O(输入输出)设计
该部分设计内容主要确定系统有哪些输入输出界面以及输入输出的方式。
输入设计:
A考虑到系统需要录入产品信息和初始库存,所以需要设计产品录入窗口
输入方式:手工输入
为了提高输入数据的效率,要求在该输入界面具有如下特点:用户在输入一项数据后,按回车键光标自动定位到下一个文本框。
B需要对产品信息进行维护,所以设计产品信息维护界面
输入方式:手工输入
为了提高输入数据的效率,要求在该输入界面具有如下特点:
用户在输入一项数据后,按回车键光标自动定位到下一个文本框。C入库单数据录入界面
输入方式:手工输入
为了提高输入数据的效率,要求在该输入界面具有如下特点:
用户在输入一项数据后,按回车键光标自动定位到下一个文本框;
用户输入产品代码后,系统能够自动填入产品名称、单位、规格。D入库单数据录入界面
输入方式:手工输入
为了提高输入数据的效率,要求在该输入界面具有如下特点:
用户在输入一项数据后,按回车键光标自动定位到下一个文本框;用户输入产品代码后,系统能够自动填入产品名称、单位、规格。
输出设计:
A需要输出已存入的产品信息
输出介质:屏幕
B库存查询结构的输出界面
输出介质:屏幕
该窗口既是查询结果的输出界面也是查询条件的输入界面C报表生产窗口
输出介质:屏幕
D报警数据显示窗口(略)E出入库单查询窗口(略)F月报表(略)