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