库存管理信息系统开发实例资料(共37页).doc
精选优质文档-倾情为你奉上这里给出一个库存管理信息系统开发的实例,目的是使大家进一步深入了解开发任何一个管理信息系统必须经历的主要过程,以及在开发过程的各个阶段上开发者应当完成的各项工作内容和应当提交的书面成果。 一、某厂产品库存管理系统简介 某厂是我国东北地区一家生产照明灯的老企业,每年工业产值在四千万元左右。该厂目前生产的产品如表l所示。 表1 某厂产品品种规格、单价及定额储备产品名称 单位 规格 成本价(元) 销售价(元) 最高储备额 最低储备额 备注 灯泡 只 220V15W 0.80 1.00 60000 600 灯泡 只 220V45W 1.00 1.20 60000 600 灯泡 只 220V60W 1.20 1.40 60000 600 灯泡 只 220V100W 1.50 1.80 40000 500 灯泡 只 220V150W 1.80 2.00 40000 400 灯泡 只 220V200W 2.00 2.20 30000 300 灯泡 只 220V300W 2.80 3.00 20000 200 节能灯 只 220V4W 6.00 8.00 10000 1000 节能灯 只 220V8W 8.00 10.00 10000 1000 节能灯 只 220V16W 12.00 15.00 10000 1000 日光灯 只 220V8W 6.00 7.00 10000 1000 日光灯 只 220V20W 7.00 8.00 10000 1000 日光灯 只 220V30W 8.00 9.00 10000 1000 日光灯 只 220V40W 10.00 11.00 10000 1000 工厂的产品仓库管理组隶属于销售科领导,由七名职工组成,主要负责产品的出入库管理、库存帐务管理和统计报表,并且应当随时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,库存管理组还应该经常提供库存报警数据(与储备定额相比较的超储数量或不足数量)。 产品入库管理的过程是,各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。 产品出库管理的过程是,仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出库,以便及时登记相应的产品出库流水帐。 平均看来,仓库每天要核收三十笔入库处理,而各种出库处理约五十笔。每天出入库处理结束后,记帐员就根据入库流水帐和出库流水帐按产品及规格分别进行累计,以便将本日内发生的累计数填入库存台帐。 产品入库单如表2所示,出库单如表3所示,入库流水帐如表4所示,出库流水帐如表5和表6所示,而库存台帐帐页如表7所示。 产品库存的收发存月报表是根据库存台帐制作出来的。产品库存查询是通过翻阅几本帐之后实现的。目前库存报警功能尚未实现。 表2 产品入库单 第 册 号日期产品代码产品名称单位规格入库数量备注 生产车间填制人表3产品出库单 第 册 号日期产品代码产品名称单位规格出库数量备注 批发 零售 填制人 注:批发出库时在备注栏的批发 处划“”,否则在零售 处划“”表4 产品入库流水帐 页日期产品代码产品名称单位规格入库数量备注 表5产品零售出库流水帐 页日期产品代码产品名称单位规格零售出库数量备注 表6产品批发出库流水帐 页日期产品代码产品名称单位规格批发出库数量备注 表7某厂产品库存台帐(当日合计数) No.产品代码:规格:成本价(元):产品名称:单位:销售价(元):日期入库数量零售出库量批发出库量结余 二、系统分析 根据收集到的各种系统输入单、帐页和输出报表等凭证,又通过亲身实践以及向有关业务管理人员的访问调查,系统分析结果如下: l组织机构 该厂产品库存管理的组织机构如图l所示。 图l 组织机构设置图2管理职能分析 仓库经理全面负责仓库的行政与业务管理; 出入库管理组负责产品的入库检验、产品的出入库管理、登记出入库帐; 统计分析组每天根据出入库管理组的出入库帐,统计出各种规格产品当日出入库累计数字,然后登库存台帐。此外,负责生成产品收发存月报表,经仓库经理签字后呈上级主管部门。有时还要尽量满足各方面的各种查询要求。 3业务流程分析 现行产品库存管理系统的业务流程图如图3所示不合格入库单检验入库记帐生成统计报表记库存台帐付货记帐付货记帐 图3 业务流程图4数据流程分析 1)现行系统的顶层数据流程图如图4所示。对顶层图中的数据流“l,2,3,4”说明如下:图4 顶层DFD“1”:车间产品入库单。 “2”:销售科开出的有效零售产品出库单。 “3”:销售科开出的有效批发产品出库单。“4”:仓库制作的产品库存收发存月报表。2)第一层数据流程图如图5所示。图5中的数据流“1,2,3,4”与图4中的数据流“1,2,3,4”相同。统计报表图5 第一层DFD3)第二层数据流程图如图6所示。4F41232现对图6中的数据流说明如下: “l,2,3,4”:其意义与图4中的相同。 “5”:产品入库单上的数据。“6”:零售出库单上的数据。“7”:批发出库单上的数据。“8”:入库流水帐上的当日按产品名称、规格分别累计的数据。“9”:零售出库流水帐上的当日按产品名称、规格分别累计的数据。 “10”:批发出库流水帐上的当日按产品名称、规格分别累计的数据。 “11”:获得的“8,9,10”数据。 “12”:库存台帐上的当月按产品名称、规格分别累计的数据和其它加工处理后的数据。 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(0) 流量:最大 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(0) 03批发出库数量(PFSL) PIC 9(0) 流量:最大:70张日 平均:50张日 来源:销售科 去向:产品出库处理 数据流名称:仓库产品收发存月报表 标识符:F4数据结构: 01收发存月报表 02日期(BBRQ) PIC X(8) 02产品代码(CPDM) PIC X(3) 02产品名称(CPMC) PIC X(18) 02单位(DW) P1CX(4) 02本月累计入库数量(RKSL)PIC 9(0) 02本月累计零售数量(LSSL)PIC 9(0) 02本月累计批发数量(PFSL)PIC 9(0) 02库存数量(KCSL) PIC 9(0) 流量:最大:1份月 平均:1份月 来源:仓库统计分析 去向:主管部门其它中间过程的数据流描述省略。(2)数据存储字典 存储文件名:产品入库流水帐 标识符:D1数据结构: 01产品入库帐 02日期(RQ) PIC X(8) 02产品代码(CPDM) PIC X(3) 02产品名称(CPMC) PIC X(18) 02单位(DW) PIC X(4) 02规格(GG) PIC X(10) 02入库数量(RKSL) PIC 9(0) 流入的数据流:产品入库单(F1) 流出的数据流; 涉及的处理名:入库处理、记库存台帐 排列方式:按入库日期排序 存储文件名:库存台帐 标识符:D4数据结构: 01库存台帐 02日期(KCRQ) PIC X(8) 02产品代码(CPDM) PIC X(3) 02产品名称(CPMC) PIC X(18) 02本日累计入库量(RKSL) PIC 9(0) 02本日累计零售出库量(LSSL)PIC 9(0) 02本日累计批发出库量(PFSL)PIC 9(0) 流入的数据流:11 流出的数据流:收发存月报表 涉及的处理名:登记库存台帐、制月报表 排列方式:按(日期+产品代码)升序排列 其它存储文件的描述省略。6处理描述 处理名:登记入库帐 标识符:P1 输入:数据流F1 输出:数据流 F5 处理定义: 当一张入库单上的数据检验合格,并且产品实物入库后,立即将这张入库单上的数据登入产品入库流水帐。 激发条件:产品入库发生 处理名:登记库存台帐 标识符:P4 输入:出入库流水帐上的当日数据 输出:登记入库存台帐上的数据 处理定义: 对出入库流水帐上当日发生的数据,按产品代码分别进行入库累计、零售出库累计和批发出库累计计算。然后将当天的日期、产品代码和累计结果等填入库存台帐的相应栏内。 激发条件:每日过帐处理 处理名:制作收发存月报表 标识符:P5 输入:取自库存台帐的数据 输出:填入输出报表中的统计数据 处理定义: 对库存台帐本月发生的出入库数据,分别按产品代码进行累计,一种代码代表的产品累计值即为输出报表中的一行。 计算公式: 工业产值(成本价)=Si*Ji 工业产值(销售价)= Si*Ji1 其中:Si产品代码为i的产品本月入库量计量 Ji产品代码为i的产品成本价 Ji1产品代码为i的产品销售价 激发条件:每月制作库存报表系统中的另外几个加工处理描述省略。7现行系统评价 通过对现行系统的需求分析,本系统数据流向是合理的,但为了便于计算机化管理,也为了使系统能够提供更多的辅助决策信息,本系统应做如下改进设想: 1)将各种帐本暂合为一本库存帐考虑。 2)增加库存报警功能。 3)增强各种灵活的查询分析功能。 8新系统逻辑模型的提出 根据前面的分析与评价结果,提出的新系统逻辑模型如图7和图8所示。 图7 新系统逻辑模型I 图8 新系统逻辑模型 II9系统边界和处理方式 (l)系统边界 输入边界产品出入库单、查询条件。 输出边界各种报表和查询响应输出。 (2)处理方式 新系统采用实时处理方式。三、系统设计 1系统目标设计 1)方便的数据输入性能,良好的人机界面,尽量避免汉字和长字符串的人工重复输入(采用代码词组)。 2)灵活的查询性能,能快速实现多项产品输入数据和库存数据的查询。 3)考虑到工厂生产的发展,对新产品数据也能给予处理。 4)把目前基本上是“静态”库存管理变为“动态”管理,能随时提供库存现状信息(包括库存报警信息)。 2新系统功能结构图 综合考虑改进后的系统逻辑模型(见图7和图8)和设计的新系统目标的要求。设计新系统功能结构如图9所示。3系统物理配置方案设计 本系统采用单机单用户操作方式,基本配置如下;机型: COMPAQ硬盘:80GM内存:512MB显示器:XGA打印机:HP数据库:VFP机器安装在仓库办公室4代码设计 (1)产品规格代码设计 由于该厂在未来的几年内生产的产品品种不会超过十种,并且每种产品的规格也不会超过十种,因此,产品规格代码采用区间码,并用两位整数表示,设计方案如图10所示,全部规格编码列于表8中。 图10 代码设计方案表8 规格代码规格代码规格01220V15W02220V45W03220V60W04220V100W05220V150W06220V200W07220V300W11220V4W12220V8W13220V16W21220V8W22220V20W23220V30W24220V40W(2)产品代码设计 产品代码用三位整数表示,设计方案如图11所示。表9列出了全部产品的代码。 图11 代码设计方案表9 产品代码表产品代码产品名称规格代码规格012灯泡01220V15W024灯泡02220V45W036灯泡03220V60W048灯泡04220V100W050灯泡05220V150W061灯泡06220V200W073灯泡07220V300W115节能灯11220V4W127节能灯12220V8W139节能灯13220V16W218日光灯21220V8W220日光灯22220V20W231日光灯23220V30W243日光灯24220V40W产品代码中的校验位a3值的确定方法如下: a3=取(3a12a2)/11的余数 例如: a1 a2 a3 2 4 3 X) 3 2 6 8=14 则a3(14/11)的余数=3 当余数为10时,则按a3=0处理。5输出设计 本系统的报表输出格式设计成表10表12的形式(表中的数据为试运行结果数据) 表10产品名称单位规格上月结存本月入库本月出库本月结存成本价金额(元) .00 64400.00 .00销售价金额(元) .00 75160.00 .00数量合计 44500 19300 25200灯泡只220V15w 200010001000灯泡只220V45w 15001000500灯泡只220V60w 3000 3000灯泡只220V200w 1200011800200节能灯只220V4w 30002500500节能灯只220V8w 3000 3000日光灯只220V8w 2000 2000日光灯只220V20w 14000 14000日光灯只220V30w 400030001000表11 超储产品产品代码产品名称库存量最高储备超储量220日光灯14000100004000表12 不足产品产品代码产品名称库存量最低储备不足储备024灯泡500600100048灯泡0400400050灯泡0400400061灯泡200300100073灯泡5001000500115节能灯5001000500139节能灯01000100024日光灯0100010007输入设计 (1)出入库数据录入卡设计 本系统中的产品出入库数据录入卡沿用现行系统的产品出入库单格式,参见表2和表3。图12 (2)输入屏幕格式设计 基础(原始)数据分为产品入库数据和产品出库数据两大类,因此输入屏幕分开设计。l)图12是产品入库数据输入时的屏幕格式。当输入入库日期之后,便在屏幕上出现此画面。数据录入方式有两种:·光标在左边的提示窗口内上下移动,选择正确的入库产品代码后,则产品代码、名称等信息自动进入右边窗口当前显示行的相应栏目内。然后,光标停在“入库数量”栏上,打入入库数量即可。如此重复即可将本日内各张入库单上的数据输入机内暂存文件内。然后,选择提示“存盘”、“放弃”或“继续”。·调整光标至右边窗口的“代码”栏,接着打入要入库的产品代码,此时对应的产品名称便由系统自动填入,然后打入入库数量即可,最后选择“存盘”、“放弃”或“继续”。2)产品出库数据输入的屏幕格式设计与产品入库数据输入的屏幕格式基本相同,只是将图12中的“入库数量”栏辟为“零售数量”和“批发数量”两栏。7存储文件(数据库)结构设计 由于本系统的应用程序全部用VFP编写,因此,存储文件的结构设计就是指 .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的产品库存量CPIJKi=0,1,2,3,4,5,6,7,8,9 j=0,1,2,3,4,5,6,7,8,9 k=0,1,2,3,4,5,6,7,8,9 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)文件结构如表1524所示。表15 产品单位及规格代码库(CPDZB.DBF)结构序号字段名称字段类型长度备注1DWDM Character1 2DWCharacter4 3GGDMCharacter2 4GGCharacter10 表16 产品目录库(CPDM.DBF)结构序号字段名称字段类型长度备注1CPDMCharacter3 2CPMCCharacter18 3DWDMCharacter1 4DWCharacter4 5GGDMCharacter2 6GGCharacter10 7BBJNumeric7 8XXJNumeric7 9ZGCBNumeric7 10ZDCBNumeric4 表17 产品出入库数据暂存文件(CPSJSR.DBF)结构序号字段名称字段类型长度备注1RQDate8 2CPDMCharacter3 3RKSLNumeric6 4LSSLNumeric6 5PFSLNumeric6 表18 各种产品每日入库累计文件(CPRK.DBF)结构序号字段名称字段类型长度备注1RQDate8 2CPDMCharacter3 3RKSLNumeric6 表19 各种产品每日销售出库累计文件(CPXS.DBF)结构序号字段名称字段类型长度备注1RQDate8 2CPDMCharacter3 3LSSLNumeric6 4PFSLNumeric6 表20 各种产品每日库存量累计文件(CPKC.DBF)序号字段名称字段类型长度备注1KCRQDate8 2CP012Numeric8 3CP024Numeric8 4CP036Numeric8 5CP048Numeric8 6CP050Numeric8 7CP061Numeric8 8CP073Numeric8 9CP115Numeric8 10CP127Numeric8 11CP139Numeric8 12CP218Numeric8 13CP220Numeric8 14CP231Numeric8 15CP243Numeric8 表21 各种产品每日出入存累计文件(CPRDATA.DBF)结构序号字段名称字段类型长度备注1RQDate8 2CPDMCharacter3 3CPMCNumeric6 4DWNumeric6 5PFSLNumeric6 6KCSLNumeric6 表22 报表计算辅助文件(CPBBJS.DBF)结构序号字段名称字段类型长度备注1BBRQDate8 2CPDMCharacter3 3CPMCCharacter18 4DWCharacter4 5RKSLNumeric8 6LSSL Numeric8 7PFSLNumeric8 8KCSLNumeric8 9LJRKNumeric8 10LJXSNumeric8 表23 各月收发存报表文件(CPBB.DBF)结构序号字段名称字段类型长度备注1BBRQDate8 2CPDMCharacter3 3CPMCCharacter18 4DWCharacter4 5RKSLNumeric8 6LSSL Numeric8 7PFSLNumeric8 8KCSLNumeric8 9LJRKNumeric8 10LJXSNumeric8 表24 库存报警数据文件(KCJC.DBF)结构序号字段名称字段类型长度备注1CPDM Character3 2JCCharacter4 四、系统实施 1、程序框图设计 (略)2、程序清单 (略)3、试运行及结果分析 (1)试验数据的准备(见表1和表25) 表25 系统试运行原始模拟输入数据日期产品代码入库数量零售数量批发数量2006.10.010122000 10002006.10.011153000 2006.10.012314000 2006.10.120241500 5002006.10.12115 1000 2006.10.132182000 2006.10.140363000 2006.10.15231 30002006.10.1606112000 2006.10.17061 100002006.10.17024 500 2006.10.181273000 2006.10.182204000 2006.10.19115 500 2006.10.19115 10002006.10.19061 18002006.10.2022010000 (2)运行结果及分析 1)打印的报表如表10-12所示,与设计的格式一致,输出数据与手工计算结果一致。2)查询显示结果正确。3)其它各项功能运行正常。 用户使用手册等文档(略)。 小结 本文提供了系统分析、系统设计和系统实施的实际过程,希望能熟练掌握这些内容。专心-专注-专业