还剩32页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《信息系统分析与设计》实验指导书软件教研室编著计算机科学与技术学院《信息系统分析与设计》实验指导书课程代码英文名称InformationSystemsAnalysisandDesign适用对象信息管理与信息系统本科专业学时共60学时,其中理论教学48学时、实践12学时
一、实验的地位、作用《信息系统分析与设计》实验作为课程实践性环节之一,是教学过程中必不可少的重要内容通过计算机实验和案例分析,使学生加深理解、验证巩固课堂教学内容;增强对信息系统的感性认识;掌握信息系统分析、设计的基本方法;培养学生理论与实践相结合的能力
二、实验开设对象本实验开设对象为《信息系统分析与设计》课程的学习者(信息管理与信息系统专业),实验为必修内容
三、基本原理及课程简介《信息系统分析与设计》是一门培养学生信息系统分析、设计、开发能力的理论课程,同时要求学生具有较强的动手实践能力在信息管理与信息系统专业的培养计划中,它是核心课程本课程在教学内容方面着重基本理论、基本知识和基本方法在实践能力方面着重培养系统分析方法、系统设计方法与基本技能的训练本课程要求通过综合性实验,使学生了解并巩固信息系统的基础理论,掌握系统分析与设计的思想和方法,掌握先进的开发工具,培养科学的分析问题、解决问题的能力,有机地将所学的全部计算机科学知识组织起来,使学生应用所学的知识开发一个管理信息系统,学会系统规划,系统分析,系统设计和构造一个小的管理信息系统的框架和各个模块,建立和使用关系数据库,为今后从事信息系统分析与设计打下良好的基础
四、实验设备配置每人配置1台电脑,安装有VisualFoxpro软件,可访问Internet
五、考核与报告
1.实验后,学生将实验结果等内容写出实验报告(例如系统分析报告等),符合实验教学的要求,并得到指导教师的认可
2.指导教师对每份实验报告进行审阅、评分
3.该实验程依附于理论课,实验课的成绩记入课程平时成绩,占总成绩的10%实验一可行性研究信息系统开发项目提出之后,是不是马上就可以进行分析与设计呢?事实上,这样做可能会造成在花费了大量人力和物力之后才发现系统不能实现或没有实际意义因此,系统开发的首要任务就是进行可行性研究对系统进行初步调查,然后对调查的结果进行分析,从技术、经济、操作等方面进行新系统的可行性一.实验目的1.学习如何进行系统调查,体会系统调查原则的重要性2.熟悉可行性研究的主要步骤和主要内容,根据现行系统的主要业务流程提出系统方案的设想3.熟悉可行性分析报告的主要内容和格式二.实验内容分三人一组,对身边的组织机构(如大学中各系的教务科、图书馆等)中的实际业务开展调查调查完毕后,将结果汇总成正式报告形式下面是部分参考课题
1.一个实用的教学事务管理系统,处理教学中的各种日常事务,如学生注册、选课、成绩登录,并可打印各种类型的通知单和报表
2.图书馆要设计一个图书借阅系统,其功能包括1借书读者填写借书单,查询库存后,返回有无此书信息给读者,如有书,则办理借阅手续;2还书用光笔读入图书上条码,办理还书手续;3赔偿与罚款发生丢失、损坏图书或过期等情况时,要赔偿与罚款
3.设计一个实用的小型商店销售管理系统,其功能包括4登记收入支出5统计每日或每周的销售情况,按规定格式打印销售报表6允许多种方式查询货物情况7按货物销售情况,提前发出预报
三、实验步骤1.按照所选课题制定调查计划,编写调查提纲;2.实地调查并记录调查内容;3.分析整理调查结果;4.提出系统的初步解决方案;5.对系统的技术可行性和经济可行性等进行分析;6.编写可行性分析报告,并结合调查工作的体会,讨论系统调查原则的必要性实验二系统分析确认系统具有可行性并立项之后,进入系统分析阶段它的主要任务是详细分析组织内部的整体管理状况和信息处理过程,对用户的需求进行详细的了解这一阶段为信息系统的需求分析1.实验目的1.了解系统分析阶段的主要工作内容;2.能够熟练阅读分层数据流程图和数据字典;3.能够对小型系统的数据处理进行分析,画出小型系统的数据流程图;4.熟悉数据词典的基本形式和作用,能够使用结构化语言或判定表描述基本加工的处理逻辑2.实验内容三人为一组,选择一个项目,分析系统的数据处理流程,画出分层的数据流程图,练习编写数据字典以及用户使用手册概要等文档项目可选择实验一中所选择的项目,下面是另外一些参考项目,可根据需要选择1.建立一个“健康档案管理系统”使用计算机实现对学校学生健康信息的管理要求不仅可用于一般健康情况查询,而且可以对这些健康信息进行各种幽闭要的数学统计和分析系统主要的健康信息来自病历和体检,系统主要功能有1登录录入学生的健康档案;2修改修改一个学生的健康档案记录;3删除删除学生的健康档案记录删除前应先确认以防误删;4查询可组合各种条件进行查询,显示学生的健康信息并打印健康文件报表;5统计对学生的基本健康情况进行各种有必要的统计和分析
2.设计一个布告栏管理系统,主要功能有1登录一个新的布告项目;2撤消一个已登记的布告项目;3按多种方式查询布告项目,要求信息查询显示由粗到细逐层深入3.实验步骤1.对所选课题进行分析,画出系统的分层数据流程图;2.给出数据流程图中数据流、文件的数据构成;3.描述基本加工的功能;4.编写系统用户手册概要;5.编写系统分析说明书实验三系统设计系统设计是系统开发过程的另一个重要阶段,在该阶段系统设计人员要根据系统分析阶段的成果,提出在计算机上如何实现的技术方案,也就是解决“如何做”的问题因此,系统设计的任务是,在系统分析的基础之上,按照系统逻辑模型的要求,提出系统在计算机上如何实现的解决方案,通过对系统的总体设计和详细物理设计,为下一阶段系统实施提供依据,并给出系统足够详细的定义1.实验目的1.熟悉系统设计阶段的主要任务;2.掌握模块独立性的概念;3.能够熟练阅读软件结构图和用程序流程图、N-S盒图以及问题分析图描述的模块逻辑结构图;4.掌握结构化程序设计的方法,熟练使用三种基本控制结构构造单入口单出口的模块,并能够使用程序流程图、N-S盒图以及问题分析图描述的模块逻辑结构;5.了解概要设计、模块设计阶段文档的基本格式二.实验内容按照实验二中选定的项目,分析数据流程图的特点,然后按照相应类型的数据流程图的转换方法导出目标系统软件的结构图,并进行优化然后根据模块的划分情况,小组成员分别对不同的模块进行详细设计,导出模块的逻辑结构三.实验步骤1.分析数据流程图的类型;2.导出软件结构图;3.定义模块之间的接口;4.分析系统中的数据文件的结构以及相互之间的关系,设计系统数据库结构;5.按照概要设计说明书的编写提纲编写概要设计说明书;6.模块的详细设计;7.编写模块设计说明书实验四程序设计模块设计工作完成以后,接下来的工作就是根据模块设计阶段给出的逻辑结构,选择合适的开发工具,按照编程规范编写出高质量的程序代码1.实验目的1.成在程序中书写注解的习惯;2.程序的书写格式要规范;3.构造简明易懂的程序语句2.实验内容和要求选择一种熟悉的程序设计语言或开发工具,编制实验三中各模块的程序代码,也可以另外选择其他的一些程序设计题进行联系在编写程序时注意程序设计的风格,然后分别调试各个模块的程序3.实验步骤1.根据实验三所选择的项目,根据小组内其他成员所设计的模块的逻辑结构,编写程序;2.编译调试程序;3.书写实验报告实验五系统测试系统设计完成以后,开发工作进入系统测试阶段,这一阶段的主要任务就是根据系统分析与设计说明书开发可实际运行的应用系统,交付用户使用一.实验目的1.熟悉单元测试和集成测试的主要任务;2.掌握测试的主要方法;3.学习编写测试计划和测试报告;4.熟悉测试的主要步骤;5.熟练掌握常见开发工具的调试功能的使用方法,积累程序调试的经验二.实验内容对实验四中编写的各个模块的代码分别进行单元测试,排除错误,然后编写集成测试计划,进行集成测试,最后编写测试报告三.实验步骤1.小组内成员交换阅读各自编写的程序代码,检查是否存在错误;2.测试各模块,检查测试结果,排除错误;3.编写集成测试计划;4.进行集成测试;5.编写测试报告附件库存管理信息系统的分析、设计和实施说明本例开发工具选用FoxPro
6.0在学习过程中,可以现有的硬件和软件环境进行系统再开发实现,学习重点放在在系统分析、系统设计实际过程、方法及内容这里给出一个库存管理信息系统开发的实例,目的是使大家进一步深入了解开发任何一个管理信息系统必须经历的主要过程,以及在开发过程的各个阶段上开发者应当完成的各项工作内容和应当提交的书面成果
一、某厂产品库存管理系统简介某厂是我国东北地区一家生产照明灯的老企业,每年工业产值在四千万元左右该厂目前生产的产品如表l所示表1某厂产品品种规格、单价及定额储备产品名称单位规格不变价元现行价元最高储备额最低储备额备注灯泡只220V—15W
0.
801.0060000600灯泡只220V—45W
1.
001.2060000600灯泡只220V—60W
1.
201.4060000600灯泡只220V—100W
1.
501.8040000500灯泡只220V—150W
1.
802.0040000400灯泡只220V—200W
2.
002.2030000300灯泡只220V—300W
2.
803.0020000200节能灯只220V—4W
6.
008.00100001000节能灯只220V—8W
8.
0010.00100001000节能灯只220V—16W
12.
0015.00100001000日光灯只220V—8W
6.
007.00100001000日光灯只220V—20W
7.
008.00100001000日光灯只220V—30W
8.
009.00100001000日光灯只220V—40W
10.
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”说明如下图4顶层DFD“1”车间产品入库单“2”销售科开出的有效零售产品出库单“3”销售科开出的有效批发产品出库单“4”仓库制作的产品库存收发存月报表2)第一层数据流程图如图5所示 图5中的数据流“1,2,3,4”与图4中的数据流“1,2,3,4”相同图5第一层DFD3)第二层数据流程图如图6所示图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)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所示图9系统功能结构图
3.新系统计算机信息系统流程设计计算机化的信息系统流程如图10所示图10中的处理框内标出了相应的程序名,其功能说明见程序模块设计说明书图10新系统信息处理系统流程图4.代码设计
(1)产品规格代码设计由于该厂在未来的几年内生产的产品品种不会超过十种,并且每种产品的规格也不会超过十种,因此,产品规格代码采用层次码,并用两位整数表示,设计方案如图11所示,全部规格编码列于表8中图11代码设计方案表8规格代码规格代码规格01220V—15W02220V—45W03220V—60W04220V—100W05220V—150W06220V—200W07220V—300W11220V—4W12220V—8W13220V—16W21220V—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日光灯23220V—30W243日光灯24220V—40W产品代码中的校验位a3值的确定方法如下a3=取[(3a1+2a2)/11]的余数例如a1a2a3243X)326+8=14则a3=(14/11)的余数=3当余数为10时,则按a3=0处理5.系统物理配置方案设计本系统采用单机单用户操作方式,基本配置如下;机型COMPAQ486/40软驱双软驱动器硬盘40G内存256MB显示器VGA打印机StarCR3240软件Foxpro
6.0机器安装在仓库办公室6.输出设计本系统的报表输出格式设计成表10~表12的形式(表中的数据为试运行结果数据)表10产品名称单位规格上月结存本月入库本月出库本月结存不变价金额(元)
214700.
0064400.
00150300.00现行价金额(元)
250400.
0075160.
00175240.00数量合计445001930025200灯泡只220V—15w200010001000灯泡只220V—45w15001000500灯泡只220V—60w30003000灯泡只220V—200w1200011800200节能灯只220V—4w30002500500节能灯只220V—8w30003000日光灯只220V—8w20002000日光灯只220V—20w1400014000日光灯只220V—30w400030001000表11超储产品产品代码产品名称库存量最高储备超储量220日光灯14000100004000表12不足产品产品代码产品名称库存量最低储备不足储备024灯泡500600100048灯泡0400400050灯泡0400400061灯泡200300100073灯泡5001000500115节能灯5001000500139节能灯01000100024日光灯0100010007.存储文件(数据库)结构设计由于本系统的应用程序全部用Foxpro
2.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=0123456789j=0123456789k=01234567896产品单位代码DWDM7产品组位DW8产品规格代码GGDM9产品规格GG10产品库存超储或不足JC取值“超储”或“不足”11产品库存数量KCSL12日期KCRQ13累计入库量LJRK14累计总出库量LJXS15产品零售数量LSSL16产品批发出库数量PFSL17产品入库数量RKSL18日期RQ19产品现行价格XXJ20产品最大储备量ZGCB21产品最小储备量ZDCB
(2)各个库文件结构设计本系统中建立的10个数据库(.DBF)文件结构如表15~24所示表15产品单位及规格代码库(CPDZB.DBF)结构序号字段名称字段类型长度备注1DWDMCharacter12DWCharacter43GCDMCharacter24GGCharacter10表16产品目录库(CPDM.DBF)结构序号字段名称字段类型长度备注1CPDMCharacter32CPMCCharacter183DWDMCharacter14DWCharacter45GGDMCharacter26GGCharacter107BBJNumeric78XXJNumeric79ZGCBNumeric710ZDCBNumeric4表17产品出入库数据暂存文件(CPSJSR.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33RKSLNumeric64LSSLNumeric65PFSLNumeric6表18各种产品每日入库累计文件(CPRK.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33RKSLNumeric6表19各种产品每日销售出库累计文件(CPXS.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33LSSLNumeric64PFSLNumeric6表20各种产品每日库存量累计文件(CPKC.DBF)序号字段名称字段类型长度备注1KCRQDate82CP012Numeric83CP024Numeric84CP036Numeric85CP048Numeric86CP050Numeric87CP061Numeric88CP073Numeric89CP115Numeric810CP127Numeric811CP139Numeric812CP218Numeric813CP220Numeric814CP231Numeric815CP243Numeric8表21各种产品每日出入存累计文件(CPRDATA.DBF)结构序号字段名称字段类型长度备注1RQDate82CPDMCharacter33CPMCNumeric64DWNumeric65PFSLNumeric66KCSLNumeric6表22报表计算辅助文件(CPBBJS.DBF)结构序号字段名称字段类型长度备注1BBRQDate82CPDMCharacter33CPMCCharacter184DWCharacter45RKSLNumeric86LSSLNumeric87PFSLNumeric88KCSLNumeric89LJRKNumeric810LJXSNumeric8表23各月收发存报表文件(CPBB.DBF)结构序号字段名称字段类型长度备注1BBRQDate82CPDMCharacter33CPMCCharacter184DWCharacter45RKSLNumeric86LSSLNumeric87PFSLNumeric88KCSLNumeric89LJRKNumeric810LJXSNumeric8表24库存报警数据文件(KCJC.DBF)结构序号字段名称字段类型长度备注1CPDMCharacter32JCCharacter48.输入设计
(1)出入库数据录入卡设计本系统中的产品出入库数据录入卡沿用现行系统的产品出入库单格式,参见表2和表3
(2)输入屏幕格式设计基础(原始)数据分为产品入库数据和产品出库数据两大类,因此输入屏幕分开设计产品代码产品名称入库数量图13产品入库数据输入屏幕格式l)图13是产品入库数据输入时的屏幕格式当输入入库日期之后,便在屏幕上出现此画面数据录入方式有两种·光标在右边的提示窗口内上下移动,选择正确的入库产品代码后,则产品代码、名称等信息自动进入左边窗口当前显示行的相应栏目内然后;光标停在“入库数量”栏上,打入入库数量即可如此重复即可将本日内各张入库单上的数据输入机内暂存文件内然后,选择提示“存盘”、“放弃”或“继续”·调整光标至左边窗口的“代码”栏,接着打入要入库的产品代码,此时对应的产品名称便由系统自动填入,然后打入入库数量即可,最后选择“存盘”、“放弃”或“继续”2)产品出库数据输入的屏幕格式设计与产品入库数据输入的屏幕格式基本相同,只是将图13中的“入库数量”栏辟为“零售数量”和“批发数量”两栏9.程序模块设计说明
(1)总控模块1)程序名CPMAIN.PRG2)功能·定义本系统的数据录入、数据查询等功能菜单及各项功能的下拉式菜单·选取功能菜单及其下拉菜单中的操作项,进入相应的操作3)实现·调用程序CP
11.PRG实现产品出入库数据的录入·调用过程MPROC2实现数据查询功能·调用过程MPROC3实现统计报表功能·调用过程MPRCO4实现产品目录维护功能·调用过程MPRCO5实现本系统运行结束退出功能4)程序、过程、自定义函数间的关系见图14图14程序、过程、函数间关系
(2)产品出入库数据录入模块1)程序名CP
11.PRG2)功能实现每笔产品出入库数据的录入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)程序名CP
21.PRG2)功能实现对三个月以内的任何一天的每笔入库数据查询显示3)处理流程(见图16)图16处理流程4)实现·打开CPDM.DBF·若查询任何一天的每笔入库数据,则打开CPRK.DBF·若查询任何一天的每笔出库数据,则打开CPXS.DBF·依据字段CPDM建立与CPDM.DBF的关联·输入要查询的日期从CPRK或CPXS库中定位满足查询日期的首记录若无数据可查到,则显示“无数据”,否则用“过滤器技术”和BROW命令显示查询结果
(4)每日、月、截止期出入库数据查询模块1)程序名CP
23.PRG2)功能实现对下述查询条件的查询显示功能·查询三个月以内任何一天的各种产品全天累计出入库数据·查询两年内任何一个月份的各种产品全月累计出入库数据·查询从年初至某个截止日期的各种产品累计出入库数据3)处理流程(见图17)图17处理流程4)实现分三种情况讨论第一种情况(按天查询)·打开CPRDATA.DBF和CPDM.DBF·输入查询日期·按输入的日期从CPRDATA库中过滤出与输入日期匹配的记录·显示结果第二种情况(按月查询)·打开CPRDATA.DBF和CPDM.DBF·输入查询月份·对与输入月份匹配的该月内各产品出入库数据分别累计·将该月累计值为零的产品过滤掉·显示结果第三种情况(查询从年初至截止日期备产品累计出入库数)·打开CPRDATA.DBF和CPDM.DBF·输入截止日期·对截止日期之前的各产品出入库数据分别累加·显示结果
(5)某日实际库存数据查询模块1)程序名CP
24.PRG2)功能实现查询某一天各种产品的实际库存数量3)处理流程(见图18)4)实现·打开CPKC.DBF与CPDM.DBF·输入查询日期·在CPKC.DBF中定位满足查询条件的第一条记录,若没有则显示“无数据可查”,否则显示查询结果
(6)新增产品代码(目录)模块1)程序名CP
41.PRG2)功能将新产品的目录数据增加到CPDM.DBF中,并在CPKC.DBF中增加相应的字段3)处理流程(见图19)图19处理流程4)实现·在命令执行方式下,将新产品的单位、单位代码、规格、规格代码录入CPDZB.DBF中·打开CPDZB.DBF、CPDM.DBF和CPKC.DBF·录入新产品的产品代码,并校验·再录入该新产品的其它目录数据·修改CPKC.DBF的库结构(增加新产品的字段)
(7)修改产品的价格、储备定额模块1)程序名CP
42.PRG2)功能修改产品的价格和储备足额3)处理流程(见图20)图20处理流程4)实现·打开CPDM.DBF·用BROW命令进行修改(注意只允许修改产品的不变价、现行价、最高储备和最低储备)
(8)报表计算模块1)程序名CP
31.PRG2)功能根据本月实际发生的数据,计算出统计报表(产品收发存报表)中的数据,并将计算结果存入CPBB.DBF中供打印用
3、)处理流程(见图21)图21处理流程4)实现·输入报表月份·打开CPRDATA.DBF·在CPRDATA库中定位满足报表日期的第一条记录若无数据,即eof为真,则显示“本月无数据”,并返回·在本月范围内,按产品代码分别求出各产品本月出入库累计值·打开CPKC.DBF,定位到报表生成那天的各产品实际库存数记录行·打开CPBBJS.DBF,并物理清空·把已计算出的报表月份各产品累计出入库量及尚有的实际库存数量填入CPBBJS.DBF中·打开CPBB.DBF,将CPBBJS.DBF中的数据复制到CPBB.DBF中
(9)打印《产品收发存月汇总表》模块1)程序名CP
32.PRG2)功能实现《产品收发存月汇总表》的打印输出打印机型号为STARCR3240型3)处理流程(见图22)图22处理流程4)实现·输入年份和月份·打开CPDM.DBF,并索引·打开CPBB.DBF,并过滤出符合报表月份的数据记录·使CPBB.DBF与CPDM.DBF建立关联·若CPBB.DBF中无本月数据,则显示“本月报表未形成”,并返回,否则如下·打印表头·从CPBB.DBF中输出打印该月份汇总数据
(10)打印《产品库存报警表》模块1)程序名CP
33.PRG2)功能随时打印出低于最小储备定额和高于最高储备定额的产品库存数据3)处理流程(见图23)图23处理流程4)实现·打开CPKC.DBF,并将记录指针指向最后一行记录·打开CPDM.DBF并索引·按CPDM.DBF中的记录顺序,逐行去检查CPKC.DBF的最后一行记录中各产品库存量是否超储或不足若不足时,在KCJC.DBF的CPDM字段填上该产品代码,在JC字段填“不足”;若超储,则在JC字段填“超储”·打印表头·打印报表内容四系统实施
1、程序框图设计(略)
2、程序清单(略)
3、试运行及结果分析
(1)试验数据的准备(见表1和表25)表25系统试运行原始模拟输入数据日期产品代码入库数量零售数量批发数量
2000.
10.
01012200010002000.
10.
0111530002000.
10.
0123140002000.
10.
1202415005002000.
10.
1211510002000.
10.
1321820002000.
10.
1403630002000.
10.
1523130002000.
10.
16061120002000.
10.
17061100002000.
10.
170245002000.
10.
1812730002000.
10.
1822040002000.
10.
191155002000.
10.
1911510002000.
10.
1906118002000.
10.2022010000
(2)运行结果及分析1)打印的报表如表10-12所示,与设计的格式一致,输出数据与手工计算结果一致2)查询显示结果正确3)其它各项功能运行正常技术说明书、使用说明书和维护说明书(略)「小结」本文提供了系统分析、系统设计和编写程序的实际过程,熟练掌握这些内容,将为课程设计做好充分准备经营副厂长销售科仓库出入库管理组统计分析组库存管理出入库管理统计报表入库管理出库管理月报报警查询销售科车间入库单检验合格入库单入库记账入库帐合格入库单批发出库单零售出库单付货记账付货记账批发出库帐零售出库帐记库存台帐统计报表月报表库存台帐1库存管理2344库存帐1出入库管理23出入库管理710D2零售出库帐P1登记入库帐P2登记零售出账P4登记库存台帐P5制作收发存月报表P3登批发出库帐D4库存台帐F2112F315698D1入库帐D3批发出库帐统计报表月报表1F1111查询条件出库处理收发存月报库存报警查询库存台帐入库处理月报表入库单报警表出库单响应结果产品出入库单录入库存台帐统计分析查询收发存月报报警数据查询条件显示结果入库数据录入出库数据录入库存数据查询出入库数据查询每笔入库查询每笔出库查询报表数据计算打印收发存表打印报警信息增加产品品种修改产品目录退至FOX退至DOS数据录入数据查询报表输出产品目录维护结束退出每日数据查询每月数据查询累计数据查询库存管理出入库单ACp
11.prgcpsjsrcpxscprkcpdzbcpdmcpkckcjccprdatscpbbjsCp
21.prgXXXXCp
31.prg收发存汇总表报警表新产品数据产品修改数据Cp
41.prgCp
42.prgAAXXXXAAAXXCp
32.prgAXXXXCp
33.prgCp
24.prgCp
23.prg规格顺序号品种顺序号校验位规格码入库日期年月日产品入库数据录入窗口显示窗口保存放弃继续产品代码产品名称CPMAIN.PRGCP
11.PRGFCPDMFRETFAPPECP11X(过程)MPROC2CP
21.PRGCP
23.PRGCP
24.PRGMPROC3CP
31.PRGCP
32.PRGCP
33.PRGMPROC4CP
41.PRGCP
42.PRGCP
43.PRGCPDMPRETCPDMFAPPEMPROC5出入库单CPDMCP
11.PRGCPSJSRCPRKCPXSCPKCCPRDATACPDMCPRKCPXSCP
21.PRGCPDMCPRDATACP
23.PRGCPKCCPDMCP
24.PRG图18处理流程新产品数据CPDMCP
41.PRGCPDMCPKCCPBBJSCPKCCP
31.PRGCPDMCPDMCPRDATA新数据数据CP
42.PRGCPDMCPBBCP
32.PRGCPDMCPKCCP
33.PRGCPDMCPJC。