毕业论文基于JSP的仓库管理系统.docx
《毕业论文基于JSP的仓库管理系统.docx》由会员分享,可在线阅读,更多相关《毕业论文基于JSP的仓库管理系统.docx(36页珍藏版)》请在冰豆网上搜索。
毕业论文基于JSP的仓库管理系统
基于JSP的仓库管理系统
摘要
随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下,改进现在的生产经营模式和组织结构,才能在市场竞争中赢得更多的份额。
随着企业规模的扩大,仓库管理系统将发挥越来越重要的作用。
高效方便的仓库管理系统,可以为企业的生产和经营提供坚强的后盾和有力的支持。
本文所设计的仓库管理系统以标准的仓库管理模式为蓝本,基于JSP开发出一个可以用于一般单位的仓库管理系统,实现了仓库管理的高效性与安全性。
系统主要提供一个仓库业务及其作业管理的信息存储和检索系统。
通过入库管理、出库管理、仓库人员管理等功能模块来实现仓库的综合管理。
系统的测试表明,本系统可以方便快捷地实现仓库管理中的货物登记、出库入库、货物盘点等工作,使企业的仓库管理井井有条,为企业的健康发展创造良好的条件。
关键词:
仓库管理系统JSP模块化设计
目录
摘要I
目录II
第一章引言1
1.1仓库管理系统的背景与意义1
1.2系统可行性研究2
1.3本文的主要工作3
第二章相关技术介绍4
2.1J2EE相关原理及技术简介4
2.2Servlet4
2.3JSP简介4
2.4J2EE简介4
2.5EJB5
2.6Struts5
2.6.1STRUTS发展5
2.6.2MVC简介6
2.7Hibernate6
3.1引言7
3.2系统分析7
3.2.1系统需求分析7
3.2.2系统功能设置8
第四章数据库设计10
4.1引言10
4.2E-R图10
4.3数据表11
第五章系统界面与功能实现16
5.1入库模块的实现16
5.2出库模块的实现17
5.3盘点模块的实现19
5.4计量单位设置模块的实现20
5.5货物存储信息查询模块的实现22
总结与展望24
致谢25
参考文献26
第一章引言
1.1仓库管理系统的背景与意义
物流是有形物品从出发点到最终消费点的流动存储活动,具体包括运输、保管、包装、装卸、搬运、流通加工及信息处理,从职能上可以分为:
供应物流、生成物流、销售物流、回收物流和废弃物流五个职能。
从70年代开始,计算机技术开始应用到物流领域。
随着物流市场和物流信息化的发展,物流软件市场也应运而生并迅速发展起来,国内外出现了一大批物流软件供应商和物流软件。
“物流软件作为管理软件,较其它应用软件呈现先进性、高效性、可靠性和安全性等特点;较其它管理软件,如ERP(EnterpriseResourcePlanning),具有以下特点:
实施风险小,实施迅速;效益显著、见效快。
根据物流软件结构分类,就目前物流软件所使用的应用范围来说,物流软件包括如下几个子系统:
WMS(WarehouseManagementSystem,仓库管理系统)、TMS(TransportationManagementSystem,运输管理系统)。
OMS(OrderManagementSystem,定单管理系统)、SMS(ServiceManagementSystem,服务管理系统)。
其中,WMS主要提供了一整套仓库业务以及作业管理系统。
通过仓库管理系统可以实现库位分配自动化和智能化;提高仓库作业效率和速度,提供准确的库存信息,并使之与实际库存变化同步。
根据中国物流与采购联合会统计,2001年,中国与物流相关的年总支出为19000亿元人民币,物流成本占GDP的比重为20%左右。
我国企业的物流支出成本约占总成本的30%,而国外企业的物流支出成本仅为7%。
物流成本的巨大差距,抵消了我国企业在原材料和人工上的成本优势,降低了我国企业的竞争力。
国内的很多企业,由于信息的记录、收集、汇总、处理分析还处于比较低的水平,记录中信息分散、格式随意、应用单一,收集中不及时、不全面、不完善、保留不科学,汇总时口径不一、主题多元、结果不一,处理分析方法落后、效率低下、只有短期,难以支持趋势等。
随着企业规模的扩大,管理信息系统也发挥越来越重要的作用。
作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益。
采用仓库管理系统将使企业改变其传统的手工记录模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力。
仓库管理系统是通过入库业务、出库业务、库存调拨、库存调整,结合批次管理、物料对应、库存盘点、质检管理、实时库存管理等功能综合运用的管理系统,对库存业务的物流和成本管理全过程进行有效控制和跟踪,实现完善的企业仓库信息管理。
仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部门和销售部门提供了方便,降低了仓库的损耗。
企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。
1.2系统可行性研究
1.技术可行性
根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。
本系统基于JavaEE架构,采用了较为成熟的开发模式。
前端用Struts1.2,业务逻辑采用EJB3.0的无状态会话Bean,持久映像层采用hibernate1.3模式,应用服务器使用了使用最广泛的BEAWeblogicServer。
2.经济可行性
估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
(1)支出:
基础投资:
硬件设备:
PC机
软件设备:
WINDOWS2000、BEAWeblogicServer10
其它一次性支出:
软件设计和开发费用
经常性支出:
软件维护费用、软件使用费用。
(2)效益:
系统的效益可以从经济效益和社会效益两方面考虑。
对于仓库管理系统则应着重分析其社会效益。
例如,系统投入运行后可以使仓库管理实现科学化、规范化。
曾强了工作人员对仓库管理能力、提高了工作效率。
3.运行可行性
新系统的研制和开发是充分得考虑工作人员对仓库的易于管理,管理者方便查询设备信息效率。
从而能完全满足使用者的要求。
4.法律可行性
新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和法律。
3.2.2系统使用环境
本系统的使用的最低配置要求:
(1)硬件环境:
服务器:
CPU:
2.4G或以上;
内存:
1GRAM或以上;
硬盘:
80G或以上;
客户端:
CPU:
1G;
内存:
64MB以上内存或更高;
硬盘:
20G或以上。
(2)软件开发环境:
操作系统:
WindowsXP;
所用工具:
MyEclipse6.0,BEAWeblogicServer10;
数据库:
MYSQL;
(3)软件运行环境:
操作系统:
WindowsXP;
应用服务器:
BEAWeblogicServer10;
数据库:
MYSQL。
1.3本文的主要工作
本论文以标准的仓库管理模式为蓝本,根据软件工程的理论,开发出基于JSP的适用于中小单的位仓库管理系统。
论文首先研究了系统开发的可行性,然后进行了需求分析,然后根据需求分析采用了结构化分析方法进行了系统分析设计,并进行了数据库的建模工作,根据模型构建了数据库。
后台数据库采用MYSQL完成。
基于开放的开发架构JSP实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块等。
最后对全文进行了总结,对今后的工作提出了展望。
第二章相关技术介绍
2.1J2EE相关原理及技术简介
J2EE规范定义了一个完善的应用组件技术框架,作为企业级应用系统基本构造模块的组件就是建立在这个框架之上。
从简单的Web应用到复杂的分布式企业级应用,几乎所有的业务应用,都可以在此技术框架基础上构造。
本文中使用的组件技术主要有三种类型:
JSP、servlet和EnterpriseJavaBean。
2.2Servlet
Servlet是一些用来扩展Web服务器功能的Web组件,它基于请求/响应机制。
Servlet从客户端(例如Web浏览器)获得请求,然后,将响应结果返回客户端。
Servlet的这种特点使它非常适合于Web应用。
Servlet和EJB组件的区别在于EJB组件所提供的服务器端组件特性并不能全部适用于Servlet,Servlet更适合于处理简单的请求/响应任务,而且它不需要应用服务器所提供的复杂服务的支持。
2.3JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。
它虽然还未成型,但是它必将和J2EE(Java2EnterpriseEdition)一起发展。
JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。
每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。
JSP提供了多种方式访问Javaclass、Servlet、Applets和WebServer,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。
2.4J2EE简介
企业级多层应用系统的开发一直面临着重大挑战。
开发商和广大程序员一直在努力推动和殷切期待一个成熟的、标准的企业级应用平台来简化和规范企业级应用系统的开发和部署。
Java技术的出现,尤其是J2EE(Java2PlatformEnterpriseEdition)平台的推出正是这种努力的结果,也使得企业级应用系统的开发由此变得更加快速和方便。
需要指出的是,J2EE本身是一个标准,它为不同厂商创建平台产品提供了标准,使不同J2EE平台产品之间的交互成为可能。
SUN及其合作方将J2EE1.5改名为JavaEE5,但是其架构跟改名前的J2EE没有区别。
只是通过增强一些技术使得我们更快、更容易、更简单地开发企业应用程序。
2.5EJB
EJB(EnterpriseJavaBeans)是J2EE平台的核心,也是J2EE得到业界广泛关注和支持的主要原因。
我们知道,J2EE的一个主要目标就是简化企业级多层应用系统的开发,使得程序员将主要精力放在业务逻辑的开发上。
EJB正是基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重用的组件框架来实现分布式的、面向对象的业务逻辑。
EJB的核心思想是将业务逻辑与底层的系统逻辑分开,使开发者只需关心业务逻辑,而由EJB容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。
根据功能不同,规范中定义了三种EnterpriseJvavaBean:
会话Bean(SessionBean)、实体Bean(EntityBean)和消息驱动Bean(Message-DrivenBean)。
会话Bean分为无状态和有状态两种。
一般无状态的会话Bean模拟商业逻辑,比如计算价格等。
有状态的会话Bean通常模拟一个客户会话,它会临时保存客户信息,根据客户要求调用其它Bean来存取数据。
两种会话Bean都不保存状态信息或者数据,当客户断开连接或者服务器关闭时,会话Bean也就随之消失。
一个会话Bean的典型例子是网站上的购物车。
实体Bean模拟业务数据,它表示一个数据存储,可以是状态信息或者数据库中的一条记录。
实体Bean在客户断开连接或者服务器关闭后,仍有服务保证其数据得以保存。
消息驱动Bean在行为上很象会话Bean。
不同的就是仅在需要向这些Bean发送消息时才调用消息驱动Bean,比如在需要的时候发送用户确认信息等。
2.6Struts
2.6.1STRUTS发展
下图是Struts的工作流程,所有的请求都提交给ActionServlet来处理。
图2-1Struts工作流程图
Struts框架工具是Apache基金会Jakarta项目中推出的一个子项目。
Struts在英文中是支架、支撑的意思,这也体现出Struts在开发Web应用程序过程所起到的重要作用,Struts为Web应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时Struts框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。
采用Struts可以简化遵循MVC设计模式的Web应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥JSP/Servlet优点、并具有强可扩展性的Web应用。
总之,Struts的出现使得Web应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。
Struts架构一经推出,即受到Java开发群体的广泛重视,从2004年开始逐渐升温,并日渐成为Java创建Web应用开发的最流行的框架工具,在目前JavaWeb程序员的招聘要求中,几乎都提出了对Struts的要求,精通Struts架构已经成为JavaWeb程序员必备的技能
2.6.2MVC简介
模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。
1、模型(Model)
模型是应用程序的主体部分。
模型表示业务数据,或者业务逻辑。
2、视图(View)
视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器(controller)
控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
2.7Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:
Session、SessionFactory、Transaction、Query和Configuration。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
第三章系统分析与设计
3.1引言
在设计软件系统之前,首先必须确定用户究竟要求软件系统完成什么任务,所以分析阶段的基本任务是了解用户的需求,并将用户的需求用书面形式表达出来。
这个阶段还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
系统分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。
在全面客观的系统分析的基础上,根据用户提出的系统功能进行相应的功能设计。
3.2系统分析
3.2.1系统需求分析
1.货物入库和出库的管理
仓库是用来存放货物的,货物进入仓库要进行登记记录,货物从仓库出库也要进行登记记录,这是仓库管理的主要内容。
货物进入仓库,从入库申请的人员向执行货物入库的仓库保管员提交货物开始。
入库申请人向仓库管理员提交货物和入库申请单,入库申请单记录本次入库的货物名称、数量、提交货物的单位、执行提交货物的人员以及货物注意事项等信息。
库管依据送货人员提供的入库申请单对待入库货物进行检查。
若待入库货物与入库申请单信息一致,则允许入库;若不一致,则禁止入库,请提交货物的单位重新出具入库申请单。
对允许入库的货物,执行库管要对货物的信息进行登记,这些信息包括入库货物名称、入库数量、入库时间、送货入库人员的信息、执行货物入库的执行人。
进行登记后,将货物存入仓库。
货物存入仓库后,执行入库操作的库管给提出入库申请的入库人员开具入库单,入库流程结束。
货物从仓库中出库,是从需求货物的出库单位出库人员向执行出库操作的库管提交出库申请开始的。
首先,出库人员向库管提交出库申请单。
出库申请记录申请出库的货物名称、申请出库的数量、申请出库的单位、执行出库申请的人员等信息。
执行出库的库管首先对出库单的真伪进行检验。
对有效的出库单,依据其要求出库的货物名称查找仓库库存货物的信息和此货物的库存数量。
如果有此货物,并且其库存数量满足出库申请单的数量,则执行出库操作的库管保存出库申请单并进行出库登记。
在出库登记中,执行库管要记录出库货物的名称、出库数量、出库后剩余数量、出库时间、货物去向、出库的仓库、执行出库的库管名称等信息。
进行出库登记后,将货物出库。
出库结束后,执行库管给提出出库申请的出库人员开具出库单,出库流程结束。
2.出库入库记录的查询
仓库的管理人员要对仓库存储的货物信息、入库记录和出库记录等及时掌握,这样才能及时了解仓库的运行现状,才有可能会使仓库处在良好的运行状态。
所以,一般仓库管理过程中要能提供仓库的入库、出库记录的查询功能,供管理人员使用,所以,对入库、出库记录的查询是仓库管理系统的重要功能之一。
3.货物信息的管理
仓库要存放货物,关于这些货物本身的信息,对货物的正常存储是非常重要的,例如,哪些货物需要防潮,哪些货物需要轻搬轻放等,所以,对货物本身的信息的登记、管理是仓库管理的重要内容。
4.其他信息的管理
除了以上提到的一些功能外,仓库管理系统还应该能对一些其他的信息进行管理。
例如,对每个仓库来说,都有一些存储位置用来存放货物,仓库管理过程中包括对这些存储位置进行的管理;每个仓库都有一些仓库管理员,对这些仓库管理员的管理也是仓库管理系统的功能之一。
3.2.2系统功能设置
根据仓库管理系统的需求,划分了系统的功能模块,如图3-1所示:
图3-1系统功能概述图
1.仓库管理人员的管理模块
此功能模块方便对人员的管理以及数据安全性,如(新增员工)。
2.货物信息管理模块
此模块提供了货物基础数据的录入、货物信息查询等功能,方便及时了解库存信息。
3.入库功能模块
入库功能是仓库管理系统的基本功能之一。
入库功能主要是实现登记入库记录的功能。
这些信息应包括入库单据信息、入库数量和入库时间信息、执行入库操作的操作员信息和货物存放仓库的信息等。
入库登记功能产生货物的入库记录,为以后进行入库货物的查询和出库操作产生操作数据,供管理人员掌握仓库内存储的货物情况。
4.出库功能模块
出库功能是仓库管理系统的基本功能之二。
出库功能主要是实现登记出库货物信息的功能。
这些出库记录包括出库申请单据信息、出库数量和出库时间信息、执行出库操作的库管信息和货物剩余信息等。
出库功能依据入库登记功能产生的入库记录产生货物的出库记录,将出库记录存入系统,为以后的出库记录查询以及掌握仓库货物存储情况作基础。
5.盘点功能模块
此模块通过定期对仓库信息做清点,有效的了解了货物的流通情况和仓库货物的损耗情况。
方便对货物信息的管理。
6.移库功能模块
此模块是针对货物在内部进行调动的详细记载,从而对库存信息达到更方便的管理。
第四章数据库设计
4.1引言
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,即数据库就是相关信息的集合。
本章从E-R模型的分析设计为切入点,重点介绍了数据库的设计。
根据仓库管理系统的功能,将其E-R图转化为个数据库表,为系统的实现奠定了基础。
4.2E-R图
图4-1仓库、货物E-R图
图4-2货物、盘点E-R图
4.3数据表
1.仓库表(WH)
仓库表主要有仓库编号,仓库名,仓库的负责人,仓库地址。
表4.1仓库表
列名
数据类型
长度
允许空
默认值
说明
whID
char
4
仓库编号
Name
varchar
20
仓库名
whPerson
varchar
10
负责人
whAddr
varchar
100
仓库地址
2.货物信息表(GDMESS)
货物信息表主要有货物编号,货物名称,货物简称,货物种类,货物规格型号,货物单价,单位重量,单位体积,计量单位,默认供应商,最低库存量,最高库存量,安全库存,仓库编号,最高进价,最低售价,建档人,更改人,更改时间,当前数量,上次盘点时间。
表4.2货物信息表
列名
数据类型
长度
允许空
默认值
说明
goodsID
char
8
货物编号
goodsName
varchar
30
货物名称
shortName
varchar
20
NULL
货物简称
goodsClass
varchar
10
货物种类
goodsStd
varchar
20
货物规格型号
Price
double
8
货物单价
Weight
double
8
NULL
单位重量
Volume
double
8
NULL
单位体积
unitID
char
8
计量单位
Vendor
varchar
20
默任供应商
lowQuantity
int
8
最低库存量
highQuantity
int
8
最高库存量
safeQuantity
int
8
安全库存
whID
char
8
仓库编号
highPrice
double
8
最高进价
lowPrice
double
8
最低售价
Builder
varchar
10
建档人
modiPerson
varchar
10
NULL
更改人
modiTime
datetime
8
NULL
更改时间
nowQuantity
int
8
当前数量
lastCleckTime
datetime
8
NULL
上次盘点时间
3.货物存储表(GDST)
货物储存表主要有货物编号,仓库编号及其数量
表4.3货物储存表
列名
数据类型
长度
允许空
默认值
说明
goodsID
char
8
货物编号
whID
cahr
8
仓库编号
Quantity
int
8
数量
4.操作类型表(OPST)
操作类型表主要有操作类型编码,操作类型名称
表4.4操作类型表
列名
数据类型
长度
允许空
默认值
说明
opeTypeID
char
8
操作类型编码
opeTypeNa
varchar
20
操作类型名称
5.库存记录主表(MSTOCK)
库存记录主表主要有