仓库管理系统
- 格式:doc
- 大小:877.50 KB
- 文档页数:24
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-in Development Environment,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)顾客实体属性图,如图2-5:顾客信息=公司名称+联系人姓名+联系人地址+城市名称+地区名称+邮政编码+联系电话+传真号码+公司主页(3)商品实体属性图,如图2-6:商品信息=(4)图2-7实体关系图供应商、顾客和商品通过仓库管理系统联系起来。
完整的实体联系图见图2-8。
(5)完整的实体联系图图2-8包括三个实体,即供应商实体、顾客实体和商品实体。
其中供应商和商品通过入库操作联系起来。
他们之间的关系是多对多的关系。
即一件商品可以由多个供应商供应,一个供应商也可以由多种商品。
入库操作有一个属性即入库单,它记录着入库操作的一些基本信息如供应商名称、入库商品的名称等等。
商品和顾客通过出库操作联系起来。
同样他们之间也是多对多的关系。
即一个顾客可以购买多种商品,一种商品也可以提供给多个顾客。
出库操作的属性是出库单,它记录着顾客名称、出库商品的名称等等一些出库操作的基本信息。
图2-8 完整的实体联系图2.5 数据库逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
现在需要将上面的数据库概念结构转化为SQLite数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
仓库管理系统数据库中的各个表格的设计结果如下面的表格所示。
每个表格表示数据库中的一个表。
表2-1为供应商信息表:表2-1供应商信息表表2-1供应商信息表共包括10个列名,即为供应商实体的基本属性。
其中供应商编号CompanyName为候选码(Candidate key),根据实体完整性规则,它不能为空且唯一标识一个供应商元组。
由于只有一个候选码,故CompanyName为主码(Primary key)。
由于选择了公司名称CompanyName为主码,则不允许公司重名。
其它九个属性为非码属性,是可以为空的。
建表程序代码如下:CREATE TABLE [dbo].[suppliers] ([CompanyName] [varchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,[ContactName] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[Address] [varchar] (60) COLLATE Chinese_PRC_CI_AS NULL ,[City] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,[Region] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,[PostalCode] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL ,[Phone] [varchar] (24) COLLATE Chinese_PRC_CI_AS NULL ,[Fax] [varchar] (24) COLLATE Chinese_PRC_CI_AS NULL ,[HomePage] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,[SupplierMemo] [text] COLLATE Chinese_PRC_CI_AS NULL)表2-2为顾客信息表:表2-2顾客信息表表中共包含10个列名,即为顾客实体的基本属性。