您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > MIS实验六-库存管理子系统
《管理信息系统》(双语)电商08实验6(第8周)1基于C/S模式的库存管理系统的开发与设计1.C/S模式的优点C/S模式是一种由客户机与服务器合作完成一个作业的系统模式,客户机提交请求,服务器提供相应的服务。C/S模式体系结构的DBMS的出现,很大程度上是为了解决F/S模式的问题的。在这种结构的DBMS中,有一个Server程序,它专门负责数据的存储和访问控制;另外还有一个Client程序,它负责从用户那里采集数据,接受用户的数据处理请求(如将数据保存起来,要求获取某些数据,对数据进行修改,将某些数据删掉等等),然后将这些请求转换成Server程序能够识别的指令,并将这些指令传给Server程序。Server程序在接受到这些指令之后,分析并执行之,并将执行结果传给Client程序,再由Client程序将这些结果以某种形式在用户面前呈现出来。这就是C/S结构的一般特点。结构如下:ClientServerClientClient请求结果请求结果请求结果…………它有以下优点:(1)交互性强。在这种模式中,客户端装有客户软件,完成各种数据的录入等工作。(2)存取数据安全。因为C/S模式的平台一般采用适用于局域网、安全性比较好的局域网络协议,如NetBEUI协议,所以安全性可以得到较好的保证。(3)网络通讯量较低。因为只有两层结构,网络通讯量只包括客户机与服务器之间的通讯量。(4)速度快,利于处理大量数据。由于C/S模式只有两层结构,故对于同一个任务,C/S模式的速度要比B/S模式的速度快。1.1开发方案在实际开发过程中,采用C/S模式方案。如入库单、领料单、销售单、出库单等日常单据的录入和查询以及对仓储的专职管理人员等的工作,交互频繁且数据量大,对安全性和速度要求较高,而且一般均由专门人员负责,所以选择C/S模式。该模式适合于本系统,不仅可以处理大量的数据信息,而且可以保证数据的安全性,正好可以解决数据多、程序复杂的缺点,因此C/S模式最适合本系统。《管理信息系统》(双语)电商08实验6(第8周)22需求分析MIS是为管理提供信息服务,辅助决策,以便有效地利用企业资源的系统,系统的环境、管理的制度和方法会因企业的生产情况、经营状况和市场情况等的变化而发生变化,MIS也就应随着环境的变化而改变自身的功能属性,满足企业管理对信息的需求。2.1库存管理系统的主要业务流程用计算机进行库存管理,除了准确无误地管理帐目,降低员工的劳动强度外,还可以实时显示库存状态和库存趋势,进行库存分析,使库存保持合理数量,压缩库存资金。库存系统的数据流图如图1所示。采购部门生产部门领料部门客户盘库部门进货单自制品外协件领料单提货单盘库单外协单位入库处理入库数据文件D品种分类文件出库数据文件盘库数据文件出库处理盘库处理D品种分类文件库存分析查询报表D品种分类文件使用者图1业务与数据流图《管理信息系统》(双语)电商08实验6(第8周)3该库存管理系统的主要业务流程如下:(1)入库记帐将入库单信息验证合法后,存入入库数据文件同时修改品种分类文件中的相应数据。具体操作可以用数据库的触发器来实现,同时还可以完成参照完整性检查。(2)出库记帐将出库单信息验证合法后存入出库数据文件,同时修改品种分类文件中的相应数据。具体数据处理由触发器完成,同时进行参照完整性检查。(3)盘库记帐将盘库单信息验证合法后存入盘库数据文件,同时修改品种分类文件中的相应数据。数据更新由触发器完成,同时完成参照完整性检查。2.2库存管理系统的功能整个系统是由六大功能模块组成,每个功能模块又由若干个完成相应操作的子模块组成,提供了材料数据添加、删除、修改、查询、打印、统计以及各种报表的生成、数据字典维护等功能。以下简要介绍各功能模块(1)输入模块本模块提供库存系统的常用的业务单据,依次有:日记帐、发票单、出库单、销售单、正常退库单、废品退库单、调换货物单、台帐这几项功能。(2)查询模块本模块主要完成对日常业务的查询处理,主要进行的查询项目有:日记帐、发票、出库、销售、退库、废品、库存、进出存。(3)报表打印模块本模块主要完成台帐、入库单、入库领料的报表打印。(4)基础数据模块本模块主要存储了一些常用的字典数据表,有计量单位、仓库、保管员、领料单位、领料人、用户、供应商、类别、产品、材料定额等不能修改只能引用的字典,即原始数据表。(5)系统维护模块本模块提供系统初始化,用户口令维护、数据整理几项功能。(6)退出系统模块本模块可以实现重新登录以及退出系统的功能。多功能库存管理系统查询数据输入报表打印基础数据系统维护退出系统《管理信息系统》(双语)电商08实验6(第8周)42.3系统的运行环境系统是采用关系数据库语言VisualFoxPro6.0。3总体设计3.1关系型数据库的设计VisualFoxPro6.0作为关系型可视化的数据库设计工具,必须实现数据表之间的连接,只有这样,才能充分发挥其数据库的强大功能。这种功能,就是所谓的数据表间的关联性特性。众所周知,一般的数据库结构主要分为层次型、网络型、关系型三类。而我们一般在机器上使用的都是关系型数据库,在关系型数据库中可以实现数据表之间的“一对一、一对多、多对多”数据记录的联接方式。1.关联的类型所谓”一对一“的关系是指两个表之间记录数据相同,且必须有一关键字中的值相等。“一对多”的关联是指两个表之间的记录数不相同,通过其中一个表中的某一记录对应另一表中的几个记录,而表2的记录只能被表1的一个记录的对应,这样的数据表称为“一对多”的关系表。“多对多”的关联是指一批数据表中的某一记录可以对应另一个表中多条记录。反过来说表2中的某一记录可以对应表1种的多条记录,这种关系就称”多对多“的关系。2.关系的永久性在VFP中数据表关联中的另一特点是:永久性关联,即这种关联是静态的。它是在设计数据库时就建立好表与表之间的关联,那也是无法的。3.关联的一致性所谓数据表关联的一致性,是指在两表之一进行数据更新或删除时,必须维护它们之间数据一致性。这种关联的一致性在VFP中称为RI。通过RI来维护数据表之间的一致性。在提供了以下几个选项来实现数据更新、数据删除、数据插入的一致性。4.Trigger触发器实际上在对关联表的一致性检查时,当记录中的数据发生变化时,就会引起所谓Trigger触发器事件,该事件就会调用触发程序出现有关信息提示,告诉你所作的操作情况,这是面向对象程序的设计方法之一。3.2参照完整性设计3.2.1数据库中的表的规范化关系数据库中的关系是要满足一定要求的,满足不同程度要求为不同范式,在此数据《管理信息系统》(双语)电商08实验6(第8周)5库中为了解决关系模式存在的插入、删除异常、修改复杂、数据冗余等毛病,将数据库中的表达到第三范式即3NF或BCNF。此规范的思想是逐步消除数据依赖中的不合适的部分,使模块中的各关系模块达到某种程度的‘分离’,即‘一事一地’的模式设计原则。1NF2NF消除非主属性对码的部分函数依赖2NF3NF消除非主属性对码的传递函数依赖3NFBCNF消除主属性对码的部分和传递函数依赖BCNF4NF消除非平凡且非函数的多值依赖3.2.2数据的一致性设计为了防止两表的数据在操作时发生错误,还必须进行数据的一致性设置。“参照完整性生成器”中的“更新规则”选项指定修改父表中的关键字(Key)值时所用的规则。该生成器还有“删除规则”选项和“插入规则”选项。其基本含义如下:。级联(CASECADE):当父表关系字段数据更新时,对应的子表字段也自动跟随发生变化。即用新的关键字更新子表中的所有相关记录。。限制(RESTRICT):当父表对应到子表数据时,不允许修改、删除、增加父表中的关联字段的数据,即子表中有相关记录时则禁止更新。。忽略(IGNORE):不加入任何限制,即允许更新。3.3数据处理所采取的主要策略数据处理即可以用程序实现也可以用触发器实现,在本系统中主要用触发器来实现的。随着数据库系统应用越来越广泛,对数据库管理系统提出了更高的要求,传统的数据库管理系统本身是被动的,都只能根据用户的命令被动地服务,不具备根据数据库的内部状况等情况主动服务的功能。现在数据库系统的应用却希望数据库管理系统具备主动修改等功能。为了解决数据库管理系统的主动功能问题,我们可以利用数据库管理系统提供的触发器机制来实现。数据库触发器是存储在数据库中的过程,当表被修改时它隐性地被激发执行。在ORACLE数据库中允许在对表发出INSERT、UPDATE或DELETE语句时隐式地执行所定义的过程,这些过程称为数据库触发器。触发器存储在数据库中,并与所相关表分别存储,触发器仅可在表上定义,它们激发时将与执行相应操作的应用程序无关。触发器可用来提供更高级的专用数据库管理系统,用来补充数据库管理系统的标准功能。一个数据库触发器可由三部分组成:触发时间或语句、触发条件和触发器动作。触发事件或语句是激发触发器的SQL语句,可为某指定表的INSERT、UPDATE或DELETE语句;触发条件是一个过程,即PL/SQL块,当触发语句发出触发条件计算为真时,该过程被执行。由于触发器动作过程由PL/SQL块构成,而PL/SQL块是将数据库技术和过程设计程序的设计语言有机地结合起来的一种程序设计语言,在程序中既能用SQL语句操纵数据,又能用过程化方法来处理数据。正因为数据库管理系统在SQL语句中引入了过程化的语句,称为PL/SQL语言,而数据库触发器的动作过程采用的是PL/SQL,从而将两者的功能发挥的淋漓尽致,使得数据库触发器的功能十分丰富。因此它比其他数据库触发器的功能更加《管理信息系统》(双语)电商08实验6(第8周)6强大。使用触发器的机制可以简化应用程序的设计。一般来说,把每个应用的公共功能用数据库触发器来实现,这样一来公共的功能可以统一实现,统一交给数据库管理系统的后台来完成,而前台与用户密切的应用程序可减轻工作负担,也可简化应用程序的设计。这样数据库可提供专用数据库管理系统的功能,更能适应不同用户对数据库管理系统的要求。触发器可使用以下几个方面的功能:(1)提供高级的审计功能和透明事件记录;(2)自动化生成导出列的值;(3)实施复杂的安全性确认和事务约束规则;(4)维护表的同步复制;(5)实现复杂的业务规则;(6)实现复杂的安全权限。3.4通用查询系统解决方案管理信息系统(MIS)的模块设计是软件系统设计的关键环节,查询模块是MIS模块结构中的重要软件模块,查询功能则是MIS用户使用频率最高的功能,因此,其设计质量的好坏不仅直接影响用户的使用,而且将在很大程度上影响系统的可维护性和可修改性。查询系统的设计方法很多,而最为普遍的设计方法是,给MIS中的每一个信息(如一个原始凭证、一个台帐或一个报表)都设计一个专用的查询模块,这种做法不需花太多精力,很快就可以从设计进入编程,初看起来似乎效率很高。但这种做法却有许多问题,首先,一个MIS中用户需要查询的信息可能很多,少则几种,多则几百种,为每一个信息都设计专用的查询模块,那就意味着可能要编写多达几百个的查询模块,工作量相当大,总的效率非常低。实际上,不同的查询模块对信息的处理方法是非常相似的,只是所处理的信息不同而已,例如字段数目有的多,有的少,具体数据项也不同。这样,可以将各查询模块中的相同的处理提取出来,形成公共的通用查询模块,调用时提供不同的参数即可完成对不同信息的查询。其次,给每一个信息都设计专用的查询模块的做法还会带来难以估计的系统维护工作量,因此这些模块中存在大量的冗余程序代码,修改起来工作量很大,而且还得花很多精力保持修改的一致性。另外,MIS中信息及信息的处理方法具有多面性。给每一个信息都设计专用的查询模块的做法不能很好地适应这种变化,因此系统每增加一个信息,或者改变一个已有信息,都要增加或修改一个查询模块。因此,设计一个通用的查询模块,使它能够完成对MIS中所有(或大部分)信息的查询,对提高开发效率,增强系统的可维护性都非常有好处,而且通用模块给用户带来的是统一一致的操作界面,用户易学易用。《管理信息
本文标题:MIS实验六-库存管理子系统
链接地址:https://www.777doc.com/doc-4278799 .html