您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于J2EE的仓库管理系统的设计与实现
本科毕业设计说明书(论文)第1页共31页1引言1.1仓库管理系统的开发背景及意义随着互联网时代的逐步进入社会进入人民的生活,面对计算机应用日益普及的今天,大大小小的企业都已离不开计算机。加之电子商务越来越成熟,企业也更需要对仓库进行电子化管理。一个好的仓库管理系统可以减轻仓库管理人员大量的负担,在电子屏幕上就能清楚的了解到自己管理的仓库具体情况,也能方便快捷地统计出货物出入库的数据。对于企业来说一个良好的仓库管理系统对于提高管理效率能起到非常大的作用,企业能很快找到仓库管理方面的漏洞,及时修改管理方法,提高工作效率以此来获得更高的经济效益。仓库管理系统是一个以企业管理为背景,它可为企业提供全方位的管理视角,可方便地了解仓库的物品进出和库存情况。根据仓库管理软件结构分类,就目前仓库管理软件所使用的应用范围来看,仓库管理包括如下几个子系统:WMS(WarehouseManagementSystem,仓库管理系统)、TMS(TransportationManagementSystem,运输管理系统。OMS(OrderManagementSystem,定单管理系统)、SMS(ServiceManagementSystem,服务管理系统)。如今的仓库管理系统功能已多样化,单靠人工实现会耗费大量的人力,同时还会消耗一定的时间,而且效率也不一定高。为了能够让仓库的管理更加信息化、便捷化、正规化,方便入库管理部门和销售部门提供对产品的跟踪和管理,要想尽可能地降低仓库的损耗,就必须增加对仓库管理系统的投入以此提高服务质量,同时也免去售后人员去客户那查看产品等一系列繁琐的问题,节约了费用,提高了办事效率,还避免了潜在的不必要的纠纷,既而实现全面的、完善的企业仓库信息管理。1.2课题研究的主要内容使用仓库管理系统能极大程度上充分利用仓库,同时能提高货物收发的效率,从而获得了巨大的经济受益,避免出现断档和退货的现象。仓库管理系统是一个以企业管理为背景,它可为企业提供全方位的管理视角,可方便地了解仓库的物品进出和库存情况。所以本课题采用B/S结构,针对小型的企业仓库,提供给仓库管理员一系列管理的JSP页面,实现对各种信息的管理。主要包括信息管理:本科毕业设计说明书(论文)第2页共31页人员管理,仓库管理,货物管理;出入库管理和库存管理,并且提供给用户多种查询的方式,包括按货物查询,按仓库查询,按用户指定时间段查询等;数据库的备份和恢复。整体页面使用iframe,将页面分为3部分,通过iframe之间的数据传递来控制页面的跳转。该系统还采用了Serlvet以及Mysql数据库来实现各个模块功能。1.3论文的章节安排论文总共分为五章:第一章主要介绍仓库管理系统软件开发的目的以及意义。并提出了本课题所要研究的主要内容。第二章主要介绍仓库管理系统的概述。对该系统开发的可行性进行探讨。介绍仓库管理系统开发时使用的软件环境,以及开发中使用的技术。第三章主要介绍仓库管理系统的总体分析、需求描述以及模块设计。通过附带上程序运行时图片将模块展示出来。第四章主要根据需求分析对数据库设计进行详细介绍。介绍所使用的数据库以及表结构设计和表之间的联系。第五章介绍系统每个功能模块实现思路。使用流程图将数据处理过程和程序界面展示出来,并设计一个测试用例测试单元模块。总结部分是对整个系统的总结以及提出对该系统以后的展望。本科毕业设计说明书(论文)第3页共31页2仓库管理系统研究概述2.1仓库管理系统的可行性研究2.1.1技术可行性通过对系统需求的仔细分析决定采用javaweb的形式开发系统。Java是跨平台的,面向对象的语言,兼容性好,与平台无关,可移植。Java语言的并发性也能解决实际生活中很多问题。同时Java语言又擅长进行web开发,所以通过多方分析,决定采用Java语言进行系统开发。本系统基于B/S模式进行开发,很好地解决了用户客户端的问题,只要使用这电脑拥有浏览器就能方便快捷的使用该系统。采用成熟的三层结构模型开发,每层之间通过实体对象或者实体对象的集合进行交互,禁止方法的跨层调用,所以每层各自改变不会对其它层造成影响。客户端页面采用JSP技术、JS技术以及JSTL标签来实现,控制器使用servlet、Filter以及自定义的业务逻辑层控制器。可以对一下非法数据进行验证,以及防止用户未登录就直接使用系统功能,这样就保证了系统的安全性。服务器使用Tomcat6.0。后台采用Mysql作为数据库来进行数据存储。2.1.2运行可行性该系统的研制主要以两个目的出发进行开发。一、简化软件的使用,让使用者能后在短时间内熟悉该软件。二、方便管理者进行数据查询,添加信息等操作。2.2仓库管理系统的开发工具及使用环境简介2.2.1开发工具简介开发环境:Myeclipse8.5,Tomcat6.0数据库:Mysql5.5开发系统环境:Windows764位旗舰版2.2.1使用环境简介用户使用的系统:windows操作系统需要的工具:浏览器服务器:Tomcat数据库:Mysql2.3仓库管理系统的开发所用技术简介本科毕业设计说明书(论文)第4页共31页2.3.1JSP简介JSP中文名为java服务器页面(JavaServerPage),页面文件以扩展名.jsp命名。是由Sun公司倡导提出的一种网页标准,JSP技术的推出时为了对抗ASP,但它又和ASP技术类似,它可以在传统的网页html中使用%%来插入Java程序段和脚本文件,让Java程序员能够轻松的使用,或者使用JSP标记来控制html,例如JSP:forward标签可以使当前页面跳转到制定的页面。JSP运行方式是:JSP其实本质与Servlet相同,当服务器接收到客户端发送来的请求时,该服务器就会被编译成Servlet并执行,之后将结果作为一个html文件返回给浏览器。当用户在此后再访问该资源文件,JSP就不会被编译,系统会直接使用编译好的Servlet,从而。如果该JSP文件没有被修改过,当客户端再次向服务器发送请求时,JSP文件将不会被编译,而是直接执行已经编译好的Servlet,从而加快了访问速度。JSP内置了6种对象:Request,Response,Session,Application,Out,Cookie。前四者不同主要体现在作用域上。Request里包含了用户的请求信息,Response则是动态相应用户的请求,作用域为Page。Session对象的存在机制类似于JSP,在页面装载的时候就创建,之后页面如果再次被访问也不会重新去创建Servlet。Session会一直存在除非用户关闭浏览器。Application是在启动服务器的时候创建,所有的用户都共享一个Application对象,所以我们也能利用该对象实现访问量的统计。Out对象是向客户端输出数据。Cookie是以键值对的形式保存内容,并且允许用户读取和创建。2.3.2Servlet简介Servlet被设计成一种独立于服务器端的应用程序,web页面可以由它动态生成。Servlet由包含支持Serlvet的JVM的web服务器进行加载。Servlet中没有main方法,通常都使用doPost()方法或者doGet()对客户端传来的数据进行处理。Servlet同样有生命周期,都包含init和destroy方法,,每个Servlet都继承了HttpServlet,主要将集中在service方法中。当一个请求发送到对应的Servlet时,如果那个Servlet实例没存在,web容器将加载这个Servlet类,创建实例调用init方法初始化。如果该容器要移除这个Serlvet,可调用Servlet的destroy方法来结束该Serlvet。Servlet的生命周期包括加载、初始化、处理客户端请求及服务结束。2.3.3JSTL简介本科毕业设计说明书(论文)第5页共31页JSTL(JSPStandardTagLibrary,JSP标准标签库)是有开源组织来维护并且不断完善的JSP标签库。它有四个定制标记库(core、format、fn和sql)。其中core标记库包含了迭代,选择,判断,赋值等的标签,format主要用于数据的格式化操作,比如时间对象或者数字。Fn函数标签库为EL表达式提供了很多功能。而sql库用于从JSP页面访问数据库。JSTL的提出大大简化了JSP页面的代码,配合EL表达式一起使用能得到非常好的效果。可以有效的避免在JSP页面上使用%%的JAVA脚本或代码,让开发更加简单,在最大程度上提高了开发的应用在各个服务器之间的移植。本科毕业设计说明书(论文)第6页共31页3仓库管理系统总体分析与设计3.1仓库管理系统的总体分析在设计和开发系统之前,必须对用户的需求进行分析。需要开发者很清楚的了解用户想让程序达到什么样的效果,了解到用户对系统的执行效率和性能有什么要求,明白用户使用时所承载的数据量有多大。需求分析的结果是程序开发的基础,需求分析说明书是程序设计的指南针。只有文档写得好,程序才能有效合理的开发,才能更好的达到用户的需求。本系统基于B/S模型开发,采用MVC模式开发。将系统分为视图层、模型层和控制层三层。视图层采用JSP配合JS脚本实现。模型层采用JavaBean,控制层使用Servlet和Filter技术实现逻辑控制。此外,整个系统采用界面层、业务逻辑层、数据连接对象层三层模式开发。界面层将从数据库中查到的数据显示给用户,并提供一些可操作的按钮或文本框视图,并且利用JavaScript脚本对用户输入的信息进行验证。业务逻辑层连接界面层和数据连接对象层,是这两层交流的纽带。业务逻辑层获取到用户在界面操作的信息,在这一层进行控制,检测数据是否合法,通过之后再调用数据面向对象层的方法将数据存储到数据库中。这样既能在客户端做好控制,又能在服务器端验证,确保了数据的安全性,并且更加人性化的提供给用户一些错误消息,能让用户及时发现错误。数据面向对象层则通过JDBC技术将收集到的消息通过不同的方法存储到数据库中,如果出货,则将错误信息通过业务逻辑层传回给界面层显示给用户看。仓库管理系统的核心功能在于出库、入库以及库存统计,包括外键的设计。每修改一张表就能引起另外一张表的改变。查询功能也是核心之一。使用者可以方便地查询到库存信息、出入库信息,并且考虑到了不同的货物来自同一仓库,而同一货物来自不同仓库。同时能统计每月或指定时间段的货物进出情况,统计每个仓库的货物进出及库存情况,统计仓库中同一货物进出及库存情况等。此外该系统还添加了人员注册、删除,密码修改,人员信息修改以及数据的备份与恢复功能。数据备份与恢复可以防止人员错误操作后让数据重新恢复,减少企业仓库一定情况下的不必要损失。3.2仓库管理系统的功能模块描述3.2.1货物出库和入库的模块需求描述本科毕业设计说明书(论文)第7页共31页1.入库模块仓库顾名思义是用来存放货物的,在存放货物的时候就免不了出库入库等操作。入库出库时管理人员都要进行登记。入库人员向仓库管理人员提交入库清单,提交的入库清单包括入库号,货物名称,操作员名字,入库数量,入库价格,入库时间,要入库的仓库名称,供应商名称,备用信息。仓库管理人员根据所提供的入库清单清点所要入库的货物。如果信息正确无误,仓库管理人员则将入库信息通过入库管理模块输入系统,入库信息同入库清单一致,系统会自动根据提供的信息存入数据库,将货物名字,操作员名字,要入库的仓库名称,供应商名称通过数据库查询转换成相应的数字id再存储到数据库中。如果信息有误,则拒绝入库。2.出库模块货物出库同样是要根据所提供的出库清单,仓库管理人员根据清单进行核对出库。出库清单包括出库号,出库货物名称,操作人员名称,出库数量,出库价格,出库时间,所出库的仓库的名称,出库备份信息。在出库过程中,如果出库数量超过仓库所存储的数量,则不允许出库。如果出库数量少于仓库所存储的数量,则仓库管理员进行出库操作,并将信息录入电脑。同样电脑会将出库货物名称,操作人员名称,所出库的仓库的名称通过查询数
本文标题:基于J2EE的仓库管理系统的设计与实现
链接地址:https://www.777doc.com/doc-6124566 .html