基于WEB的智能仓库管理系统.docx

上传人:b****5 文档编号:27580601 上传时间:2023-07-03 格式:DOCX 页数:50 大小:953.72KB
下载 相关 举报
基于WEB的智能仓库管理系统.docx_第1页
第1页 / 共50页
基于WEB的智能仓库管理系统.docx_第2页
第2页 / 共50页
基于WEB的智能仓库管理系统.docx_第3页
第3页 / 共50页
基于WEB的智能仓库管理系统.docx_第4页
第4页 / 共50页
基于WEB的智能仓库管理系统.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

基于WEB的智能仓库管理系统.docx

《基于WEB的智能仓库管理系统.docx》由会员分享,可在线阅读,更多相关《基于WEB的智能仓库管理系统.docx(50页珍藏版)》请在冰豆网上搜索。

基于WEB的智能仓库管理系统.docx

基于WEB的智能仓库管理系统

基于WEB的智能仓库管理系统

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

毕业设计报告(论文)

题目:

基于web的智能仓库管理系统

基于web的智能仓库管理系统

摘要

本系统主要完成对仓库的库存管理,包括入库、出库、库存,员工信息,供应商信息以及密码管理等六个方面。

系统可以完成对各类信息的浏览、查询、添加、删除、修改、报表等功能。

本系统由四大模块构成,分别是:

系统设置,单据填开,库存查询,报表导出.其中系统设置包括:

管理员的增加,修改,删除,以及权限管理;仓库内货物的基本资料的增加,修改,删除;工人,客户等的基本资料的增加,修改,删除.单据填开模块包括:

出库单,入库单,派工单,等单据的填开及作废操作。

库存查询系统包括:

库存情况的查询,各项明细的查询,工人工资的查询,以及按月,按季度,按年的报表导出功能。

该系统是对仓库的智能管理,并进行相应的采购管理、入库管理、出库管理、报表管理等一些仓库方面的管理.

关键字:

数据库SQL语言MyEclipse数据库组件仓库管理

 

IntelligentDatabaseSystem

Abstract

The system mainly refers to warehousing management, which includes the following fields:

 stock in and out, inventory, staff data, suppliers data and password management。

It also offers the functions as data browse, adding, deleting, modification and report, etc.

It contains 3 modules, system management, receipts management and inventory query.System management module is used to conduct operater adding, modification, deleting and authoirties assignment, in addition, inventory, staff and customer data adding, modification and deleting; the second part refers to stock in and out, receipts fill—in and  cancellation; the last module contends to warehousing query, staff salary query, monthly, quarterly, yearly report query and export.

As stated previously,the system is an intelligent warehousing management solution, which includes:

 purchasing management, stock in and out management, report management, etc. 

Keywords:

database;SQL;Eclipse;Databasemodule;Databasemanagement

第一章前言

1.1背景情况介绍

这是一个互联网的时代,所有企业都面临着互联网浪潮的强力冲击,电子商务无论从技术实现还是社会大背景都日益成熟。

企业对企业之间的信息化如何解决?

企业电子商务如何实现?

这些都是摆在企业企业管理者和信息部门负责人面前实实在在的问题。

借助于信息技术手段的创新,规范业务流程,强化仓库管理,对于企业信息化来说是一次良好契机.

在计算机的应用日益普及的今天,在计算机软件渐渐成为生活一部分的时代,在现代企业仓库物流需要电子化管理的现在,一个基于web的智能仓库管理系统呼之欲出.这个系统,既可以减轻仓库管理员的工作负担,又能企业更好的掌握库存情况,及时调整营销战略,取得更大利益。

智能仓库管理系统,是当代企业运作体系中,不可或缺的一部分,也是整个企业管理软件家族中,举足轻重的一员。

从70年代开始,计算机技术开始应用到物流领域。

随着物流市场和物流信息化的发展,物流软件市场也应运而生并迅速发展起来,国内外出现了一大批物流软件供应商和物流软件.“物流软件作为管理软件,较其它应用软件呈现先进性、高效性、可靠性和安全性等特点;较其它管理软件,如ERP(EnterpriseResourcePlanning),具有以下特点:

实施风险小,实施迅速;效益显著、见效快。

根据仓库管理软件结构分类,就目前仓库管理软件所使用的应用范围来说,仓库管理包括如下几个子系统:

WMS(WarehouseManagementSystem,仓库管理系统)、TMS(TransportationManagementSystem,运输管理系统。

OMS(OrderManagementSystem,定单管理系统)、SMS(ServiceManagementSystem,服务管理系统)。

其中,WMS主要提供了一整套仓库业务以及作业管理系统。

通过仓库管理系统可以实现库位分配自动化和智能化;提高仓库作业效率和速度,提供准确的库存信息,并使之与实际库存变化同步.

在研究过程中,我发现,国内及国外对于仓库的管理系统软件不在少数,但是具备智能化的就寥寥无几,有些仓库管理软件功能强大,但不实用;有些实用,但是软件界面不够友好;有些界面华丽,但是性能不够稳定。

所以,现实应用需要编写一套,实用,界面友好,性能稳定的智能仓库管理系统。

操作本系统的客户并不是专业的计算机从业人员,他们对于软件的初步认识就是,外观,所以,我在jsp技术上选择了比较动态,美观大方的extjs系统架构,该架构对于用户的提示友好,性能强大,动态性好,充分满足前台页面的实际需求。

而一款软件有一件漂亮的外衣还是不够的,他还需要强大的内心,这个内心就是Spring,他的骨架就是Struts2,他的血液就是Hibernate.这样组成的软件才能成为一款优秀的智能仓库管理系统。

1.2系统整体设计

本文主要对智能仓库管理系统—-整个开发过程和开发方式做大体的介绍。

该系统主要采用MVC模式把系统分成view层,model层,control层,视图层采用AJAX的EXTJS框架,模型层使用了JAVABEAN,控制层采用了Spring+Struts2。

本系统是基于WEB的B/S架构,动态性能比较高,而且采用了AJAX—EXTJS+JSP+JAVABEAN+Spring+Struts2+Hibernate技术,数据库采用MySql5。

5进行开发的.

智能仓库管理系统的核心是入库、库存和出库三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成入库或出库操作时系统会自动地完成库存的修改。

查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。

系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。

主要介绍了本课题的开发背景,所要完成的功能和开发的过程。

重点的说明了系统设计的重点、设计思想、难点技术和解决方案.

 

第二章系统的总体设计

2.1模块

2。

1.1模块划分

本系统由四大模块构成,分别是:

系统设置,单据填开,库存查询,报表导出。

其中:

系统设置包括:

管理员的增加,修改,删除,以及权限管理;仓库内货物的基本资料的增加,修改,删除;工人,客户等的基本资料的增加,修改,删除。

单据填开模块包括:

出库单,入库单,派工单,等单据的填开及作废操作。

库存查询系统包括:

库存情况的查询,各项明细的查询,工人工资的查询,正在加工产品查询等.

报表导出模块包括:

按月,按季度,按年的报表导出功能。

2.1.2功能概述

系统功能划分和描述如下(如图2-1所示):

A.系统设置

A。

1操作员管理A.2工资标准管理

A。

3原料类型管理A。

4成品类型管理

A.5工人资料设置A.6客户资料管理

B单据填开

B.1原料入库单B.2原料出库单

B.3成品入库单B.4成品出库单(送货单)

B。

5派工单B。

6单据作废

C明细查询

C.1原料库存查询C。

2成品库存查询

C。

3原料出入明细查询C。

4成品出入明细查询

C.5工人工资查询C。

6正在加工产品查询

D报表导出

D。

1原料库存月报表D。

2原料库存季报表

D。

3原料库存年报表D。

4成品库存月报表

D.5成品库存季报表D.6成品库存年报表

D.7工人工资月报表

统首先进入登录界面,登录时系统会根据登陆的账号自动确认用户所拥有的权限.登录成功后,根据不同的目的进行不同的操作,超级管理员能操作所有的功能,一般管理员能操作除权限管理外的功能,采购员能操作查看和入库功能,出库员能操作查看和出库的功能,一般观察者只能操作查看功能。

 

 

图2—1系统结构连接图

2。

2实现技术

2。

2。

1jsp—extjs

JSP(JavaServerPages)是由SunMicrosystems公司倡导、多家公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分.虽然还未成型,但是它必将和J2EE(Java2EnterpriseEdition)一起发展。

[3]

JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。

每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet.JSP提供了多种方式访问Javaclass、Servlet、Applets和WebServer,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。

ext是一个强大的js类库,以前是基于YAHOO—UI,现在已经完全独立了,

主要包括data,widget,form,grid,dd,menu,其中最强大的是grid了,编程思想是基于面向对象编程(oop),扩展性相当的好。

可以自己写扩展。

自己定义命名空间.web应用可能类库太大。

不过您可以根据需要按需加载您想要的类库就可以了。

主要包括三个大的文件ext—all.css,ext—base。

js,ext—all.js(包括所有的类库,您可以根据需要进行删减。

官方网站提供这一接口),在引用ext类库的时候。

这三个文件必不可少.

它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧!

其核心的组件基本覆盖了我们构建富客户端的常用的组件。

2。

2。

2javabean及Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate的核心接口一共有5个,分别为:

Session、SessionFactory、Transaction、Query和Configuration.这5个核心接口在任何开发中都会用到.通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制.

Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。

这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。

这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载.Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。

[4]

Hibernate对象关系映射提供延迟的与非延迟的对象初始化。

非延迟加载在读取一个对象的时候会将与这个对象所有相关的其他对象一起读取出来。

这有时会导致成百的(如果不是成千的话)select语句在读取对象的时候执行.这个问题有时出现在使用双向关系的时候,经常会导致整个数据库都在初始化的阶段被读出来了。

当然,你可以不厌其烦地检查每一个对象与其他对象的关系,并把那些最昂贵的删除,但是到最后,我们可能会因此失去了本想在ORM工具中获得的便利。

2。

2.3Struts2、MVC和Spring

模型-视图-控制器(MVC)是80年代Smalltalk—80出现的一种软件设计模式,现在已经被广泛的使用。

1、模型(Model)

 模型是应用程序的主体部分。

模型表示业务数据,或者业务逻辑.

2、视图(View)

 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

3、控制器(controller)

 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

[5]

MVC式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。

很多VB,Delphi等RAD程序都有这种问题。

甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。

主要原因:

一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现.[6]CGI程序以字符串输出的形式动态地生成HTML内容.后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中.这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。

二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。

直到基于J2EE的JSPModel2问世时才得以改观。

[7]它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能JSPModel1与JSPModel2。

如图2—2所示:

 

图2-2MVC组件模型的关系和功能图

图2—3Struts2流程示意图

当接收到一个httprequest请求时,Interceptor会做一些拦截或者初始化的工作.当外部的httpservletrequest请求到来时,它会被初始到servlet容器中,并传递给一个标准的过滤器链,而ActionContextCleanUp在集成插件方面非常有用。

Otherfilters(SitMesh,etc)调用FilterDispatecher会去查找相应的ActionMapper,如果找到了相应的ActionMapper,它将会将控制权限交给ActionProxy。

ActionProxy将会通过ConfigurationManager来查找配置struts.xml。

  下一步将会通过ActionInvocation来负责命令模式的实现(包括调用一些拦截Interceptor框架在调用action之前),一旦action返回,会查找相应的Result.Result类型可以是jsp或者freeMark等.这些组件和ActionMapper一起返回给请求的url(注意拦截器的执行顺序)响应的返回是通过我们在web.xml中配置的过滤器,如果ActionContextCleanUp是当前使用的,则FilterDispatecher将不会清理sreadlocalActionContext,如果ActionContextCleanUp不使用,则将会去清理sreadlocals。

如图5—9所示。

[8]

 Spring是一个开源框架,它由RodJohnson创建.它是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

然而,Spring的用途不仅限于服务器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益.

  ◆目的:

解决企业应用开发的复杂性

  ◆功能:

使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

  ◆范围:

任何Java应用

  简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

[2]

  ◆轻量——从大小与开销两方面而言Spring都是轻量的.完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。

并且Spring所需的处理开销也是微不足道的.此外,Spring是非侵入式的:

典型地,Spring应用中的对象不依赖于Spring的特定类。

  ◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。

当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。

你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

  ◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。

应用对象只实现它们应该做的——完成业务逻辑——仅此而已.它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

  ◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建-—基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。

然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

  ◆框架-—Spring可以将简单的组件配置、组合成为复杂的应用.在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。

Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

  所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。

它们也为Spring中的各种模块提供了基础支持。

2。

2。

4数据库MySQL

1。

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

  2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统

  3.为多种编程语言提供了API.这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

  4.支持多线程,充分利用CPU资源

  5.优化的SQL查询算法,有效地提高查询速度

  6。

既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

  7。

提供TCP/IP、ODBC和JDBC等多种数据库连接途径

  8。

提供用于管理、检查、优化数据库操作的管理工具

  9.可以处理拥有上千万条记录的大型数据库

(1)减少数据的重复(Redundancycanbereduced)

当在一个非数据库系统当中,每一个应用程序都有属于他们自己的文件,由于无法有系统建立的数据,因此常常会造成存储数据的重复与浪费。

例如:

在一家公司当中,人事管理程序与工资管理程序或许都会使用到职员与部门的信息或文件,而我们可以运用数据库的方法,把这两个文件整理起来,以减少多余的数据,过度地占用存储空间。

(2)避免数据的不一致(Inconsistencycanavoid)

本项的特色,可以说是延伸前项的一个特点,要说明这样的一个现象,我们可以从下面这个实例来看:

若是在同一家公司当中,职员甲在策划部门工作,且职员甲的记录同时被存放在数据库的两个地方,而数据库管理系统却没有对这样重要的情况加以控制,当其中一条数据库被修改时,便会造成数据的不一致,但是,对于一个健全的数据库管理系统而言,将会对这样的情况加以控制,但有时并不需要刻意消除这种情形,应当视该数据库的需求与效率来决定。

(3)数据共享(Datashared)

对于数据共享的意义,并不是只有针对数据库设计的应用程序,可以使用数据库中的数据,对于其他撰写好的应用程序,同样可以对相同数据库当中的数据进行处理,进而达到数据共享的目的.

(4)强化数据的标准化(Standardcanbeenforced)

由数据库管理系统,对数据做出统筹性的管理,对于数据的格式与一些存储上的标准进行控制,如此一来,对于不同的环境的数据交换(DataInterchange)上将有很大的帮助,也能提高数据处理的效率。

(5)实践安全性的管理(Securityrestrictioncanbeapplied)

通过对数据库完整的权限控制,数据库管理者可以确认所有可供用户存取数据的合法途径渠道,并且可以事先对一些较重要或关键性的数据进行安全检查,以确保数据存取时,能够将任何不当损毁的情形降至最低。

(6)完整性的维护(Integritycanbemaintained)

所谓完整性的问题,就是要确认某条数据在数据库当中,是正确无误的。

正如

(2)所述,若是无法控制数据的不一致性,便会产生完整性不足的问题,所以,我们会发现,当数据重复性高的时候,数据不完整的情形也会增加,当然,若是数据库的功能完整,将会大大地提高数据完整性,也会增加数据库的维护能力与维护简便性。

(7)需求冲突会获得平衡(Conflictingrequirementscanbebalance)

在一个较大型的企业当中,用户不同的需求,往往会造成系统或数据库在设计上的困扰,但是一个合适的数据库系统,可以通过数据库管理员的管理,将会有效地整理各方面的信息,对于一些较重要的应用程序,可以适时地提供较快速的数据存取方法与格式,以平衡多个用户在需求上的冲突。

[9]

2.2。

5开发工具MyEclipse7。

1

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。

  在结构上,MyEclipse的特征可以被分为7类:

  1.JavaEE模型

  2。

WEB开发工具

  3.EJB开发工具

  4.应用程序服务器的连接器

  5。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1