仓库管理系统72844.docx

上传人:b****5 文档编号:11794325 上传时间:2023-04-02 格式:DOCX 页数:25 大小:873.52KB
下载 相关 举报
仓库管理系统72844.docx_第1页
第1页 / 共25页
仓库管理系统72844.docx_第2页
第2页 / 共25页
仓库管理系统72844.docx_第3页
第3页 / 共25页
仓库管理系统72844.docx_第4页
第4页 / 共25页
仓库管理系统72844.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

仓库管理系统72844.docx

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

仓库管理系统72844.docx

仓库管理系统72844

1系统设计方案的研究

1.1系统的目标

仓库管理系统的总目标是:

在数据库和先进的开发平台上,利用现有资源,开发一个体系结构完善的、易扩充的、易维护的、具有良好人机交互界面的仓库管理系统,实现仓库的计算机管理,提供完善的功能,为仓库管理人员提供便利的工作方式。

1.2可行性分析

1.2.1目的

可行性分析的目的是对问题进行分析,以及根据对所选择的开发工具的了解,分析是否可以开发出一个比较完善的仓库管理系统,较好地完成任务。

1.2.2可行性研究的前提

(1)要求

主要功能:

实现仓库的移动设备管理。

性能要求:

功能齐全,运行稳定。

输出要求:

数据完整,详实。

安全与保密要求:

实行权限管理,防止数据遭到破坏。

(2)目标

系统实现后,提高仓库管理人员的工作效率,降低其工作量、减少手工操作的差错率、

提高库存的准确率

1.2.3具体分析

(1)eclipse是一个开放源代码的,基于Java的可扩展开发平台。

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

只要将Android的SDK以及ADT导入至eclipse即可在此平台上进行Android软件的开发编程。

此次设计的仓库管理系统是一个信息管理系统,用eclipse进行开发是可行的。

(2)Android系统集成了一个轻量级的数据库:

SQLite,SQLite只是一个嵌入式的数据库引擎,专门适用于资源有限的设备上(手机、PDA等)适量数据存取。

但是它支持绝大部分SQL语法,也允许开发者使用SQL语句操作数据库中的数据。

它可用于所有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其他类型的终端用户。

基本的SQL命令只需要很少时间就能学会,最高级的命令在几天内便可掌握。

而此次设计的仓库管理系统的是一个小型的信息管理系统,对数据库的要求并不是太高。

所有用SQLite对仓库管理系统的开发是可行的。

1.3系统性能特点及控制要求

1.3.1系统简要描述

本系统通过基本信息管理功能管理商品,客户,供应商的基本信息;通过库存管理功能实行商品的入库,出库操作,以及入库单和出库单的相关查询;通过信息查询,查询库存信息。

1.3.2处理流程

使用人员通过基本信息管理管理供应商、顾客、商品的基本信息。

基本操作包括添加、删除、修改和查询。

这些基本信息放在通过第三章建立的表放在数据库当中。

系统访问数据库,并且完成用户的这些操作需求。

以表单的形式显示出来,方便用户查看。

用户通过库存管理来完成入库和出库操作,同样,入库操作和出库操作也包括添加、删除、修改和查询。

入库商品信息和出库商品信息也放在数据库中,当用户有入库和出库操作时,系统访问数据库,生成入库单和出库单,以表单的形式显示出来,方便用户查看。

处理流程如图1-1所示:

图1-1处理流程

1.4运行环境要求

(1)硬件要求:

CPU:

主频500MHZ或更高

内存(RAM):

最少64M,建议128M或更多

SDK:

250MB或更多

(2)软件要求:

Android2.2操作系统或更高版本

2数据库设计

所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程。

它包括表、查询、报表等的设计。

总的原则应从提高数据处理效率及便于数据处理两方面考虑。

数据库是信息系统的核心和基础。

它把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。

数据库设计的步骤有需求分析,概念结构设计,逻辑结构设计。

2.1需求分析

进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。

需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。

作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。

需求分析做得不好,甚至会导致整个数据库设计返工重做。

2.1.1入库操作

入库功能实现可分为以下几个部分:

(1)定制入库单

由操作人员输入最基本的信息,从商品信息表中获取商品相关信息,从供应商信息表中获取供应商的相关信息。

(2)输入入库单对应的商品信息

入库商品与入库单自动关联,从商品信息表中获取商品的相关信息。

入库操作的数据流图如图2-1所示。

2.1.2出库操作

出库功能实现可分为以下几个部分:

(1)定制出库单

由操作人员输入最基本的信息,从商品信息表中获取商品相关信息,从客户信息表中获取客户相关信息。

(2)输入出库单对应的商品信息

出库商品与出库单自动关联,从商品信息表中获取商品的相关信息。

处理流程如图2-2所示。

2.2功能模块设计

系统功能模块结构图,如图2-3所示:

图2-1入库数据流图

图2-2出库数据流图

图2-3系统功能模块图

该系统功能模块图列出了系统的主要功能模块。

包括基本信息管理,库存信息管理以及系统设置。

其中基本信息管理又包括供应商信息管理,顾客信息管理以及商品信息管理。

库存信息管理包括入库管理和出库管理。

系统设置包括管理用户,修改密码和退出三个功

能。

其中供应商信息管理包括添加供应商信息、修改供应商信息、删除供应商信息、查询供应商信息四个子功能。

顾客信息管理包括添加顾客信息、修改顾客信息、删除顾客信息、查询顾客信息四个子功能。

商品信息管理包括添加商品信息、修改商品信息、删除商品信息三个子功能。

入库管理包括添加入库商品信息、修改入库商品信息、删除入库商品信息、查询入库商品信息四个子功能。

出库管理包括添加出库商品信息、修改出库商品信息、删除出库商品信息、查询出库商品信息四个子功能。

各个功能的操作步骤见第3章详细设计。

2.3数据字典

用户的需求具体体现在各种信息的提供、保存、更新和查询。

这就要求数据加结构能够充分地满足各种信息的输入和输出。

收集基本数据、数据结构和数据处理流程,组成一份详细的数据字典,为下一步的具体设计做好充分的准备。

名字:

客户信息

描述:

仓库货物客户的基本信息

定义:

客户信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码+公司主页

名字:

供应商信息

描述:

仓库货物供应商的基本信息

定义:

供应商信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码+公司主页

名字:

商品属性信息

描述:

商品各项属性的相关信息

定义:

商品属性信息=单位+类别

名字:

商品信息

描述:

商品的各项信息

定义:

商品信息=名称+规格

名字:

入库单信息

描述:

入库单的各项信息

定义:

入库单信息=入库单号+供应商+制单人+入库时间+库管员+经办人+是否入库+数量+仓库

名字:

入库单商品信息

描述:

与入库单对应的商品信息

定义:

入库单信息=供货商公司名称+联系人姓名+联系电话+商品名称+商品规格+计量单位+单价+数量+进货日期

名字:

出库单信息

描述:

出库单的各项信息

定义:

出库单信息=顾客公司名称+联系人姓名+联系电话+商品名称+商品规格+计量单位+单价+数量+进货日期

2.4数据库概念结构设计

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,

形成一个独立于具体DBMS的概念模型。

(1)供应商实体属性图,如图2-4:

 

 

图2-4供应商实体属性图

供应商信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码+公司主页

 

图2-5顾客实体属性图

(2)顾客实体属性图,如图2-5:

顾客信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码+公司主页

(3)商品实体属性图,如图2-6:

 

图2-6商品实体属性图

商品信息=商品名称+规格+计量单位

(4)实体关系图(E-R图),如图2-7

图2-7实体关系图

供应商、顾客和商品通过仓库管理系统联系起来。

完整的实体联系图见图2-8。

(5)完整的实体联系图

图2-8包括三个实体,即供应商实体、顾客实体和商品实体。

其中供应商和商品通过入库操作联系起来。

他们之间的关系是多对多的关系。

即一件商品可以由多个供应商供应,一个供应商也可以由多种商品。

入库操作有一个属性即入库单,它记录着入库操作的一些基本信息如供应商名称、入库商品的名称等等。

商品和顾客通过出库操作联系起来。

同样他们之间也是多对多的关系。

即一个顾客可以购买多种商品,一种商品也可以提供给多个顾客。

出库操作的属性是出库单,它记录着顾客名称、出库商品的名称等等一些出库操作的基本信息。

图2-8完整的实体联系图

2.5数据库逻辑结构设计

概念结构是独立于任何一种数据模型的信息结构。

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

现在需要将上面的数据库概念结构转化为SQLite数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

仓库管理系统数据库中的各个表格的设计结果如下面的表格所示。

每个表格表示数据库中的一个表。

表2-1为供应商信息表:

 

表2-1供应商信息表

列名

数据类型

可否为空

说明

CompanyName

Varchar

NOTNULL

公司名称

ContactName

Varchar

NULL

联系人姓名

Address

Varchar

NULL

联系地址

City

Varchar

NULL

所在城市

Region

Varchar

NULL

所在地区

PostalCode

Varchar

NULL

邮政编码

Phone

Varchar

NULL

电话号码

Fax

Varchar

NULL

传真号码

Homepage

Varchar

NULL

公司主页

SupplierMemo

Text

NULL

备注信息

表2-1供应商信息表共包括10个列名,即为供应商实体的基本属性。

其中供应商编号CompanyName为候选码(Candidatekey),根据实体完整性规则,它不能为空且唯一标识一个供应商元组。

由于只有一个候选码,故CompanyName为主码(Primarykey)。

由于选择了公司名称CompanyName为主码,则不允许公司重名。

其它九个属性为非码属性,是可以为空的。

建表程序代码如下:

CREATETABLE[dbo].[suppliers](

[CompanyName][varchar](40)COLLATEChinese_PRC_CI_ASNOTNULL,

[ContactName][varchar](30)COLLATEChinese_PRC_CI_ASNULL,

[Address][varchar](60)COLLATEChinese_PRC_CI_ASNULL,

[City][varchar](15)COLLATEChinese_PRC_CI_ASNULL,

[Region][varchar](15)COLLATEChinese_PRC_CI_ASNULL,

[PostalCode][varchar](6)COLLATEChinese_PRC_CI_ASNULL,

[Phone][varchar](24)COLLATEChinese_PRC_CI_ASNULL,

[Fax][varchar](24)COLLATEChinese_PRC_CI_ASNULL,

[HomePage][varchar](50)COLLATEChinese_PRC_CI_ASNULL,

[SupplierMemo][text]COLLATEChinese_PRC_CI_ASNULL

表2-2为顾客信息表:

 

表2-2顾客信息表

列名

数据类型

可否为空

说明

CompanyName

Varchar

NOTNULL

公司名称

ContactName

Varchar

NULL

联系人姓名

Address

Varchar

NULL

联系地址

City

Varchar

NULL

所在城市

Region

Varchar

NULL

所在地区

PostalCode

Varchar

NULL

邮政编码

Phone

Varchar

NULL

电话号码

Fax

Varchar

NULL

传真号码

Homepage

Varchar

NULL

公司主页

SupplierMemo

Text

NULL

备注信息

表中共包含10个列名,即为顾客实体的基本属性。

其中CompanyName(顾客公司名)为候选码,它不能为空且它们唯一标识一个顾客信息元组。

由于只有一个候选码,CompanyName即为主码。

由于选择了公司名称CompanyName为候选码,则不允许公司重名。

其它九个属性为非码属性,是可以为空的。

建表程序与建供应商表类似,在这里不再列出。

表2-3为商品信息表:

商品信息共包括4个列名,分为对应商品名称、商品规格、商品单位和备注信息。

其中ProductName(商品名称)为候选码,它唯一标识一个商品信息元组,不能够为空。

由于只有一个候选码ProductName即为主码。

由于ProductName为候选码,商品不能够重名。

其它三个属性为非码属性,可以为空

表2-3商品信息表

列名

数据类型

可否为空

说明

ProductName

Varchar

NOTNULL

商品名称

Spec

Varchar

NULL

商品规格

Unit

Varchar

NULL

商品单位

Productmemo

Text

NULL

备注信息

表2-4为入库信息表:

表中共包括8个表项,分别表示供应商名称,商品名称,商品规格,商品单位,备注信息,商品单价,进货日期,商品数量。

其中ProductName(商品名称)为主码。

不能够为空。

其它7项为非码属性,可以为空。

建表程序如下:

CREATETABLE[dbo].[sstock](

[ProviderName][varchar](40)COLLATEChinese_PRC_CI_ASNULL,

[ProductName][varchar](40)COLLATEChinese_PRC_CI_ASNULL,

[Spec][varchar](20)COLLATEChinese_PRC_CI_ASNULL,

[Unit][varchar](20)COLLATEChinese_PRC_CI_ASNULL,

[Quantity][varchar](20)COLLATEChinese_PRC_CI_ASNULL,

[UnitPrice][float]NULL,

[OrderDate][datetime]NULL,

[Ordermemo][text]COLLATEChinese_PRC_CI_ASNULL

表2-5为出库信息表:

表中共包括8个表项,分别表示顾客名称,商品名称,商品规格,商品单位,备注信息,商品单价,进货日期,商品数量。

其中ProductName(商品名称)为主码。

不能够为空。

其它7项为非码属性,可以为空。

表2-4进货信息表

列名

数据类型

可否为空

说明

ProviderName

Varchar

NULL

供应商姓名

ProductName

Varchar

NOTNULL

商品名称

Spec

Varchar

NULL

商品规格

Unit

Varchar

NULL

商品单位

Quantity

Float

NULL

商品数量

UnitPrice

Money

NULL

商品单价

OrderDate

Datatime

NULL

进货日期

Ordermemo

Text

NULL

备注信息

表2-5出库信息表

列名

数据类型

可否为空

说明

CustomerName

Varchar

NULL

顾客姓名

ProductName

Varchar

NOTNULL

商品名称

Spec

Varchar

NULL

商品规格

Unit

Varchar

NULL

商品单位

Quantity

Float

NULL

商品数量

UnitPrice

Money

NULL

商品单价

OrderDate

Datatime

NULL

进货日期

Ordermemo

Text

NULL

备注信息

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。

现在在SQLlite数据库系统中实现该逻辑结构。

这是利用SQLite数据库系统中的SQL查询分析器实现的。

根据上面所举的建表语句分别建立下面几个表:

(1)创建供应商基本信息表

(2)创建顾客基本信息表

(3)创建商品基本信息表

(4)创建入库商品基本信息表

(5)创建出库基本信息表

(6)创建用户信息表

上面的表格的SQL语句在SQLite中查询分析器的执行,将自动产生需要的所有表格。

有关数据库结构的所有后台工作已经完成。

接下来就是系统的详细设计。

3详细设计

经过以上章节的分析、建模过程已经完成了数据库的后台工作,建立起了能够使系统顺利运行的后台,完成了初期的工作,接下来就要进入系统的实现工作阶段,包括:

界面设计和代码编写。

系统主体功能由三部分组成,下面主要对程序总体框架的搭建以及数据库的连接、基本信息的管理(包括供应商基本信息、顾客基本信息、商品基本信息)、库存管理(包括入库操作、出库操作)、信息查询(包括库存信息查询)、系统设置(包括添加用户、修改密码、退出)的详细设计过程。

3.1数据库连接

数据库程序设计是建立在数据库的基础之上的,因此,在开始程序设计时首要的任务是建立程序与数据库后台的联系。

由于Android系统自己集成了自己的轻量级数据库,所以在连接时只需要创建一个代表指定数据库的SQLiteDatabase的对象,然后就可以通过SQLitedatabase对象来管理、操作数据库了。

3.2主界面、菜单界面设计

主界面、菜单界面具体样式如图3-1示:

图3-1主界面、菜单界面

Android对布局、组件的设置与修改是非常方便的。

所以设计出这样的界面是很简单的。

各个菜单项设置如表3-1所示。

3.3各模块的功能及设计介绍

3.3.1用户登录模块

用户登录模块是系统模块中一个重要的子系统模块,它是系统安全的一个保障。

它的主要功能是安全帐号管理,需要正确帐号和密码才能进入系统。

对于错误帐号和密码给出提示。

表3-1菜单设置表

 

基本信息管理

 

供应商信息管理

添加供应商信息

修改供应商信息

删除供应商信息

查询供应商信息

 

顾客信息管理

添加顾客信息

修改顾客信息

删除顾客信息

查询顾客信息

商品信息管理

添加商品信息

修改商品信息

删除商品信息

 

库存管理

 

入库管理

添加入库商品信息

修改入库商品信息

删除入库商品信息

查询入库商品信息

 

出库管理

添加出库商品信息

修改出库商品信息

删除出库商品信息

查询出库商品信息

信息查询

库存信息查询

系统设置

修改密码

管理用户

退出

关于

关于该软件

 

处理流程:

输入:

用户名和密码。

处理:

(1)用户登录窗体启动。

(2)用户填写用户名并输入密码。

(3)从操作人员表中检查是否有相应的用户名和密码。

(4)如果用户名或密码错误,进行提示。

(5)如果输入的用户名和相应密码正确,则根据该用户的权限类别进行权限设置。

(6)进入主控制平台。

设计流程图,如图3-2:

3.3.2基本信息管理

从表3-1中可以看出,基本信息管理包括供应商信息管理,顾客信息管理和商品信息管理。

供应商是商品在入库时提供商品的人,在进行入库操作时必须先添加该商品的供应商的信息。

供应商的信息包括供应商的公司名称,联系人姓名,联系人地址,城市名称,地区名称,邮政编码,联系电话,传真号码,公司主页等基本信息。

这些都是必须要求输入的。

本程序提供了增加,删除,修改和查询供应商信息的功能。

增加:

当有新的供应商提供商品的时候需要使用此功能。

删除:

当与某供应商取消贸易关系时,需要把供应商信息从系统中删除。

修改:

当某供应商基本信息发生改变时,可以修改供应商信息。

查询:

可以查询库中任何供应商的信息。

因此仓库管理员可以方便的进行供应商信息的管理。

添加供应商信息的对话框如图3-3所示:

Y

N

图3-2登入流程图

图3-3添加供应商信息

添加供应商信息操作步骤及处理流程:

(1)选择基本信息管理->供应商信息管理->添加供应商信息

(2)出现图3-3所示对话框

(3)用户输入公司名称,联系人姓名,联系人地址,城市名称,地区名称,邮政编码,联系电话,传真号码,公司主页

(4)点击保存.如果其中有空项,会提示该项不能为空.要求用户重新输入

(5)弹出提示框显示供应商信息已经加入。

(6)用户可以继续加入供应商信息或者点返回进行其它操作。

设计流程图,如图3-4:

部分代码如下:

判断供应商唯一:

strQuery="select*fromsupplierswhereCompanyName='"+m_sCompany+"'";

theApp.ADOExecute(theApp.m_pADOSet,strQuery);

intiCount=theApp.m_pADOSet->GetRecordCount();

if(0!

=iCount)

{

AfxMessageBox(_T("已经存在此公司记录!

"),MB_ICONEXCLAMATION);

return;}

删除旧记录:

strQuery="deletefromsupplierswhereCompanyName='"+m_sOldCompany+"'";

theApp.ADOExecute(theApp.m_pADOSet,strQuery);

插入新记录:

insertsuppliers(CompanyName,ContactName,Address,City,Region,PostalCode,Phone,Fax,HomePage,SupplierMemo)\

values('"+m_sCompany+"',

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

当前位置:首页 > 解决方案

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

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