仓库管理系统_第1页
仓库管理系统_第2页
仓库管理系统_第3页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1系统设计方案的研究1.1系统的目标仓库管理系统的总目标是:在数据库和先进的开发平台上,利用现有资源,开发一个体系结构完善的、易扩充的、易维护的、具有良好人机交互界面的仓库管理系统,实现仓库的计算机管理,提供完善的功能,为仓库管理人员提供便利的工作方式。1.2可行性分析1.2.1目的可行性分析的目的是对问题进行分析,以及根据对所选择的开发工具的了解,分析是否可以开发出一个比较完善的仓库管理系统,较好地完成任务。1.2.2可行性研究的前提(1) 要求主要功能:实现仓库的移动设备管理。性能要求:功能齐全,运行稳定。输出要求:数据完整,详实。安全与保密要求:实行权限管理,防止数据遭到破坏。(2) 目

2、标系统实现后,提高仓库管理人员的工作效率,降低其工作量、减少手工操作的差错率、提高库存的准确率1.2.3具体分析(1)eclipse是一个开放源代码的,基丁Java的可扩展开发平台。虽然大多数用户很乐丁将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限丁此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE,这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由丁Eclipse中的每样东西都是插件,对丁给Eclipse提供插件,以及给用户提供一致和统一

3、的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。只要将Android的SDK以及ADT导入至eclipse即可在此平台上进行Android软件的开发编程。此次设计的仓库管理系统是一个信息管理系统,用eclipse进行开发是可行的。(2)Android系统集成了一个轻量级的数据库:SQLite,SQLite只是一个嵌入式的数据库引擎,专门适用丁资源有限的设备上(手机、PDA?)适量数据存取。但是它支持绝大部分SQL语法,也允许开发者使用SQL语句操作数据库中的数据。它可用丁所有用户的数据库活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其他类型的终端用户。基本

4、的SQL#令只需要很少时间就能学会,最高级的命令在几天内便可掌握。而此次设计的仓库管理系统的是一个小型的信息管理系统,对数据库的要求并不是太高。所有用SQLite对仓库管理系统的开发是可行的。1.3系统性能特点及控制要求1.3.1系统简要描述本系统通过基本信息管理功能管理商品,客户,供应商的基本信息;通过库存管理功能实行商品的入库,出库操作,以及入库单和出库单的相关查询;通过信息查询,查询库存信息。1.3.2处理流程使用人员通过基本信息管理管理供应商、顾客、商品的基本信息。基本操作包括添加、删除、修改和查询。这些基本信息放在通过第三章建立的表放在数据库当中。系统访问数据库,并且完成用户的这些操

5、作需求。以表单的形式显示出来,方便用户查看。用户通过库存管理来完成入库和出库操作,同样,入库操作和出库操作也包括添加、删除、修改和查询。入库商品信息和出库商品信息也放在数据库中,当用户有入库和出库操作时,系统访问数据库,生成入库单和出库单,以表单的形式显示出来,方便用户查看。处理流程如图1-1所示:1.4运行环境要求硬件要求:CPU:主频500MHZ或更高内存(RAM:最少64M建议128M或更多SDK:250MB或更多(1) 软件要求:Android2.2操作系统或更高版本2数据库设计所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程。它包括表

6、、查询、报表等的设计。总的原则应从提高数据处理效率及便丁数据处理两方面考虑。数据库是信息系统的核心和基础。它把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库设计的步骤有需求分析,概念结构设计,逻辑结构设计。2.1需求分析进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。2.1.1入库操作入库功能实现可分为

7、以下几个部分:(1)定制入库单从供应商信息表入库操作的数据由操作人员输入最基本的信息,从商品信息表中获取商品相关信息,中获取供应商的相关信息。(2)输入入库单对应的商品信息入库商品与入库单自动关联,从商品信息表中获取商品的相关信息。流图如图2-1所示。2.1.2出库操作出库功能实现可分为以下几个部分:(1) 定制出库单从客户信息表中由操作人员输入最基本的信息,从商品信息表中获取商品相关信息,获取客户相关信息。(2) 输入出库单对应的商品信息出库商品与出库单自动关联,从商品信息表中获取商品的相关信息。处理流程如图2-2所示。2.2功能模块设计系统功能模块结构图,如图2-3所示:图2-1入库数据流

8、图图2-2出库数据流图该系统功能模块图列出了系统的主要功能模块。包括基本信息管理,库存信息管理以及系统设置。其中基本信息管理乂包括供应商信息管理,顾客信息管理以及商品信息管理。库存信息管理包括入库管理和出库管理。系统设置包括管理用户,修改密码和退出三个功能。其中供应商信息管理包括添加供应商信息、修改供应商信息、删除供应商信息、查询供应商信息四个子功能。顾客信息管理包括添加顾客信息、修改顾客信息、删除顾客信息、查询顾客信息四个子功能。商品信息管理包括添加商品信息、修改商品信息、删除商品信息三个子功能。入库管理包括添加入库商品信息、修改入库商品信息、删除入库商品信息、查询入库商品信息四个子功能。出

9、库管理包括添加出库商品信息、修改出库商品信息、删除出库商品信息、查询出库商品信息四个子功能。各个功能的操作步骤见第3章详细设计。2.3数据字典用户的需求具体体现在各种信息的提供、保存、更新和查询。这就要求数据加结构能够充分地满足各种信息的输入和输出。收集基本数据、数据结构和数据处理流程,组成一份详细的数据字典,为下一步的具体设计做好充分的准备。名字:客户信息描述:仓库货物客户的基本信息定义:客户信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码+公司主贞名字:供应商信息描述:仓库货物供应商的基本信息定义:供应商信息=公司名称+联系人姓名+联系人地址+城市名

10、称+地区名称+邮政编码+联系电话+传真号码+公司主贞名字:商品届性信息描述:商品各项届性的相关信息定义:商品届性信息=单位+类别名字:商品信息描述:商品的各项信息定义:商品信息=名称+规格名字:入库单信息描述:入库单的各项信息定义:入库单信息=入库单号+供应商+制单人+入库时间+库管员+经办人+是否入库成量+仓库名字:入库单商品信息描述:与入库单对应的商品信息定义:入库单信息=供货商公司名称+联系人姓名+联系电话+商品名称+商品规格+计量单位+单价+数量+进货日期名字:出库单信息描述:出库单的各项信息定义:出库单信息=顾客公司名称+联系人姓名+联系电话+商品名称+商品规格+计量单位+单价+数量

11、+进货日期2.4数据库概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立丁具体DBM的概念模型。(1)供应商实体届性图,如图2-4:图2-4供应商实体属性图供应商信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码司主贞(2) 顾客实体届性图,如图2-5:(3) 顾客信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码+公司主贞商品实体届性图,如图2-6:商品信息=商品名称+规格+计量单位实体关系图(E-R图),如图2-7图2-7实体关系图供应商、顾客和商品通过仓库管理系统联

12、系起来。完整的实体联系图见图2-8。(4) 完整的实体联系图图2-8包括三个实体,即供应商实体、顾客实体和商品实体。其中供应商和商品通过入库操作联系起来。他们之间的关系是多对多的关系。即一件商品可以由多个供应商供应,一个供应商也可以由多种商品。入库操作有一个届性即入库单,它记录着入库操作的一些基本信息如供应商名称、入库商品的名称等等。商品和顾客通过出库操作联系起来。同样他们之间也是多对多的关系。即一个顾客可以购买多种商品,一种商品也可以提供给多个顾客。出库操作的届性是出库单,它记录着顾客名称、出库商品的名称等等一些出库操作的基本信息。电话出库单电话电话主页城市主页传真电话城市传真入库入库单规格

13、供应商商品图2-8完整的实体联系图2.5数据库逻辑结构设计概念结构是独立丁任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS"品所支持的数据模型相符合的逻辑结构。现在需要将上面的数据库概念结构转化为SQLite数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。每个表格表小数据仓库管理系统数据库中的各个表格的设计结果如下面的表格所示库中的一个表。表2-1为供应商信息表:表2-1供应商信息表列名数据类型出合为空说明CompanyNameVarcharNOTNULL公司名称ContactNameVarcharNULL联系人姓

14、名AddressVarcharNULL联系地址CityVarcharNULL所在城市RegionVarcharNULL所在地区PostalCodeVarcharNULL邮政编码PhoneVarcharNULL电话号码FaxVarcharNULL传真号码HomepageVarcharNULL公司主页SupplierMemoTextNULL备注信息表2-1供应商信息表共包括10个列名,即为供应商实体的基本届性。其中供应商编号CompanyName为候选码(Candidatekey),根据实体完整性规则,它不能为空且唯一标识一个供应商元组。由丁只有一个候选码,故CompanyName为主码(Prim

15、arykey)。由丁选择了公司名称CompanyName为主码,则不允许公司重名。其它九个届性为非码届性,是可以为空的。建表程序代码如下:CREATETABLEdbo.suppliers(CompanyNamevarchar(40)COLLATEChinese_PRC_CI_ASNOTNULL,ContactNamevarchar(30)COLLATEChinese_PRC_CI_ASNULL,Addressvarchar(60)COLLATEChinese_PRC_CI_ASNULL,Cityvarchar(15)COLLATEChinese_PRC_CI_ASNULL,Regionvarc

16、har(15)COLLATEChinese_PRC_CI_ASNULL,PostalCodevarcharCOLLATEChinese_PRC_CI_ASNULL,Phonevarchar(24)COLLATEChinese_PRC_CI_ASNULL,Faxvarchar(24)COLLATEChinese_PRC_CI_ASNULL,HomePagevarchar(50)COLLATEChinese_PRC_CI_ASNULL,SupplierMemotextCOLLATEChinese_PRC_CI_ASNULL)表2-2为顾客信息表:表2-2顾客信息表列名数据类型出合为空说明Compa

17、nyNameVarcharNOTNULL公司名称ContactNameVarcharNULL联系人姓名AddressVarcharNULL联系地址CityVarcharNULL所在城市RegionVarcharNULL所在地区PostalCodeVarcharNULL邮政编码PhoneVarcharNULL电话号码FaxVarcharNULL传真号码HomepageVarcharNULL公司主页SupplierMemoTextNULL备注信息表中共包含10个列名,即为顾客实体的基本届性。其中CompanyNam粼客公司名)为候选码,它不能为空且它们唯一标识一个顾客信息元组。由丁只有一个候选码,

18、CompanyNanW为主码。由丁选择了公司名称CompanyNamW候选码,则不允许公司重名。其它九个届性为非码届性,是可以为空的。建表程序与建供应商表类似,在这里不再列出。表2-3为商品信息表:商品信息共包括4个列名,分为对应商品名称、商品规格、商品单位和备注信息。其中ProductName(W品名称)为候选码,它唯一标识一个商品信息元组,不能够为空。由丁只有一个候选码ProductName即为主码。由丁ProductName为候选码,商品不能够重名。其它三个届性为非码届性,可以为空表2-3商品信息表列名数据类型出合为空说明ProductNameVarcharNOTNULL商品名称Spec

19、VarcharNULL商品规格UnitVarcharNULL商品单位ProductmemoTextNULL备注信息表2-4为入库信息表:表中共包括8个表项,分别表小供应冏名称,冏品名称,冏品规格,商品单位,备注信息,商品单价,进货日期,商品数量。其中ProductName(商品名称)为主码。不能够为空。其它7项为非码届性,可以为空。建表程序如下:CREATETABLEdbo.sstock(ProviderNamevarchar(40)COLLATEChinese_PRC_CI_ASNULL,ProductNamevarchar(40)COLLATEChinese_PRC_CI_ASNULL,S

20、pecvarchar(20)COLLATEChinese_PRC_CI_ASNULL,Unitvarchar(20)COLLATEChinese_PRC_CI_ASNULL,Quantityvarchar(20)COLLATEChinese_PRC_CI_ASNULL,UnitPricefloatNULL,OrderDatedatetimeNULL,OrdermemotextCOLLATEChinese_PRC_CI_ASNULL)表2-5为出库信息表:表中共包括8个表项,分别表示顾客名称,商品名称,商品规格,商品单位,备注信息,商品单价,进货日期,商品数量。其中ProductName(商品名

21、称)为主码。不能够为空。其它7项为非码届性,可以为空。表2-4进货信息表列名数据类型出合为空说明ProviderNameVarcharNULL供应商'姓名ProductNameVarcharNOTNULL商品名称SpecVarcharNULL商品规格UnitVarcharNULL商品单位QuantityFloatNULL商品数量UnitPriceMoneyNULL商品单价OrderDateDatatimeNULL进货日期OrdermemoTextNULL备注信息表2-5出库信息表列名数据类型出合为空说明CustomerNameVarcharNULL顾客姓名ProductNameVarc

22、harNOTNULL商品名称SpecVarcharNULL商品规格UnitVarcharNULL商品单位QuantityFloatNULL商品数量UnitPriceMoneyNULL商品单价OrderDateDatatimeNULL进货日期OrdermemoTextNULL备注信息经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在在SQLlite数据库系统中实现该逻辑结构。这是利用SQLite数据库系统中的SQL查询分析器实现的。根据上面所举的建表语句分别建立下面几个表:(1) 创建供应冏基本信息表(2) 创建顾客基本信息表(3) 创建商品基本信息表(4) 创建入库冏品基本信息表

23、(5) 创建出库基本信息表(6) 创建用户信息表上面的表格的SQL语句在SQLite中查询分析器的执行,将自动产生需要的所有表格有关数据库结构的所有后台工作已经完成。接下来就是系统的详细设计。3详细设计经过以上章节的分析、建模过程已经完成了数据库的后台工作,建立起了能够使系统顺利运行的后台,完成了初期的工作,接下来就要进入系统的实现工作阶段,包括:界面设计和代码编写。系统主体功能由三部分组成,下面主要对程序总体框架的搭建以及数据库的连接、基本信息的管理(包括供应冏基本信息、顾客基本信息、冏品基本信息)、库存管理(包括入库操作、出库操作)、信息查询(包括库存信息查询)、系统设置(包括添加用户、修

24、改密码、退出)的详细设计过程。3.1数据库连接数据库程序设计是建立在数据库的基础之上的,因此,在开始程序设计时首要的任务是建立程序与数据库后台的联系。由丁Android系统自己集成了自己的轻量级数据库,所以在连接时只需要创建一个代表指定数据库的SQLiteDatabase的对象,然后就可以通过SQLitedatabase对象来管理、操作数据库了。3.2主界面、菜单界面设计主界面、菜单界面具体样式如图3-1示:图3-1主界面、菜单界面Android对布局、组件的设置与修改是非常方便的。所以设计出这样的界面是很简单的。各个菜单项设置如表3-1所示。3.3各模块的功能及设计介绍3.3.1用户登录模块

25、用户登录模块是系统模块中一个重要的子系统模块,它是系统安全的一个保障。它的主要功能是安全帐号管理,需要正确帐号和密码才能进入系统。对丁错误帐号和密码给出提示。表3-1菜单设置表基本信息管理供应商'信息管理添加供应商'信息修改供应商'信息删除供应商信息查询供应商'信息顾客信息管理添加顾客信息修改顾客信息删除顾客信息查询顾客信息商品信息管理添加商品信息修改商品信息删除商品信息库存管理入库管理添加入库商品信息修改入库商品信息删除入库商品信息查询入库商品信息出库管理添加出库商品信息修改出库商品信息删除出库商品信息查询出库商品信息信息查询库存信息查询系统设置修改密码管理用

26、户退出关于关于该软件处理流程:输入:用户名和密码。处理:(1) 用户登录窗体启动。(2) 用户填写用户名并输入密码。(3) 从操作人员表中检查是否有相应的用户名和密码。(4) 如果用户名或密码错误,进行提示。(5) 如果输入的用户名和相应密码正确,则根据该用户的权限类别进行权限设置。(6) 进入主控制平台。设计流程图,如图3-2:3.3.2基本信息管理从表3-1中可以看出,基本信息管理包括供应商信息管理,顾客信息管理和商品信息管理。供应商是商品在入库时提供商品的人,在进行入库操作时必须先添加该商品的供应商的信息。供应商的信息包括供应商的公司名称,联系人姓名,联系人地址,城市名称,地区名称,邮政

27、编码,联系电话,传真号码,公司主贞等基本信息。这些都是必须要求输入的。本程序提供了增加,删除,修改和查询供应商信息的功能。增加:当有新的供应商提供商品的时候需要使用此功能。删除:当与某供应商取消贸易关系时,需要把供应商信息从系统中删除。修改:当某供应商基本信息发生改变时,可以修改供应商信息。查询:可以查询库中任何供应商的信息。因此仓库管理员可以方便的进行供应商信息的管理。添加供应商信息的对话框如图3-3所示:N图3-2登入流程图添加供应商信息:公司击标七填写公司名祢联崎人:/填写联系人IJ.-二#U.r/联系t也址:填写联系地址城市名称:"填写城市名称、_十也区名称:真写地区名称邮政

28、编码:,埴写邮政编码£联系电话:;L真写联系电话:传真期,i晶传真号码公司主页:填写公司主页If保存返回图3-3添加供应商信息添加供应商信息操作步骤及处理流程:(1) 选择基本信息管理->供应商信息管理->添加供应商信息(2) 出现图3-3所示对话框用户输入公司名称,联系人姓名,联系人地址,城市名称,地区名称,邮政编码,联系电话,传真号码,公司主贞(3) 点击保存.如果其中有空项,会提示该项不能为空.要求用户重新输入(4) 弹出提示框显示供应商信息已经加入。(5) 用户可以继续加入供应商信息或者点返回进行其它操作。设计流程图,如图3-4:部分代码如下:判断供应商唯一:st

29、rQuery="select*fromsupplierswhereCompanyName='"+m_sCompany+""'theApp.ADOExecute(theApp.m_pADOSet,strQuery);intiCount=theApp.m_pADOSet->GetRecordCount();if(0!=iCount)AfxMessageBox(_T("已经存在此公司记录!"),MB_ICONEXCLAMATION);return;删除旧记录:strQuery="deletefromsuppl

30、ierswhereCompanyName='"+m_sOldCompany+""'theApp.ADOExecute(theApp.m_pADOSet,strQuery);插入新记录:insertsuppliers(CompanyNameContactName,Address,City,Region,PostalCodPhone,Fax,HomePageSupplierMemo)values('"+m_sCompany+"','"+m_sPerson+"','"

31、;+m_sAddress+"','"+m_sCity+"','"+m_sArea+"',”'+m_sPostCode+"',”'+m_sPhone+"','"+m_sFax+"','"+m_sHomePage+"','"+m_sMemo+"')"修改供应商信息步骤及处理流程:(1) 选择要修改的供应商信息(2) 选择基本信息管理->

32、供应商信息管理->修改供应商信息(3) 出现图3-3所示对话框(4) 用户可以修改供应商的基本信息,修改完后点保存如果其中有空项或非法字符,会提示该项不能为空或输入不合要求.要求用户重新输入(5) 更新供应商信息列表。显示信息已经修改(6) 用户可以继续加入供应商信息或者点返回进行其它操作设计流程图,如图3-5:V图3-4添加供应商流程图删除供应商信息步骤及处理流程(1) 选择要修改的供应商信息选择基本信息管理->供应商信息管理->删除供应商信息图3-5修改供应商信息流程图(2) 更新供应商信息列表。显示信息已经被删除(3) 信息一旦被删除将不能被恢复设计流程图,如图3-6。

33、(1) 查询供应商信息步骤及处理流程选择基本信息管理->供应商信息管理->查询供应商信息出现图3-7所示对话框有三个选项:按公司名查询,按联系人姓名查询,按公司所在地查询如果按公司查询则选中公司,输入公司名。按联系人查询则选中联系人姓名,输入联系人。按公司地址查询则选中所在城市,。也可以填写其中的两项或三项进行更精确的查找。(2) 如果全部没有填写,系统会直接默认查询全部供应商信息。(3) 如果查找不到符合要求的信息,供应商列表为空。用户可以继续查找。(4) 输入正确,供应商歹0表会歹0出符合查找条件的信息供用户使用。查询供应商信息流程图,如图3-8:图3-6删除供应商信息流程图图

34、3-7供应商信息查询图3-8查询信息流程图顾客是商品在出库操作时商品销售的对象。同供应商信息类似在进行入库操作时必须先添加该商品的供应商的信息。顾客的基本信息同供应商的类似,也都是必须要求输入的。同样对顾客信息的管理也提供了增加,删除,修改和查询功能。商品信息管理。商品的基本信息包括商品名称,商品规格,计量单位。这些都是必须输入的。用来记录商品的基本届性。顾客和商品信息的操作过程与供应商的操作步骤和处理流程类似,在此不一一讲述。3.3.3库存信息管理系统的核心功能在丁入库、出库管理,这部分实现比较复杂,涉及到的数据和操作步骤都比较多。入库和出库的流程大体上是一样的,只有细节部分的区别。流程如图

35、3-9所示。在商品入库/出库之前必须建立一张入库/出库单,在该活单中记录了该次入库/出库过程的基本信息,包括供应商/客户名称、入库/出库时间、商品名称、商品规格、计量单位、单价、数量等等。仓库的入库/出库过程涉及到仓库的库存,关系到财产问题,与之相关的信息都很重要。所以本程序设计了修改入库/出库单的信息。下面将结合图片具体讲述实现过程。1.入库操作:入库操作的界面如图3-10所示:界面的左边是供货商信息和商品信息。为了保证入库信息准确无误,这两项用户不能自己填写,如果有新的供应商或新的商品必须先在基本信息管理中填加供应商信息和商品信息,然后从下拉列表中选择相信的供应商和商品。这样可以保证商品入库正确,保护财产安全。入库单右边是进货信息,包括本次商品入库时的单价和数量。因为每次进货时单价和数量都不一样,所以需要仓库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论