资源描述
管理信息系统课程设计指导书管理信息系统课程设计指导书课程代码:01025031英文名称:Management Information System,MIS适用对象:工业工程专业学时学分:2周 一个学分。一、课程设计目的管理信息系统课程设计作为独立的教学环节,是工业工程专业集中实践性环节系列之一,是学习完管理信息系统课程并进行完专业实习后进行的一次全面的综合练习。其目的在于加深对管理信息系统基础理论和基本知识的理解,掌握使用信息系统分析、设计的基本方法,提高解决实际管理问题、开发信息系统的实践能力。同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。二、课程设计内容及要求1.系统开发工具不限;2.设计时间:二周。3.提交简要设计说明书。4.系统提交时间:开始二周后。5.上机时间及地点:机械馆,时间见安排6. 为了及时发现问题,防止出现原则错误,学年设计期间,要求学生必须与指导老师经常保持联系,不准无故缺课, 缺课两次者,学年设计成绩按不及格处理。以及不与指导老师联系的学生,指导老师有权取消该生课程设计资格。7.课程设计要独立完成,不得抄袭他人成果。一旦发现抄袭者,课程设计成绩一律按不及格处理。8.课程设计报告撰写的基本要求是报告原则上不少于7000字,需在封面注明设计选题、班级、姓名、学号及课程设计日期、地点,其正文至少包括如下几个方面的内容:(1)可行性分析(2)系统分析部分 1)业务流程图 2)数据流程图 3)功能分析图 4)数据字典 5)数据加工处理的描述 6)管理信息系统流程设想图(新系统模型)(3)系统设计部分 1)功能结构图设计 2)新系统信息处理流程设计 3)输出设计(主要指打印输出设计) 4)存储文件格式设计(数据库结构设计) 5)输入设计(主要指数据录入卡设计) 6)代码设计(职工证号和部门代号等) 7)程序设计说明书(4)系统实施部分 1)程序框图 2)源程序 3)模拟运行数据 4)打印报表 5)系统使用说明书(5)附录或参考资料三、课程设计的考查由指导教师根据学生完成课程设计任务的情况(包括管理信息系统软件的开发情况20%、课程设计报告的质量40%和课程设计过程中的工作态度40%)综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。四、课程设计的书写规范(一)撰写内容、格式规范1论文(设计)字数 正文一般在0.7万字左右。2前置部分前置部分包括封面、学年设计说明书封面包括设计题目、作者专业班级、姓名、学号等。3主体部分设计主体部分包括:绪论(引言)、正文、结论、参考文献、致谢等。绪论(引言)要简要说明设计中研究工作的目的、意义、设计要求、技术指标、现状与发展、主要工作内容等。设计正文包括总体方案设计及实现、数据处理分析、实验效果、理论分析等。结论是设计最终的、总体的结论,结论中应明确本课题研究的创造性成果、创新观点、社会经济价值及研究方向的前景。结论应该准确、完整、明确、精炼。4附录部分附录是设计主体部分的补充项目,视设计需要决定是否使用。对收录于设计中但又不便于正文中的附加数据、资料、详细公式推倒、程序等有特色的内容,可作为附录。(二)书写打印规范1书写打印要求设计一律要求用计算机打印。论文可用A4纸。页边距上20mm、下20mm、左25mm、右20mm。正文每行字数、行距适当。2排版要求各章题序及标题使用小2号黑体各节的一级题序及标题使用小3号黑体各节的二级题序及标题使用小4号黑体各节的三级题序及标题使用小4号黑体款、项使用小4号黑体正文使用小4号宋体摘要、结论、参考文献标题使用小2号黑体摘要、结论、参考文献内容小4号号宋体目录标题使用小2号黑体目录内容中章的标题使用4号黑体目录中其它内容小4号宋体论文页码要求页面底端居中阿拉伯数字连续编码页眉与页脚使用5号宋体,居中排列注:章另起新页;页码由第一章首页开始作为第一页,论文前置部分不编排页码;论文的封面、扉页不加页眉,其余部分均加叶眉,页眉内容一律为“工业工程专业2007级课程设计”,页眉下划线要求为单线,线粗0.5mm。五、课程设计参考题目1.仓库管理系统;2.教务/教学管理系统;3.项目管理系统;4.医院管理系统;5.图书管理系统;6.办公自动化系统;7.学籍管理系统;8.成绩计算管理系统9.企业人事管理子系统;10企业计划管理子系统;11企业生产管理子系统;12企业物资供应管理子系统;13企业设备和动力管理子系统;14企业经营销售管理子系统;15企业财务管理子系统;16网络环境下的质量管理信息子系统开发;17学生管理信息系统18网络环境下的教学管理系统;19网络环境下的劳动工资管理;20网络环境下的调度管理信息子系统开发;六、参考范例库存管理信息系统的分析、设计和实施(见附件)。附件1:库存管理信息系统的分析、设计和实施说明:本例时间较早,开发工具选用FoxPro2.5。在学习过程中,可以现有的硬件和软件环境进行系统再开发实现,学习重点放在在系统分析、系统设计实际过程、方法及内容。这里给出一个库存管理信息系统开发的实例,目的是使大家进一步深入了解开发任何一个管理信息系统必须经历的主要过程,以及在开发过程的各个阶段上开发者应当完成的各项工作内容和应当提交的书面成果。一、 某厂产品库存管理系统简介 某厂是我国东北地区一家生产照明灯的老企业,每年工业产值在四千万元左右。该厂目前生产的产品如表l所示。 表1 某厂产品品种规格、单价及定额储备产品名称单位规格不变价(元)现行价(元)最高储备额最低储备额备注灯泡只220V15W0.801.0060000600灯泡只220V45W1.001.2060000600灯泡只220V60W1.201.4060000600灯泡只220V100W1.501.8040000500灯泡只220V150W1.802.0040000400灯泡只220V200W2.002.2030000300灯泡只220V300W2.803.0020000200节能灯只220V4W6.008.00100001000节能灯只220V8W8.0010.00100001000节能灯只220V16W12.0015.00100001000日光灯只220V8W6.007.00100001000日光灯只220V20W7.008.00100001000日光灯只220V30W8.009.00100001000日光灯只220V40W10.0011.00100001000 工厂的产品仓库管理组隶属于销售科领导,由七名职工组成,主要负责产品的出入库管理、库存帐务管理和统计报表,并且应当随时向上级部门和领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,库存管理组还应该经常提供库存报警数据(与储备定额相比较的超储数量或不足数量)。产品入库管理的过程是,各生产车间随时将制造出来的产品连同填写好的入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品的质量是否合格,二是核对产品的实物数量和规格等是否与入库单上的数据相符,当然还要校核入库单上的产品代码。检验合格的产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格的产品要及时退回车间。产品出库管理的过程是,仓库保管员根据销售科开出的有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出库,以便及时登记相应的产品出库流水帐。平均看来,仓库每天要核收三十笔入库处理,而各种出库处理约五十笔。每天出入库处理结束后,记帐员就根据入库流水帐和出库流水帐按产品及规格分别进行累计,以便将本日内发生的累计数填入库存台帐。产品入库单如表2所示,出库单如表3所示,入库流水帐如表4所示,出库流水帐如表5和表6所示,而库存台帐帐页如表7所示。产品库存的收发存月报表是根据库存台帐制作出来的。产品库存查询是通过翻阅几本帐之后实现的。目前库存报警功能尚未实现。表2 产品入库单 日期产品代码产品名称单位规格入库数量备注生产车间填制人表3产品出库单 日期产品名称规格入库数量备注批发 零售 填制人注:批发出库时在备注栏的批发 处划“”,否则在零售 处划“”表4 产品入库流水帐 日期产品代码产品名称单位规格入库数量备注表5产品零售出库流水帐 日期产品代码产品名称单位规格零售出库数量备注表6产品批发出库流水帐 日期产品代码产品名称单位规格批发出库数量备注表7某厂产品库存台帐(当日合计数) 产品代码:规格:不变价(元):产品名称:单位:现行价(元):日期入库数量零售出库量批发出库量结余二、系统分析根据收集到的各种系统输入单、帐页和输出报表等凭证,又通过亲身实践以及向有关业务管理人员的访问调查,系统分析结果如下: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”相同。4库存帐1出入库管理23出入库管理图5 第一层DFD3)第二层数据流程图如图6所示。710D2零售出库帐 P1登记入库帐P2登记零售出账P4登记库存台帐P5制作收发存月报表P3登批发出库帐D4库存台帐F2112F315698D1入库帐D3批发出库帐统计报表月报表1F1111图6 第二层DFD现对图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(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张日 来源:销售科 去向:产品出库处理 数据流名称:仓库产品收发存月报表标 标识符:F3数据结构: 01收发存月报表 02日期(BBRQ) PIC X(8) 02产品代码(CPDM) PIC X(3) 02产品名称(CPMC) PIC X(18) 02单位(DW) P1CX(4) 02本月累计入库数量(RKSL) PIC 9(8) 02本月累计零售数量(LSSL) PIC 9(8) 02本月累计批发数量(PFSL) PIC 9(8) 02库存数量(KCSL) PIC 9(8) 排列方式:按日期排列 流量:最大: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(6) 流入的数据流:产品入库单(F1) 流出的数据流; 涉及的处理名:入库处理、记库存台帐 排列方式:按入库日期计序 存储文件名:库存台帐 标识符:D4数据结构: 01库存台帐 02日期(KCRQ) PIC X(8) 02产品代码(CPDM) PIC X(3) 02产品名称(CPMC) PIC X(18) 02本日累计入库量(RKSL) PIC 9(8) 02本日累计零售出库量(LSSL) PIC 9(8) 02本日累计批发出库量(PFSL) PIC 9(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新系统功能结构图入库数据录入出库数据录入库存数据查询出入库数据查询每笔入库查询每笔出库查询报表数据计算打印收发存表打印报警信息增加产品品种修改产品目录退至FOX退至DOS数据录入数据查询报表输出产品目录维护结束退出每日数据查询每月数据查询累计数据查询库存管理 综合考虑改进后的系统逻辑模型(见图7)和设计的新系统目标的要求。设计新系统功能结构如图9所示。图9 系统功能结构图3. 新系统计算机信息系统流程设计出入库单ACp11.prgcpsjsrcpxscprkcpdzbcpdmcpkckcjccprdatscpbbjsCp21.prgX XX XCp31.prg收发存汇总表报警表新产品数据产品修改数据Cp41.prgCp42.prgAA X X X XAAAXXCp32.prgA X X X XCp33.prgCp24.prgCp23.prg 计算机化的信息系统流程如图10所示。图10中的处理框内标出了相应的程序名,其功能说明见程序模块设计说明书。图10 新系统信息处理系统流程图4代码设计 (1)产品规格代码设计 由于该厂在未来的几年内生产的产品品种不会超过十种,并且每种产品的规格也不会超过十种,因此,产品规格代码采用层次码,并用两位整数表示,设计方案如图11所示,全部规格编码列于表8中。规格顺序号品种顺序号图11 代码设计方案表8 规格代码规格代码规格01220V15W02220V45W03220V60W04220V100W05220V150W06220V200W07220V300W11220V4W12220V8W13220V16W21220V8W22220V20W23220V30W24220V40W(2)产品代码设计产品代码用三位整数表示,设计方案如图12所示。表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系统物理配置方案设计本系统采用单机单用户操作方式,基本配置如下;机型: COMPAQ48640软驱:双软驱动器硬盘:540MB内存:8MB显示器:VGA打印机:Star CR3240软件:Foxpro 2.5 for Windows 3.1(汉化)。机器安装在仓库办公室。6输出设计 本系统的报表输出格式设计成表10表12的形式(表中的数据为试运行结果数据) 表10产品名称单位规格上月结存本月入库本月出库本月结存不变价金额(元) 214700.00 64400.00 150300.00现行价金额(元) 250400.00 75160.00 175240.00数量合计 44500 19300 25200灯泡只220V15w200010001000灯泡只220V45w15001000500灯泡只220V60w30003000灯泡只220V200w1200011800200节能灯只220V4w30002500500节能灯只220V8w30003000日光灯只220V8w20002000日光灯只220V20w1400014000日光灯只220V30w400030001000表11 超储产品产品代码产品名称库存量最高储备超储量220日光灯14000100004000表12 不足产品产品代码产品名称库存量最低储备不足储备024灯泡500600100048灯泡0400400050灯泡0400400061灯泡200300100073灯泡5001000500115节能灯5001000500139节能灯01000100024日光灯0100010007存储文件(数据库)结构设计 由于本系统的应用程序全部用Foxpro2.5编写,因此,存储文件的结构设计就是指 .DBF文件的结构设计。 (1)设计规范库文件名称和库字段变量名称规范分别如表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产品名称CPMC5代码为ijk的产品库存量CPIJKi=0,1,2,3,4,5,6,7,8,9j=0,1,2,3,4,5,6,7,8,9k=0,1,2,3,4,5,6,7,8,96产品单位代码DWDM7产品组位DW8产品规格代码GGDM9产品规格GG10产品库存超储或不足JC取值“超储”或“不足”11产品库存数量KCSL12日期KCRQ13累计入库量LJRK14累计总出库量LJXS15产品零售数量LSSL16产品批发出库数量PFSL17产品入库数量RKSL18日期RQ19产品现行价格XXJ20产品最大储备量ZGCB21产品最小储备量ZDCB(2)各个库文件结构设计本系统中建立的10个数据库(.DBF)文件结构如表1524所示。表15 产品单位及规格代码库(CPDZB.DBF)结构序号字段名称字段类型长度备注1DWDM Character12DWCharacter43GCDMCharacter24GGCharacter10表16 产品目录库(CPDM.DBF)结构序号字段名称字段类型长度备注1CPDM Character32CPMCCharacter183DWDMCharacter14DWCharacter45GGDMCharacter26GGCharacter107BBJNumeric78XXJNumeric79ZGCBNumeric710ZDCBNumeric4表17 产品出入库数据暂存文件(CPSJSR.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33RKSLNumeric64LSSLNumeric65PFSLNumeric6表18 各种产品每日入库累计文件(CPRK.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33RKSLNumeric6表19 各种产品每日销售出库累计文件(CPXS.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33LSSLNumeric64PFSLNumeric6表20 各种产品每日库存量累计文件(CPKC.DBF)序号字段名称字段类型长度备注1KCRQ Date82CP012Numeric83CP024Numeric84CP036Numeric85CP048Numeric86CP050Numeric87CP061Numeric88CP073Numeric89CP115Numeric810CP127Numeric811CP139Numeric812CP218Numeric813CP220Numeric814CP231Numeric815CP243Numeric8表21 各种产品每日出入存累计文件(CPRDATA.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33CPMCNumeric64DWNumeric65PFSLNumeric66KCSLNumeric6表22 报表计算辅助文件(CPBBJS.DBF)结构序号字段名称字段类型长度备注1BBRQ Date82CPDMCharacter33CPMCCharacter184DWCharacter45RKSLNumeric86LSSL Numeric87PFSLNumeric88KCSLNumeric89LJRKNumeric810LJXSNumeric8表23 各月收发存报表文件(CPBB.DBF)结构序号字段名称字段类型长度备注1BBRQ Date82CPDMCharacter33CPMCCharacter184DWCharacter45RKSLNumeric86LSSL Numeric87PFSLNumeric88KCSLNumeric89LJRKNumeric810LJXSNumeric8表24 库存报警数据文件(KCJC.DBF)结构序号字段名称字段类型长度备注1CPDM Character32JCCharacter48输入设计 (1)出入库数据录入卡设计 本系统中的产品出入库数据录入卡沿用现行系统的产品出入库单格式,参见表2和表3。 (2)输入屏幕格式设计 基础(原始)数据分为产品入库数据和产品出库数据两大类,因此输入屏幕分开设计。入库日期 年 月 日产品入库数据录入窗口显示窗口保存放弃继续产品代码产品名称产品代码产品名称入库数量图13 产品入库数据输入屏幕格式l)图13是产品入库数据输入时的屏幕格式。当输入入库日期之后,便在屏幕上出现此画面。数据录入方式有两种:光标在右边的提示窗口内上下移动,选择正确的入库产品代码后,则产品代码、名称等信息自动进入左边窗口当前显示行的相应栏目内。然后;光标停在“入库数量”栏上,打入入库数量即可。如此重复即可将本日内各张入库单上的数据输入机内暂存文件内。然后,选择提示“存盘”、“放弃”或“继续”。调整光标至左边窗口的“代码”栏,接着打入要入库的产品代码,此时对应的产品名称便由系统自动填入,然后打入入库数量即可,最后选择“存盘”、“放弃”或“继续”。2)产品出库数据输入的屏幕格式设计与产品入库数据输入的屏幕格式基本相同,只是将图13中的“入库数量”栏辟为“零售数量”和“批发数量”两栏。9程序模块设计说明 (1)总控模块1)程序名:CPMIN.PRG。 2)功能定义本系统的数据录入、数据查询等功能菜单及各项功能的下拉式菜单。选取功能菜单及其下拉菜单中的操作项,进入相应的操作。3)实现调用程序CP11.PRG实现产品出入库数据的录入。调用过程MPROC2实现数据查询功能。调用过程MPROC3实现统计报表功能。调用过程MPRCO4实现产品目录维护功能。调用过程MPRCO5实现本系统运行结束退出功能。4)程序、过程、自定义函数间的关系见图14。CPMAIN.PRGCP11.PRGFCPDM()FRET()FAPPE()CP11X(过程)MPROC2CP21.PRGCP23.PRGCP24.PRGMPROC3CP31.PRGCP32.PRGCP33.PRGMPROC4CP41.PRGCP42.PRGCP43.PRGCPDM()PRET()CPDM()FAPPE()MPROC5图14 程序、过程、函数间关系(2)产品出入库数据录入模块 1)程序名: CP11.PRG 2)功能:实现每笔产品出入库数据的录入。3)处理流程(见图15)。出入库单CPDMCP11.PRGCPSJSRCPRKCPXSCPKCCPRDATA图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)程序名:CP 21.PRG 2)功能:实现对三个月以内的任何一天的每笔入库数据查询显示。 3)处理流程(见图16)。CPDMCPRKCPXSCP21.PRG 图16 处理流程 4)实现 打开 CPDM.DBF。 若查询任何一天的每笔入库数据,则打开CPRK.DBF。 若查询任何一天的每笔出库数据,则打开CPXS.DBF。 依据字段CPDM建立与CPDM.DBF的关联。 输入要查询的日期。 从CPRK或CPXS库中定位满足查询日期的首记录。若无数据可查到,则显示“无数据”,否则用“过滤器技术”和BROW命令显示查询结果。(4)每日、月、截止期出入库数据查询模块 1)程序名:CP23.PRG 2)功能:实现对下述查询条件的查询显示功能 查询三个月以内任何一天的各种产品全天累计出入库数据。 查询两年内任何一个月份的各种产品全月累计出入库数据。 查询从年初至某个截止日期的各种产品累计出入库数据。CPDMCPRDATACP23.PRG 3)处理流程(见图17)。 图17 处理流程 4)实现 分三种情况讨论: 第一种情况(按天查询) 打开 CPRDATA.DBF和 CPDM.DBF。 输入查询日期。 按输入的日期从CPRDATA库中过滤出与输入日期匹配的记录。 显示结果。 第二种情况(按月查询) 打开 CPRDATA.DBF和CPDM.DBF。 输入查询月份。 对与输入月份匹配的该月内各产品出入库数据分别累计。 将该月累计值为零的产品过滤掉。 显示结果。 第三种情况(查询从年初至截止日期备产品累计出入库数) 打开 CPRDATA.DBF和CPDM.DBF。 输入截止日期。 对截止日期之前的各产品出入库数据分别累加。 显示结果。(5)某日实际库存数据查询模块 1)程序名:CP24.PRG。 2)功能:实现查询某一天各种产品的实际库存数量。CPKCCPDMCP24.PRG 3)处理流程(见图18)。图18 处理流程4)实现 打开 CPKC.DBF与 CPDM.DBF。 输入查询日期。 在CPKC.DBF中定位满足查询条件的第一条记录,若没有则显示“无数据可查”,否则显示查询结果。(6)新增产品代码(目录)模块1)程序名:CP41.PRG。 2)功能:将新产品的目录数据增加到CPDM.DBF中,并在CPKC.DBF中增加相应的字段。 3)处理流程(见图19)。新产品数据CPDMCP41.PRGCPDMCPKC图19 处理流程4)实现 在命令执行方式下,将新产品的单位、单位代码、规格、规格代码录入CPDZB.DBF中。 打开CPDZB.DBF、CPDM.DBF和CPKC.DBF。 录入新产品的产品代码,并校验。 再录入该新产品的其它目录数据。 修改CPKC.DBF的库结构(增加新产品的字段)。(7)修改产品的价格、储备定额模块1)程序名:CP42.PRG。 2)功能:修改产品的价格和储备足额。 3)处理流程(见图20)。CPBBJSCPKCCP31.PRGCPDMCPDMCPRDATA图20 处理流程4)实现 打开CPDM.DBF。 用BROW命令进行修改(注意只允许修改产品的不变价、现行价、最高储备和最低储备)。(8)报表计算模块1)程序名:CP31.PRG。 2)功能:根据本月实际发生的数据,计算出统计报表(产品收发存报表)中的数据,并将计算结果存入CPBB.DBF中供打印用。 3、)处理流程(见图21)。新数据数据CP42.PRGCPDM图21 处理流程4)实现 输入报表月份。 打开 CPRDATA.DBF。 在CPRDATA库中定位满足报表日期的第一条记录。若无数据,即eof()为真,则显示“本月无数据”,并返回。 在本月范围内,按产品代码分别求出各产品本月出入库累计值。 打开CPKC.DBF,定位到报表生成那天的各产品实际库存数记录行。 打开CPBBJS.DBF,并物理清空。 把已计算出的报表月份各产品累计出入库量及尚有的实际库存数量填入CPBBJS.DBF中。 打开CPBB.DBF,将CPBBJS.DBF中的数据复制到CPBB.DBF中。(9)打印产品收发存月汇总表模块 1)程序名:CP32.PRG。 2)功能:实现产品收发存月汇总表的打印输出。打印机型号为:STAR CR3240型。 3)
展开阅读全文