超市库存管理系统
一,引言
1,编写目的
有效的库存管理,可降低运营成本,进而提高商品周转率,这样才能减少因风险造成的损失,从而使利润达到最高点。
一个超市的库存,也就代表了这个超市的大部分资产总额。
如何将这些静态的资产以最快的速度流转,这就是库存管理的目的。
一个好的超市,并不是只有畅销的商品就行了。
因为畅销的可能都是固定的某些商品,而有些商品可能进了超市后,就无人问津,这样不仅使这些商品占据了库房空间,而且也积了大量的资金,使得资金运转相当的困难。
要改善库存周转率不高的状况,就必须先从了解超市目前的库存情况开始,而要了解库存的情况,就可以利用信息系统来进行管理,从而进一步的提高库存管理的效率。
通过信息系统的查询可以方便的找出目前最畅销和滞销的商品,然后再利用各种行销方法,将滞销的商品销售出去,这样就可以避免超市因为滞销而造成的损坏、过期和资金积压等问题。
2,背景
超市库存管理在欧美等国已实行多年,如今,在像中国这样的发展中国家也迅速地得到了推广。
它最主要的特点是能够实时和准确地反映店内的销售情况,以便为超市管理者提供决策信息支持。
超市库存管理的内容就是商品的入库、出库和库存管理,它是商品管理的中间环节。
用数据描叙货物的收入、发出和储存的状态,实际反映了商品在超市内流动的客观过程,库存管理和商品管理的其他环节都有直接联系。
可以说它在商品配送管理中起着枢纽和基础的重要作用。
二、需求分析
1、功能需求:
产品的信息的显示(show)、删除(deleteInfo)、录入(recorde)、修改(modify)、出库(outHou)、结束(return)和清屏(cls)。
显示:显示产品库存的所有信息。
删除:删除产品库存的所有信息。
录入:输入并保存产品的所有信息。
修改:可随机修改产品库存属性的信息
出库:依据产品的出库数量,计算现在的库存量,更新出库数量。
2、操作需求:
(1)起始菜单:在屏幕上输入0或1选择语言。
其中输入0显示中文,输入1显示英文。
(2)主菜单:输入0~7选择功能。
0—结束(return), 1—添加(addInfo)、2—查询(seekInfo)、3—修改(modifyInfo) 、4—删除(deleteInfo)、5—出库(outStorage)、6—显示所有产品信息和,7—显示库存总量(),8—清屏(cls)。
(3)二级菜单:根据以上主菜单中的七个功能按钮,分别设置其不同的二级菜单选项。
查找:1—按产品名称查找(seekByName),2—按产品的批次查找(seekByBatch),3—按产品的编号查找(seekByNum),4—按产品的货架号查找(seekByShelf),5—按产品的人库日期查找(seekByIntime),6—按产品的出库日期查找(seekByOuttime)。
删除:1—按产品名称删除(deleteByName),2—按产品的批次删除(deleteByBatch),3—按产品的编号删除(deleteByNum),4—按产品的货架号删除(deleteByShelf),5—按产品的库存量删除(deleteByQuality)。
修改:1—按指定产品名称修改(modifyByname),2—按指定产品的批次修改(modifyByBatch),3—按指定产品的编号修改(modifyByNum),4—按指定产品的货架号修改产品信息(modifyByShelf)。
出库:1—按产品的名称出库(outByName),2—按产品的编号出库(outByNum),3—按产品的批次出库(outByBatch),4—按产品的货架号出库(outByShelf)。
3、结构需求:
物理结构:
单机模式,不连接数据库,只基于用户端,控制台表示,仅表示录入、显示、删除、修改、出库等功能。
结构原则:
表示层和业务层分离。
4、环境需求:
Visual studio 2005,128MB以上的内存空间,windows2000操作系统以及其升级版本;
完整的MSDN以及测试;
具备VC++开发集成环境;
奔腾IV处理器及其升级版本;
5、扩展需求:
本超市库存管理系统可以支持各种功能的扩展,以及适应以后新的功能需求。
6、文档需求:
(1)、用户手册用户运行软件后依照提示先选择要使用的语言种类,然后进入主菜单选取所需执行的功能(显示(show)、删除(deleteInfo)、录入(recorde)、修改(modify)、出库(outHou)、结束(return)和清屏(cls))。
(2)、参考文献;
(3)、测试技术支持网点;
(4)、系统说明书。
本系统有中文以及英文两种类型,均能实现显示(show)、删除(deleteInfo)、录入(recorde)、修改(modify)、出库(outHou)、结束(return)和清屏(cls)等功能。
7、测试需求:
I、正常测试:
1.测试语言选择功能,0.显示中文,1显示英文,测试结果正确。
2.测试查询功能,根据提示输入’2’,进入查询功能,在查询主菜单中包含七个子功能按键,根据在各个不同的提示下进行的子功能按键的测试,测试结果能正常查询所需产品库存属性。
4.测试修改功能,根据提示输入’3’,进入修改功能,在修改主菜单中包含四个子功能按键,根据在各个不同的提示下进行的子功能按键的测试,测试结果能正常修改产品库存的各项属性。
5.测试删除功能,根据提示输入’4’,进入删除功能,在删除主菜单中包含五个子功能按键,根据在各个不同的提示下进行的子功能按键的测试,测试结果能正常将产品库存的各项属性清零。
6.测试清屏功能,根据提示输入’5’,进入清屏功能,测试结果能正常清除屏幕上的多余字符。
7.测试产品出库功能,根据提示输入’7’,进入产品出库功能在删除主菜单中包含五个子功能按键,根据在各个不同的提示下进行的子功能按键的测试,测试结果能正常修改产品库存量、出库数量和出库日期。
8.测试系统的退出功能,根据提示输入‘0’后结束系统运行。
9.测试系统的显示功能,根据提示输入‘6’后显示产品的所有信息。
II、不正常测试:
1、语言选择功能:输入‘1’以外的任何字符都能进入中文模式,不只是‘0’
才能进入中文模式。
2、录入、修改产品库存量、进货数量和销售数量是不允许输入字符。
3、产品出库功能不能给销售数量输入字符。
4、保质期、生产日期、出库日期和入库日期可以输入日期以外的其他字符。
5、产品编号、批次可以不是数字。
6、修改产品信息时,除‘Y’和‘y’以外,其他字符均视为NO。
III、极端测试:
当输入数据超过给定的范围后,会发生程序中断。
8、安装需求:
设计阶段
1.体系设计
2.结构设计
(1)表示层:用于用户交互和数据输入输出的模块。
(2)业务层:用于描述数据、控制数据流向、逻辑控制的模块。
(3)业务层和逻辑层的分离
1.将业务逻辑的表达进行封装,并提交访问接口
2.为表示层的调用提供访问
接口3.提高业务逻辑重用,降低代码的以来的依赖度。
表示层与业务层的关系如图示:
3.模块设计
4.类间关系:
超市库存管理系统类图简化图形如下:
6.数据封装
三、Commdity类
数据字典如下图示:
用例图---
状态图:描述运行逻辑状态
数据流程图子功能图形的描述:
四、storage类
超市对仓库的管理
功能需求:
超市信息的显示、增加、修改(modify)、删除、进入仓库对商品的管理系统。
查询:按仓库的名称、编号、地址、容量查询。
增加:增加所有信息。
修改:按名称和地址修改。
删除:按地址和容量删除。
显示:显示所有仓库信息。
仓库对商品的管理。
操作需求:
主菜单:输入0~8选择功能。
0—结束, 1—添加、2—查询、3—修改、4—删除、5—仓库总数、6—显示所有仓库信息,7—仓库对商品的管理,8—清屏。
状态图:描述运行逻辑状态
流程图:
数据流程图子功能图形的描述:
通过设计可视界面,最终该系统能完成的功能有如下:。