超市进销存管理系统分析与设计.docx
《超市进销存管理系统分析与设计.docx》由会员分享,可在线阅读,更多相关《超市进销存管理系统分析与设计.docx(33页珍藏版)》请在冰豆网上搜索。
超市进销存管理系统分析与设计
毕业论文(设计)
摘要:
此设计首先分析了进销存管理系统在信息时代中的重要作用,随后针对经济和科技等诸多因素进行分析。
对实现此系统的技术、经济和管理可行性做了深入分析。
最后总体介绍了超市进销存管理所包括的基本功能模块,并详细阐述了其主要功能、设计思路及实现方法。
超市进销存管理系统主要包括入库、出库、退货、订货、超市统计查询等等。
这六部分,分别实现了搜索任意商品;对商品设定价格、库存量、报警数量、进货计划数、是否允许打折。
还可以进行打印报表,包括计划进货表、本月本季本年的销售报表等功能。
关键词:
VisualBasic;Access数据库;管理系统
引言
目前,无论是公司还是企业对于货物都实行了信息化管理,以提高管理水平和工作效率,同时也可以最大限度地减少手工操作带来的错误。
于是,进销存管理信息系统便应运而生。
在工厂中,产品的进销存涉及产品原料的采购、库存、投入生产、报损,甚至有时涉及到销售,同时,对于产品也有相应的生产、库存、销售、和报损等环节。
在其他非生产性单位,如超市、商店等,则主要涉及到进货、库存、销售和报损4个方面。
超市进销存管理的对象是很多的,广而言之,它可以包括:
商业、企业超市的商品,图书馆超市的图书,博物馆超市的展品等等。
在这里本文仅涉及工业企业的产品超市。
超市进销存管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统还可进行材料超市ABC分类汇总,减少资金积压。
完善的超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。
在设计一个系统时,首先要做好需求分析。
合理地运用好VisualBasic的基本方法,建立一个适合企业或公司的进销存管理系统。
1系统概述
超市进销存管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了超市信息流转时间,使企业的物资管理层次分明、井然有序,为采购、销售提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统还可进行材料超市ABC分类汇总,减少资金积压。
完善的超市管理功能,可对企业的存货进行全面的控制和管理,降低超市成本,增强企业的市场竞争力。
超市进销存管理系统研究的内容涉及超市进销存管理的全过程,包括入库、出库、退货、订货、超市统计查询等等。
根据工作流程,超市进销存管理系统将包含以下内容:
(1)能对企业内的各类货物进行ABC分类管理,并提供最低超市量、最高超市量、安全超市量的预警功能。
(2)可以存储各类信息档案包括物资、产品基本信息、供货单位信息、使用单位信息等。
(3)可以方便快捷的进行物资入库管理\物资出库管理等等,安全、高效;支持各种类型的出/入库业务:
生产入库、委外加工入库、采购入库、其他入库、生产领料出库、委外领料出库、销售出库和其他出库等
(4)提供退货管理功能
(5)通过查询超市,及时了解超市余额信息,便于订货下单,以免由于缺货,影响生产。
另外,还提供经济订货量计算功能和打印订货采购单功能。
(6)支持超市盘点功能,可按仓库、物料进行盘点,自动汇总盘点数据,及时生成盘赢亏调整单
(7)可及时打印超市余额,方便领导决策或安排及时定货.
开发环境:
VB是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,VB在短短的几年内风靡全球。
VB是极有特色和功能强大的软件,主要表现在:
所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。
美国微软公司在1991年推出VB1.0至今已经经历了6个版本,VB6.0运行在Win9x或Winme,Win2000,Winxp,WindowsNT等操作系统下,是一个32位的应用程序开发工具。
Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
Access的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。
如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
2需求分析
2.1系统功能分析
(1)基本信息的维护
商品类型的建立与维护,包括商品类型的新建、修改和删除等。
商品基本信息管理:
包括商品基本信息的新建、修改和删除等。
供货商信息管理:
包括供货商信息的新建、修改和删除等。
管理员信息管理:
系统管理员的添加、删除和修改密码等。
(2)进货管理
商品进货信息管理:
商品进货信息包括商品进货数量、单价、供货商等。
商品进货管理功能完成进货信息登记、修改和删除等。
分类查看:
可以根据商品类型来查看某种商品的进货情况。
更新库存:
进货信息的变动直接关系到库存的变化。
进货分析:
列出当前进货量最多的前几项商品和进货量最少的前几项商品。
库存分析:
列出当前库存量最多的前几项商品和库存量最少的前几项商品。
(3)销售管理
商品销售信息管理:
商品销售信息包括商品销售数量、单价、统计日期等。
商品销售管理功能完成销售信息登记、修改和删除等。
分类查看:
可以根据商品类型来查看某种商品的销售情况。
更新库存:
销售信息的变动直接关系到库存的变化。
销售分析:
列出当前销售量最多的前几项商品和销售量最少的前几项商品。
(4)报损管理
商品报损信息管理:
商品报损信息包括商品报损数量、报损原因等。
商品报损管理功能完成报损信息登记、修改和删除等。
分类查看:
可以根据商品类型来查看某种商品的报损情况。
更新库存:
报损信息的变动同样直接关系到库存的变化。
报损分析:
列出当前报损量最多的前几项商品和报损量最少的前几项商品。
2.2系统性能分析
(1)多层结构设计
严格意义上的三层结构设计,其程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。
本系统采用的上有三层结构进一步扩展而成的多层结构。
(2)面向对象设计
在系统中将商品类型、商品等都封装成相应的类,同时每个类都有自己对应的集合类和操作类,从而再次提高了对数据库操作的安全性和程序的可扩展性。
(3)指导经营的功能
进销存管理系统并不仅仅能代替传统的书面操作,更重要的是它提供了信息分析的功能,只要单击一个按钮就可以查到目前销售最好的商品或是库存最多的商品,从而起到指导经营的作用。
2.3系统功能模块设计
按结构化程序设计思想,分析得本系统有以下几大部分
如下系统功能模块图:
有管理员登录,商品管理模块,供货商,商品进货,销售管理,报损管理,销售分析等。
图2.1系统功能模块图
2.4技术可行性分析
本系统是一个典型的数据库应用程序。
现有的数据库应用程序开发技术已非常成熟,利用现有技术完全可以实现预定的功能。
VisualBasic语言简单、功能强大并容易掌握,而Access是一个非常优秀的小型数据库管理软件,方便使用,性能稳定。
于是,采用VisualBasic+Acess技术完全能够实现本系统的开发。
本系统在使用上比较方便、简单;界面设计上美观大方;后期维护上比较容易,如要对功能模块方面作修改,则无需进行整个系统的重新架构
2.5系统流程图
超市管理系统的基本流程
入库:
供货单位发货---运输---货物到达后测试检验---送货单---库管人员查收入库---入库单处理各种入库业务,如:
工业企业的生产入库、委外加工入库、其他入库等入库业务;按入库类型可以分别在不同模块录入入库单据信息。
出库:
超市统计表---各使用单位---领料单----库管人员出库---出库单
处理各种出库业务,如:
工业企业的生产领料、委外领料、其他出库等出库业务;按出库类型可以分别在不同模块录入出库单据信息。
退货:
产品不合格通知书---各使用单位----领料单存根---库管人员退货---退货单
订货:
超市进销存管理部门向采购部门发出采购单---采购部门向供应单位传递订货单---供应单位组织发货---运输----货物到达后测试检验---入库
盘点:
备份超市数据,打印盘点表,可按仓库、批次进行盘点,并根据盘点表生成盘盈、盘亏表,调整超市账。
盘点的功能是检查仓库现有超市量与帐面数量是否一致。
若盘点结果是仓库现有超市量大于帐面数量,则盘盈;若盘点结果是仓库现有超市量小于帐面数量,则盘亏。
无论是盘盈还是盘亏,它们的差异量都记录在盘点调整单。
如图2.2
图2.2系统流程图
3设计
超市进销存管理系统研究的内容涉及超市进销存管理的全过程,包括入库、出库、退货、订货、超市统计查询等等。
超市进销存管理系统将包含以下内容:
(1)能对企业内的各类货物进行ABC分类管理,并提供最低超市量、最高超市量、安全超市量的预警功能。
(2)可以存储各类信息档案包括物资、产品基本信息、供货单位信息、使用单位信息等。
(3)可以方便快捷的进行物资入库管理\物资出库管理等等,安全、高效;支持各种类型的出/入库业务:
生产入库、委外加工入库、采购入库、其他入库、生产领料出库、委外领料出库、销售出库和其他出库等
(4)提供退货管理功能
(5)通过查询超市,及时了解超市余额信息,便于订货下单,以免由于缺货,影响生产。
另外,还提供经济订货量计算功能和打印订货采购单功能。
(6)支持超市盘点功能,可按仓库、物料进行盘点,自动汇总盘点数据,及时生成盘赢亏调整单。
(7)可及时打印超市余额,方便领导决策或安排及时定货看。
如下图3.1
图3.1系统功能模块图
4数据库设计
4.1数据库需求分析
(1)针对超市进销存管理系统,分别对采购部门、销售部门和库存保管部门进行详细的调研和分析,总结出如下的需求信息:
商品按类管理,所以需要有一商品类型信息。
商品必须属于一个商品类型。
如果一个商品类型存在商品,或存在下级商品类型,则该类型不可删除。
需要记录供应商品信息。
在涉及商品数量的地方,要给出相应的单位。
商品销售信息单中要包含登记商品销售数量、单价等信息。
在进货信息中要包含商品供应商等信息。
商品报损要有报损原因。
进货、销售、报损操作要有相应操作员信息。
只有管理员登录之后才可以使用系统。
默认的管理员不可以删除。
进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。
当进行进货、销售和报损操作后,能相应更新库存。
需要对进货、销售、库存、报损进行分析,总结热门商品。
(2)经上述系统功能分析和需求总结,考虑到将来功能的扩展,设计如下的数据项和数据结构:
商品类型信息,包括数据项有:
商品类型编号、商品类型名称等。
商品信息,包括的数据项有:
商品编号、商品名称、商品介绍、库存量等。
商品单位信息,包括单位编号、单位名称等。
供应商信息,包括供应商名称、介绍等。
进货信息,包括进货商品、数量、单位、单价、进货时间经手人等。
销售信息,包括销售商品、数量、单位、单价、登记时间等。
报损信息,包括报损商品、数量、单位、原因、登记时间等。
管理员信息,包括管理员账号、密码、是否是默认账号等。
4.2数据库概念结构设计
本系统根据以上的设计规划出的实体有:
商品类型信息实体、商品信息实体、商品单位信息实体、供应商信息实体、进货信息实体、销售信息实体、报损信息实体和管理员信息实体。
4.3数据库逻辑结构设计
首先将罪犯管理信息系统的数据库概念结构转化为Access数据库或SQLServer2000数据库系统所支持的实际数据模型,即:
数据库的逻辑结构。
其各个表格的设计
表4.1商品类型信息表(MerchandiseType)
列名
数据类型
字段大小
必填字段
默认值
说明
MT_ID_N
自动编号
长整型
是
商品类型号,递增,主键
MT_Name_S
文本
15
是
商品类型名
MT_RemarkR
备注
是
备注
表4.2:
商品信息表(Merchandise)
列名
数据类型
字段大小
必填字段
默认值
说明
M_Id_N
自动编号
长整型
是
商品编号,递增,主键
M_Name_S
文本
80
是
商品名称
M_Introduce_S
文本
255
是
商品介绍
M_TypeId_N
数字
长整型
是
1
商品类型ID
M_Storage_N
数字
长整型
是
0
库存量
M_UnitId_N
数字
长整型
是
1
单位编号
M_Remark_R
备注
是
备注
表4.3:
商品单位信息表(Unit)
列名
数据类型
字段大小
必填字段
默认值
说明
U_ID_N
自动编号
长整型
是
单位编号,递增,主健
U_NAME_S
文本
10
是
单位名称
表4.4:
供应商信息表(Provider)
列名
数据类型
字段大小
必填字段
默认值
说明
P_Id_N
自动编号
长整型
是
供货商编号,主健
P_Name_S
文本
50
是
供货商名称
P_Introduce_S
文本
255
是
供货商简介
P_Remark_R
备注
是
备注
表4.5:
进货信息表(Buy)
列名
数据类型
字段大小
必填字段
默认值
说明
B_ID_N
自动编号
长整型
是
进货ID,递增,主健
B_ProviderId_N
文本
长整型
是
供应商ID
B_MerchandiseId_N
数学
长整型
是
商品ID
B_StockDate_D
日期
短日期
是
Dare()
进货时间
B_Deliver_S
文本
20
是
送货人姓名
B_Consignee_S
文本
20
是
经手人姓名
B_Count_N
数字
长整型
是
0
购入量
B_StockPrice_N
数字
单精度型
是
0
进货单价
B_OperatorId_S
文本
20
是
操作员ID
B_Remark_R
备注
是
备注
表4.6:
销售信息表(Sell)
列名
数据类型
字段大小
必填字段
默认值
说明
S_ID_N
自动编号
长整型
是
销售编号,递增,主键
S_MerchandiseID_D
数字
长整型
是
商品ID
S_RegDate_D
日期
短日期
是
Date()
登记日期
S_Count_N
数字
长整型
是
0
售出数量
S_SellPrice_N
数字
单精度型
是
0
卖出单价
S_OperatorId_S
文本
20
是
操作员ID
S_Remark_R
备注
是
备注
表4.7:
报损信息表(Dispose)
列名
数据类型
字段大小
必填字段
默认值
说明
D_ID_N
自动编号
长整型
是
报损编号,递增,主键
D_MerchandiseID_N
数字
长整型
是
商品ID
D_RegDate_D
日期
短日期
是
Date()
登记日期
D_Count_N
数字
长整型
是
0
报损数量
D_Reason_S
文本
255
是
报损原因
D_Operatorld_S
文本
20
是
操作员ID
D_Remark_R
备注
是
备注
表4.8:
管理员信息实体(Admins)
列名
数据类型
字段大小
必填字段
默认值
说明
A_Account_S
文本
20
是
账号,主键
A_Pwd_S
文本
20
是
密码
A_IsDefault_B
是/否
是
False
是否是默认用户
4.4数据库的生成与配置
经过以上的需求分析和概念结构设计以后,得到数据库的逻辑结构。
现在就可以在Access数据库中创建表了。
4.5创建应用程序结构
(1)创建用户界面端程序
VB中选择文件-新建工程,打开,选择VB应用程序向导。
设置后将向导生成的模块命名mdlMain保存与文件夹Merchandise中。
(2)创建业务逻辑处理组件
新建ActiveXDLL工程-设置工程属性-加入对ADO的引用。
(3)创建基本界面组件
新建ActiveXDLL工程-设置工程属性-加入对业务逻辑组件的引用。
(4)在界面端程序中使用组件
在工程资源管理器中选中工程Merchandise,选择菜单工程-引用命令。
打开引用对话框,在可用的引用列表中选择BuySellStorageUI和BuySellStorageDB。
5详细设计
5.1开发业务逻辑处理组件
进销存业务处理组件用来处理进销存管理系统中的业务逻辑,既负责与界面进行数据传递,同时也要将界面端的请求应用业务逻辑之后对数据库进行操作。
它包含以下功能:
商品类型信息管理,对应clsMType类和clsMTypes类。
商品信息管理,对应clsMerchandise类和clsMerchandises类。
供应商信息管理,对应ClsProvider类和ClsProviders类。
进货信息管理,对应clsBuy类和clsBuys类.销售信息管理,对应clsSell类和clsSells类。
报损信息管理,对应clsDispose类和clsDisposes类。
管理员信息管理,对应clsAdmini类和clsAdminis类。
5.1.1信息管理类加集合类的设计思想
在本组件中,每一个模块的设计都是由这个模块的信息管理类加与之对应的集合类求实现的。
具体完成的功能如下:
在信息管理类:
实现与单个信息相关的操作,包括添加、修改和删除。
在信息管理集合类:
实现与多个信息先观的操作,主要是根据不用的条件查找。
因此,每个模块在设计上都是独立的,除非它在逻辑上有不可分割的关系,如进货信息的操作,与商品库存直接挂钩,将进货信息表的操作与商品表的操作放入到一个事务中,这样来确保数据的安全性与一致性。
5.1.2商品类型信息管理模块
商品类型信息管理模块的功能需要由clsMType和clsMTypes两个类来实现,它的主要功能是:
添加商品类型信息。
修改商品类型信息。
删除商品类型信息。
查找商品类型信息。
其他与商品类型相关的常用操作。
(1)商品类型信息管理类clsMType创建clsMType类并添加属性
商品类型信息类clsMType用来处理单个商品类型的信息,实现商品类型操作的基本功能,如添加、修改、删除等。
选择菜单[工程]—[添加类模块]命令,打开“添加类模块”对话框,选择“VB类生成器”,使用类生成器向工程中添加clsMType类,基于下拉列表框中选择clsDBbase。
如下表所示。
表5.1
属性名称
数据类型
属性声明
ID
Long
Get/Let
SuperID
Long
Get/Let
TypeName
String
Get/Let
属性添加完毕并应用后,可以看到在clsMType类中已经自动添加了类的成员变量和属性。
(2)AddNew方法功能:
添加耽搁商品类型。
参数设计:
无。
返回值:
gxcAddNew类型请参考clsPublic类中gxcAddNew枚举类型的定义。
(3)Update方法功能:
修改商品类型。
返回值:
gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。
(4)Delete方法功能:
删除商品类型。
参数设计:
可选参数lngID表示商品类型ID,默认为-1。
返回值:
gxcDelete类型,请参考clsPublic类中gxcDelete枚举类型的定义。
商品类型信息管理集合类clsMTypes
商品类型信息集合类clsMTypes用来处理多个商品类型的信息,其最小的单元是clsMType,它完成与一组商品类型信息相关的操作,比如查找功能。
选择菜单[工程]—[添加类模块]命令,打开“添加类模块”对话框,选择“VB类生成器”,使用类生成器在工程中添加一个集合类,命名为clsMTypes类,在“基于”下拉列表框中选择clsDBbases,在“集合组成”栏中选择clsMType类。
应用设置后系统会自动生成一个标准集合类所具有的最基本属性与方法,另外也加入了clsDBbases中方法的定义。
添加AddEx方法添加Find方法
功能:
根据给定参数查找商品类型,结果以clsMTypes类型返回。
参数设计:
一个可选的类型ID,默认值为-1。
返回值:
clsMTypes类型,一个clsMType的集合。
省略参数时,返回全部商品类型。
5.1.3商品信息管理模块
商品信息管理模块的功能需要有clsMerch和clsMerchs两个类来实现,它的主要功能是:
添加商品信息修改商品,信息删除商品信息查找商品信息,其他与商品信息相关的常用操作
(1)商品信息管理类clsMerch
创建clsMerch类并添加属性
属性名称
数据类型
说明
ID
Long
商品编号
MerchName
String
商品名称
Introduce
Integer
商品介绍
TypeId
gxcSex
商品类型ID
Storage
Long
库存量
UnitID
String
单位编号
Remark
String
备注
TypeName
String
商品类型名称
AddNew方法,功能:
添加单个商品信息,参数设计:
无。
返回值:
gxcAddNew类型,参考clsPublic类中gxcAddNew枚举类型的定义。
Update方法,功能:
修改商品信息。
参数设计:
无。
返回值:
gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。
Delete方法功能:
删除商品信息。
参数设计:
可选参数lngID表示商品ID,默认为-1。
返回值:
gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。
商品信息管理集合类clsMerchs
商品信息集合类clsMerchs用来具体处理多个商品的信息,其最小的单元是clsMerch,它完成与一组商品信息相关的操作,比如查找等。
选择菜单[工程]—[添加类模块]命令,打开“添加类模块”对话框,选择“VB类生成器”,使用类生成器在工程中添加一个集合类,命名为clsMerchs类,在“基于”下拉列表框中选择clsDBbases,在“集合组成”栏中选择clsMerch类。
应用设置后系统会自动生成一个标准集合类所具有的最基本属性与方法,下面,为clsMerchs添加必要的方法。
添加AddEx方法,添加Find方法功能:
根据给定参数查找商品信息,结果以clsMerchs类型返回。
参数设计:
如下表5.2。
返回值:
clsMerchs类型,一个clsMerch的集合。
显然当上面两个参数都不指定时,返回全部商品。
表5.2Find参