1、摘 要随着经济的不断繁荣以及加入WTO后市场环境的变化,对企业的生产经营提出了更高的要求,企业必须综合利用各种先进制造技术,在网络与信息技术的支持下,改进现在的生产经营模式和组织结构,才能在市场竞争中赢得更多的份额。随着企业规模的扩大,仓库管理系统将发挥越来越重要的作用。高效方便的仓库管理系统,可以为企业的生产和经营提供坚强的后盾和有力的支持。本文所设计的仓库管理系统以标准的仓库管理模式为蓝本,基于JSP开发出一个可以用于一般单位的仓库管理系统,实现了仓库管理的高效性与安全性。系统主要提供一个仓库业务及其作业管理的信息存储和检索系统。通过入库管理、出库管理、仓库人员管理等功能模块来实现仓库的综
2、合管理。系统的测试表明,本系统可以方便快捷地实现仓库管理中的货物登记、出库入库、货物盘点等工作,使企业的仓库管理井井有条,为企业的健康发展创造良好的条件。关键词:仓库管理系统 JSP 模块化设计 目 录摘 要 .I目 录 .II第一章 引言 .11.1 仓库管理系统的背景与意义 .11.2 系统可行性研究 .21.3 本文的主要工作 .3第二章 相关技术介绍 .42.1 J2EE 相关原理及技术简介 .42.2 SERVLET.42.3 JSP 简介 .42.4 J2EE 简介 .42.5 EJB.52.6 STRUTS.52.6.1 STRUTS 发展 .52.6.2 MVC 简介 .62.
3、7 HIBERNATE .63.1 引言 .73.2 系统分析 .73.2.1 系统需求分析 .73.2.2 系统功能设置 .8第四章 数据库设计 .104.1 引言 .104.2 E-R 图 .104.3 数据表 .11第五章 系统界面与功能实现 .165.1 入库模块的实现 .165.2 出库模块的实现 .175.3 盘点模块的实现 .195.4 计量单位设置模块的实现 .205.5 货物存储信息查询模块的实现 .22总结与展望 .24致 谢 .25参考文献 .26第一章 引言1.1 仓库管理系统的背景与意义物流是有形物品从出发点到最终消费点的流动存储活动,具体包括运输、保管、包装、装卸、
4、搬运、流通加工及信息处理,从职能上可以分为:供应物流、生成物流、销售物流、回收物流和废弃物流五个职能。从 70 年代开始,计算机技术开始应用到物流领域。随着物流市场和物流信息化的发展,物流软件市场也应运而生并迅速发展起来,国内外出现了一大批物流软件供应商和物流软件。 “物流软件作为管理软件,较其它应用软件呈现先进性、高效性、可靠性和安全性等特点;较其它管理软件,如 ERP(Enterprise Resource Planning),具有以下特点:实施风险小,实施迅速;效益显著、见效快。根据物流软件结构分类,就目前物流软件所使用的应用范围来说,物流软件包括如下几个子系统:WMS(Warehous
5、e Management System,仓库管理系统)、TMS(Transportation Management System,运输管理系统)。OMS(Order Management System,定单管理系统)、SMS(Service Management System,服务管理系统) 。其中,WMS 主要提供了一整套仓库业务以及作业管理系统。通过仓库管理系统可以实现库位分配自动化和智能化;提高仓库作业效率和速度,提供准确的库存信息,并使之与实际库存变化同步。根据中国物流与采购联合会统计,2001 年,中国与物流相关的年总支出为19000 亿元人民币,物流成本占 GDP 的比重为 20%
6、左右。我国企业的物流支出成本约占总成本的 30%,而国外企业的物流支出成本仅为 7%。物流成本的巨大差距,抵消了我国企业在原材料和人工上的成本优势,降低了我国企业的竞争力。国内的很多企业,由于信息的记录、收集、汇总、处理分析还处于比较低的水平,记录中信息分散、格式随意、应用单一,收集中不及时、不全面、不完善、保留不科学,汇总时口径不一、主题多元、结果不一,处理分析方法落后、效率低下、只有短期,难以支持趋势等。随着企业规模的扩大,管理信息系统也发挥越来越重要的作用。作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益。采用仓库管理系统将使企业改变其传统的手工记录模式,应用数据
7、库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力。仓库管理系统是通过入库业务、出库业务、库存调拨、库存调整,结合批次管理、物料对应、库存盘点、质检管理、实时库存管理等功能综合运用的管理系统,对库存业务的物流和成本管理全过程进行有效控制和跟踪,实现完善的企业仓库信息管理。仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部门和销售部门提供了方便,降低了仓库的损耗。企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企
8、业长期与用户建立的良好信誉。1.2 系统可行性研究1.技术可行性根据客户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。本系统基于 JavaEE 架构,采用了较为成熟的开发模式。前端用Struts1.2,业务逻辑采用 EJB3.0 的无状态会话 Bean,持久映像层采用hibernate 1.3 模式,应用服务器使用了使用最广泛的 B
9、EA Weblogic Server。2.经济可行性估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。(1)支出:基础投资:硬件设备:PC 机软件设备:WINDOWS 2000、BEA Weblogic Server 10其它一次性支出:软件设计和开发费用经常性支出:软件维护费用、软件使用费用。(2)效益:系统的效益可以从经济效益和社会效益两方面考虑。对于仓库管理系统则应着重分析其社会效益。例如,系统投入运行后可以使仓库管理实现科学化、规范
10、化。曾强了工作人员对仓库管理能力、提高了工作效率。3.运行可行性新系统的研制和开发是充分得考虑工作人员对仓库的易于管理,管理者方便查询设备信息效率。从而能完全满足使用者的要求。4.法律可行性新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和法律。3.2.2 系统使用环境本系统的使用的最低配置要求:(1)硬件环境:服务器:CPU:2.4G 或以上;内存:1G RAM 或以上;硬盘:80G 或以上;客户端:CPU:1G ;内存:64MB 以上内存或更高;硬盘:20G 或以上。(2)软件开发环境:操作系统:WindowsXP;所用工具:MyEclipse 6.0,BEA Web
11、logic Server 10;数据库:MYSQL;(3)软件运行环境:操作系统:WindowsXP;应用服务器:BEA Weblogic Server 10;数据库:MYSQL。1.3 本文的主要工作本论文以标准的仓库管理模式为蓝本,根据软件工程的理论,开发出基于JSP 的适用于中小单的位 仓库管理系统。论文首先研究了系统开发的可行性,然后进行了需求分析,然后根据需求分析采用了结构化分析方法进行了系统分析设计,并进行了数据库的建模工作,根据模型构建了数据库。后台数据库采用 MYSQL 完成。基于开放的开发架构JSP 实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块等。最后
12、对全文进行了总结,对今后的工作提出了展望。第二章 相关技术介绍2.1 J2EE 相关原理及技术简介J2EE 规范定义了一个完善的应用组件技术框架,作为企业级应用系统基本构造模块的组件就是建立在这个框架之上。从简单的 Web 应用到复杂的分布式企业级应用,几乎所有的业务应用,都可以在此技术框架基础上构造。本文中使用的组件技术主要有三种类型:JSP、servlet 和 Enterprise JavaBean。 2.2 ServletServlet 是一些用来扩展 Web 服务器功能的 Web 组件,它基于请求/响应机制。Servlet 从客户端(例如 Web 浏览器)获得请求,然后,将响应结果返回
13、客户端。Servlet 的这种特点使它非常适合于 Web 应用。Servlet 和 EJB 组件的区别在于 EJB 组件所提供的服务器端组件特性并不能全部适用于Servlet,Servlet 更适合于处理简单的请求/响应任务,而且它不需要应用服务器所提供的复杂服务的支持。2.3 JSP 简介JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP 技术在 Servlet 技术基础上发展起来的,它正在飞速发展中,现已成为 Java 服务器编程的重要组成部分。它虽然还未成型,但是它必将和 J2EE(Java 2
14、 Enterprise Edition)一起发展。JSP 是结合 markup(HTML 和 XML)和 Java 代码来处理一种动态页面。每一页第一次被调用时,通过 JSP 引擎自动被编译成 Servlet,然后被执行,以后每次调用时,执行编译过的 Servlet。JSP 提供了多种方式访问 Java class、Servlet、Applets 和 Web Server,因此, Web 应用的功能可以分成多个明确定义公用接口的组件,通过 JSP 将它们结合在一起。2.4 J2EE 简介企业级多层应用系统的开发一直面临着重大挑战。开发商和广大程序员一直在努力推动和殷切期待一个成熟的、标准的企业
15、级应用平台来简化和规范企业级应用系统的开发和部署。Java 技术的出现,尤其是 J2EE(Java2 Platform Enterprise Edition)平台的推出正是这种努力的结果,也使得企业级应用系统的开发由此变得更加快速和方便。需要指出的是,J2EE 本身是一个标准,它为不同厂商创建平台产品提供了标准,使不同 J2EE 平台产品之间的交互成为可能。SUN 及其合作方将 J2EE 1.5 改名为 Java EE 5,但是其架构跟改名前的J2EE 没有区别。只是通过增强一些技术使得我们更快、更容易、更简单地开发企业应用程序。2.5 EJBEJB(Enterprise JavaBeans)
16、是 J2EE 平台的核心,也是 J2EE 得到业界广泛关注和支持的主要原因。我们知道,J2EE 的一个主要目标就是简化企业级多层应用系统的开发,使得程序员将主要精力放在业务逻辑的开发上。EJB 正是基于这种思想的服务器端技术,它本身也是一种规范,该规范定义了一个可重用的组件框架来实现分布式的、面向对象的业务逻辑。EJB 的核心思想是将业务逻辑与底层的系统逻辑分开,使开发者只需关心业务逻辑,而由 EJB 容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑。根据功能不同,规范中定义了三种 Enterprise JvavaBean:会话Bean(Session Bean) 、实体 Bean(E
17、ntity Bean)和消息驱动Bean(MessageDriven Bean) 。会话 Bean 分为无状态和有状态两种。一般无状态的会话 Bean 模拟商业逻辑,比如计算价格等。有状态的会话 Bean 通常模拟一个客户会话,它会临时保存客户信息,根据客户要求调用其它 Bean 来存取数据。两种会话 Bean 都不保存状态信息或者数据,当客户断开连接或者服务器关闭时,会话 Bean 也就随之消失。一个会话 Bean 的典型例子是网站上的购物车。实体 Bean 模拟业务数据,它表示一个数据存储,可以是状态信息或者数据库中的一条记录。实体 Bean 在客户断开连接或者服务器关闭后,仍有服务保证其
18、数据得以保存。消息驱动 Bean 在行为上很象会话 Bean。不同的就是仅在需要向这些 Bean发送消息时才调用消息驱动 Bean,比如在需要的时候发送用户确认信息等。2.6 Struts2.6.1 STRUTS 发展下图是 Struts 的工作流程,所有的请求都提交给 ActionServlet 来处理。图 2-1 Struts 工作流程图Struts 框架工具是 Apache 基金会 Jakarta 项目中推出的一个子项目。Struts 在英文中是支架、支撑的意思,这也体现出 Struts 在开发 Web 应用程序过程所起到的重要作用,Struts 为 Web 应用提供了通用的框架,让开发
19、人员可以把主要精力集中在如何解决实际业务问题上,与此同时 Struts 框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用 Struts 可以简化遵循 MVC 设计模式的 Web 应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥 JSP/Servlet 优点、并具有强可扩展性的 Web 应用。总之,Struts 的出现使得Web 应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。Struts 架构一经推出,即受到 Java 开发群体的广泛重视,从 2004 年开始逐渐升温,并日渐成为 Java 创建 Web 应用开发的最流行的框架工具,在目前Java Web 程序员的招聘要求中,几乎都提出了对 Struts 的要求,精通 Struts 架构已经成为 Java Web 程序员必备的技能2.6.2 MVC 简介模型-视图-控制器(MVC)是 80 年代 Smalltalk-80 出现的一种软件设计模式,现在已经被广泛的使用。1、模型(Model)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑。2、视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。3、控制器(controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新 model 对象状态。