AB公司库存管理系统开发与设计毕业论文.doc
毕业设计(论文)题 目:AB公司库存管理系统开发与设计学生姓名学 号专业班级 分院(系)指导教师(职称) 诚信承诺书本人谨此承诺,本人所写毕业设计(论文)均由本人独立撰写,无任何抄袭行为。凡涉及他人的观点材料,均作了注释。如出现抄袭或侵犯他人知识产权的情况,愿承担由此引起的任何责任,并接受相应的处分。 学生签名:年 月 日AB公司库存管理系统开发与设计【摘要】 一直以来,库存管理为企业管理者所重视,是企业管理中的重要组成部分,直接影响成本和效益,对生产也有非常重要的意义,任何生产活动都是建立在库存的基础之上。随着计算机技术以及网络的飞速发展,计算机在各领域中都得到了广泛运用,其中也包括在企业管理中的运用。本文以AB公司为背景,分析AB公司现状及需求,设计出一个符合AB公司实际的适用的库存管理系统。文章首先介绍了选题背景以及库存管理的发展历程,根据AB公司现状分析其工作流程及需求,绘制业务流程图以及数据流程图本文以AB公司为背景,根据AB公司的实际情况,设计一个库存管理系统。论文主要分为三部分,第一部分主要介绍选题背景以及库存管理的概述;第二部分则是对AB公司的现状进行分析,根据其现状及需求绘出业务流程图及数据流程图;第三部分则是系统的设计与实施,根据前面部分的需求分析,明确此系统要实现的功能,设计数据库以及实现各主要的功能模块,以及后期的系统测试及维护。本系统主要是采用MyEclipse 5.5.1 GA作为系统前端开发工具并辅助Dreamweaver MX 2004, MySQL数据库为系统提供数据信息,运用Tomcat6.0服务器,采用JSP技术来完成系统。主要实现库存管理功能以及信息查询及后台管理功能。 【关键词】 库存管理系统,库存管理,需求分析,系统设计Inventory management system development and design of company AB【Abstract】Enterprise managers are always paying attention to inventory management which is an important part of enterprise management. Inventory management has a direct impact on costs and benefits and also has an importat significance to production. Any production activieties are based on the basis of inventory. With the computer technology and networks developing by leaps and bounds, computer has been widely used in various fields, including in enterprise management. This paper takes company A as the background, analyzes its situation and needs, and designs an inventory management system which is actual and applicable to company A. In this paper, AB, as the background, according to AB, the actual situation, design a line AB, the application of the inventory management system. Paper is divided into three parts, first part introduces the research background and an overview of inventory management; the second part is the status of AB, the analysis, plotted according to their situation and needs for business process diagrams and data flow charts; third part of the design and implementation of the system Di, the foregoing part of the needs analysis, clearly the system to achieve the function, design the database and the achievement of the main module, as well as later system testing and maintain.This system mainly uses MyEclipse 5.5.1 GA as the system front-end development tool and assiting Dreamweaver MX 2004, MySQL data base to provide data for the system, and using Tomcat6.0 server and JSP technology to complete the system. It aims to achieve inventory management, information inquiring and background management functions.【Key Words】 inventory management,inventory management system,needs analyzing,system designing 目 录1 绪 论11.1 选题背景及意义12 库存管理系统概述22.1 库存管理的概念及发展状况22.2 库存管理系统的定义及发展状况32.3相关知识及技术背景32.3.1 JAVA以及JSP相关技术介绍32.3.2 MVC模式42.3.3 JSP简介43 A公司库存管理系统分析63.1 A公司简介63.1.1 A公司库存现状63.2库存管理需求描述73.2.1库存功能需求分析83.2.2对象需求分析83.3流程分析93.3.1业务流程图93.3.2第一层数据流程图123.3.3 第二层数据流程图124 系统设计144.1 系统整体设计144.1.1 环境配置144.1.2 总体结构144.1.3 输入、输出设计154.1.4 系统报错设计154.2 数据库设计164.2.1 数据库概念模型设计164.2.2 数据库逻辑结构设计194.2.3 数据库物理设计194.2.4 数据库连接技术214.3 各功能模块244.3.1 系统管理模块244.3.2 系统查询模块254.3.3库存管理模块265 系统实施与维护295.1 开发工具及方法描述295.1.1 MyEclipse及MySQL简介295.1.2 环境设置295.1.3 开发方法295.2 主要页面设计375.3 系统测试与维护38结 论40参考文献41致 谢42图目录图3.1 管理结构图6图3.2 工作流程图8图3.3 采购流程图10图3.4入库流程图11图3.5 出库流程图11图3.6 退库流程图11图3.7关联图12图3.8 第二层数据流程图13图4.1 系统模块图15图4.2 原材料E-R图16图4.3 仓库E-R图17图4.4 用户E-R17图4.5入库单E-R图18图4.6 出库单E-R图19图4.7 实体联系图19图4.1 实体联系图21图4.8用户管理模块图25图4.9 物料编码管理模块图25图4.10系统查询图26图4.11库存预警图26图4.12系统查询图27图4.13库存入库图27图4.14 材料出库图27图5.1 登陆页面36图5.2 页面结构37表目录表4.1 原材料表19表4.2 仓库表20表4.3 员工表20表4.4入库单表20表4.5 出库单表211 绪 论1.1 选题背景及意义库存管理一直是企业管理中最令人注目的焦点所在,它直接影响生产与销售,关系到企业经济效益的实现。库存的有效管理对企业顾客服务水平以及因供应商而产生的相关成本控制产生了重大的影响。库存管理在很大程度上被看作是满足企业特定短期目标的日常工作,但是,它在企业短期、中期和长期发展中都扮演了很重要的角色,因此,在现代企业中,库存与库存管理越来越为企业经营者所重视。库存管理系统是一个企业单位不可缺少的部分,它的内容对于各类生产企业的决策者和管理者来说都至关重要,所以库存管理系统应该能够为用户提供充足的信息和快捷的数据处理手段。作为计算机应用的一部分,使用计算机对库存信息进行管理,与手工管理比较,有着无法比拟的优点。例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、成本低等。这些优点能够极大地提高库存管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。AB公司是一家中小型的制造企业,仓库的大部分物资就是其生产所需的原材料,目前公司尚处于草创阶段,仓库管理机制不完善,尚存在许多问题。首先,库存管理工作大部分仍是靠手工进行的,信息化程度很低,仅仅用于文字和账表的处理。由于信息化程度不高,因此对于同一种材料的多次入库和多次领用,是很难计算实时库存的,即使材料入库和材料领用是采用集中记账方式,但又为材料的采购查询和消耗查询带来困难,不能动态反映实时库存和消耗,管理效率低下。其次,信息不能共享,各部门之间的沟通又不及时,生产部门根本不能及时了解库存状况,因此对于生产的组织和计划就显得被动和盲目;采购部门不能及时了解原材料的消耗和库存,无法把握和控制原材料采购的进度和时机;财务部门就无法真正进行成本核算和成本控制。购买大型通用库存管理系统,对中小型企业来说,又需要付出昂贵的代价,而且库存管理项目不一定完全符合企业库存管理的需求。因此根据企业目前实际的库存管理情况开发一套库存管理系统是十分必要的。2 库存管理系统概述2.1 库存管理的概念及发展状况美国生产与库存管理协会(APICS)把库存定义为“以支持生产、维护、操作和客户服务为目的而存储的各种物料,材料和在制品、维修件和生产消耗品、成品和备件等。”库存是企业经营管理所必须的,具有其必然性或目的性,主要体现在以下几个方面:(1)拥有库存可以预防需求与供应的波动,预防不确定性、随机的需求变化。(2)可以保持生产的连续性和稳定性。(3)可以以经济批量订货,降低采购成本。大批量采购可以有价格折扣,避免原材料上涨。1913年,Harris提出了经济批量订购模型(EOQ)。同年,Raymond提出了生产批量模型,该模型只适用于单品种、单工序的批量问题;Magee提出了多品种、单一工序的批量优化模型,解决了生产进度的干涉问题;Maxwell对马格模型进行了修正,提出了有能力限制条件下的最优批量模型。1934年,Wilson重新提出了经济批量订购模型。从此库存管理的研究开始迅速发展起来,大量的库存模型被研究出来并在实践中应用有一定的经济效益。到了70年代,JIT库存管理被提出,颠覆了人们对库存模型的研究,一些企业也确实从中得到了很大的利益,尤其是在丰田这个理论被提出的地方。JIT体系下,产品完工时正好是要运输给顾客的时候;同样,材料,零部件等到达某一生产工序时正好是该工序准备开始生产之时。没有任何需要的材料被采购入库,没有任何不需要的产成品被加工出来,所有的“存货”都在生产线上,由此使库存降低到最低程度。90年代后期,库存管理在供应链中的应用的研究被认为是很务实的一种理论。纵观近几年国内外学者在库存理论上的研究,其焦点主要集中在三个方面:1)针对于经典库存控制模型的研究;2)在供应链环境下的库存管理研究;3)库存管理软件的研究。接下来介绍几种典型的库存控制模型:(1)确定型库存模型,主要有两种,一是周期性检查模型二是连续型检查模型。Harris的EOQ公式在世纪中得到广泛的应用,也取得比较明显的经济效果,但其中也有很大的缺陷,这个公式考虑的是比较理想的状态,而实际上这个模型收到很多实际因素的制约。(2)随机型库存模型:在实际应用中,库存都是随机的、不可预料的。随机型库存模型要解决的问题是确定经济订货批量或经济订货期、确定安全库存量、确定订货点和订货后最大库存量。随机型库存模型也分连续性检查和周期性检查两种情形。当需求量、提前期同时为随机变量时,库存模型较为复杂。2.2 库存管理系统的定义及发展状况库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备、易使用等特点。目前国内外关于库存管理信息系统的研究基本分为两大类,一类是专门针对特定企业开发的库存管理信息系统但是由于这类系统是针对具体企业设计的,它并不适合所有企业,因为各个企业的特点是不同的。第二类就是对目前炒的很热的ERP系统的研究,目前国内外有很多ERP厂商,比较著名的有以下几家,如国际上的SAP、JDE和ORACLE三大厂商,国内的用友、金蝶、浪潮等八大厂商。目前国内外的各种ERP软件功能重点不同,面向对象不同,有的面向大企业、集团化管理,有的面向中小企业以财务核算为主。而由于我国市场环境等条件的限制,很多企业应用ERP困难重重,出现了很多问题。目前的库存管理系统,大部分是与MRP、ERP等大型管理系统接口使用的,属于其子系统。也有一部分的库存管理智能系统,上升到智能决策的高度,使库存管理的内容不仅仅是记录出入库等常规操作,更是能决定订货时间与订货数量的一个智能决策系统。而目前实际应用中主要有如下几种库存管理系统:定量订货管理系统、定期订货管理系统、非强制补充供货管理系统、JIT库存管理系统、MRP库存管理系统、MRP库存管理系统、DRP库存管理系统、ERP库存管理系统。2.3相关知识及技术背景此系统主要用JSP技术来实现,以下详细介绍JAVA及JSP技术的优缺点。2.3.1 JAVA以及JSP相关技术介绍Java是一种纯面向对象、跨平台、可重用,支持语言级多线程并发技术的分布式计算环境的高级语言,它与Web技术的有机结合十分适合进行网络计算和动态多媒体信息的并行发布。它也是一种功能强大的面向对象的语言,由于它的面向目标的特性,所以完全可以用面向对象技术与方法来开发和实现,这符合最新的软件开发规范要求.由于使用了虚拟机技术,Java在目标代码级实现了平台的无关性,用100%纯Java可以避免对平台的依赖性;通过遵守它的语言规则和避免使用其它语言库,可以保持程序的可移植性,还可以编译成独立于机器的字节码,运行在任何Java平台上;它的垃圾收集功能可以避免使用内存时出现问题。Java具有简单、面向对象、分布式,解释型、健壮、安全、可移植等多种特性,更重要的是,它跨平台的特性满足了“网络计算机”的思想。Java适合有广阔前景的分布式计算,它使COBRA对象几乎能在所有的平台上运行。Java小程序可下载到客户端的浏览器中执行,极大地丰富客户端界面的表现形式,提高了交互能力。它的灵活性远比CGI, ASP要大。组件可以是GUI控件,小应用程序等,并可用多种语言和工具来编写,这些独立的组件可重用或组合使用,更使用户的界面和交互能力进一步得到扩展。它的面向对象、JavaBeans组件结构和它的广泛涉及、容易扩展的API,可以更方便地重用那些经过测试的代码并引入尽量少的错误。2.3.2 MVC模式MV C (Model-View-Controller,模型一视图一控制器)是XeroxP ARC在八十年代为编程语言Smalltalk-80所发明的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。MV C 是 一个比较特殊的模式,它并不属于GOF所提及的23个设计模式之列,但是他在GOF的书(设计模式:可复用面向对象软件的基础)中作为一个重要的例子被提出来,并给予了很高的评价。一般来讲,GOF所提及的23个模式是一些中级模式,在它下面还可以抽象出一些更为一般的低层模式,在其生面也可以通过组合来得到的高级模式。MVC就可以看作是一些中级模式进行组合之后的结果。2.3.3 JSP简介JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页Html文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。3 A公司库存管理系统分析系统分析的任务是尽可能弄清用户对信息的需求,调查现有信息系统的资源,完成新系统的逻辑设计。系统分析是使整个管理信息系统设计达到合理和优化的重要步骤。3.1 AB公司简介AB公司是一家集研发、生产、营销、服务为一体的专业制造机箱机柜的民营股份制企业。公司致力于用先进的制造技术为通信网络、工业自动化、低压配电、电力工程等行业提供专业的机箱机柜,以保证电子设备运行的安全性。公司于2009年创办并开始试运营,公司发展至今,主要设立以下几个部门:财务部、人事行政部、生产部、技术部、品质部、采购部、销售部等。公司人员从最初的20多人发展至现在的100人。目前正逐步的走向正轨,规模逐渐变大,订单不断增加,受人员和硬件条件等因素所限,订单种类繁多而数量不多,并且交货周期通常比较短,生产任务繁重。以公司目前的种种的困难来说需要提高各方面的反应速度。股东大会总经理生产副总销售副总采购副总人事行政生产部技术部销售部物流部品质部采购部财务部图3.1 管理结构图3.1.1 AB公司库存现状公司仓库的大部分物资就是其生产所需的原材料或者辅助材料,缺少任何一样东西都会对生产的进行及交货期产生很大的影响。AB公司目前的采购流程分为:(1)填写采购申请单;(2)采购审批;(3)采购;其中采购周期不一定,对于标准常见的材料,2-3天能到货,而定制的材料需要7天甚至更长。目前公司为解决物料到货不及时有两种采购方法,一种是对一些常用的材料制定安全库存,一旦仓库库存低于警戒数字,就开始采购;另外是当生产计划下达的时候由计划部门制定采购计划由采购按照计划的时间安排采购。然而由于仓库管理机制不完善,生产进行到最后或多或少会存在一些问题。笔者认为,AB司之所以会如此的原因主要是(一)不能预计订单由于自身因素不能进行充足的备货,尤其是其中需要定制的高价值的原材料;(二)仓库管理本省存在很多问题,首先,库存管理工作大部分仍是靠手工进行的,信息化程度很低,仅仅用于文字和账表的处理。由于信息化程度不高,因此对于同一种材料的多次入库和多次领用,是很难计算实时库存的,即使材料入库和材料领用是采用集中记账方式,但又为材料的采购查询和消耗查询带来困难,不能动态反映实时库存和消耗,管理效率低下。其次,信息不能共享,各部门之间的沟通又不及时,生产部门根本不能及时了解库存状况,因此对于生产的组织和计划就显得被动和盲目;采购部门不能及时了解原材料的消耗和库存,无法把握和控制原材料采购的进度和时机;财务部门就无法真正进行成本核算和成本控制。购买大型通用库存管理系统,对中小型企业来说,又需要付出昂贵的代价,而且库存管理项目不一定完全符合企业库存管理的需求。因此笔者认为根据企业目前实际的库存管理情况开发一套库存管理系统是十分必要的。3.2库存管理需求描述 目前公司的从接到订单到最后生产完成情况的流程如下图所示。由销售接到订单转化为合同评审表,并根据此表进行物料和工序的流转。而仓库在此的作用就是适时适量的提供物料保证生产能有效有序的进行。物料所走的是另一条线,从采购申请到采购以及检验入库到最后的根据单号领取物料,主要的流程都如下所示。本文将具体介绍AB司各业务的流程,据此绘出业务流程图以及数据流程图,根据AB司实际的需求设计适用的库存管理系统。销售合同评审订单计划采购生产技术生产计划图纸、工艺品质物料仓库入库物料出库产品生产线生产检验合同采购计划图3.2 工作流程图3.2.1库存功能需求分析 根据公司现状的分析,完成一个能进行信息化的操作和统计以及能进行数据共享的系统。主要的的目的是方便操作以及自动生成报表以及预警。主要实现以下功能(1)系统提供不同的权限设置,即根据公司人员的工作任务等分配不同的权限。(2)设置存货编码,建立一个编码原则,根据材料的特性等对每个物品进行编码,存货编码是仓库物料的唯一标识,一个物品对应一个物料编码,根据这个编码进行查询等。(3)入库单、出库单、退库单、盘点等的增加、删除、修改和审核等操作,单据一旦审核将不能修改,并根据单据更新数据库中的数据(4)提供查询功能,不同的权限能够查询不同的内容,主要分为库存查询,单据查询和报表查询(5)实时更新库存清单以保证数据的准确性,自动生产报表以及报表导出的功能,根据入库等的操作,自动生成各式报表,方便仓管人员月末结账(6)提供预警功能,在库存数量达到某个点时提醒仓库人员。3.2.2对象需求分析系统管理员:作为系统基础数据的操作人员拥有最高权限,可设置系统使用人员并分配其权限,以及设置和分配物料编码,这些为其主要工作。仓库管理员:主要是对仓库管理模块进行操作,入库、出库、退库、盘点等工作都由仓库管理员来完成,每个仓库管理员仅可操作自己负责的仓库。公司管理人员:公司管理人员可以查看库存数据以及原材料价格及各类报表,让其可以了解仓库的情况;可以查看成品情况;但不能对库存管理及计划(普通员工):仅可以查看原材料库存情况,计划人员可以根据原材料的库存情况下达采购计划,也可查询存货编码。3.3流程分析3.3.1业务流程图公司的库存管理主要分为几个内容,入库、出库、退库、盘点等。目前公司的入库出库流程基本情况是:由计划或者生产提出采购申请,然后采购进行采购,完成采购后不论是供应商送货或者还是物流配送或者直接采购都由采购进行确认并填写物料检验申请交由品质部进行物品的检验,确认质量没有问题之后仓库管理员方能进行核对数量、填写入库单等入库的操作。而出库的流程则相对简单,由于没有计划部门在这方面的控制,直接由生产线的物料员凭借生产文员根据订单的数量填写的领料单去仓库进行领料。因为生产中总有不可避免的损失,仓库制定了一系列的规范,一般数量多价值小的物料可以在出库的时候多发料一般控制在10%以内,而价值高的东西基本没有多余的发料,超领的部分需要部门经理进行签字,并查找原因方能进行出库。而退库则是当数量发生变化等其他因素造成的数量过多堆积在生产线上,由生产线填写退库单交由仓库,由仓库重新入库。从以上的基本情况以及目前的运转情况画出系统的系统流程图:1、采购:AB司的采购从申请的提出到最后采购成功,所走的流程如下图所示。由于本系统相对较简单,涉及的人员没有这么多,系统中并未这部分的内容。计划员查看库存库存清单生产计划采购申请单 复核管理人员 采购采购员订单文件图3.3 采购流程图2、入库:采购员检验申请单入库验收库存文件检验订单文件检验员入库入库单保管员合法入库单库存计划图3.4入库流程图3、出库保管员库存文件领料单物料员领料出库单签收合法出库单图3.5 出库流程图4、退库物料员退料单库存文件退料合法退库单保管员图3.6 退库流程图3.3.2第一层数据流程图关联图:系统外部实体主要有仓库保管人员、财务部、计划,这些人是这个系统主要的操作人员。基本的数据信息都是由保管员进行输入和提供;而财务和计划主要是这些信息的使用人员,可以通过这个系统得到他们想要的数据和信息;当然还有其他人员,比如生产线的物料员、公司管理人员等,都有这个系统的部分操作权。下图主要描述的是这个系统的核心使用人员和系统之间的关联图。库存管理系统保管员财务计划库存清单库存报表用户设置、编码设置数据输入、状态改变库存清单、库存报表库存预警系统管理员1图3.7关联图3.3.3 第二层数据流程图初步分析,这个系统可以分为几个子系统,库存管理、查询系统、系统管理等三个部分。库存管理主要实现的是库存信息的更新操作;查询系统则是实现仓库的各类数据、报表等;系统管理则是完成对操作人员的权限设置等。分别产生库存情况、操作员表、入库记录、出库记录、仓库表等。更新存货档案1保管员存货档案变动原材料档案更新出入库表出入库记录物品出入库操作计算库存数量查询库存预警情况查看生成报表财务计划查询库存情况查询查询报表报表查看1.11.31.41.21.51.71.6图3.8 第二层数据流程图4 系统设计4.1 系统整体设计根据实际,本设计应该包括三个主要模块,系统管理模块,库存查询模块,以及库存管理模块。系统管理模块实现对整个系统的管理,主要是操作人员的增加、删除和修改,尤其重要的是权限的设置;第二则是对物料编码及存货档案进行设置和修改,是整个系统的基础数据,之后的操作都是基于这些数据上的。库存查询模块主要实现存货清单以及预警数据的查询。存货清单可以根据物料编码或者是仓库名称查询,主要显示原材料的当前库存数量;而预警查询则是显示库存数量小于预警数量的物料名称及当前库存。除此辅以报表以及单据的查询,为公司的各相关人员提供准确的数据。库存管理模块,主要由仓库管理人员进行操作,完成入库、出库、退库。系统自动显示所有的入库以及出库单等,并可以增加和修改单据,并有导出excel的功能。4.1.1 环境配置News System系统都基于JDK1.6开发并测试,采用Tomcat 6.0做Web服务器,并在基于MyEclipse 6.5的平台上开发并测试运行,数据库采用关系数据库MySQL 5.0。如此搭建出一个稳定的适于系统的应用开发运行环境。Java开发包J2SDK(Java 2 Software Development Kit)是基于Java软件开发的前提。J2SDK简称JDK,JDK1.6是目前的主打。并对系统环境进行配置:设置path及java_path。Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。曾被JavaWorld杂志评为最具创新的Java产品(Most Inovative Java Product),同时它又是Sun公司官方推荐的Servlet和JSP容器。MyEclipse集成了对主流J2EE组件开发插件的支持,大大简化了J2EE应用的开发。MySQL是由MySQL DB公司开发、发布并支持的全世界最流行的开源SQL数据库管理系统,目前最新版本为MySQL5.0,对存储过程、触发器和视图有了很好的支持,成为开源数据库之首选。4.1.2 总体结构 库存管理系统系统管理库存查询库存管理原料编码设置报表管理库存预警库存清单存货编码退库库管理出库管理入库管理用户设置图4.1 系统模块图4.1.3 输入、输出设计输入设计必须根据输入设计的要求来确定。输出数据的正确性直接影响处理结果的正确性,一般来说,输入数据的收集和录入是比较费事的,需要大量人力和设备,如果输入数据有误,即使计算和处理过程正确,也无法获得可靠的输出信息。同时,输入设计决定着人机交互的效率。因此,在输入设计中,应尽量控制人工输入数据总量。在实际输入数据时,只需输入基本数据,其它的数据可以通过计算由系统自动产生。本系统的输入方式采用鼠标和键盘相结合的输入方法。输出是系统产生的结果或提供的信息。对于大多数用户来说,输出是系统开发目的和使用效果评价的标准。尽管有些用户可能直接使用系统或从系统输入数据,但都要应用系统输出的信息,输出设计的目的正是为了正确及时地反映和组成用于生产和服务部门的有用信息,因此,系统设计过程与实施过程相反,是从输出设计到输入设计。即先确定要得到哪些信息,再考虑为了得到这些信息,需要准备哪些原始资料作为输入。4.1.4 系统报错设计在设计系统时,对于可能出现的错误,作相应的处理,对于系统管理员来说可以很轻松地监控系统运行情况。数据表的建立和删除由数据库系统管理员予以维护。经过前面需求分析,明确了系统的任务和目标,按照规划所制定的技术路线和计划目标,进行设计,实现所要达到的功能。设计时首先要考虑网站的功能,如奖学金系统需要有哪些人参与,系统中数据的存放与查看特别是成绩管理部分,以及对系统的管理等。4.2 数据库设计一个成功的管理信息系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。数据库的设计合理与否决定着系统开发成败,只有建立了合理稳定的数据库结构才能有效保证系统信息的集成与共享,并消除冗余、不完整与不一致,同时使系统易维护,易扩充。前面在系统分析中,已经对数据库的设计做了详细的概念与逻辑分析,通过分析后,后面的设计部分就比较全面了,下面就具体的实现过程物理结构设计方面进行了一些介绍。4.2.1 数据库概念模型设计通过分析这个奖学金评定系统的业务流程与数据流程,在根据需求分析中不同的对象有不同的需求,初步确定了数据库要保存的数据信息。对用户需求进行分析是数据设计的第一个阶段,不断地调查与研究用户需求,了解相关业务运作流程和系统需求,是设计概念模型的基础。以下是根据需求分析所设计网站所涉及的实体及实体联系,即E-R图。1. 原材料E-R图预警数物料编码物料名称原材料规格状态仓库号计量单位库存数量图4.2 原材料E-R图2. 仓库E-R图仓库号仓库名称存货类别地点工号仓库图4.3 仓库E-R图3. 用户E-R图密码员工工号姓名权限图4.4 用户E-R4.入库单E-R图入库单编号金额备注工号入库日期物料编码单价入库数量入库单图4.5入库单E-R图5. 出库单E-R图出库单编号金额备注工号出库日期物料编码单价出库数量出库单图4.6 出库单E-R图N111MNN111N1填写原材料出库单员工仓库入库单填写入库管理存放出库图4.7 实体联系图4.2.2 数据库逻辑结构设计将上面的实体联系图转化为关系模型,即数据库中包含的表如下:原材料(物料编码,物料名称,规格,计量单位,数量,仓库号,状态,预警数);仓库(仓库号,名称,存货类别,管理人员,地点);员工(工号,姓名,部门,权限,密码);入库单(入库单编号,日期,物料编码,单价,数量,金额,备注,工号);出库单(出库单编号,日期,物料编码,单价,数量,金额,备注,工号)。4.2.3 数据库物理设计由系统的功能可知,需要建立相应的数据表分别存储公司的员工、原材料、单据、报表等资料,通过前面的分析,应建立以下几个实体: 分别为原材料、仓库、员工、入库单、出库单等。也就是说在数据库中主要存在以下几张表:表4.1 原材料表字段名称数据类型主键是否允许为空描述MidInt否物料编码Mnamevarchar否物料名称Specificationvarchar是规格StatusInt否状态widInt否仓库号unitvarchar否计量单位QuantityInt否库存数量表4.2 仓库表字段名称数据类型主键是否允许为空描述WidInt否仓库号WnameVarchar否仓库名称CategoryVarchar否存货类别AddVarchar否仓库地址IDInt否管理员工号表4.3 员工表字段名称数据类型主键是否允许为空描述IDInt否员工工号NameVarchar否员工姓名DepartmentVarchar否员工部门CompetenceInt否员工系统权限表4.4入库单表字段名称数据类型主键是否允许为空描述RkidInt否入库单编号RdateDate否