1、库存系统设计( 此文档为 word 格式,下载后您可任意编辑修改! )系统设计1 系统目标设计1)方便的数据输入性能,良好的人机界面,尽量避免汉字和长字符串的人工重复输入(采用代 码词组)。2)灵活地查询性能,能快速实现多项产品输入数据和库存数据的查询。3)考虑到工厂生产的发展,对新产品数据也能给予处理。4)把目前基本上是“静态”库存管理变为“动态”管理,能随时提供库存现状信息(包括库存 报警信息)。2 新系统功能结构图综合考虑改进后的系统逻辑模型(见图 7)和设计的新系统目标的要求。设计新系统功能结构如图 9 所示。图 9 系统功能结构图3. 新系统计算机信息系统流程设计计算机化的信息系统流
2、程如图 10 所示。图 10 中的处理框内标出了相应的程序名,其功能说明 见程序模块设计说明书。图10新系统信息处理系统流程图4 代码设计(1)产品规格代码设计由于该厂在未来的几年内生产的产品品种不会超过十种, 并且每种产品的规格也不会超过十种,因此,产品规格代码采用层次码,并用两位整数表示,设计方案如图 11所示,全部规格编码列于表 8中。图11代码设计方案表8规格代码规格代码规格01220V 15W02220V 45W03220V 60W04220V 100W05220V 150W06220V 200W07220V 300W11220V 4W12220V 8W13220V 16W21220
3、V 8W22220V 20W23220V 30W24220V 40W(2)产品代码设计产品代码用三位整数表示,设计方案如图 12所示。表9列出了全部产品的代码。图11代码设计方案表9产品代码表产品代码产品名称规格代码规格012灯泡01220V 15W024灯泡02220V 45W036灯泡03220V 60W048灯泡04220V 100W050灯泡05220V 150W061灯泡06220V 200W073灯泡07220V 300W115节能灯11220V 4W127节能灯12220V 8W139节能灯13220V 16W218日光灯21220V 8W220日光灯22220V 20W231日
4、光灯23220V 30W243日光灯24220V 40W产品代码中的校验位 a3值的确定方法如下:a3=取(3ai+ 2a2) /11 的余数例如:ai a2 a32 4 3X) 3 26+ 8=14则a3=( 14/11)的余数=3当余数为10时,则按a3=0处理。5.系统物理配置方案设计本系统采用单机单用户操作方式,基本配置如下;机型: COMPAQ486 /40软驱:双软驱动器硬盘:540MB内存:8MB显示器:VGA打印机:Star CR3240软件:Foxpro 2.5 for Windows 3.1 (汉化)。机器安装在仓库办公室。6 .输出设计本系统的报表输出格式设计成表 10表
5、12的形式(表中的数据为试运行结果数据)表10产品名称单位规格上月结存本月入库本月出库本月结存不变价金额(兀)214700.00 64400.00 150300.00现行价金额(元)250400.00 75160.00 175240.00数量合计44500 19300 25200灯泡只220V 15w200010001000灯泡只220V 45w15001000500灯泡只220V 60w30003000灯泡只220V 200w1200011800200节能灯只220V 4w30002500500节能灯只220V 8w30003000日光灯只220V 8w20002000日光灯只220V 20
6、w1400014000日光灯只220V 30w400030001000表11超储产品产品代码产品名称库存量最高储备超储量220日光灯14000100004000表12不足产品产品代码产品名称库存量最低储备不足储备024灯泡500600100048灯泡0400400050灯泡0400400061灯泡200300100073灯泡5001000500115节能灯5001000500139节能灯01000100024日光灯0100010007 存储文件(数据库)结构设计由于本系统的应用程序全部用 Foxpro2.5编写,因此,存储文件的结构设计就是指 .DBF文件的结构设计。(1 )设计规范库文件名称
7、和库字段变量名称规范分别如表 13和表14所示。表13库文件名称序号文件名称标识符备注1产品目录库文件CPDM.DBF2产品单位及规格代码表CPDZB. DBF事先建好3出入库数据输入暂存文件CPSJSR.DBF4各种产品每日库存累计文件CPKC.DBF5各种产品每日每笔人享文件CPRK.DBF6各种产品每日每笔出库文件CPXS.DBF7各种产品每日入出存累计文件CPRDATA.DBF8报表计算辅助文件CPBBJS.DBF9备品报表文件CPBB.DBF10库存报表数据文件KCJC.DBF表14库文件字段变量名规范序号字述名义标识符备注1产品不变价格BBJ2日期BBRQ3产品代码CPDM4产品名
8、称CPMC5代码为ijk的产品库存量CPIJK6产品单位代码DWDM7产品组位DW8产品规格代码GGDM9产品规格GG10产品库存超储或不足JC取值“超储”或“不足”11产品库存数量KCSL12日期KCRQ13累计入库量LJRK14累计总出库量LJXS15产品零售数量LSSL16产品批发出库数量PFSL17产品入库数量RKSL18日期RQ19产品现行价格XXJ20产品最大储备量ZGCB21产品最小储备量ZDCB(2)各个库文件结构设计本系统中建立的10个数据库(.DBF )文件结构如表1524所示。表15 产品单位及规格代码库(CPDZB.DBF )结构序号字段名称字段类型长度备注1DWDMC
9、haracter12DWCharacter43GCDMCharacter24GGCharacter10表16 产品目录库(CPDM.DBF )结构序号字段名称字段类型长度备注1CPDMCharacter32CPMCCharacter183DWDMCharacter14DWCharacter45GGDMCharacter26GGCharacter107BBJNumeric78XXJNumeric79ZGCBNumeric710ZDCBNumeric4表17 产品出入库数据暂存文件(CPSJSR.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33RKSLNum
10、eric64LSSLNumeric65PFSLNumeric6表18 各种产品每日入库累计文件( CPRK.DBF )结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33RKSLNumeric6表19 各种产品每日销售出库累计文件( CPXS.DBF )结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33LSSLNumeric64PFSLNumeric6表20各种产品每日库存量累计文件(CPKC.DBF )序号字段名称字段类型长度备注1KCRQDate82CP012Numeric83CP024Numeric84CP036Numeric85
11、CP048Numeric86CP050Numeric87CP061Numeric88CP073Numeric89CP115Numeric810CP127Numeric811CP139Numeric812CP218Numeric813CP220Numeric814CP231Numeric815CP243Numeric8表21 各种产品每日出入存累计文件( CPRDATA.DBF )结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33CPMCNumeric64DWNumeric65PFSLNumeric66KCSLNumeric6表22 报表计算辅助文件(CPBBJS.
12、DBF )结构序号字段名称字段类型长度备注1BBRQDate82CPDMCharacter33CPMCCharacter184DWCharacter45RKSLNumeric86LSSLNumeric87PFSLNumeric88KCSLNumeric89LJRKNumeric810LJXSNumeric8表23 各月收发存报表文件(CPBB.DBF )结构序号字段名称字段类型长度备注1BBRQDate82CPDMCharacter33CPMCCharacter184DWCharacter45RKSLNumeric86LSSLNumeric87PFSLNumeric88KCSLNumeric8
13、9LJRKNumeric810LJXSNumeric8表24库存报警数据文件(KCJC.DBF )结构序号字段名称字段类型长度备注1CPDMCharacter32JCCharacter48 输入设计(1 )出入库数据录入卡设计本系统中的产品出入库数据录入卡沿用现行系统的产品出入库单格式,参见表 2和表3。(2)输入屏幕格式设计基础(原始)数据分为产品入库数据和产品出库数据两大类,因此输入屏幕分开设计。光标在右边的提示窗口内上下移动,选择正确的入库产品代码后,则产品代码、名称等信息自动进入左边窗口当前显示行的相应栏目内。然后;光标停在“入库数量”栏上,打入入库数量即可。如此重复即可将本日内各张入
14、库单上的数据输入机内暂存文件内。 然后,选择提示“存盘”、“放弃”或“继续”。调整光标至左边窗口的“代码”栏,接着打入要入库的产品代码,此时对应的产品名称便由系统自动填入,然后打入入库数量即可,最后选择“存盘” 、“放弃”或“继续”。2)产品出库数据输入的屏幕格式设计与产品入库数据输入的屏幕格式基本相同,只是将图 13中的“入库数量”栏辟为“零售数量”和“批发数量”两栏。9 程序模块设计说明(1 )总控模块1 )程序名:CPM A IN.PRG。2) 功能定义本系统的数据录入、数据查询等功能菜单及各项功能的下拉式菜单。选取功能菜单及其下拉菜单中的操作项,进入相应的操作。3) 实现调用程序CP1
15、1.PRG实现产品出入库数据的录入。调用过程MPR0C2实现数据查询功能。调用过程MPR0C3实现统计报表功能。调用过程MPRC04实现产品目录维护功能。调用过程 MPRC05实现本系统运行结束退出功能。图 14 程序、过程、函数间关系2)产品出入库数据录入模块1)程序名: CP11.PRG2)功能:实现每笔产品出入库数据的录入。3)处理流程(见图 15)。图 15 处理流程4)实现打开CPDM.DBF并索引之。打开CPRDATA.DBF及其索引。打开 CPRK.DBF。若录入入库数据,则打开 CPKC.DBF ;若录入出库数据,则打开 CPXS.DBF。输入日期。打开 CPSJSR.DBF,
16、并与 CPDM.DBF建立关联,然后清空 CIJSJSR.DBF。用BROW 将出入库数据录入 CPPJSR.DBF中。若数据不保存,则退出返回;若数据保存,则首先将 CPSJSR.DBF 的 RQ 字段值全部用 输入日期替代,然后通过调用过程 CP11X把CPSJSR.DBF中的数据转录到 CPRK.DBF (入库) 或 CPXS.DBF (出库数据)中,并更新 CPKC.DBF 和 CPRDATD.DBF。(3)每笔出入库数据查询模块1 )程序名: CP 21.PRG2) 功能:实现对三个月以内的任何一天的每笔入库数据查询显示。3) 处理流程(见图 16)。图16处理流程4)实现打开 CP
17、DM.DBF 。若查询任何一天的每笔入库数据,则打开CPRK.DBF 。若查询任何一天的每笔出库数据,则打开CPXS.DBF 。依据字段 CPDM 建立与 CPDM.DBF 的关联。输入要查询的日期。,否则从 CPRK 或 CPXS 库中定位满足查询日期的首记录。若无数据可查到,则显示“无数据”用“过滤器技术”和 BROW 命令显示查询结果。(4)每日、月、截止期出入库数据查询模块1)程序名: CP23.PRG2)功能:实现对下述查询条件的查询显示功能查询三个月以内任何一天的各种产品全天累计出入库数据。查询两年内任何一个月份的各种产品全月累计出入库数据。查询从年初至某个截止日期的各种产品累计出
18、入库数据。3)处理流程(见图 17)。图 17 处理流程4)实现分三种情况讨论: 第一种情况(按天查询)打开 CPRDATA.DBF 和 CPDM.DBF。输入查询日期。按输入的日期从 CPRDATA库中过滤出与输入日期匹配的记录。显示结果。第二种情况(按月查询)打开 CPRDATA.DBF 和 CPDM.DBF。输入查询月份。对与输入月份匹配的该月内各产品出入库数据分别累计。将该月累计值为零的产品过滤掉。显示结果。第三种情况(查询从年初至截止日期备产品累计出入库数)打开 CPRDATA.DBF 和 CPDM.DBF。输入截止日期。对截止日期之前的各产品出入库数据分别累加。显示结果。(5)某日
19、实际库存数据查询模块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中
20、。打开 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) 功能:根据本月实际发生的数据,计算出统计报表(产品收发存报表)中的数据,并将计算 结果存入 CP
21、BB.DBF 中供打印用。3、)处理流程(见图 21)。图 21 处理流程4)实现输入报表月份。打开 CPRDATA.DBF。在CPRDATA库中定位满足报表日期的第一条记录。若无数据,即 eof()为真,则显示“本月无数据”,并返回。在本月范围内,按产品代码分别求出各产品本月出入库累计值。打开CPKC.DBF,定位到报表生成那天的各产品实际库存数记录行。打开CPBBJS.DBF,并物理清空。把已计算出的报表月份各产品累计出入库量及尚有的实际库存数量填入 CPBBJS.DBF中。打开 CPBB.DBF ,将 CPBBJS.DBF 中的数据复制到 CPBB.DBF 中。(9)打印产品收发存月汇总
22、表模块1) 程序名: CP32.PRG。2) 功能:实现产品收发存月汇总表的打印输出。打印机型号为: STAR CR3240 型。3) 处理流程(见图 22)。图 22 处理流程4)实现输入年份和月份。打开 CPDM.DBF ,并索引。打开 CPBB.DBF ,并过滤出符合报表月份的数据记录。使 CPBB.DBF 与 CPDM.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 字段填“超储” 。打印表头。打印报表内容。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1