1、摘 要随着着公司逐渐发展壮大,其业务膨胀给后勤仓储管理系统带来了许多问题,仓储管理软件是当前较为有效解决方案,仓储管理系统是公司管理系统一某些,其发挥作用越来越重要,能给公司带来巨大效益。本文将依照软件工程理论,针对公司仓储管理系统面临实际问题,开发出基于Java技术仓储管理系统。本文,一方面分析仓储系统详细功能,然后依照实际需要进行需求分析,并将需求分析以电子文档方式反馈给顾客,和顾客进行沟通进一步确认需求,而后依照需求分析,使用系统分析和设计构造化分析办法,以及数据库建模,建立了基于数据库模型,后台数据使用Mysql完毕。基于开放结开发构造Java.EE,实现了系统登陆模块、供应商信息管理
2、模块、货品信息管理模块、入库存报表生成模块、出库报表生产模块等;最后对系统进行调试并总结,同步对后来实际工作指明了方向。核心词: Java技术 软件工程理论 需求分析 数据库建模目 录摘 要1目 录21 引 言31.1选题背景及意义31.2课题任务42 有关技术综述52.1Java技术简介及有关原理52.2 Struts63 系统分析与设计103.1 系统分析103.2 系统环境113.3 需求分析113.4 系统功能设计144 数据库设计204.1 概述204.2 E-R图204.3 数据表215 系统功能实现265.1 系统功能简述265.2 模块化功能实现266 调 试407 总 结43
3、参照文献44致 谢451 引 言1.1选题背景及意义在公司发展过程中,随着着业务激增给公司管理带来了许多问题,作为公司管理信息系统可以有效地解决此类问题。而仓储管理员理系统作为公司管理系统重要构成某些,它可以给公司带来巨大经济效益,采用仓储管理员理系统将使公司变化老式手工记录模式,应用数据库技术使海量数据存储与解决变得轻而易举,如此大幅度缩短仓储业务流程解决时间,提高公司仓储管理水平,适应市场经济发展形势。早在70年代,计算机技术就最先被引用到了仓储和物流配送领域当中,随着着物流市场和产品讯息疾速发展,物流软件市场也应运而生,并且迅速发展壮大起来,涌现出了一大批仓储物流应用软件;物流软件作为公
4、司管理应用软件,物流软件,相比其她软件提供了先进,效率高特点,可靠性和安全性,并且具备较小实行风险和实行优势,其效益明显,操作快捷等特点,同步还具备实行成本低,效益明显、见效快等长处。依照物流软件构造分类,就当前物流软件所使用范畴来计,物流软件包括如下几种子系统:仓储管理员理系统(WMS)、运送管理系统(TMS)、定单管理系统(OMS)、服务管理系统(SMS)等,其中仓储管理员理系统是提供一整套仓库业务及作业管理应用软件,通过仓储管理员理系统可以实现库位分派自动化及智能化操作,提高仓库作业效率,提供精确库存、库位信息,实现仓储管理员理动态化管理。国内自从加入WTO后,市场经济环境下公司竞争越来
5、越激烈,国内许多公司由于信息记录、收集、汇总、解决分析尚处在初级水平阶段,记录不规范,记录信息分散,随机性,单一应用,信息收集不及时,不全面,不完善,不科学,质量,和主体多元化,不一致成果,解决手段落后,效率低。仓储管理员理系统是通过存储,出库,库存,库存调节,整合批次管理、物料相应、账物符合、库存清点、质检查收管理、实时库存动态管理等业务功能,对库存业务成本管理全过程进行有效控制和跟踪,实现完善公司仓储信息管理。仓储管理员理系统投入,将使仓库管理更加正规化,为产品出入仓储管理员理部门和销售部门提供便利,减少了仓库呆滞损耗;公司可以跟踪服务来销售产品,同步消除了销售人员需要依照过去做法来验证新
6、自户外用品麻烦,提高客户服务效率,同步节约有关费用,避免不必要业务纠纷,维护公司长期与顾客建立良好信誉。1.2课题任务本文将依照软件工程理论,针对公司仓储管理系统面临实际问题,对仓储管理系统进行分析、设计与实现,开发出基于Java技术仓储管理系统,以仓储业务为核心驱动模式,使用分层架构实现详细某些。本文,一方面分析仓储系统详细功能,然后依照实际需要进行需求分析,并将需求分析以电子文档方式反馈给顾客,和顾客进行沟通进一步确认需求,而后依照需求分析,使用系统分析和设计构造化分析办法,以及数据库建模,建立了基于数据库模型,后台数据使用Mysql完毕。基于开放结开发构造Java.EE,实现了系统登陆模
7、块、供应商信息管理模块、货品信息管理模块、入库存报表生成模块、出库报表生产模块等;最后对系统进行调试并总结,同步对后来实际工作指明了方向。2 有关技术综述2.1Java技术简介及有关原理Java语言,是一种开发语言,致力于网络应用软件开发,其具备跨平台性、安全性、完全面向对象等长处,使其成为互联网应用软件开发领导者,Java合用于分布式计算环境面向对象设计编程语言,其具备简窒、面对对象、分站式、解析型、安全、可靠、可移值、高性能、多线程等特点。公司级多层应用系统开发始终是所有公司面临难题,软件开发商和众多程序员,始终在追求和急切期待一种成熟、原则公司级应用平台,来简化和规范公司级应用系统开发和
8、布置。Java技术浮现,特别是J2EE(Java2 Platform Enterprise Edition)推出,正是人们渴望成果,使得公司级应用系统开发,由此变得更迅速和以便。要指出是,J2EE为不同厂商创立平台产品提供了统一原则,它自身是一种原则,实现了不同J2EE平台产品之间交互,建立在Java EE规范框架之上公司级应用系统基本构造模块组件就是J2EE平台,从Web应用到复杂分布式公司级应用,基本所有业务应用,所有可以在此技术框架基本上进行构造,本文使用组件技术重要有Enterprise JavaBean、Servlet、JSP网页等。2.1.1 Enterprise JavaBean
9、(EJB)Enterprise JavaBean(EJB)是J2EE平台核心,也是J2EE得到业界广泛关注和支持重要因素。众所周知,J2EE其中一种重要目的,使公司级多层应用系统开发变得简朴,而业务逻辑开发才是程序员们专研对象,EJB它自身就是一种规范,正是基于此类思维服务器端技术,一种可重用组件框架被其重新定义了,以实现分站式、面向对象业务逻辑。EJB核心思想,便是将业务逻辑与底层系统逻辑完全分离开来,软件开发者要将工作重心转移到业务逻辑上来,使用EJB容器来实现目录服务和底层系统逻辑开发,包括事务解决、持久性、安全性等。依照功能不同,Enterprise JvavaBean三种定义涉及,实
10、体Bean(Entity Bean)、会话Bean(Session Bean)和消息驱动Bean(MessageDriven Bean),有状态和无状态是会话Bean两种形式,多数商业逻辑模仿要以使用无状态会话Bean,比喻价格计算等,普通模仿一种客户会话,使用有状态会话Bean,它会暂时保存客户信息,根据客户需求,选取调用其他Bean来实现数据存取,当服务器关闭时或被客户断开连接时,状态信息或者数据在两种状态下都不会保存,会话Bean也就随之消失。一种数据保存,是通过实体Bean模仿业务数据来实现,其可以示意为状态信息或数据库中一条记录。当服务器关闭或客户断开连接后,实体Bean依然可以保证
11、其数据得以存储;讯息驱动Bean行为同会话Bean很相象,有差别便是,仅需要发送消息时向这些Bean,才调用讯息驱动Bean,比喻,在需要时刻,发送顾客确认信息等。2.1.2 JSP(Java Server Pages)JSP(Java Server Pages)是一种动态网页技术原则,它由Sun Microsystems 公司与其她公司一同参加建立原则,JSP是基于Servlet技术基本上,发展起来,处在逐渐发展完善之中,现已成为Java服务器编程核心构成某些。JSP是联合markup(HTML和XML)和Java代码来共同解决一种动静页面。每页初次被调用时,通过JSP引擎被编译成Servl
12、et,而后被执行,之后屡次调用时,实行编译过Servlet。JSP供应了各种办法访问Java class、Servlet、Applets和Web Server,于是,Web运用功能就可以分解成各种明拟定义公用接口组件,联合JSP将它们结合在一起.2.1.3 ServletServlet是基于祈求/响应机制组件,其用来扩展Web服务器功能,Servlet从客户端(如Web浏览器)获取祈求,继而,将反映成果返回到客户端。鉴于Servlet这种特性,它特别合用于Web运用,Servlet和EJB组件差别在于,EJB组件供应服务器端组件特性,不能悉数合用于Servlet,而单一祈求/响应任务解决更适合
13、于Servlet,并且它不需要应用服务器所供应复杂服务支持。2.2 StrutsStruts 框架是由 Apache 基金会在 Jakarta中推出一种子项目,在英文中是支架、支柱意思,这也反映了在Web应用程序开发中起着重要作用, Struts为Web应用程序总体框架,可以使开发人员把在某些精力集中在,怎么解决实际业务题目上来,与此同步 Struts 框架也容许开发人员凭据实际需要实行拓展和定制,从而可以更好适应顾客需求。选用 Struts 可以简化MVC 设计模型下 Web 运用开发设计,较好地贯彻代码重用,把开发人员从某些繁琐工作中解放出来,迅速开发出可以充分发挥 JSP/Servlet
14、 长处、并拥有强可扩展性 Web 运用。2.2.1 MVC80年代Smalltalk开发了一种软件设计模型,即,模型-视图-控制器(MVC)是,如下图2-1所示。模型(Model),主体是应用程序,Model表达业务数据或业务逻辑;视图(View),应用程序中顾客界面关联某些,顾客可以看到并与之交互; 控制器(controller),其工作便是根据顾客录入,管制顾客界面数据体现和更新model。MVC式涌现,不但贯彻了功能和显示模块分解,同步它还使应用系统可维护性、可扩展性、可移植性和组件可复用性在初期程序中得到了改进,如若不注意对象功能和显示解耦合,经常会导致程序繁杂及维护困难。许多VB,D
15、elphi等RAD均有这种现象,甚至当前C#,Java有时候也会呈现出,把业务逻辑写在显示模块中问题,MVC设计模型在初期就提出了这一问题,但在Web开发中植入MVC却是极其困难。重要因素:一是在初期Web项目开发中,程序语言和HTML分离始终难以实现。CGI程式以字符串输出方式,动态地形成HTML内容;其后随着着脚本语言涌现,前面程式又被调了过来,改为将脚本语言程序嵌入HTML内容中;这两种办法有一种共同缺陷,就是它们总是不能将程序语言和HTML分隔开来。第二是,脚本语言功能比较弱,缺少支撑MVC设计模型某些必须基本技能,直到基于J2EEJSP Model 2问世时才得以改进,它用JSP完毕
16、了视图功能,用Servlet实现控制器功能,用JavaBean技术实现模型功能JSP Model 1 与 JSP Model 2,如下图2-2、2-3所示。状态变化状态查询告知变化视图选取顾客祈求办法调用模 型封装应用限度状态响应状态查询应用程序功能告知视图变化视 图解释模型模型更新祈求以送顾客输入给控制器容许控制器选取视图控 制 器定义应用程序行为顾客动作映射成模型更新选取影响视图事件图2-1 ,MVC组件模型关系和功能图234ReqiestJSPBROWSERJavaBeanResponse1Application ServerEnterprise Servers/Data Sources
17、图2-2 JSP Model 1Request5(Model)JavaBean(View)JSP(Controller)ServletBROWSERResponseEnterprise Servers/Data Sources1Instantiate23Application Server图2-3 JSP Model 22.2.2 Struts流程ActionServlet可以解决了Struts流程所有任务,详细工作流程如下图2-4所示。Http Servletorg.apache.struts.action.ActionServletorg.apache.struts.action.Repu
18、estProcessorSerializableorg.apache.struts.action.ActionformActionConfigorg.apache.struts.action.ActionMappingorg.apache.struts.action.action.ActionActionMessages Serializableorg.apache.struts.action.ActionErrorsActionConfigorg.apache.struts.action.ActionForward图2-4 Struts工作流程ActionServlet是一种FrontCon
19、troller,是一种原则化Servlet,其运用RequestProcessor来解决转发来request,ActionMapping是ActionConfig子类,是对struts-config.xml一种映射,从中可以获得所有信息,RequestProcessor根据提交过来url。ActionForm运用了ViewHelper模型,它是对HTMLform一种包装。此中涉及有validate办法,用于验证form有效性。ActionForm是一种契合JavaBean规范类,其所有特性都应满足get和set相应。针对某些繁杂系统,可以选用DynaActionForm来构建动态Form,即运
20、用预制参数来生成Form,如此可以更灵活扩展程序。ActionErrors是对错误信息打包,只要在执行action或者form.validate中浮现异常,便可涎生一种ActionError,并加入到ActionErrors。在Form考证过程中,一旦有Error发生,则会将页面重新导向至输入页,并提示错误。 RequsestHandler业务逻辑实行使用Action,每个Action只建立一种instance,Action并不是线程安全,因而,不应当在Action中访问特定资源;普通来说,应改用 Business Delegate 模型来对Business tier进行访问以达到解除耦合。
21、Struts供应了各种Action供选取调用,普通Action只可以通过调用execute贯彻一项任务,而DispatchAction可以依照配备参数贯彻,不是仅仅进入execute()函数,这样可以执行各种任务,LookupDispatchAction可以凭据提交表单按钮名称来执行函数命令。3 系统分析与设计3.1 系统分析软件系统设计之初,首要拟定顾客需求,究竟规定软件系统完毕什么任务,因此此阶段基本任务是分析、理解顾客需求,将顾客需求用书面形式表达出来,此阶段不是拟定系统怎么完毕它运营工作,仅是拟定系统必要实现哪些工作,即是体现目的系统完整、精确、清晰、详细特性。系统开发基本便是系统分析
22、成果,此关系到开发成败和软件产品质量优劣。在全面客观系统分析基本上,依照顾客提出系统功能进行相应功能设计。1)系统功能概述货品出入仓储管理员理货品进入仓库,登记记录,货品出库也要登记记录,这是仓库业务管理重要内容。进入仓库货品,从入库申请人员向仓储管理员提交货品开始,入库申请人向仓储管理员提交货品和入库申请单,入库申请单记录本次入库货品名称、数量、提交货品单位、执行提交货品人员以及货品注意事项等信息。仓储管理员根据送货人员提供入库申请单对待入库货品进行检查。若待入库货品与入库申请单信息一致,则容许入库;若不一致,则禁止入库,请提交货品单位或人员重新开具入库申请单。对容许入库货品,执行仓储管理员
23、要对货品信息进行登记,这些信息涉及入库货品名称、数量、时间、送货入库人员信息、执行货品入库管理员。进行登记后,将货品存入仓库,货品入库后,执行入库操作仓储管理员给提出入库申请入库人员开具入库单据,流程结束。出入库记录查询及报表仓库管理人员要对仓库存储货品信息、记录等及时掌握并理解,这样才干随时把控仓库运营动态,如此才有也许会使仓库管理保持良好运营状态。因此,普通仓储管理员要可以提供仓库入库、出库记录查询功能,同步可以将出库、入库记录生成报表,供有关管理人员使用,因此,对入库、出库记录查询,并将这些信息生成报表是仓储管理员理系统重要功能之一。货品信息管理仓库存储所有货品,关于货品自身数据信息,对
24、于货品存储是极其重要因素,譬如,什么货品需要防潮办法,什么货品需要轻拿轻放等,因而,对货品自身信息登记、管理是仓储管理员理重要内容之一。其她信息管理除了以上提到某些功能外,仓储管理员理系统还应当能对某些其她信息进行管理。比喻,针对每个仓库来说,均有详细库位用来存储货品,仓储管理员要对这些存储库位进行管理,每个库房均有某些仓储管理员,对这些仓储管理员管理,也是仓储管理员理系统功能之一。3.2 系统环境硬件环境服务器端:硬件配备为2G以上内存,CPU为四核以上,硬盘容量为1T计算机。通信网络:互联网,网络合同为HTTP、TCP/IP。软件环境:服务器端:操作系统Windows数据库服务器:MySQ
25、L Server 4.1Web服务器:Apache Tomcat 6.0技术架构平台:Sun J2DK 1.6客户端: 操作系统: WindowsXP/Win7屏幕辨别率推荐为:1024*768或以上3.3 需求分析3.3.1 仓储管理员理系统系统功能分析,是在系统开发整体任务基本实现,仓储管理员理系统需配备功能重要有:仓储管理员理对各种货品信息输入,涉及货品、供应商、客户、仓库信息等。仓储管理员对各种货品数据信息查询、记录、修改和维护,包括货品、票据查询,货品出入、人员操作记录等各种信息修改与维护。打印报表生成。 在货品管理中加入最高储备和最低储备字段,对仓库中产品实现监控和报警。操作日记管
26、理。仓储管理员理系统使用协助。3.3.1 系统流程图(下图)核验货品清单限度入库单报损筹划表出库单库存数据库存备份程序出库单打印程序库存备份库存分析程序库存查询程序查询库存信息图3-1 系统流程图3.3.1 数据流程图剖析并调查有关仓储管理员理信息实际需求,得出数据流程图3-2,如下所示。通过对仓储管理员理管理内容和数据流程分析,设计数据项和数据构造如下: 货品信息,包括数据项有编号、货品名称、类别、货品规格、计量单位、最高/最低限量、备注等。 仓库信息,涉及数据项有编号、仓库名称、仓库地点、保管员编号、备注等。库存状态信息,包括数据项有编号、货品编号、库存数目、库房编号等。入库单信息,包括数
27、据项有编号、货品编号、经办人编号、入库日期、单价、数量、供应商编号、库房编号、定单状况、备注等。 出库单信息,包括数据项有编号、货品编号、经手人编号、出库日期、单价、出库数目、客户编号、仓库编号、定单状况、备注等。 举办月盘点信息,包括数据项编号、仓库编号、盘点日期、经手人编号、盘点数据等。 系统日记信息,包括数据项有顾客名、操作时间、操作内容等。顾客管理信息,包括数据项有顾客名、密码、权限等。 调入单、借出单、报损单、调拨单信息等,与入库单、出库单信息基本类同。管理员出库信息入库信息2.货品出库信息管理出库信息表入库信息表1.货品入库信息管理3.货品库存信息管理供应商库存信息表 管理员图3-
28、2 仓储管理员理系统数据流程图3.3.1 仓储管理员理系统权限此系统角色涉及两类,仓储部管理人员和仓储主管,其中仓储主管拥有整个系统最高权限。仓储部管理员:负责仓库货品出入管理,可凭据流向单贯彻出入库操作,详细权限设立如下:库存信息管理库检信息维护 入库单信息维护出库单信息维护报表信息管理 密码修改、清除信息等系统更改设立 供应商、仓库、客户等基本信息查询浏览等仓储部主管:负责整个仓库寻常运作作和管理,详细权限设立如下:部门信息维护和人员信息管理 审批权限报表信息管理 密码修改、数据库备份等系统设立3.4 系统功能设计依照仓储管理员理系统需求,设计了如下功能模块:1)管部信息管理模块为仓储部主
29、管提供对仓储部信息管理与维护功能。基本信息管理模块:为仓库管理员提供对客户信息、供货商信息、库房信息和仓库管理员信息管理维护,包括对信息查询、添加、修改和删除等操作。在库信息管理模块: a、库存信息管理模块:为仓库管理员提供对短线货品、货品信息管理维护,涉及对货品信息查询、添加、修改和删除等操作。 b、库检信息管理模块:为仓库管理员提供对产品库检信息、部件库检信息、礼物库检信息管理和维护,包括对信息查询、添加、修改和删除等操作。 出库信息管理模块:为仓库管理员提供检索、添加、修改和删除出库流向单(涉及:产品出库单、部件出库单、礼物出库单)操作,其中添加和删除操作后出库货检单要交由管理部审核。
30、入库信息管理模块:为仓库管理员提供检索、添加、修改和删除入库流向单(包括:部件、产品、礼物等入库单)操作、其中添加和删除操作后入库货检单要交由管理部审核。 报表信息管理模块:为仓库管理员提供对报表信息管理和维护,包括对报表信息检索、浏览和上交等操作。系统设立模块:为管理员提供实现对密码修改、清除表信息功能。2)货品信息管理模块仓储部职工管理模块:为仓储管理员供应实现对仓库部门信息管理与维护,包括对部门信息检索、添加、修改和删除等操作;仓库报表管理模块:为仓储管理员供应实现对报表信息管理与维护,包括对报表检索、浏览和删除等操作;仓库货检信息管理模块:为仓储管理员供应实现对货检信息管理与维护,涉及
31、对在库货检信息、入库货检信息和出库货检信息审核;基本信息管理模块:为仓储管理员供应实现对基本信息进行添加、删除、检索和浏览功能;系统设立模块:为管理员供应实现密码更改、数据库备份和恢复功能。用图例来进行系统建模,如下图3-3所示。仓库货检信息审核基本信息管理仓储部主管登陆仓储管理员入库信息管理仓储部信息管理在库信息管理出库信息管理报表信息管理仓储部系统维护图3-3 总体用例图顾客从浏览器登陆用例用例名称顾客登陆主题领域定义顾客登陆到系统,进入相应界面和获得相应使用权限角色仓管员或主管业务触发事件顾客准备使用系统进行业务解决或系统管理前置条件系统中已建立顾客名并分派了相应权限结束条件成功条件:顾
32、客登陆系统并获得相应权限失败条件:系统中无此顾客;顾客名、密码错误有关用例输入概述顾客名、密码、角色输出概述本用例使用频繁使用性备注用例备注主事件流Step系统/角色描 述数据项备注1角色启动登陆程序2系统显示登陆界面;提示顾客标记和密钥顾客名、密码、角色3角色输入顾客标记和保密字,登陆系统4系统验证顾客与否合法、密字与否对的;返回相应顾客界面、菜单如果否、或保密字不对的转到A1。5分支事件流编号主流事件环节角色/系统条件描述数据项转去主流事件环节备注A14系统不是合法顾客,顾客名、密码错误,顾客名和这密码与角色不相应返回登陆失败信息登陆失败信息2供货商信息查询查询用例概述用例名称供货商信息查
33、询主题领域供货商信息查询用例包定义供货商信息检索角色仓储管理员理人员触发事件进行供货商信息检索前置条件有需要检索供货商信息记录结束条件成功条件:检索到需要查询供货商信息失败条件:未检索到需要查询供货商信息有关用例输入概述所需要查询供货商信息输出概述查询成果使用性备注用例备注主事件流Step系统/角色描 述数据项备 注6角色进入查询界面7系统显示查询界面8角色输入所需查询供货商信息9系统查询与否成功查询成功如果查询成功转到A1;如果查询不成功转到A2。分支事件流NO主事件流Step角色/系统条 件描 述数据项转去主事件流环节备注A14系 统完毕供货商信息查询返回成功信息查询供货商信息2A24系
34、统未完毕供货商信息查询返回失败信息查询失败信息提示2供货商信息修改用例用例名称供货商信息修改主题领域供货商信息修改用例包用例定义供货商信息修改角色仓储管理员理人员业务触发事件进行供货商信息修改前置条件有需要修改供货商信息记录结束条件成功条件:失败条件:检索到需要修改供货商信息未检索到需要修改供货商信息有关用例输入概述所需要修改供货商信息输出概述修改成果使用性备注用例备注主事件流Step系统/角色描 述数据项备 注10角色进入修改界面11系统显示修改界面12角色输入所需修改供货商信息13系统修改与否成功修改成功如果修改成功转到A1;如果修改不成功转到A2。分支事件流NO主事件流Step角色/系统
35、条 件描 述数据项转去主事件流Step备注A14系统完毕供货商信息修改返回成功信息修改供货商信息2A24系统没有完毕供货商信息修改近回失败信息修改失败信息提示2供货商信息添加用例用例名称供货商信息增长主题领域供货商信息增长用例包用例定义供货商信息添加角色仓储管理员理人员触发事件供货商信息添加前置条件有需要添加供货商信息结束条件成功条件:查询到需要添加供货商信息失败条件:未查到需要添加供货商信息有关用例输入概述所需要添加供货商信息输出概述添加成果使用性备注用例备注主事件流Step系统/角色描 述数据项备 注10角色进入添加界面11系统显示添加界面12角色输入所需添加供货商信息13系统添加成功与否
36、添加成功如果添加成功转到A1;如果添加不成功转到A2。分支事件流NO主事件流Step角色/系统条 件描 述数据项转去主事件流Step备注A14系统完毕供货商信息添加返回成功信息添加供货商信息2A24系统没有完毕供货商信息添加返回失败信息添加失败信息提示24 数据库设计4.1 概述数据库 (Database Design) 设计是依依照顾客实际需要,在某一详细详细数据仓储管理员系统上,开发设计数据库构造和创立数据库过程,其过程涉及:需求分析Needs analysis、概念设计Concept Design、逻辑设计Logic Design、物理设计Physical Design、验证设计Desi
37、gn verification五大环节。4.2 E-R图要据规定,运用E-R实体关系图来描述仓库概念模块,如下图4-1所示。零部件职工仓库客户装配产品人员编号数量入库单编号库房编号备注地址电话号码负责人编号部件单编号信誉度编号编号编号组装单编号部件单编号编号入库单编号不合格品数量供货商编号姓名库房编号成品编号供货商编号库房编号货检编号库房编号不合格数量地址电话数量不合格数在库货检日期在库货检日期备注组装日期入库日期货检员编号入库日期货检日期数量货检员编号图4-1 仓库E-R系统图(1)供货商报告出库组装入库报表编号库房编号组装编号报表类型出库单编号库房编号库房编号入库日期入库编号姓名供货商编号
38、结束日期起始日期库房编号提交人编号提交日期数量成品编号货检日期提交人编号信誉度性别创立日期出库单状态审核日期组装日期在库货检日期入库单状态货检人编号地址电话号码图4-1 仓库E-R系统图(2)审核人编号审核日期提交人编号客户编号审核人编号主管编号主管编号审核日期备注4.3 数据表逻辑设计,仓储管理员理系统数据库是MySQL,如下表所示是表在数据库中逻辑表达。表4-1 零部件构造字段名注释类型长度与否为主键与否不为空_id编 号INTEGER11Inbill_id入库 单号VARCHAR20Supplier_id供货 商号VARCHAR20Depot_id仓库 编号VARCHAR20Number
39、数 量INTEGER11Sumof_bad不合格 数量INTEGER11Atcheck_date在库 货检时间DATE11In_date入库 时间DATE11Employee_id货检查 编号char5表4-2 产品构造字段名注释类型长度与否为主键与否不为空_id编 号INTEGER11Makebill_id组装单 编号VARCHAR20Depot_id库房 编号VARCHAR20Check_id货检 编号VARCHAR20Number数 量INTEGER11Sumof_bad不合格 数量INTEGER11Make_date组装 时间DATE11Check_id货检 时间DATE11表4-3
40、装配产品构造字段名注释类型长度与否为主键与否不为空_id编号INTEGER11Assembly_id部件单编号VARCHAR20Product_id成品编号VARCHAR20表4-4 客户构造字段名注释类型长度与否为主键与否不为空Customer_id编 号VARCHAR20sex部件单 编号VARCHAR20name姓名VARCHAR20credit信誉度INTEGER11phone电话 号码VARCHAR20address地 址VARCHAR20remark备 注VARCHAR20表4-5 仓库构造字段名注释类型长度与否为主键与否不为空Depot_id库房 编号VARCHAR20Emplo
41、yee_id负责人 编号VARCHAR20phone电话 号码VARCHAR20address地 址VARCHAR20remark备 注VARCHAR20表4-6 职工构造字段名注释类型长度与否为主键与否不为空Employee_id人员 编号VARCHAR20Inbill_id入库单 编号VARCHAR20Supplier_id供货商 编号VARCHAR20Depot_id库房 编号VARCHAR20Number数 量INTEGER11Sumof_bad不合格 数INTEGER11Atcheck_date在库货检 时间DATE11In_date入库 时间DATE11Employee_id货检员 编号VARCHAR5表4-7供货商构造字段名注释类型长度与否为主键与否不为空Supplier_id供货商 编号VARCHAR20name姓 名VARCHAR20sex性 别VARCHAR20credit信誉度INTEGER11phone电话 号码VARCHAR20address地 址VARCHAR20remark