管理信息系统课程设计指导.doc
管理信息系统课程设计指导书英文名称:Management Information System,MIS适用对象:信息管理及信息系统本科专业、工商管理类本科专业学时学分:2周,上机不少于40机时,3学分。一、课程设计目管理信息系统课程设计作为独立教学环节,是信息管理及信息系统专业集中实践性环节系列之一,是学习完管理信息系统课程并进行完专业实习后进行一次全面综合练习。其目在于加深对管理信息系统基础理论与基本知识理解,掌握使用信息系统分析、设计基本方法,提高解决实际管理问题、开发信息系统实践能力。同时课程设计应充分表达“教师指导下以学生为中心”教学模式,以学生为认知主体,充分调动学生积极性与能动性,重视学生自学能力培养。二、课程设计内容及要求用信息系统开发工具(例如PowerBuilder、Delphi等)开发一个实用中小型管理信息系统。1、根据课程设计时间选择适当规模大小设计课题。采用专业实习调研内容作为课程设计选题。2、根据合理进度安排,按照系统开发流程及方法,踏实地开展课程设计活动。3、课程设计过程中,根据选题具体需求,在开发各环节中撰写相关技术文档,最后要求提交详细课程设计报告。4、开发出可以运行管理信息系统,通过上机检查。三、课程设计时间课程设计时间为两周。四、课程设计考查由指导教师根据学生完成课程设计任务情况(包括管理信息系统软件开发情况40%、课程设计报告质量30%与课程设计过程中工作态度30%)综合打分。成绩评定实行优秀、良好、中等、及格与不及格五个等级。优秀者人数一般不得超过总人数20%。五、课程设计报告撰写要求课程设计报告撰写基本要求是报告原则上不少于4000字,需在封面注明设计选题、班级、姓名、学号及课程设计日期、地点,其正文至少包括如下几个方面内容:(1)可行性分析(2)系统分析部分 1)业务流程图 2)数据流程图 3)功能分析图 4)数据字典 5)数据加工处理描述 6)管理信息系统流程设想图(新系统模型)(3)系统设计部分 1)功能结构图设计 2)新系统信息处理流程设计 3)输出设计(主要指打印输出设计) 4)存储文件格式设计(数据库结构设计) 5)输入设计(主要指数据录入卡设计) 6)代码设计(职工证号与部门代号等) 7)程序设计说明书(4)系统实施部分 1)程序框图 2)源程序 3)模拟运行数据 4)打印报表 5)系统使用说明书(5)附录或参考资料六、参考范例库存管理信息系统分析、设计与实施(见附件)。附件:库存管理信息系统分析、设计与实施说明:本例时间较早,开发工具选用FoxPro2.5。在学习过程中,可以现有硬件与软件环境进行系统再开发实现,学习重点放在在系统分析、系统设计实际过程、方法及内容。这里给出一个库存管理信息系统开发实例,目是使大家进一步深入了解开发任何一个管理信息系统必须经历主要过程,以及在开发过程各个阶段上开发者应当完成各项工作内容与应当提交书面成果。一、 某厂产品库存管理系统简介 某厂是我国东北地区一家生产照明灯老企业,每年工业产值在四千万元左右。该厂目前生产产品如表l所示。 表1 某厂产品品种规格、单价及定额储备产品名称单位规格不变价(元)现行价(元)最高储备额最低储备额备注灯泡只220V15W60000600灯泡只220V45W60000600灯泡只220V60W60000600灯泡只220V100W40000500灯泡只220V150W40000400灯泡只220V200W30000300灯泡只220V300W20000200节能灯只220V4W100001000节能灯只220V8W100001000节能灯只220V16W100001000日光灯只220V8W100001000日光灯只220V20W100001000日光灯只220V30W100001000日光灯只220V40W100001000工厂产品仓库管理组隶属于销售科领导,由七名职工组成,主要负责产品出入库管理、库存帐务管理与统计报表,并且应当随时向上级部门与领导提供库存查询信息。为了防止超储造成产品库存积压,同时也为了避免产品库存数量不足而影响市场需求,库存管理组还应该经常提供库存报警数据(及储备定额相比较超储数量或不足数量)。产品入库管理过程是,各生产车间随时将制造出来产品连同填写好入库单(入库小票)一起送至仓库。仓库人员首先进行检验,一是抽检产品质量是否合格,二是核对产品实物数量与规格等是否及入库单上数据相符,当然还要校核入库单上产品代码。检验合格产品立即进行产品入库处理,同时登记产品入库流水帐。检验不合格产品要及时退回车间。产品出库管理过程是,仓库保管员根据销售科开出有效产品出库单(出库小票)及时付货,并判明是零售出库还是成批销售出库,以便及时登记相应产品出库流水帐。平均看来,仓库每天要核收三十笔入库处理,而各种出库处理约五十笔。每天出入库处理结束后,记帐员就根据入库流水帐与出库流水帐按产品及规格分别进行累计,以便将本日内发生累计数填入库存台帐。产品入库单如表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”相同。4库存帐1出入库管理23出入库管理图5 第一层DFD3)第二层数据流程图如图6所示。710D2零售出库帐 P1登记入库帐P2登记零售出账P4登记库存台帐P5制作收发存月报表P3登批发出库帐D4库存台帐F2112F315698D1入库帐D3批发出库帐统计报表月报表1图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新系统功能结构图 综合考虑改进后系统逻辑模型(见图7)与设计新系统目标要求。设计新系统功能结构如图9所示。入库数据录入出库数据录入库存数据查询出入库数据查询每笔入库查询每笔出库查询报表数据计算打印收发存表打印报警信息增加产品品种修改产品目录退至FOX退至DOS数据录入数据查询报表输出产品目录维护结束退出每日数据查询每月数据查询累计数据查询库存管理图9 系统功能结构图3. 新系统计算机信息系统流程设计 计算机化信息系统流程如图10所示。图10中处理框内标出了相应程序名,其功能说明见程序模块设计说明书。出入库单AcpsjsrcpxscprkcpdzbcpdmcpkckcjccprdatscpbbjsX XX X收发存汇总表报警表新产品数据产品修改数据AA X X X XAAAXXA X X X X图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产品名称单位规格上月结存本月入库本月出库本月结存数量合计 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产品目录库文件2产品单位及规格代码表CPDZB. DBF事先建好3出入库数据输入暂存文件4各种产品每日库存累计文件5各种产品每日每笔人享文件6各种产品每日每笔出库文件7各种产品每日入出存累计文件8报表计算辅助文件9备品报表文件10库存报表数据文件表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。FCPDM()FRET()FAPPE()CP11X(过程)MPROC2MPROC3MPROC4CPDM()PRET()CPDM()FAPPE()MPROC5图14 程序、过程、函数间关系(2)产品出入库数据录入模块 2)功能:实现每笔产品出入库数据录入。3)处理流程(见图15)。出入库单CPDMCPSJSRCPRKCPXSCPKCCPRDATA图15 处理流程4)实现 ·打开CPDM.DBF并索引之。 ·打开CPRDATA.DBF及其索引。 ·打开 CPRK.DBF。 ·若录入入库数据,则打开CPKC.DBF;若录入出库数据,则打开CPXS.DBF。 ·输入日期。