基于Java技术的仓储管理系统的设计与实现Word文件下载.docx
- 文档编号:20025352
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:45
- 大小:878.45KB
基于Java技术的仓储管理系统的设计与实现Word文件下载.docx
《基于Java技术的仓储管理系统的设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于Java技术的仓储管理系统的设计与实现Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。
4.3数据表21
5系统功能的实现26
5.1系统功能简述26
5.2模块化功能实现26
6调试40
7总结43
参考文献44
致谢45
1引言
1.1选题背景及意义
在企业的发展过程中,伴随着业务的激增给企业的管理带来了许多问题,作为企业的管理信息系统可以有效地解决此类问题。
而仓储管理员理系统作为企业管理系统的重要组成部分,它可以给企业带来巨大的经济效益,采用仓储管理员理系统将使企业改变传统的手工记录模式,应用数据库技术使海量数据的存储与处理变得轻而易举,如此大幅度缩短仓储业务流程的处理时间,提高企业仓储管理的水平,适应市场经济的发展形势。
早在70年代,计算机技术就最先被引用到了仓储和物流配送领域当中,伴随着物流市场和产品讯息的疾速发展,物流软件市场也应运而生,并且迅速发展壮大起来,涌现出了一大批仓储物流应用软件;
物流软件作为企业管理应用软件,物流软件,相比其他软件提供了先进的,效率高的特点,可靠性和安全性,而且具有较小的实施风险和实施优势,其效益明显,操作快捷等特点,同时还具有实施成本低,效益明显、见效快等优点。
根据物流软件结构分类,就当前的物流软件所使用的范围来计,物流软件包含以下几个子系统:
仓储管理员理系统(WMS)、运输管理系统(TMS)、定单管理系统(OMS)、服务管理系统(SMS)等,其中仓储管理员理系统是提供一整套仓库业务及作业管理的应用软件,通过仓储管理员理系统可以实现库位分配自动化及智能化操作,提升仓库作业效率,提供准确的库存、库位信息,实现仓储管理员理的动态化管理。
我国自从加入WTO后,市场经济环境下的企业竞争越来越激烈,国内许多企业由于信息记录、收集、汇总、处理分析尚处于初级水平阶段,记录不规范,记录信息分散,随机性,单一的应用,信息收集不及时,不全面,不完善,不科学,质量,和主体多元化,不一致的结果,处理手段落后,效率低。
仓储管理员理系统是通过存储,出库,库存,库存调整,整合批次管理、物料对应、账物符合、库存清点、质检验收管理、实时库存动态管理等业务功能,对库存业务的成本管理全过程进行有效控制和跟踪,实现完善的企业仓储信息管理。
仓储管理员理系统的投入,将使仓库的管理更加正规化,为产品的出入仓储管理员理部门和销售部门提供的便利,降低了仓库的呆滞损耗;
企业可以跟踪服务来销售产品,同时消除了销售人员需要根据过去的做法来验证新的自户外用品的麻烦,提高客户服务的效率,同时节省相关费用,避免不必要的业务纠纷,维护企业长期与用户建立的良好信誉。
1.2课题任务
本文将根据软件工程的理论,针对企业仓储管理系统面临的实际问题,对仓储管理系统进行分析、设计与实现,开发出基于Java技术的仓储管理系统,以仓储业务为核心驱动模式,使用分层架构实现具体部分。
。
2相关技术综述
2.1Java技术简介及相关原理
Java语言,是一种开发语言,致力于网络应用软件的开发,其具有跨平台性、安全性、完全的面向对象等优点,使其成为互联网应用软件开发的领导者,Java适用于分布式计算环境的面向对象设计的编程语言,其具有简窒、面对对象、分站式、解析型、安全、可靠、可移值、高性能、多线程等特点。
企业级多层应用系统的开发一直是所有企业面临的难题,软件开发商和众多程序员,一直在追求和急切的期待一个成熟的、标准的企业级应用平台,来简化和规范企业级应用系统的开发和部署。
Java技术的出现,尤其是J2EE(Java2PlatformEnterpriseEdition)的推出,正是大家渴望的结果,使得企业级应用系统的开发,由此变得更加快速和方便。
要指出的是,J2EE为不同厂商创建的平台产品提供了统一的标准,它自身是一个标准,实现了不同J2EE平台产品之间的交互,建立在JavaEE规范框架之上的企业级应用系统的基本构造模块的组件就是J2EE平台,从Web应用到复杂的分布式企业级应用,基本所有业务的应用,全部可以在此技术框架基础上进行构造,本文使用的组件技术主要有EnterpriseJavaBean、Servlet、JSP网页等。
2.1.1EnterpriseJavaBean(EJB)
EnterpriseJavaBean(EJB)是J2EE平台的核心,也是J2EE得到业界广泛关注和支持的主要原因。
众所周知,J2EE其中的一个主要目标,使企业级多层应用系统的开发变得简单,而业务逻辑的开发才是程序员们专研的对象,EJB它自身就是一种规范,正是基于此类思维的服务器端技术,一个可重用的组件框架被其重新定义了,以实现分站式的、面向对象的业务逻辑。
EJB的核心思想,便是将业务逻辑与底层的系统逻辑完全分离开来,软件开发者要将工作的重心转移到业务逻辑上来,使用EJB容器来实现目录服务和底层系统逻辑开发,包含事务处理、持久性、安全性等。
根据功能不同,EnterpriseJvavaBean的三种定义包括,实体Bean(EntityBean)、会话Bean(SessionBean)和消息驱动Bean(Message-DrivenBean),有状态和无状态是会话Bean的两种形式,多数的商业逻辑模仿要以使用无状态的会话Bean,比方价格计算等,一般模仿一个客户的会话,使用有状态的会话Bean,它会临时保存客户信息,依据客户的需求,选择调用其它Bean来实现数据的存取,当服务器关闭时或被客户断开连接时,状态信息或者数据在两种状态下都不会保存,会话Bean也就随之消失。
一个数据的保存,是通过实体Bean模拟业务数据来实现的,其可以示意为状态信息或数据库中的一条记录。
当服务器关闭或客户断开连接后,实体Bean仍然可以保证其数据得以存储;
讯息驱动Bean的行为同会话Bean很相象,有差别的便是,仅需要发送消息时向这些Bean,才调用讯息驱动Bean,比方,在需要的时刻,发送用户确认信息等。
2.1.2JSP(JavaServerPages)
JSP(JavaServerPages)是一种动态的网页技术标准,它由SunMicrosystems公司与其他公司一同参加建立的标准,JSP是基于Servlet技术的基础上,发展起来的,处于逐渐发展完善之中,现已成为Java服务器编程的核心组成部分。
JSP是联合markup(HTML和XML)和Java代码来共同处理的一种动静页面。
每页首次被调用时,经过JSP引擎被编译成Servlet,而后被执行,之后屡次调用时,实行编译过的Servlet。
JSP供给了多种方法访问Javaclass、Servlet、Applets和WebServer,于是,Web运用的功能就能够分解成多个明确的定义公用接口的组件,联合JSP将它们结合在一起.
2.1.3Servlet
Servlet是基于请求/响应机制的组件,其用来扩展Web服务器功能,Servlet从客户端(如Web浏览器)获取请求,继而,将反应结果返回到客户端。
鉴于Servlet的这种特征,它特别适用于Web运用,Servlet和EJB组件的差别在于,EJB组件供给的服务器端组件特征,不能悉数适用于Servlet,而单一的请求/响应任务处理更适合于Servlet,并且它不需要应用服务器所供给的复杂的服务支持。
2.2Struts
Struts框架是由Apache基金会在Jakarta中推出的一个子项目,在英文中是支架、支柱的意思,这也反映了在Web应用程序开发中起着重要作用,Struts为Web应用程序的总体框架,可以使开发人员把在部分精力集中在,怎么解决实际业务的题目上来,与此同时Struts框架也容许开发人员凭据实际需要实行拓展和定制,从而可以更好的适应用户的需求。
选用Struts能够简化MVC设计模型下的Web运用的开发设计,很好地落实代码重用,把开发人员从一些繁琐的工作中解放出来,迅速开发出能够充分发挥JSP/Servlet优点、并拥有强可扩展性的Web运用。
2.2.1MVC
80年代Smalltalk开发了一种软件设计模型,即,模型-视图-控制器(MVC)是,如下图2-1所示。
①模型(Model),主体是应用程序的,Model表示业务数据或业务逻辑;
②视图(View),应用程序中用户界面关联部分,用户能够看到并与之交互;
③控制器(controller),其工作便是依据用户录入,管制用户界面数据的体现和更新model。
MVC式的涌现,不但落实了功能和显示模块的分解,同时它还使应用系统的可维护性、可扩展性、可移植性和组件的可复用性在早期的程序中得到了改善,如若不注意对象功能和显示的解耦合,经常会导致程序的繁杂及维护困难。
许多VB,Delphi等RAD都有这种现象,甚至目前的C#,Java有时候也会呈现出,把业务逻辑写在显示模块中的问题,MVC设计模型在早期就提出了这一问题,但在Web的开发中植入MVC却是极其困难。
主要原因:
一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。
CGI程式以字符串输出的方式,动态地形成HTML内容;
其后伴随着脚本语言的涌现,前面的程式又被调了过来,改为将脚本语言的程序嵌入HTML内容中;
这两种方法有一个共同的缺陷,就是它们总是不能将程序语言和HTML分隔开来。
第二是,脚本语言的功能比较弱,缺少支撑MVC设计模型的一些必需的基础技能,直到基于J2EE的JSPModel2问世时才得以改善,它用JSP完成了视图的功能,用Servlet实现控制器的功能,用JavaBean技术实现模型的功能JSPModel1与JSPModel2,如下图2-2、2-3所示。
2.2.2Struts流程
ActionServlet可以处理了Struts流程的所有任务,具体工作流程如下图2-4所示。
HttpServlet
<
frontcontroller>
>
org.apache.struts.action.ActionServlet
dispatcher>
org.apache.struts.action.RepuestProcessor
Serializable
viewhelper>
org.apache.struts.action.Actionform
ActionConfig
org.apache.struts.action.ActionMapping
requesthandler>
org.apache.struts.action.action.Action
ActionMessages
org.apache.struts.action.ActionErrors
org.apache.struts.action.ActionForward
图2-4Struts工作流程
ActionServlet是一个FrontController,是一个标准化的Servlet,其利用RequestProcessor来处理转发来的request,ActionMapping是ActionConfig的子类,是对struts-config.xml的一个映射,从中能够取得所有的信息,RequestProcessor依据提交过来的url。
ActionForm利用了ViewHelper模型,它是对HTML的form的一个包装。
此中包括有validate方法,用于验证form的有效性。
ActionForm是一个契合JavaBean规范的类,其所有的特征都应满足get和set对应。
针对一些繁杂的系统,可以选用DynaActionForm来构建动态的Form,即利用预制参数来生成Form,如此可以更灵活的扩展程序。
ActionErrors是对错误信息的打包,只要在执行action或者form.validate中出现异常,便可涎生一个ActionError,并加入到ActionErrors。
在Form考证的过程中,一旦有Error发生,则会将页面重新导向至输入页,并提示错误。
RequsestHandler业务逻辑的实行使用Action,每个Action只建立一个instance,Action并不是线程安全的,因此,不应该在Action中访问特定的资源;
一般来说,应改用BusinessDelegate模型来对Businesstier进行访问以达到解除耦合。
Struts供给了多种Action供选择调用,一般的Action只可以通过调用execute落实一项任务,而DispatchAction能够根据配置参数落实,不是仅仅进入execute()函数,这样可以执行多种任务,LookupDispatchAction能够凭据提交表单按钮的名称来执行函数命令。
3系统分析与设计
3.1系统分析
软件系统设计之初,首要确定用户需求,究竟要求软件系统完成什么任务,所以此阶段的基本任务是分析、了解用户的需求,将用户的需求用书面形式表达出来,此阶段不是确定系统怎么完成它的运行工作,仅是确定系统必须实现哪些工作,即是体现目标系统的完整、准确、清晰、具体的特性。
系统开发的基础便是系统分析的结果,此关系到开发的成败和软件产品的质量的优劣。
在全面客观的系统分析的基础上,根据用户提出的系统功能进行相应的功能设计。
1)系统功能概述
①货品出入仓储管理员理
货品进入仓库,登记记录,货品出库也要登记记录,这是仓库业务管理的重要内容。
进入仓库的货品,从入库申请的人员向仓储管理员提交货品开始,入库申请人向仓储管理员提交货品和入库申请单,入库申请单记录本次入库的货品名称、数量、提交货品的单位、执行提交货品的人员以及货品注意事项等信息。
仓储管理员依据送货人员提供的入库申请单对待入库货品进行检查。
若待入库货品与入库申请单信息一致,则允许入库;
若不一致,则禁止入库,请提交货品的单位或人员重新开具入库申请单。
对允许入库的货品,执行仓储管理员要对货品的信息进行登记,这些信息包括入库货品名称、数量、时间、送货入库人员的信息、执行货品入库的管理员。
进行登记后,将货品存入仓库,货品入库后,执行入库操作的仓储管理员给提出入库申请的入库人员开具入库单据,流程结束。
②出入库记录的查询及报表
仓库的管理人员要对仓库存储的货品信息、记录等及时掌握并了解,这样才能随时把控仓库的运行动态,如此才有可能会使仓库管理保持良好的运营状态。
所以,一般仓储管理员要能够提供仓库的入库、出库记录的查询功能,同时能够将出库、入库记录生成报表,供相关管理人员使用,所以,对入库、出库记录的查询,并将这些信息生成报表是仓储管理员理系统的重要功能之一。
③货品信息管理
仓库存放的所有货品,关于货品自身的数据信息,对于货品的存储是极其重要的因素,譬如,什么货品需要防潮措施,什么货品需要轻拿轻放等,因此,对货品自身的信息的登记、管理是仓储管理员理的重要内容之一。
④其他信息管理
除了以上提到的一些功能外,仓储管理员理系统还应该能对一些其他的信息进行管理。
比方,针对每个仓库来说,都有具体的库位用来存放货品,仓储管理员要对这些存储库位进行的管理,每个库房都有一些仓储管理员,对这些仓储管理员的管理,也是仓储管理员理系统的功能之一。
3.2系统环境
①硬件环境
服务器端:
硬件配置为2G以上内存,CPU为四核以上,硬盘容量为1T的计算机。
通信网络:
互联网,网络协议为HTTP、TCP/IP。
②软件环境:
服务器端:
操作系统Windows2003
数据库服务器:
MySQLServer4.1
Web服务器:
ApacheTomcat6.0
技术架构平台:
SunJ2DK1.6
③客户端:
操作系统:
WindowsXP/Win7
屏幕分辨率推荐为:
1024*768或以上
3.3需求分析
3.3.1仓储管理员理系统
系统功能分析,是在系统开发的整体任务的基础实现的,仓储管理员理系统需配备的功能主要有:
①仓储管理员理对各种货品信息的输入,包括货品、供应商、客户、仓库信息等。
②仓储管理员对各种货品数据信息的查询、统计、修改和维护,包含货品、票据查询,货品出入、人员操作统计等各种信息的修改与维护。
③打印报表的生成。
④在货品管理中加入最高储备和最低储备字段,对仓库中的产品实现监控和报警。
⑤操作日志的管理。
⑥仓储管理员理系统的使用帮助。
3.3.1系统流程图(下图)
图3-1系统流程图
3.3.1数据流程图
剖析并调查相关仓储管理员理信息的实际需求,得出数据流程图3-2,如下所示。
经过对仓储管理员理的管理内容和数据流程分析,设计数据项和数据结构如下:
①货品信息,包含的数据项有编号、货品名称、类别、货品规格、计量单位、最高/最低限量、备注等。
②仓库信息,包括的数据项有编号、仓库名称、仓库地点、保管员编号、备注等。
③库存状态信息,包含的数据项有编号、货品编号、库存数目、库房编号等。
④入库单信息,包含的数据项有编号、货品编号、经办人编号、入库日期、单价、数量、供应商编号、库房编号、定单状况、备注等。
⑤出库单信息,包含的数据项有编号、货品编号、经手人编号、出库日期、单价、出库数目、客户编号、仓库编号、定单状况、备注等。
⑥举行月盘点信息,包含的数据项编号、仓库编号、盘点日期、经手人编号、盘点数据等。
⑦系统日记信息,包含的数据项有用户名、操作时间、操作内容等。
⑧用户管理信息,包含的数据项有用户名、密码、权限等。
⑨调入单、借出单、报损单、调拨单信息等,与入库单、出库单信息基本类同。
图3-2仓储管理员理系统数据流程图
3.3.1仓储管理员理系统权限
此系统角色包括两类,仓储部管理人员和仓储主管,其中仓储主管拥有整个系统的最高权限。
仓储部管理员:
负责仓库货品的出入管理,可凭据流向单落实出入库操作,具体权限设置如下:
①库存信息管理
②库检信息维护
③入库单信息维护
④出库单信息维护
⑤报表信息管理
⑥密码修改、清除信息等系统更改设置
⑦供应商、仓库、客户等基本信息的查询浏览等
仓储部主管:
负责整个仓库的日常运作作和管理,具体权限设置如下:
①部门信息维护和人员信息管理
②审批权限
③报表信息管理
④密码修改、数据库备份等系统设置
3.4系统功能设计
根据仓储管理员理系统的需求,设计了如下功能模块:
1)管部信息管理模块
为仓储部主管提供对仓储部信息的管理与维护的功能。
①基础信息管理模块:
为仓库管理员提供对客户信息、供货商信息、库房信息和仓库管理员信息的管理维护,包含对信息查询、添加、修改和删除等操作。
②在库信息管理模块:
a、库存信息管理模块:
为仓库管理员提供对短线货品、货品信息的管理维护,包括对货品信息查询、添加、修改和删除等操作。
b、库检信息管理模块:
为仓库管理员提供对产品库检信息、部件库检信息、礼品库检信息的管理和维护,包含对信息查询、添加、修改和删除等操作。
③出库信息管理模块:
为仓库管理员提供检索、添加、修改和删除出库流向单(包括:
产品出库单、部件出库单、礼品出库单)的操作,其中添加和删除操作后的出库货检单要交由管理部审核。
④入库信息管理模块:
为仓库管理员提供检索、添加、修改和删除入库流向单(包含:
部件、产品、礼品等入库单)的操作、其中添加和删除操作后的入库货检单要交由管理部审核。
⑤报表信息管理模块:
为仓库管理员提供对报表信息的管理和维护,包含对报表信息检索、浏览和上交等操作。
⑥系统设置模块:
为管理员提供实现对密码修改、清除表信息的功能。
2)货品信息管理模块
①仓储部职员管理模块:
为仓储管理员供给实现对仓库部门信息的管理与维护,包含对部门信息检索、添加、修改和删除等操作;
②仓库报表管理模块:
为仓储管理员供给实现对报表信息的管理与维护,包含对报表的检索、浏览和删除等操作;
③仓库货检信息管理模块:
为仓储管理员供给实现对货检信息的管理与维护,包括对在库货检信息、入库货检信息和出库货检信息的审核;
④基础信息管理模块:
为仓储管理员供给实现对基本信息进行添加、删除、检索和浏览功能;
⑤系统设置模块:
为管理员供给实现密码更改、数据库备份和恢复的功能。
用图例来进行系统建模,如下图3-3所示。
图3-3总体用例图
①用户从浏览器登陆
用例
用例名称
用户登陆
主题领域
定义
用户登陆到系统,进入相应的界面和获得相应的使用权限
角色
仓管员或主管
业务触发事件
用户准备使用系统进行业务处理或系统管理
前置条件
系统中已建立用户名并分配了相应权限
结束条件
成功条件:
用户登陆系统并取得相应权限
失败条件:
系统中无此用户;
用户名、密码错误
相关用例
输入概述
用户名、密码、角色
输出概述
本用例使用频繁
使用性备注
用例备注
主事件流
Step
系统/角色
描述
数据项
备注
1
启动登陆程序
2
系统
显示登陆界面;
提示用户标识和密钥
3
输入用户标识和保密字,登陆系统
4
验证用户是否合法、密字是否正确;
返回相应用户界面、菜单
如果否、或保密字不正确转到A1。
5
分支事件流
编号
主流事件步骤
角色/系统
条件
描述
转去主流事件步骤
A1
不是合法用户,用户名、密码错误,用户名和这密码与角色
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 技术 仓储 管理 系统 设计 实现