附件:库存管理信息系统的分析、设计和实施说明:本例时间较早,开发工具选用FoxPro2.5。在学习过程中,可以现有的硬件和软件环境进行系统再开发实现,学习重点放在在系统分析、系统设计实际过程、方法及内容。这里给出一个库存管理信息系统开发的实例,目的是使大家进一步深入了解开发任何一个管理信息系统必须经历的主要过程,以及在开发过程的各个阶段上开发者应当完成的各项工作内容和应当提交的书面成果。一、某厂产品库存管理系统简介某厂是我国东北地区一家生产照明灯的老企业,每年工业产值在四千万元左右。该厂目前生产的产品如表l所示。表1某厂产品品种规格、单价及定额储备产品名称单位规格不变价(元)现行价(元)最高储备额最低储备额备注灯泡只220V—15W0.801.0060000600灯泡只220V—1.001.206000060045W灯泡只220V—60W1.201.4060000600灯泡只220V—100W1.501.8040000500灯泡只220V—150W1.802.0040000400灯泡只220V—200W2.002.2030000300灯泡只220V—300W2.803.0020000200节能灯只220V—4W6.008.00100001000节能灯只220V—8W8.0010.00100001000节能灯只220V—16W12.0015.00100001000日光灯只220V—8W6.007.00100001000日光灯只220V—20W7.008.00100001000日光只220V—8.009.00100001000灯30W日光灯只220V—40W10.0011.00100001000工厂的产品仓库管理组隶属于销售科领导,由七名职工组成,主要负责产品的出入库管理、库存帐务管理和统计报表,并且应当随时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,库存管理组还应该经常提供库存报警数据(与储备定额相比较的超储数量或不足数量)。产品入库管理的过程是,各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。产品出库管理的过程是,仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出库,以便及时登记相应的产品出库流水帐。平均看来,仓库每天要核收三十笔入库处理,而各种出库处理约五十笔。每天出入库处理结束后,记帐员就根据入库流水帐和出库流水帐按产品及规格分别进行累计,以便将本日内发生的累计数填入库存台帐。产品入库单如表2所示,出库单如表3所示,入库流水帐如表4所示,出库流水帐如表5和表6所示,而库存台帐帐页如表7所示。产品库存的收发存月报表是根据库存台帐制作出来的。产品库存查询是通过翻阅几本帐之后实现的。目前库存报警功能尚未实现。表2产品入库单第册号日期产品代码产品名称单位规格入库数量备注生产车间填制人表3产品出库单第册号日期产品名称规格入库数量备注批发[]零售[]填制人注:批发出库时在备注栏的批发[]处划“√”,否则在零售[]处划“√”表4产品入库流水帐页日期产品代码产品名称单位规格入库数量备注表5产品零售出库流水帐页日期产品代码产品名称单位规格零售出库数量备注表6产品批发出库流水帐页日期产品代码产品名称单位规格批发出库数量备注表7某厂产品库存台帐(当日合计数)No.产品代码:规格:不变价(元):产品名称:单位:现行价(元):日期入库数量零售出库量批发出库量结余二、系统分析根据收集到的各种系统输入单、帐页和输出报表等凭证,又通过亲身实践以及向有关业务管理人员的访问调查,系统分析结果如下:l.组织机构该厂产品库存管理的组织机构如图l所示。经营副厂长销售科仓库出入库管理组统计分析组图l组织机构设置图2.管理职能分析库长——全面负责仓库的行政与业务管理;出入库管理组——负责产品的入库检验、产品的出入库管理、登记出入库帐;统计分析组——每天根据出入库管理组的出入库帐,统计出各种规格产品当日出入库累计数字,然后登库存台帐。此外,负责生成产品收发存月报表,经库长签字后呈上级主管部门。有时还要尽量满足各方面的各种查询要求。库存管理出入库管理统计报表入库管理出库管理月报报警查询图2管理职能3.业务流程分析现行产品库存管理系统的业务流程图如图3所示。车间入库单检验合格入库单入库记账入库帐合格入库单销售科零售出库单批发出库单付货记账付货记账零售出库帐批发出库帐图3业务流程图4.数据流程分析1)现行系统的顶层数据流程图如图4所示。对顶层图中的数据流“l,2,3,4”说明如下:库存台帐统计报表月报表记库存台帐1库存管理234图4顶层DFD“1”:车间产品入库单。“2”:销售科开出的有效零售产品出库单。“3”:销售科开出的有效批发产品出库单。“4”:仓库制作的产品库存收发存月报表。2)第一层数据流程图如图5所示。图5中的数据流“1,2,3,4”与图4中的数据流“1,2,3,4”相同。图5第一层DFD3)第二层数据流程图如图6所示。4库存帐1出入库管理23出入库管理图6第二层DFD现对图6中的数据流说明如下:“l,2,3,4”:其意义与图4中的相同。“5”:产品入库单上的数据。“6”:零售出库单上的数据。“7”:批发出库单上的数据。“8”:入库流水帐上的当日按产品名称、规格分别累计的数据。“9”:零售出库流水帐上的当日按产品名称、规格分别累计的数据。“10”:批发出库流水帐上的当日按产品名称、规格分别累计的数据。“11”:获得的“8,9,10”数据。1F115869D1入库帐D3批发出库帐710D2零售出库帐P1登记入库帐P2登记零售出账P4登记库存台帐P5制作收发存月报表P3登批发出库帐D4库存台帐F21F311112“12”:库存台帐上的当月按产品名称、规格分别累计的数据和其它加工处理后的数据。5.数据字典(1)数据流字典①数据流名称:产品入库单标识符:F1数据结构:01产品入库单02日期(RQ)PICX(8)02产品代码(CPDM)PICX(3)02产品名称(CPMC)PICX(18)02单位代码(DWDM)PICX02单位(DW)PICX(4)02规格代码(GGDM)PICXX02规格(GG)PICX(10)02入库数量(RKSL)PIC9(6)排列方式:按(入库日期+产品代码)升序排列流量:最大50张/日平均30张/日来源:生产车间去向:产品入库处理②数据流名称:产品出库单标识符:F2数据结构:01产品出库单02日期(RQ)PICX(8)02产品代码(CPDM)PICX(3)02产品名称(CPMC)PICX(18)02单位代码(DWDM)PICX.02单位(DW)PICX(4)02规格代码(GGDM)PICXX02规格(GG)PICX(10)02备注03零售出库数量(LSSL)PIC9(6)03批发出库数量(PFSL)PIC9(6)排列方式:按(日期十产品代码)升序排列流量:最大:70张/日平均:50张/日来源:销售科去向:产品出库处理③数据流名称:仓库产品收发存月报表标标识符:F3数据结构:01收发存月报表02日期(BBRQ)PICX(8)02产品代码(CPDM)PICX(3)02产品名称(CPMC)PICX(18)02单位(DW)P1CX(4)02本月累计入库数量(RKSL)PIC9(8)02本月累计零售数量(LSSL)PIC9(8)02本月累计批发数量(PFSL)PIC9(8)02库存数量(KCSL)PIC9(8)排列方式:按日期排列流量:最大:1份/月平均:1份/月来源:仓库统计分析去向:主管部门其它中间过程的数据流描述省略。(2)数据存储字典①存储文件名:产品入库流水帐标识符:D1数据结构:01本品入库帐02日期(RQ)PICX(8)02产品代码(CPDM)PICX(3)02产品名称(CPMC)PICX(18)02单位(DW)PICX(4)02规格(GG)PICX(10)02入库数量(RKSL)PIC9(6)流入的数据流:产品入库单(F1)流出的数据流;涉及的处理名:入库处理、记库存台帐排列方式:按入库日期计序②存储文件名:库存台帐标识符:D4数据结构:01库存台帐02日期(KCRQ)PICX(8)02产品代码(CPDM)PICX(3)02产品名称(CPMC)PICX(18)02本日累计入库量(RKSL)PIC9(8)02本日累计零售出库量(LSSL)PIC9(8)02本日累计批发出库量(PFSL)PIC9(8)流入的数据流: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)和设计的新系统目标的要求。设计新系统功能结构如图9所示。入库数据录入出库数据录入库存数据查询出入库数据查询每笔入库查询每笔出库查询报表数据计算打印收发存表打印报警信息增加产品品种修改产品目录退至FOX退至DOS数据录入数据查询报表输出产品目录维护结束退出每日数据查询每月数据查询累计数据查询库存管理图9系统功能结构图3.新系统计算机信息系统流程设计计算机化的信息系统流程如图10所示。图10中的处理框内标出了相应的程序名,其功能说明见程序模块设计说明书。出入库单ACp11.prgcpsjsrcpxscprkcpdzbcpdmcprdatsCp21.prgXXXX新产品数据产品修改数据