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