仓库管理系统的设计与实现Word文档下载推荐.docx

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

仓库管理系统的设计与实现Word文档下载推荐.docx

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

仓库管理系统的设计与实现Word文档下载推荐.docx

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]

3。

4MicrosoftSQLServer2000

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

它拥有很多的分类,但基本都是产品规格上的改变,内部包含的服务不同。

一般有企业版,各人版,移动版以及搜索引擎类等版本。

其中,企业版相对与其它几个版本来说,功能比较齐全,但是确不能在WindowXP下安装,这点比较遗憾。

MicrosoftSQLServer2000的主要作用是对程序所需要的数据进行存储、分析、查询、修改等操作。

MicrosoftSQLServer2000简化了之前版本数据库中的管理和优化功能,并且极大的提高了在线商务应用程序成功部署所需的可靠性和伸缩性.其中,日志传送、在线备份和故障切换群集等功能用以提高可靠性的特性。

并且,对32颗CPU和64GBRAM的支持也在很大程度上改进在伸缩性方面。

通过对数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集安装与管理等一系列的自动优化和改进后的管理特性,使得用户能够迅速部署并有效管理在线商务应用程序。

MicrosoftSQLServer还提供了数据库完整性保护。

在SQLServer中,为了对实现数据库完整性的约束,则通过检查(Check)约束、默认值(Default)约束、用户定义的数据类型、规则(Rule)、存储过程(Storedprocedure)、触发器(Trigger)等技术来实现,从而使数据库中的数据达到一致、正确,以提高数据库系统的性能。

2系统需求分析

需求分析是系统开发的首要步骤,也是直接影响系统整体性能和功能的关键步骤.系统的需求分析主要是对系统的可行性、性能和功能进行具体地分析。

不合理的需求分析,会使系统的开发环节出现许多错误和走许多弯路,导致系统开发时间长,效率低,系统质量受到影响。

2.1运行环境分析

硬件需求

CPU:

1G以上

内存:

512M以上

硬盘:

系统环境

操作系统:

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数据库设计

1概念结构设计

概念设计从系统的需求出发,用数据流的形式将设计对象表达成完整的抽象实体。

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

它的描述工具是E-R图,如图3。

2所示。

管理人员

货物

用户名

密码

商品名称

商品号码

商品类别

商品数量

生产厂家

入库

出库

M

N

修改

管理

图3.2系统E-R图

2逻辑结构设计

逻辑结构的描述方法是基本表,它反映了系统中所涉及数据的逻辑结构。

根据系统中数据信息的特点,将数据的概念模型转换为关系模型。

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

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

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

商品(商品号码、商品名、生产产地、商品数量、类别ID)

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

商品类别(类别ID、类别名)

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

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

表3.1商品信息表(kehu)

列名

数据类型

可否为空

说明

comID

Varchar(50)

NOTNULL

商品ID

comname

NULL

comfrom

comnumber

Char(10)

sortID

int(4)

商品类别ID

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

表3.3仓库管理员信息表(abc)

userID

char(10)

管理员ID

username

管理员姓名

password

密码

表3。

4商品类别管理信息表(sort)

Int(4)

sortName

商品类别名称

3.3.3物理结构设计

本系统采用MicrosoftSQLServer2000数据库系统,系统提供了良好的数据库管理功能来管理商品数据。

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

数据的备份和恢复采用数据库系统本身提供的数据导入/导出工具来完成,形成相应的数据文件。

其中数据文件名为fmw_Data。

MDF;

日志文件名为fmw_Log.LDF。

4系统实现

该系统实现了仓库管理系统的基本功能,包括商品的入库、出库,商品信息的修改和删除,商品类别的添加、删除。

用户(即仓库管理人员)登录后可以进入系统使用主界面,在主界面上,仓库管理人员可以对本系统的各个界面进行操作。

4.1数据库连接和页面显示

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;

DatabaseName=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。

}

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){

2页面显示

本系统的页面显示很多都是采用的分页显示。

因为,在一般的情况下,仓库中的商品补可能只有一种,因此,要将商品的信息分开显示出来就需要用到分页查询的功能.具体代码如下.

publicList〈Kehu〉queryByPage(intpageSize,intpageNow){

List<

Kehu〉list=newArrayList<

Kehu>

();

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+”’andpassword=’”+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商品信息查询模块

本模块主要功能为商品信息查询。

仓库管理人员进入该页面后,可以在本模块的界面中查询到所有商品的信息,并且还有关于商品出库和修改商品信息操作的超链接选项.界面如图4。

3所示。

图4.3商品信息界面

从图中可以看到,仓库管理人员可以看到所有商品的信息。

这个主要由action包中的ShowGoodsAction.java类来实现的.ShowGoodsAction。

java类的作用是创建一个链表,将要显示的商品信息放入这个链表中.具体代码为:

ShowGoodsAciton.java:

publicclassShowGoodsAction{

publicStringexecute()throwsException{

DBOperdb=newDBOper();

ResultSetrs=db.executeQuery("

select*fromkehu”);

//查询kehu这个表

ArrayListlistGoods=newArrayList();

//创建一个名为listGoods的链表

while(rs。

next()){

Goodsgoods=newGoods();

goods.setComID(rs。

getString

(1));

goods.setComname(rs。

getString

(2));

goods。

setComnumber(rs.getString(4));

setSortID(rs。

getString(5));

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

listGoods.add(goods);

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

当前位置:首页 > 解决方案 > 学习计划

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

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