仓库管理系统的设计与实现.docx

上传人:b****3 文档编号:26830080 上传时间:2023-06-23 格式:DOCX 页数:59 大小:205.03KB
下载 相关 举报
仓库管理系统的设计与实现.docx_第1页
第1页 / 共59页
仓库管理系统的设计与实现.docx_第2页
第2页 / 共59页
仓库管理系统的设计与实现.docx_第3页
第3页 / 共59页
仓库管理系统的设计与实现.docx_第4页
第4页 / 共59页
仓库管理系统的设计与实现.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

仓库管理系统的设计与实现.docx

《仓库管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《仓库管理系统的设计与实现.docx(59页珍藏版)》请在冰豆网上搜索。

仓库管理系统的设计与实现.docx

仓库管理系统的设计与实现

 

1绪论

 

跟着社会经济的不停发展,各个公司也面对着各样机会和挑战。

为了能够在这个

信息化的时代持续发展下去,就一定紧跟上时代的脚步。

跟着网络技术的不停发展,

现代物流技术也在不停的更新换代。

传统的人工记录的办公方法已经没法知足好多企

业的需要,所以,每个公司都需要一个自动化的库房管理系统。

库房是每个公司都必

须慎重管理的地方,由于货物是公司最基本的本钱,只有很好地管理好自己公司的货

物,才能在竞争这样强烈的社会中谋得一片天地。

本课题正是依据这一理念,开发了

一个功能比较完美,基本能知足公司要求的库房管理系统。

 

1.1系统开发背景

 

跟着计算机技术的发展,一个崭新的信息化的世界已经展此刻我们眼前。

此刻,

你能够随地看到好多不一样种类的信息管理系统。

商品是公司的根本,库房是公司用来保留商品的地方。

所以,库房对于公司十分

重要。

所以说一个成功的公司必然会有一个好的库房,而一个好的库房就一定会有一

个先进的库房管理系统作为支撑。

可是,传统简单、静态的库房管理系统,由于其不

具备信息共享功能,且没法保证货物的正确的进库、库存控制和发货等问题,已经无

法保证公司资源的高效利用;并且,传统的库房管理系统存在保护困难、开发复杂等

弊端,极大的浪费公司的人力、物力,所以已经跟不上时代的步伐。

所以说,一个成

功的公司需要一个现代的库房管理系统来保证公司产品的精美化管理,保证最大化利

用公司资源。

 

1.2系统开发目的

 

库房是所有公司都不行缺乏的部分,所以,一个公司想要蓬勃发展,管理好自己

的库房就显得十分重要。

可是库房中的货物老是不停改动的,所以,就需要有人将仓

库中货物的增减状况进行记录。

可是传统的人工记录的方法存在着很多问题,比方信

息安全行性低、查问效率低等。

所以,对于一个想要不停发展的公司来说,这类人工

记录的方式一定裁减。

跟着计算机技术的不停发展,计算机的使用已经十分广泛,每个公司都拥有计算

机。

使用计算机对库存信息进行管理有着好多人工记录所没法比较的长处,比方查问

快捷、信息安全性高、增添删除方便等。

鉴于以上这些原由,我开发了一个库房管理系统。

本系统能够保证货物的正确的

 

进库、库存控制和发货。

并且,系统保护简单,不需要动用太多的人力、物力,能够

有效的帮助公司管理好库房。

1.3系统开发平台

 

本系统采纳B/S的三层架构,系统使用MyEclipse开发工具,鉴于J2EE平台,采纳

MVC开发模式,JSP、Struts技术,采纳SQLServer2000作为系统的数据库平台。

1.3.1MyEclipse

全名

MyEclipseEnterpriseWorkbench

,简称

MyEclipse

MyEclipse

公司级

工作平台是对

EclipseIDE

的扩展,利用它我们能够极大的提升在数据库和

J2EE的

开发、公布,以及使用程序服务器整合方面的工作效率。

它是功能丰富的

J2EE集成

开发环境,包含了齐备的编码功能、调试功能、测试功能、公布功能等,完好支持HTML、

Struts、JSP、CSS、Javascript、SQL、Hibernate等框架。

1.3.2JSP技术

JSP技术是主流Web开发技术中使用最为宽泛的一种,它是由Sun公司推出的一款鉴于Java语言的Web开发技术。

在Sun公司的倡议下,很多公司都参和到了JSP的开发之中,使得JSP成为了动向网页技术的标准。

JSP技术不单继承了Java语言的强盛功能,能够方便的开发出先进、安全和跨平台的电子商务系统,并且还拥有Java

Servlet的稳固性,并能够使用Servlet供给API。

JSP是当前比较热点的一款Web

网页开发技术,由它开发出的系统拥有优秀的扩大性,适用性较高。

JSP技术使用Java编程语言编写类XML的tags和scriptlets来封装动向网页产

生的办理逻辑。

JSP技术将网页的设计和显示和网页逻辑分别开来,并且设计成支持

可重用的鉴于组件,这些功能极大的提升了鉴于Web的使用程序的开发效率。

当有访

问JSP页面的恳求发送到Web服务器时,第一将此中的程序段进行履行,而后将履行结果连同JSP文件中的HTML代码一同返回给客户。

插入的Java程序段能够用来进行数据库、从头定向网页等操作,以实现成立动向网页所需要的功能。

JSP和JavaServlet同样,是在服务器端履行的,往常返回给客户端的就是一个

[2]

HTML文本,所以客户端只需有阅读器就能阅读。

1.3.3Struts2

Struts2框架是在Struts1和WebWork框架的基础上开发出来的,它汲取了2个框架的长处。

Struts1框架和WebWork框架是2个完好不一样的框架。

所以,固然Struts2感觉上仿佛是Struts1的升级版,可是却和Struts1对比,在设计理念上有着实质的

 

不一样。

在系统构造和运转流程上Struts2和WebWork特别相像,所以,能够将Struts2理解成是继承了WebWork的血统。

Struts2

框架大概是由中心控制器、业务控制器和用户实现的业务逻辑组件

3个

部分构成。

此中,

FilterDispatcher

充任着中心控制器,该控制器作为一个

Filter

运转在Web使用中,并负责拦截用户的所有恳求。

用户使用软件时,假如恳求最后是以“.action”结尾,那么,该恳求就将转入到Struts2框架中进行办理。

用户自己实现的Action类的实例其实就是业务控制器,在这些Action类中,一般都包含一个execute()方法,该方法的返回值一般都是一个字符串,就是一般我们所说的逻辑

视图名,并且,总有一个实质要转到的视图资源和这些逻辑视图名相对应。

固然

Struts2在中心控制器和业务控制器方面为用户供给了好多帮助,可是在业务逻辑组

件方面,它确没有供给太多的帮助。

业务逻辑组件其实不过一个表现层的框架,所以

在实质开发过程中,当控制器需要获得业务逻辑组件时,往常都要经过Factory模式

[3]

来获得所需的业务逻辑组件实例。

1.3.4MicrosoftSQLServer2000

MicrosoftSQLServer2000是一款由微软公司开发的数据库产品。

它拥有好多

的分类,但基本都是产品规格上的改变,内部包含的服务不一样。

一般有公司版,各人

版,挪动版以及搜寻引擎类等版本。

此中,公司版相对和其余几个版原来说,功能比

较齐备,可是确不可以在WindowXP下安装,这点比较遗憾。

MicrosoftSQLServer2000

的主要作用是对程序所需要的数据进行储存、剖析、查问、改正等操作。

MicrosoftSQLServer2000简化了以前版本数据库中的管理和优化功能,并且

极大的提升了在线商务使用程序成功部署所需的靠谱性和伸缩性。

此中,日记传递、

在线备份和故障切换群集等功能用以提升靠谱性的特征。

并且,对32颗CPU和64GB

RAM的支持也在很大程度上改良在伸缩性方面。

经过对数据文件尺寸的自动管理、基

于导游的数据库拷贝、自动内存管理和简化的故障切换群集安装和管理等一系列的自

动优化和改良后的管理特征,使得用户能够快速部署并有效管理在线商务使用程序。

MicrosoftSQLServer还供给了数据库完好性保护。

在SQLServer中,为了对

实现数据库完好性的拘束,则经过检查(Check)拘束、默认值(Default)拘束、用户

定义的数据种类、规则(Rule)、储存过程(Storedprocedure)、触发器(Trigger)等

技术来实现,进而使数据库中的数据达到一致、正确,以提升数据库系统的性能。

 

2系统需求剖析

 

需求剖析是系统开发的首要步骤,也是直接影响系统整体性能和功能的重点步

骤。

系统的需求剖析主假如对系统的可行性、性能和功能进行详细地剖析。

不合理的

需求剖析,会使系统的开发环节出现很多错误和走很多弯路,致使系统开发时间长,

效率低,系统质量遇到影响。

 

2.1运转环境剖析

硬件需求

CPU:

1G以上

内存:

512M以上

硬盘:

1G以上

系统环境

操作系统:

WindowXP/Window2000

数据库:

SQLServer2000

开发工具:

MyEclipse

开发语言:

Java

2.2功能模块剖析

 

(1)功能剖析

系统拥有库房管理系统的基本功能。

系统分为两个部分,一个是用户部分:

用户能够使用用户名和密码登录系统进行

操作。

一个是系统部分:

这部分包含对商品的入库、出库操作,在库货物查问等功能。

(2)模块剖析

登录模块:

库房管理人员进入系统一定经过登录。

增添商品信息模块:

新入库的商品,在进入库房以前,一定经过库房管理人员的

进行增添。

入库模块:

库房中已有的商品才能进行的操作,主假如入库数目上的变化。

商品类型管理模块:

商品类型来划分各样商品,将商品分类管理。

2.3系统目的剖析

 

仓储物流在公司的整个供给链中起到一个至关重要的作用,假如不可以正确的保证

货物的入库,库存货物的发货,将致使公司管理花费的增添。

并且,库房管理人员的

 

工作时间会延伸,工作的效率不高。

开发这个系统,主要的目的就是帮助库房管理人员提升工作效率,降低工作时间,

实现库房货物在管理上的系统化,规范化和自动化。

2.4性能剖析

 

本系统操作简单,界面雅观,使用本系统的库房管理人员不需要掌握太多的专业知识即可娴熟使用。

系统能够快速的将库房管理人员对商品信息的操作(包含商品的入库、出库,商品信息的改正和删除,商品类其他增添和删除等)显示在对应的页面中,达到“即时操作,即时显示”的成效。

系统功能完美,包含了一般库房管理系统的所有功能,完好能够知足用户的需要。

 

3系统设计

 

系统的设计是系统开发中的一个重要环节。

本章将主要介绍一个鉴于B/S架构的

库房管理系统的整体构造、系统架构和数据库设计。

整体构造主要介绍了各个模块之

间的关系,数据库设计主要说了然表的成立和数据之间的关系。

3.1整体构造

 

本系统包含了库房管理系统所需要的基本功能,能够知足一般用户对于库房管理

的需要,能有效的提升库房管理人员的工作效率。

依据系统的需求剖析,系统大概分

为以下几个模块:

登录模块、增添商品信息模块、出库模块、入库模块、商品类型管

理模块。

此中,各个模块又有不一样的子模块。

整体构造如图3.1所示。

 

库房管理系统

 

登入

 

 

 

图3.1整体构造图

 

3.2系统架构

 

系统是鉴于B/S构造开发的,B/S构造分为表示层、业务层、数据层三层。

此中:

(1)表示层:

作为用户的接口层,负责用户和整个系统交互,利用JSP技术来实

 

现。

(2)业务层:

作为业务逻辑的封装层,采纳Struts2框架,页面接遇到用户恳求后,将数据层取到的数据进行办理,最后把办理结果在表示层中显示出来。

(3)数据层:

作为数据的储存层,采纳SQLServer2000数据库进行数据的管理。

3.3数据库设计

 

观点构造设计

观点设计从系统的需求出发,用数据流的形式将设计对象表达成完好的抽象实

体。

但不波及模块内部的细节。

它的描绘工具是E-R图,如图3.2所示。

 

出库

入库

用户名

 

M

管理人员

管理

货物

N

 

密码

改正

删除

增添

 

图3.2系统E-R图

逻辑构造设计

逻辑构造的描绘方法是基本表,它反应了系统中所波及数据的逻辑构造。

依据系

统中数据信息的特色,将数据的观点模型变换为关系模型。

(1)用户信息关系模式,此顶用户名为关系主键。

用户(用户ID、用户名、密码)

(2)商品信息关系模式,此中商品号码为关系主键。

商品(商品号码、商品名、生产产地、商品数目、类型ID)

(3)商品类型信息关系模式,此中类型ID为关系主键。

商品类型(类型ID、类又名)

(4)出库商品信息关系模式,此中商品号码为关系主键。

出库商品(商品号码、商品名、生产产地、出库数目、类型ID)

表3.1商品信息表(kehu)

 

列名

 

数据种类

 

可否为空

 

说明

comID

Varchar

(50)

NOTNULL

商品

ID

 

comname

Varchar(50)

NULL

商品名称

comfrom

Varchar(50)

NULL

生产厂家

comnumber

Char(10)

NULL

商品数目

sortID

int(4)

NULL

商品类型ID

表3.2商品出库信息表(outkehu)

 

列名

数据种类

可否为空

说明

comID

Varchar(50)

NOTNULL

商品ID

comname

Varchar(50)

NULL

商品名称

comfrom

Varchar(50)

NULL

生产厂家

comnumber

Char(10)

NULL

商品数目

sortID

int(4)

NULL

商品类型ID

表3.3库房管理员信息表(

abc)

列名

数据种类

可否为空

说明

userID

char(10)

NOTNULL

管理员ID

username

char(10)

NULL

管理员姓名

password

char(10)

NULL

密码

表3.4商品类型管理信息表(

sort)

列名

数据种类

可否为空

说明

sortID

Int(4)

NOTNULL

商品类型ID

sortName

Char(10)

NULL

商品类又名称

物理构造设计

本系统采纳MicrosoftSQLServer2000数据库系统,系统供给了优秀的数据库

管理功能来管理商品数据。

数据库名为fmw,表名分别为kehu、abc、outkehu、sort。

数据的备份和恢复采

用数据库系统自己供给的数据导入/导出工具来达成,形成相应的数据文件。

此中数

据文件名为fmw_Data.MDF;日记文件名为fmw_Log.LDF。

 

4系统实现

 

该系统实现了库房管理系统的基本功能,包含商品的入库、出库,商品信息的修

改和删除,商品类其他增添、删除。

用户(即库房管理人员)登录后能够进入系统使用

 

主界面,在主界面上,库房管理人员能够对本系统的各个界面进行操作。

4.1数据库连结和页面显示

 

数据库连结

本系统和数据库的连结方式,包含对数据库中的信息进行增添、删除、改正,都

封装在一个名为DBOper.java的文件中,以便库房管理人员在计算机上运转本系统时,

对数据库进行必需的操作。

详细代码以下。

importjava.sql.*;

publicclassDBOper{

publicDBOper()

{

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");}catch(ClassNotFoundExceptione){}

}

privateConnectiongetConnection(){

Connectionconn=null;

try{

conn=DriverManager.getConnection("jdbc:

sqlserver:

//localhost:

1433;Data

baseName=fmw","sa","sa");//填写有关的数据库名和数据库用户名和密码Statementstmt=conn.createStatement();}catch(SQLExceptione){

 

System.out.println(e.getMessage());

}

returnconn;

}

publicResultSetexecuteQuery(Stringsql)

{

ResultSetrs=null;

try{

Connectionconn=this.getConnection();

 

Statementstmt=conn.createStatement();

rs=stmt.executeQuery(sql);

}catch(SQLExceptione){

System.out.println(e.getMessage());

}

returnrs;

}

//

用于履行Insert、Update、Delete语句以及SQLDDL语句

publicintexecuteUpdate(Stringsql){

intnum=0;

try{

Connectionconn=this.getConnection();//

Statementstmt=conn.createStatement();//

num=stmt.executeUpdate(sql);//履行sql

}catch(SQLExceptione){

初始化数据库的连结

履行一个连结

的操作

System.out.println(e.getMessage());

}

returnnum;

}

//封闭一个连结

privatevoidcloseConn(Connectionconn){

if(null!

=conn){

try{

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

//封闭一个连结

 

privatevoidcloseStam(Statementstmt){

if(null!

=stmt){

try{

stmt.close();

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

}

页面显示

本系统的页面显示好多都是采纳的分页显示。

由于,在一般的状况下,库房中的

商品补可能只有一种,所以,要将商品的信息分开显示出来就需要用到分页查问的功

能。

详细代码以下。

publicListqueryByPage(intpageSize,intpageNow){

Listlist=newArrayList();

try{

if(this.getConnection()!

=null&&pageSize>0&&pageNow>0){

pstmt=this.getConnection().prepareStatement(

"select*fromkehuorderbycomIDlimit

"+(pageNow*pageSize-pageSize)+","+pageSize

);//

以商品ID为标准查问数据表kehu中的商品信息rs=pstmt.executeQuery();while(rs.next()){

kehu=newKehu();

kehu.setComID(rs.getInt

(1));

kehu.setComname(rs.getString

(2));

kehu.setComfrom(rs.getString(3));

kehu.setComnumber(rs.getString(4));

kehu.setSortID(rs.getString(5));

 

list.add(kehu);

}

}

}catch(SQLExceptione){e.printStackTrace();

}

returnlist;

}

 

4.2登录模块

 

本系统是一个单用户系统。

库房管理人员使用用户名和密码登入系统以后,可进

入主界面对系统进行操作。

登录界面设计,如图4.1所示。

 

图4.1用户登录界面

 

当库房管理人员登录系统,一定输入正确的用户名和密码,当输入的用户名或许

密码错误时,就会出现登录失败的状况。

实现判断登录人员用户名和密码能否错误功

能的主要代码以下。

publicStringexecute()throwsException{

DBOperdbOper=newDBOper();

Stringsql="select*fromabcwhereusername='"+username+"'and

password='"+password+"'";//查问数据表abc中能否有这个用户名和密码ResultSetrs=dbOper.executeQuery(sql);

System.out.println(sql);

if(rs.next()){

return"main";

 

}

elsereturn"error";//查问结果假如有则返回到main,没有,则返回error,这两个返回值对应两个JSP页面

}

 

4.3主界面模块

 

当库房管理人员用正确的用户名和密码登录进系统以后,即可直接进入到主界面。

在主界面上,有各个子功能界面的超链接选项,包含商品信息查问、商品入库、新商

品入库管理、商品类型管理、商品出库信息查问。

当库房管理人员达成工作后,即可

选择退出。

主界面如图4.2所示。

 

图4.2使用界面

 

4.4商品

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

当前位置:首页 > 经管营销 > 财务管理

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

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