库存系统设计.docx
- 文档编号:25967606
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:19
- 大小:21.65KB
库存系统设计.docx
《库存系统设计.docx》由会员分享,可在线阅读,更多相关《库存系统设计.docx(19页珍藏版)》请在冰豆网上搜索。
库存系统设计
(此文档为word格式,下载后您可任意编辑修改!
)
系统设计
1.系统目标设计
1)方便的数据输入性能,良好的人机界面,尽量避免汉字和长字符串的人工重复输入(采用代码词组)。
2)灵活地查询性能,能快速实现多项产品输入数据和库存数据的查询。
3)考虑到工厂生产的发展,对新产品数据也能给予处理。
4)把目前基本上是“静态”库存管理变为“动态”管理,能随时提供库存现状信息(包括库存报警信息)。
2.新系统功能结构图
综合考虑改进后的系统逻辑模型(见图7)和设计的新系统目标的要求。
设计新系统功能结构如图9所示。
图9系统功能结构图
3.新系统计算机信息系统流程设计
计算机化的信息系统流程如图10所示。
图10中的处理框内标出了相应的程序名,其功能说明见程序模块设计说明书。
图10新系统信息处理系统流程图
4.代码设计
(1)产品规格代码设计
由于该厂在未来的几年内生产的产品品种不会超过十种,并且每种产品的规格也不会超过十种,因此,产品规格代码采用层次码,并用两位整数表示,设计方案如图11所示,全部规格编码列于表8中。
图11代码设计方案
表8规格代码
规格代码
规格
01
220V—15W
02
220V—45W
03
220V—60W
04
220V—100W
05
220V—150W
06
220V—200W
07
220V—300W
11
220V—4W
12
220V—8W
13
220V—16W
21
220V—8W
22
220V—20W
23
220V—30W
24
220V—40W
(2)产品代码设计
产品代码用三位整数表示,设计方案如图12所示。
表9列出了全部产品的代码。
图11代码设计方案
表9产品代码表
产品代码
产品名称
规格代码
规格
012
灯泡
01
220V—15W
024
灯泡
02
220V—45W
036
灯泡
03
220V—60W
048
灯泡
04
220V—100W
050
灯泡
05
220V—150W
061
灯泡
06
220V—200W
073
灯泡
07
220V—300W
115
节能灯
11
220V—4W
127
节能灯
12
220V—8W
139
节能灯
13
220V—16W
218
日光灯
21
220V—8W
220
日光灯
22
220V—20W
231
日光灯
23
220V—30W
243
日光灯
24
220V—40W
产品代码中的校验位a3值的确定方法如下:
a3=取[(3a1+2a2)/11]的余数
例如:
a1a2a3
243
X)32
6+8=14
则a3=(14/11)的余数=3
当余数为10时,则按a3=0处理。
5.系统物理配置方案设计
本系统采用单机单用户操作方式,基本配置如下;
机型:
COMPAQ486/40
软驱:
双软驱动器
硬盘:
540MB
内存:
8MB
显示器:
VGA
打印机:
StarCR3240
软件:
Foxpro2.5forWindows3.1(汉化)。
机器安装在仓库办公室。
6.输出设计
本系统的报表输出格式设计成表10~表12的形式(表中的数据为试运行结果数据)
表10
产品名称
单位
规格
上月结存
本月入库
本月出库
本月结存
不变价金额(元) 214700.0064400.00150300.00
现行价金额(元)250400.0075160.00175240.00
数量合计445001930025200
灯泡
只
220V—15w
2000
1000
1000
灯泡
只
220V—45w
1500
1000
500
灯泡
只
220V—60w
3000
3000
灯泡
只
220V—200w
12000
11800
200
节能灯
只
220V—4w
3000
2500
500
节能灯
只
220V—8w
3000
3000
日光灯
只
220V—8w
2000
2000
日光灯
只
220V—20w
14000
14000
日光灯
只
220V—30w
4000
3000
1000
表11超储产品
产品代码
产品名称
库存量
最高储备
超储量
220
日光灯
14000
10000
4000
表12不足产品
产品代码
产品名称
库存量
最低储备
不足储备
024
灯泡
500
600
100
048
灯泡
0
400
400
050
灯泡
0
400
400
061
灯泡
200
300
100
073
灯泡
500
1000
500
115
节能灯
500
1000
500
139
节能灯
0
1000
1000
24
日光灯
0
1000
1000
7.存储文件(数据库)结构设计
由于本系统的应用程序全部用Foxpro2.5编写,因此,存储文件的结构设计就是指.DBF文件的结构设计。
(1)设计规范
库文件名称和库字段变量名称规范分别如表13和表14所示。
表13库文件名称
序号
文件名称
标识符
备注
1
产品目录库文件
CPDM.DBF
2
产品单位及规格代码表
CPDZB.DBF
事先建好
3
出入库数据输入暂存文件
CPSJSR.DBF
4
各种产品每日库存累计文件
CPKC.DBF
5
各种产品每日每笔人享文件
CPRK.DBF
6
各种产品每日每笔出库文件
CPXS.DBF
7
各种产品每日入出存累计文件
CPRDATA.DBF
8
报表计算辅助文件
CPBBJS.DBF
9
备品报表文件
CPBB.DBF
10
库存报表数据文件
KCJC.DBF
表14库文件字段变量名规范
序号
字述名义
标识符
备注
1
产品不变价格
BBJ
2
日期
BBRQ
3
产品代码
CPDM
4
产品名称
CPMC
5
代码为ijk的产品库存量
CPIJK
6
产品单位代码
DWDM
7
产品组位
DW
8
产品规格代码
GGDM
9
产品规格
GG
10
产品库存超储或不足
JC
取值“超储”或“不足”
11
产品库存数量
KCSL
12
日期
KCRQ
13
累计入库量
LJRK
14
累计总出库量
LJXS
15
产品零售数量
LSSL
16
产品批发出库数量
PFSL
17
产品入库数量
RKSL
18
日期
RQ
19
产品现行价格
XXJ
20
产品最大储备量
ZGCB
21
产品最小储备量
ZDCB
(2)各个库文件结构设计
本系统中建立的10个数据库(.DBF)文件结构如表15~24所示。
表15产品单位及规格代码库(CPDZB.DBF)结构
序号
字段名称
字段类型
长度
备注
1
DWDM
Character
1
2
DW
Character
4
3
GCDM
Character
2
4
GG
Character
10
表16产品目录库(CPDM.DBF)结构
序号
字段名称
字段类型
长度
备注
1
CPDM
Character
3
2
CPMC
Character
18
3
DWDM
Character
1
4
DW
Character
4
5
GGDM
Character
2
6
GG
Character
10
7
BBJ
Numeric
7
8
XXJ
Numeric
7
9
ZGCB
Numeric
7
10
ZDCB
Numeric
4
表17产品出入库数据暂存文件(CPSJSR.DBF)结构
序号
字段名称
字段类型
长度
备注
1
RQ
Date
8
2
CPDM
Character
3
3
RKSL
Numeric
6
4
LSSL
Numeric
6
5
PFSL
Numeric
6
表18各种产品每日入库累计文件(CPRK.DBF)结构
序号
字段名称
字段类型
长度
备注
1
RQ
Date
8
2
CPDM
Character
3
3
RKSL
Numeric
6
表19各种产品每日销售出库累计文件(CPXS.DBF)结构
序号
字段名称
字段类型
长度
备注
1
RQ
Date
8
2
CPDM
Character
3
3
LSSL
Numeric
6
4
PFSL
Numeric
6
表20各种产品每日库存量累计文件(CPKC.DBF)
序号
字段名称
字段类型
长度
备注
1
KCRQ
Date
8
2
CP012
Numeric
8
3
CP024
Numeric
8
4
CP036
Numeric
8
5
CP048
Numeric
8
6
CP050
Numeric
8
7
CP061
Numeric
8
8
CP073
Numeric
8
9
CP115
Numeric
8
10
CP127
Numeric
8
11
CP139
Numeric
8
12
CP218
Numeric
8
13
CP220
Numeric
8
14
CP231
Numeric
8
15
CP243
Numeric
8
表21各种产品每日出入存累计文件(CPRDATA.DBF)结构
序号
字段名称
字段类型
长度
备注
1
RQ
Date
8
2
CPDM
Character
3
3
CPMC
Numeric
6
4
DW
Numeric
6
5
PFSL
Numeric
6
6
KCSL
Numeric
6
表22报表计算辅助文件(CPBBJS.DBF)结构
序号
字段名称
字段类型
长度
备注
1
BBRQ
Date
8
2
CPDM
Character
3
3
CPMC
Character
18
4
DW
Character
4
5
RKSL
Numeric
8
6
LSSL
Numeric
8
7
PFSL
Numeric
8
8
KCSL
Numeric
8
9
LJRK
Numeric
8
10
LJXS
Numeric
8
表23各月收发存报表文件(CPBB.DBF)结构
序号
字段名称
字段类型
长度
备注
1
BBRQ
Date
8
2
CPDM
Character
3
3
CPMC
Character
18
4
DW
Character
4
5
RKSL
Numeric
8
6
LSSL
Numeric
8
7
PFSL
Numeric
8
8
KCSL
Numeric
8
9
LJRK
Numeric
8
10
LJXS
Numeric
8
表24库存报警数据文件(KCJC.DBF)结构
序号
字段名称
字段类型
长度
备注
1
CPDM
Character
3
2
JC
Character
4
8.输入设计
(1)出入库数据录入卡设计
本系统中的产品出入库数据录入卡沿用现行系统的产品出入库单格式,参见表2和表3。
(2)输入屏幕格式设计
基础(原始)数据分为产品入库数据和产品出库数据两大类,因此输入屏幕分开设计。
产品代码
产品名称
入库数量
图13产品入库数据输入屏幕格式
l)图13是产品入库数据输入时的屏幕格式。
当输入入库日期之后,便在屏幕上出现此画面。
数据录入方式有两种:
·光标在右边的提示窗口内上下移动,选择正确的入库产品代码后,则产品代码、名称等信息自动进入左边窗口当前显示行的相应栏目内。
然后;光标停在“入库数量”栏上,打入入库数量即可。
如此重复即可将本日内各张入库单上的数据输入机内暂存文件内。
然后,选择提示“存盘”、“放弃”或“继续”。
·调整光标至左边窗口的“代码”栏,接着打入要入库的产品代码,此时对应的产品名称便由系统自动填入,然后打入入库数量即可,最后选择“存盘”、“放弃”或“继续”。
2)产品出库数据输入的屏幕格式设计与产品入库数据输入的屏幕格式基本相同,只是将图13中的“入库数量”栏辟为“零售数量”和“批发数量”两栏。
9.程序模块设计说明
(1)总控模块
1)程序名:
CPMAIN.PRG。
2)功能
·定义本系统的数据录入、数据查询等功能菜单及各项功能的下拉式菜单。
·选取功能菜单及其下拉菜单中的操作项,进入相应的操作。
3)实现
·调用程序CP11.PRG实现产品出入库数据的录入。
·调用过程MPROC2实现数据查询功能。
·调用过程MPROC3实现统计报表功能。
·调用过程MPRCO4实现产品目录维护功能。
·调用过程MPRCO5实现本系统运行结束退出功能。
4)程序、过程、自定义函数间的关系见图14。
图14程序、过程、函数间关系
(2)产品出入库数据录入模块
1)程序名:
CP11.PRG
2)功能:
实现每笔产品出入库数据的录入。
3)处理流程(见图15)。
图15处理流程
4)实现
·打开CPDM.DBF并索引之。
·打开CPRDATA.DBF及其索引。
·打开CPRK.DBF。
·若录入入库数据,则打开CPKC.DBF;若录入出库数据,则打开CPXS.DBF。
·输入日期。
·打开CPSJSR.DBF,并与CPDM.DBF建立关联,然后清空CIJSJSR.DBF。
·用BROW将出入库数据录入CPPJSR.DBF中。
·若数据不保存,则退出返回;若数据保存,则首先将CPSJSR.DBF的RQ字段值全部用输入日期替代,然后通过调用过程CP11X把CPSJSR.DBF中的数据转录到CPRK.DBF(入库)或CPXS.DBF(出库数据)中,并更新CPKC.DBF和CPRDATD.DBF。
(3)每笔出入库数据查询模块
1)程序名:
CP21.PRG
2)功能:
实现对三个月以内的任何一天的每笔入库数据查询显示。
3)处理流程(见图16)。
图16处理流程
4)实现
·打开CPDM.DBF。
·若查询任何一天的每笔入库数据,则打开CPRK.DBF。
·若查询任何一天的每笔出库数据,则打开CPXS.DBF。
·依据字段CPDM建立与CPDM.DBF的关联。
·输入要查询的日期。
从CPRK或CPXS库中定位满足查询日期的首记录。
若无数据可查到,则显示“无数据”,否则用“过滤器技术”和BROW命令显示查询结果。
(4)每日、月、截止期出入库数据查询模块
1)程序名:
CP23.PRG
2)功能:
实现对下述查询条件的查询显示功能
·查询三个月以内任何一天的各种产品全天累计出入库数据。
·查询两年内任何一个月份的各种产品全月累计出入库数据。
·查询从年初至某个截止日期的各种产品累计出入库数据。
3)处理流程(见图17)。
图17处理流程
4)实现
分三种情况讨论:
第一种情况(按天查询)
·打开CPRDATA.DBF和CPDM.DBF。
·输入查询日期。
·按输入的日期从CPRDATA库中过滤出与输入日期匹配的记录。
·显示结果。
第二种情况(按月查询)
·打开CPRDATA.DBF和CPDM.DBF。
·输入查询月份。
·对与输入月份匹配的该月内各产品出入库数据分别累计。
·将该月累计值为零的产品过滤掉。
·显示结果。
第三种情况(查询从年初至截止日期备产品累计出入库数)
·打开CPRDATA.DBF和CPDM.DBF。
·输入截止日期。
·对截止日期之前的各产品出入库数据分别累加。
·显示结果。
(5)某日实际库存数据查询模块
1)程序名:
CP24.PRG。
2)功能:
实现查询某一天各种产品的实际库存数量。
3)处理流程(见图18)。
4)实现
·打开CPKC.DBF与CPDM.DBF。
·输入查询日期。
·在CPKC.DBF中定位满足查询条件的第一条记录,若没有则显示“无数据可查”,否则显示查询结果。
(6)新增产品代码(目录)模块
1)程序名:
CP41.PRG。
2)功能:
将新产品的目录数据增加到CPDM.DBF中,并在CPKC.DBF中增加相应的字段。
3)处理流程(见图19)。
图19处理流程
4)实现
·在命令执行方式下,将新产品的单位、单位代码、规格、规格代码录入CPDZB.DBF中。
·打开CPDZB.DBF、CPDM.DBF和CPKC.DBF。
·录入新产品的产品代码,并校验。
·再录入该新产品的其它目录数据。
·修改CPKC.DBF的库结构(增加新产品的字段)。
(7)修改产品的价格、储备定额模块
1)程序名:
CP42.PRG。
2)功能:
修改产品的价格和储备足额。
3)处理流程(见图20)。
图20处理流程
4)实现
·打开CPDM.DBF。
·用BROW命令进行修改(注意只允许修改产品的不变价、现行价、最高储备和最低储备)。
(8)报表计算模块
1)程序名:
CP31.PRG。
2)功能:
根据本月实际发生的数据,计算出统计报表(产品收发存报表)中的数据,并将计算结果存入CPBB.DBF中供打印用。
3、)处理流程(见图21)。
图21处理流程
4)实现
·输入报表月份。
·打开CPRDATA.DBF。
·在CPRDATA库中定位满足报表日期的第一条记录。
若无数据,即eof()为真,则显示“本月无数据”,并返回。
·在本月范围内,按产品代码分别求出各产品本月出入库累计值。
·打开CPKC.DBF,定位到报表生成那天的各产品实际库存数记录行。
·打开CPBBJS.DBF,并物理清空。
·把已计算出的报表月份各产品累计出入库量及尚有的实际库存数量填入CPBBJS.DBF中。
·打开CPBB.DBF,将CPBBJS.DBF中的数据复制到CPBB.DBF中。
(9)打印《产品收发存月汇总表》模块
1)程序名:
CP32.PRG。
2)功能:
实现《产品收发存月汇总表》的打印输出。
打印机型号为:
STARCR3240型。
3)处理流程(见图22)。
图22处理流程
4)实现
·输入年份和月份。
·打开CPDM.DBF,并索引。
·打开CPBB.DBF,并过滤出符合报表月份的数据记录。
·使CPBB.DBF与CPDM.DBF建立关联。
·若CPBB.DBF中无本月数据,则显示“本月报表未形成”,并返回,否则如下:
·打印表头。
·从CPBB.DBF中输出打印该月份汇总数据。
(10)打印《产品库存报警表》模块
1)程序名:
CP33.PRG。
2)功能:
随时打印出低于最小储备定额和高于最高储备定额的产品库存数据。
3)处理流程(见图23)。
图23处理流程
4)实现
·打开CPKC.DBF,并将记录指针指向最后一行记录。
·打开CPDM.DBF并索引。
·按CPDM.DBF中的记录顺序,逐行去检查CPKC.DBF的最后一行记录中各产品库存量是否超储或不足。
若不足时,在KCJC.DBF的CPDM字段填上该产品代码,在JC字段填“不足”;若超储,则在JC字段填“超储”。
·打印表头。
·打印报表内容。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 库存 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)