基于超市信息管理系统论文

2025-01-31

基于超市信息管理系统论文(共10篇)

基于超市信息管理系统论文 篇1

云计算不是一种纯计算技术,而是一种新兴的基于互联网的商业计算模式。它是一场推动社会整体信息化的IT变革,是一系列具有相同核心特征的商业模式,提供了一种计算机资源按需获取和交付的业务模式,可以向用户提供可无限伸缩的服务。云计算的技术优势极大降低了企业IT建设及运营维护成本。云计算将会为大型连锁超市带来创新,需要大量运算资源的连锁超市,将会建立自己的专属云;通过云端的概念,将上下游进行串联,当有新产品时发布到云端,任何一个人需要这样的商品,就可以通过云和供应商联系。通过云下订单,供应商出货信息、零售商应收信息、库存信息、销售信息都透过云彼此整合,信息共享。本文介绍采用基于PowerBuilder服务器的大型连锁超市管理信息系统解决方案,构建借助于云概念和思路的大型连锁超市管理信息系统。

一、传统连锁超市信息系统存在的问题

传统的连锁超市信息系统一般以C/S(Client/Server客户/服务器)模式居多。主要是考虑到连锁超市数据量大、传输要求及时、操作频繁度高等特点,所以几乎没有连锁超市的信息系统平台是建立在纯B/S(Brower/Server浏览器/服务器)架构下的。

C/S服务器架构带来了很多问题,如更新难度大,更新数据库的同时又要更新各客户端;随着连锁超市门店及POS服务器的不断增加,专业IT人员太少,维护的频度和压力加大,出错的几率增加;用电量随着连锁门店的增加而增加等。传统连锁超市的服务器架构如图1所示。

1.总部服务器的分析。上图所示的“总部服务器”一般都是高性能的小型机或高端PC,主要是决策层、总部控制人员在使用。连锁门店在十几家或二十几家的规模时,这种架构没有太大的问题,然而随着门店的增多,数据交互的频繁,人员使用量加大,传统C/S架构的服务器受数据库连接数并发处理的影响,处理速度不断下降,最终导致用户不得不更换系统,而要更换一个上百家门店的公司系统,需要重装上百个门店服务器、上百个POS服务器,企业将为之付出大量的人力、物力成本。

2.供应链管理系统(SCM)。SCM(Supply Chain Management)系统是连锁门店面向供应商、总部面向供应商的供应链管理系统,用于连锁门店和总部向供应商订单发送、接收、结算、对账、报价等工作。它的数据发起端一般由门店发起或门店直接在SCM系统中发起两种模式。由门店发起需要进行数据通信,由门店传送到SCM,或由门店传送到总部服务器,再由总部服务器传送到SCM服务器,最终供应商接收到信息,通过上述的途径回传给门店。这两种模式都会产生大量的数据传递,集中式的订单系统(如百年公司的产品)要略好于分部式的(如昂捷公司的产品),它减少了一部分数据传递所带来的消耗。

3.客户关系管理系统(CRM)。CRM(Customer Relationship Management)系统则是门店面向客户、总部面向客户的一个服务平台,用于会员积分、会员储值、会员分析、会员奖励、会员回访等,它独立于总部服务器也可以集成在一起,但多数都是独立于总部服务器以外的。CRM面向社会涉及到储值、积分等,因此它的安全级别要求非常之高,很多公司投资了各种高端设备、高可用的环境来管理它。

4.门店服务器。由于受到以前网络条件不好、常掉线等因素的影响,传统的连锁超市信息系统都有“门店服务器”这一层次。门店服务器负责将基础资料从总部服务器下载,日常业务在门店服务器上处理,处理完成后再向总部服务器进行传递。这样基本满足了对实时性要求不强、数据量大的门店的要求,但带来的问题就是每增加一个门店就要增加一台服务器,给企业带来较高的维护成本。大型超市一般都采取这种方式。

5.POS服务器。可以理解为POS机的服务器。在零售终端,几乎没有软件是收银终端(POS)向后台业务服务器直接传数据的,基本上全部是通过一台中转的服务器将数据进行收集整理,然后发送到后台,再进行集中的业务数据处理。采用这种模式的原因是连锁超市的POS机数量较多,在产生交易、数据处理、业务处理全部向门店服务器请求,这可能会产生数据访问的阻塞,这个情况对于服务顾客的零售端是不能容忍的。最好的解决办法就是后台POS服务器向门店服务器进行传递,即使有阻塞,顾客也感受不到。

二、现代连锁超市信息系统架构设计

借助云概念和思路,新模式下的管理信息系统我们采用Oracle数据库管理系统。服务器端用于存储数据信息,完成各种辅助决策的SQL查询和复杂的计算,及时处理客户机提交的数据处理请求。在服务器端,我们创建一些存储过程,这些存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在服务器端的数据库中,当用户需要执行数据操作时,可以指定存储过程的名字并给出参数来执行。存储过程只在创建的时候进行编译,可以重复调用,使用存储过程提高了效率,降低了网络传输的数据量。连锁超市新服务器架构如图2所示。

1.总部服务器。新模式下的总部服务器,可以采用服务器群集的方法来实现均衡负载数据访问,它将日常业务处理、供应商服务、会员服务、POS服务等诸多功能整合到一套群集当中,从而免去了门店增加导致增加服务器的环节,保证了业务数据处理的及时性,它的前提是中心机房的出口网络和中心服务器的运转能力够强大。

2.门店POS服务器。为了保障POS销售端能够快速地传递数据,我们还设计了门店POS服务器将POS上的数据进行统一收集,并打包处理,发回总部服务器,同时又承载着将总部的业务基础信息、业务规则下载下来并分发到POS销售终端两项任务。

三、现代连锁超市信息系统的整体结构设计

成本高昂、效率低下、管理不严密这三大弊病是制约我国连锁超市发展的“瓶颈”。针对我国大型连锁超市信息系统存在的一系列问题,本文建立如图3所示的模型来优化传统的连锁超市信息系统,并对连锁超市信息系统中部分功能模块进行了优化设计。

系统将采用多种程序语言进行开发设计。其中,客户管理端使用了Sybase公司的PowerBuilder 11.5,POS端采用Delphi,WebService和手持设备采用微软的VS2008,后台数据库采用Oracle大型关系数据库管理系统。中间层采用IIS。网格技术采用Web服务集群网格,建立基于.net FrameWork2.0的WebService,客户端通过服务器的Web Service与数据服务器建立访问。整个系统基于国际互联网(Internet)、企业网(Intranet)和数据库技术的浏览器/服务器(B/S)的结构、基于大型数据库(ORACLE)平台开发的管理信息系统、在管理思想上采用集成管理的思想。通过对大型连锁超市企业采购、销售、库存等活动的调查、分析与总结,并结合企业的实际情况,设计出完整的连锁超市管理信息系统结构图。

本系统采用了集成管理的思想,它将日常业务处理、供应商管理、客户关系管理、进销存管理、财务管理、盘点管理、前台收银管理等诸多功能整合到一套群集系统当中进行集成管理,保证了业务数据处理的及时性。连锁超市管理信息系统包括配送数据子系统、总部管理子系统、分店数据子系统、前台收银子系统四个子系统。这套系统使供应商和总部数据系统、配送数据系统、门店数据系统及前台收银系统之间形成连线作业,在短时间内便可完成从“订货——分货——配货——送货——退货——对账——记账——结算”的整个流程,提高了作业的效率及准确性。

当配送中心收到和汇总客户订单之后,首先确定商品种类和数量;然后通过信息系统查询商品库存情况,如有存货,则进入分拣作业;如缺货、断货,则要及时向供应商发出订单续订。供应商将商品送到配送中心后,经过审核、核对采购计划,配送中心点验商品,滞销和临近保质期商品退回供应商,符合验收条件的商品分别送入仓库货架不同位置存放。再进入库存管理子系统,库存管理子系统可以对所有商品的出入库操作进行全过程的记录管理。从配送中心点验商品到销售发货出库,实现库存管理与采购管理、销售管理的一体化集成管理。当有新商品入库时,系统允许管理员添加新商品的记录,当商品出售或产品过期需要清除时,管理员可以删除产品信息,当记录有误时,管理员可以手动修改数据表中的记录。信息查询是超市管理系统的重要组成部分。用户可以按照商品编号和商品名称等查询条件浏览仓库中的商品信息。当有新商品需要入库、出售时,管理员可以直接进行入库;出售时,程序自动修改库存商品的信息。由配送中心向各门店分货、配货、送货。当库存管理业务完成后,产生的业务信息流入各营运管理模块(前台收银管理、进销存管理、盘点管理)中。有些业务在通过业务流转的各个子系统后就产生了会计凭证,此时产生的会计凭证直接流入账务处理系统,以更新账务数据。各个管理子系统产生的数据一部分提交数据库服务器存储数据,另一部分需要会计处理的信息流入账务处理系统进行会计处理,进而更新数据库中的记录。

四、现代连锁超市信息系统业务流程的优化

连锁超市管理信息系统解决问题的核心在于以客户为主导、以企业合作为前提、以信息管理为重点、以管理技术为支撑、以降低成本为目的构建新的管理信息系统。我们的设计方案主要包括以下四个方面:(1)以客户管理为中心。客户需求是管理信息系统的起点,客户需求拉动着连锁零售业和供应企业的所有营运活动。(2)以信息系统为核心。信息流是管理的核心,信息系统中的计划、生产、配送和销售与服务都在信息的推动下协调开展。(3)以现代管理技术为基础。利用互联网可以提高企业营运水平及与客户之间的沟通能力,提高分析、判断和预测准确性。(4)以现代管理理念为支撑。云计算概念和思路是实施该模式的基础,同时融合企业的文化,指导企业之间战略调整和组织转型。本系统业务流程是根据新模式下管理信息系统的设计,使连锁超市管理信息系统构建与业务流程重组相结合,对传统连锁超市管理信息系统业务流程进行了重组。将与商品流转相关的信息流、资金流、物流和商业管理的购销链、分析资料、原始业务数据档案集成在总部数据库进行管理。

1.供应商信息的建立。供应商信息的建立是业务流程的第一步。供应商信息是所有连锁超市信息系统的基础信息之一,它记录了供应商的简称、全称、纳税信息、证照信息、经营性质、送货信息以及网上供应商平台的信息。供应商档案可以由供应商自己在网上申请成为正式供应商,此时它要提供详尽的资料,如资质证明、供货商品的信息等,并上传到网上,供企业管理者(买手)参考。买手决定采纳供应商时,需要与供应商进行面谈相关合作事宜。当达成共识后,对供应商在网上申请的信息正式引入,此时系统为供应商自动分配了ID号,供应商进入一个试销状态。

我国零售业各经营者之间缺乏信息共享,他们之间的关系只是买卖关系,并不交换信息,更不可能实现整个供应链上的信息共享。针对这个问题我们设计了供应商管理模块,供应商管理子系统主要是针对供应商、合同、商品及价格这些基础数据进行管理,包括供应商管理、自营合同管理、联营合同管理、商品管理、商品进价调整单、商品售价调整单等功能,实现各供应商之间的信息共享。

2.合同的签订。为了达到业务与财务的结合,合同将成为连锁超市管理信息系统的核心部件,它约束了供应商的经营范围、经营方式、经营的门店、结算周期、合同商品价格、费用及征收方式、征收频率等一系列复杂的业务逻辑的基本信息。合同签订后,合同原件需要根据系统特点进行设计,纸质合同签订后,要转化为合同录入表格,同时要有财务人员对合同原件和计算机录入后的合同进行对比,是否有漏项、输错,以保证在结算时生成的金额是正确的。

3.品类管理。品类管理是连锁超市的管理核心,在竞争日益激烈的零售业,各商场均在品类结构调整上下足了功夫。例如提出了四类商品即形象商品、特价商品、应季商品、销量商品的概念,在系统上对商品进行划分,统计时易于发现重点商品、重点品类以及部门所发生的问题。当前零售业品类划分方法采用的依然是国外的五级分类法,即处、部门、大、中、小类,但是方法相同,划分的内容却不尽相同,有的重商品功能,有的重顾客需求,有的重品类搭配。从当今零售业发展的状况来看,一切从顾客需求出发,是品类结构划分的重点。

4.组织机构的划分。连锁超市的快速扩张得益于计算机技术的飞速发展,而要进行计算机管理,连锁超市必不可少的就是要对所管理的门店进行组织机构上的划分,划分后既要有层级关系,还要有便于管理的代码结构机制,以便于用户统计,再加工数据。例如,101-2-3-01表示了一个门店的组织机构,其中,101代表门店,2代表门店的楼层在二楼,3代表在二楼的3区,01代表了3区的某个柜组。这样的结构就告诉了计算机系统,如何快速查询每一层级的进销存信息,而且可以根据每一个管理层级不同的管理者划分不同的数据查看权限。

组织机构不仅仅限于门店的管理,而且涉及到店与店之间、店与配送中心之间的物流关系,只要涉及到连锁调拨、配送,它在整个系统当中都起到了重要的作用。它的唯一性,保证了数据流能够准确地到达相对应的门店。另外,配送中心也是组织机构的一部分,它类似于普通门店。一般配送中心不参与直接的销售,仅起到物流中转的作用,帮助门店取得货物,分发货物,运输货物。根据仓库的功能与位置不同,划分了不同的仓库、区域等与门店类似。仓库进行划分后,不同品类的商品,会在不同仓库进行物流中转。

5.人员权限管理。所有操作系统的人员,都必须被系统登记,并取得一个唯一的标识码,我们可以称为工号。在连锁超市的系统当中,权限的管理极为重要,可以分为以下几种权限:登录权限,商品分类权限,收银权限,组织机构权限,其他功能权限等。有些人,是具有多种权限的,如某区域经理,在A店是销售经理的权限,在B店是课长的权限,在新的模式下,就要求权限必须细分到门店,在哪些店属于哪个工作组(岗位),这样就保证了登录不同的店所看到的功能也不尽相同。另外,在操作数据方面,未被授予权限的商品分类,柜组将无法被操作或显示,在查询时,系统已将无权限的部分直接过滤下去,从而达到了数据安全管理的需要。

收银权限非常重要,它决定了员工是否可以进入POS收银系统。尽管收银员可以进入POS系统进行收银,但不同级别的收银员在权限上也有所不同,如有的收银员可以开启钱箱,有的收银员则需要主管的授权。因此,收银权限也必须与操作管理系统的权限一样进行分组设定,这样才能保证每个人有不同于他人的功能。由于收银功能较少,一般不会高于50个,所以在新系统下按键盘功能的不同对收银功能进行分组即可。

6.订货模式。门店的订货模式主要有两种,一种是向供应商订货,另一种是向物流中心订货。当向供应商订货时,门店的订单确认后,如果该供应商具备网上服务平台的功能,则可以看到该订单的详细内容,这时直接可以在网上对订单进行打印,通知仓库对商家进行发货处理。打印的网上订单可以作为与商场交接货物的凭据,当商场确认商品信息后,盖章确认,供应商可以看到对应生成的供货信息,从而达到了实时对账的目的。当向物流中心订货时,订单被传递到了物流中心,物流中心根据先要先得或按周期发货的原则对订单进行处理,如果物流中心有库存,则直接为门店配货,如果物流中心无库存,则生成物流中心的订单,物流中心接到货品以后再为门店配送货物。

7.物流中心的模式。根据货物是否仓储,我们将物流模式分为配送或直流。配送即商品在物流中心有一定的存货量,门店可以随时订货,物流中心的库存不足时,需要对不足的部分进行订货作业,类似于门店的日常库存管理。直流即商品不在配送中心仓储,来货验收后立即分往门店。一般情况下,管理者要求直流商品不得在仓库停留超过一个配货周期。为了方便管理,不同的物流模式的商品由不同的人员进行管理。由于仓库的库存管理要责任到人,因此我们可以将仓库按不同物流模式的商品进行划分,划分的方式与组织机构划分的方式相同。

仓储的商品管理非常重要。目前系统采用商品货位管理,仓库被划分为数万个存储位,商品被按照“快出者优先”的原则,被放置在指定的区域内,为了达到快速出货的目的,必须采用计算机进行找货。当验收的货物属于配送时,这时系统会产生一个上架任务,负责平移的叉车司机配备有无线手持电脑可以及时收到这种任务指令。比如根据任务指示:将商品上到A区B货道,C货架5层,货物很快被运送到A区B货道,C货架旁边,平移叉车司机确认货已移到,任务完成。此时,负责上高位货架的叉车司机会接到一个任务:将商品上到A区B货道,C货架5层,货物已到,请上架。高位叉车司机将货物很快上到了存储位上,这时,计算机对应的存储位上正式被商品占用。出货时,正好与本流程相反。在上仓库的存储位时,计算机会自动计算商品的周转情况,将商品自动按周转频率,主动向离出货位较近的地方放置,同时还会按照就近原则,寻找最近的空存储位是否有相同的商品,如果有,离该商品越近上架越好,以便于同时出货。

8.财务管理。财务处理可以在业务流转中进行,不一定要在“账务管理”子系统中完成。这样,在业务发生的同时财务处理也就完成了,解决了会计信息滞后和会计信息不准确的问题。

一般情况下,供应商将货送到商场后,并不立即结算,而是根据合同按照一定的周期进行结算。可以采用月结、账期等方法,月结即每月固定时间给供应商结算,账期即送货日多少天以后才能结算该批商品;由此又延伸了“月结+账期”的方式,即满账期以后,到月结清,虽然满了账期,但不到月底结算时间,依然是到月底才能生成结算单。采购者可以根据谈判情况,与不同的供应商达成不同的结算方式。结算的依据有:验收入库单,退货单,库存商品成本调整单的总和,以及合同上的费用计算结果。生成结算单后,经过结算中心的主管审核,供应商可以在网上查看到该结算单,如果确认无误,录入并寄到发票,结算中心即可按流程进行付款。所有结算数据完成后,将会按照规则向财务软件进行分发,从而保证了业务系统与财务系统的一致。

9.客户关系管理。客户关系管理系统主要是对客户关系进行信息化管理。通过细分市场把目标指向最佳的客户,并与这些客户建立关系。将不同客户的信息按类别储存起来,建立明确的信息共享制度。在网络信息化时代,零售业与客户的接触非常紧密,当消费者发生销售行为时,客户关系管理系统同步留下客户相关的信息,将所有的客户资料以及相关服务信息通过系统存放在数据库中,而且能进行实时更新,给客户提供最贴切的服务。然后通过后端的分析模块,随时从资料库中将所需资料取出,实时有效地运用。

利用客户关系管理系统可以收集到有价值的客户信息,作为市场调研的基础,进一步分析客户的需求,实施交叉销售。客户关系管理系统的结构从功能上分主要包括顾客信息档案、会员卡管理等功能。其中会员卡管理包括卡类型管理、会员级别管理、卡初始化、会员卡充值管理、积分充换管理、会员卡锁定及解锁等功能。

客户关系管理子系统是连锁超市管理信息系统的一个重要环节,很多项目均是围绕着顾客关系开展的,如商品分类、会员卡、促销等。首先,开展顾客关系管理,就必须使顾客的信息能够进入系统当中来,我们可以采用办理会员卡的方式,会员卡给予顾客相关的优惠或特权,来吸引顾客将真实的信息登记进来。然后,顾客在消费时,若想享受某种优惠,就必须持卡,所有持卡消费的信息,就会保留到数据库当中,我们可以通过查询分析发现顾客的消费层级,并定期针对不同层级的顾客做活动,发送活动短信等。由于信息的共享性,在商家的网站上,顾客输入自己的卡号及密码,可以登录查询自己的积分情况、特权情况、服务记录、消费记录等诸多信息,并可以参与商场留言,达到与商家互动的目的。

10.库存管理。库存管理是系统的核心,可以分为进货、退货、销售、销售退货、报损、报溢、盘点、领用、配送、调拨、批发、赠送等科目,根据不同的原因,又可以分为不同的子科目,如报损,自然损耗的与员工丢失,在库存管理上所记的科目一定是不同的,因此在库存管理方面,退货、销售退货、报损、报溢、领用等科目都会记录二级子科目,以区分不同性质的业务。如销售退货,在记录了明细科目以后,就可以直接根据退货的原因分析问题所在,为管理者决策提供帮助。

所有科目在记账时,都有不同的票据以及不同的系统模块供操作人员选择使用,不同的票据需要不同岗位的人签字确认货品的数量、金额没有问题,会计人员才可以进行录入及审核。单据要及时向财务会计传递,财务会计在系统中进行财务复核,确保了申报人、录入人所产生的信息的准确性。

11.营运管理。连锁超市营运管理的目标主要有两个:一是降低整体成本,二是提高客户服务水平。提高客户服务水平在激烈的市场竞争中显得越来越重要。但传统的连锁超市营运管理没有处理好成本和服务水平的矛盾,很难令客户真正满意。针对存在问题我们设计了营运管理模块。营运管理模块主要是针对前台管理、进销存管理及存货盘点等作业的管理,协助企业有效掌握各项商品的信息,以达到降低成本、提高服务水平的目的。系统主要包括进销存管理、前台管理、盘点管理等模块。其中营运管理模块中最重要的一个子系统就是进销存管理,本系统可以实现对所有物资的出入操作进行全过程的记录管理。从采购验收到销售发货出库,实现库存管理与采购管理、销售管理的一体化集成管理。进销存管理模块包括商品入库、商品退厂、商品报损、商品报溢、商品调拨、商品批发等功能。

五、结语

本文研究了基于云计算思想的连锁超市管理信息系统,分析了传统连锁超市管理信息系统中存在的问题,建立基于云计算思想的连锁超市管理信息系统模型,使连锁超市计算能力可以通过互联网实现其商业价值;连锁超市可以采用按需、易扩展的方式获得管理信息中所需资源。通过资源集中地优化部署,利用云计算思想整合已有的传统的数据中心,构建连锁超市信息管理私有云,可大幅度减少配置服务器数量,节省企业IT关键设备采购及运营成本,业务需求变更也能够得到快速的响应,并且在系统性能、物理空间结余、电力节省等综合成本方面都能取得非常好的成效。在提高系统整体性能的同时,系统的管理性和安全性也得到了很好的提升。

参考文献

[1] .吴朱华.云计算核心技术剖析.北京:人民邮电出版社,2011

[2] .张剑.沃尔玛利用物流配送节约成本.环球物流,2007;27

[3] .严思静.连锁超市进销存管理系统.科技风,2008;21

[4] .毛龚.连锁超市进销存管理系统的设计.科海故事博览:科技探索,2010;5

基于超市信息管理系统论文 篇2

知道老师: 薛武强

论文撰写人: 叶美佳 赵楠楠 左厚全 联系方式: ***

组员分工

组长:叶美佳——任务安排、资料准备、可行性分析、心得体会 组员:赵楠楠——系统分析、排版、心得体会 组员:左厚全——系统设计、排版、心得体会

可行性分析

可行性分析的前提:

(1)项目背景:本超市对库存管理还处于人工操作阶段,管理人员众多,工作 效率低下,管理手段落后。采用计算机代替人工的信息处理作业,提高管理效率,实现管理工作的现代化已成当务之急。

(2)功能要求:本产品可用于超市库存管理中的出库管理、入库管理、在库 管理。具体包括:

1)期初数据:用于录入系统启用期初的数据,以保证用户业务数据一致性、连续性。2)日常业务:

1、入库业务:处理用户入库业务:采购原材料或商品入库、生成品入库、委托加工收货入库、借入存货入库、来料加工入库、调拨入库以及其他入库业务。

2、出库业务:处理用户出库业务:销售出库、材料出库、委托加工发料、借出存货、来料加工出库、调拨出库以及其他出库,系统支持出库后的拣货、装箱业务处理。

3、库存调整:处理库存调整业务:库存转移、货位转移、盘点调整、组装拆卸、形态转换、报废出库。废品处理。

4、备料计划:可以根据委外加工订单生成备料计划,从而计划进行指导仓库的生产备料业务。

5、冻结/解冻库存:支持为销售订单、调拨订单、备料计划进行库存预留冻结。3)查询统计分析:

1、库存存量查询:系统支持以下查询:现存量的查询、库存展望量及可用量查询、在途量查询、货位卡片收发存业务查询、货位分布查询。

2、账簿查询:系统中账簿查询主要有:库存台账、出入库流水账、业务备查簿、废品备查簿、借入借出备查簿、来料加工备查簿、同时系统还支持与存货明细账核对的对账功能。

3、储备分析:主要包括:最高最低库存、安全库存的储备分析,保质期预警分析、配套资源分析、呆滞积压动态分析、库龄分析。

4、查询统计报表:主要包括以下统计:收发存汇总表、收发存日报表、收发存月报表、入库汇总、出库汇总、库存状况表、公司存货分布汇总表、多公司产销量汇总表、组装拆卸汇总表、形态转换汇总表、转库汇总表、材料消耗汇总表。(3)项目目标:建议系统主要的开发目标包括: 1)人力与设备费用的减少; 2)处理速度的提高;

3)控制精度或生产能力的提高; 4)管理信息服务的改进; 5)自动决策系统的改进; 6)人员利用率的改进;

(4)进行可行性研究的几个方面:

1)技术可行性:本系统为一个C/S模式的应用:在服务器端将运行一个 数据库服务器,客户端的软件为本次开发的库存管理系统。

2)经济可行性:开发库存管理系统需要初始成本及日常的维护费用,但 是投资是为了以后获得更大的经济效益。库存管理系统具有以下作用:

1、提高管理效率,降低人工成本;

2、提供准确及时的信息;

3、减少仓储面积,提高房产综合利用;

4、加快资金周转;

5、防范陈呆死账,降低应收账款;

6、强化财务监控;

7、高效决策。

3)组织与管理上的可行性:超市领导和部门管理干部全力支持库存管理的信息化,仓库部门所有人员赞成使用库存管理系统,新系统的建立将会导致数据传递路线、处理方式和工作习惯的改变,业务管理人员乐于接受。

2.对现有系统的分析:目前,该超市的仓库管理系统是由仓库部门负责,通过人员操作的方式进行管理。

(1)人员:当前,仓库管理部门共有人员20名,主管1名,单据保管员1名,其余18人分3班,每班6人,轮流上岗。一周7天分上下午,上午7:30-12:00,下午13:00-17:30,晚上 18:00-22:00。

(2)费用开支:人均月工资1200元,超市一年内需支付14400元,20名员工 一年支出为288000元,如加上社保等支出,数目不小。(3)局限性。目前人工操作管理方式存在以下问题:

1)保管管理困难:有的货物积压严重,采购成本居高不下,有的货物严重短缺,导致销售时才发现不足,库存盘点不及时,时间久了,丢东西和货物损毁查不出原因,出入库时找不到存放地点。

2)无法进行准确及时的成本,毛利核算:成本管理永远是主管的主题,特别是现在面对多变的市场环境,如何及时的满足客户的需求,进行科学合理的成本预测,成本分析及成本控制,及时准确的为超市管理者提供决策依据信息,显得至关重要。而目前的人工操作很难满足管理者的需求。

3)管理信息相对独立,市场预测手段,方式落后,严重影响超市科学决策,建立科学的市场信息反馈系统已迫在眉睫。

4)应收帐款居高不下,占用了大量资金,严重影响了超市的资产运作效率,加大了超市的经营风险。3.建议方案分析(1)方案原则。

1)制定调查计划,确定调查范围; 2)建立良好的人际关系; 3)要求用户参加;

4)实事求是的记录调查情况; 5)及时分析、归纳、总结; 6)尽量使用规范的调查辅助工具。(2)业务处理流程: 1)采购入库业务流程 2)销售出库业务流程 3)库存调拨业务流程(3)技术难点分析:

1)系统以C/S模式为基础,基于B/S模式的功能还需要加强; 2)利用现有的技术,该系统的功能基本完全能够实现; 3)要合理安排开发人员,保证团队质量;

4)对项目进度要求,凭借项目团队的力量完全可以按期完成。4.其他问题

(1)投资及效益分析:

1)支出。软件系统开发及操作人员培训费用:约50000元人民币。硬件设备添置费用:10000元人民币。共约60000元人民币。

2)投资回收周期。按系统使用后人员减少50%计算,一年减少费用144000元,加上间接经济效益,回收周期为半年。(2)社会因素方面分析。

1)法律方面的可行性。该系统软件不存在侵犯专利权和版权的法律问题,在法律方面具有可行性。

2)使用方面的可行性。从该超市的行政管理和工作制度方面看,能够使用该软件系统。软件管理人员和使用人员具备使用该系统软件的基本素质,在使用方面具有可行性。5.结论

通过以上分析研究,该库存管理系统符合超市的需求,所提方案切实可行,可以立即进行开发。

超市库存管理信息系统分析与设计

摘要:超市库存管理在欧美等国已实行多年,如今,在像中国这样的发展中国家也迅速地得到了推广。它最主要的特点是能够实时和准确地反映店内的销售情况,以便为超市管理者提供决策信息支持。超市库存管理的内容就是商品的入库、出库和库存管理,它是商品管理的中间环节。用数据描叙货物的收入、发出和储存的状态,实际反映了商品在超市内流动的客观过程,库存管理和商品管理的其他环节都有直接联系。可以说它在商品配送管理中起着枢纽和基础的重要作用。有效的库存管理,可降低运营成本,进而提高商品周转率,这样才能减少因风险造成的损失,从而使利润达到最高点。一个超市的库存,也就代表了这个超市的大部分资产总额。如何将这些静态的资产以最快的速度流转,这就是库存管理的目的。一个好的超市,并不是只有畅销的商品就行了。因为畅销的可能都是固定的某些商品,而有些商品可能进了超市后,就无人问津,这样不仅使这些商品占据了库房空间,而且也积了大量的资金,使得资金运转相当的困难。要改善库存周转率不高的状况,就必须先从了解超市目前的库存情况开始,而要了解库存的情况,就可以利用信息系统来进行管理,从而进一步的提高库存管理的效率。通过信息系统的查询可以方便的找出目前最畅销和滞销的商品,然后再利用各种行销方法,将滞销的商品销售出去,这样就可以避免超市因为滞销而造成的损坏、过期和资金积压等问题。我所设计的超市库存管理系统由库存商品信息模块、库存商品供货商模块、库存管理员模块和进货信息模块,库存盘点信息模块和更新库存数据模块组成,它们分别实现商品信息管理,商品供货商管理,商品进货管理,库存盘点管理和更新库存管理的功能。1库存管理的主要内容和方法

库存管理的方法主要有ABC管理法、定量订货法、定期订货法以及经济订货法(EOQ)、JIT库存管理方法等。1.1ABC管理法

ABC管理法又叫ABC分析法,就是以某类库存物资品种数占物资品种数的百分数和该类物资金额占库存物资总金额的百分数大小为标准,将库存物资分为A、B、C三类,进行分级管理。

ABC管理法的基本原理:对企业库存(物料、在制品、产成品)按其重要程度、价值高低、资金占用或消耗数量等进行分类、排序,一般A类物资数目占全部库存物资的10%左右,而其金额占总金额的70%左右;B类物资数目占全部库存物资的20%左右,而其金额占总金额的20%左右;C类物资数目占全部库存物资的70%左右,而其金额占总金额的10%左右。1.2 定量订货法

(一)定量订货管理法的原理

定量订货方式是指当库存量下降到预定的最低库存数量(订货点)时,按规定数量(一般以经济批量EOQ为标准)进行订货补充的一种库存管理方式。

(二)定量订货管理法参数的确定

a在需求和订货提前期确定的情况下,不需设置安全库存:订货点=订货提前期(天)*全年需求量/360,即 R=LT*D/360。

b在需求和订货提前期都不确定的情况下需要设置安全库存:订货点=(平均需求量*最大订货提前期)+安全库存,安全库存=安全系数*√ˉ最大订货提前期*需求变动值。(注:最大订货提前期,开根号)1.3 期订货法

定期订货法是按预先确定的订货时间间隔进行订货补充库存的一种管理方法。

定期订货法的原理:预先确定一个订货周期和最高库存量,周期性地检查库存,根据最高库存量、实际库存、在途订货量和待出库商品数量,计算出每次订货量,发出订货指令,组织订货。2系统分析 2.1 需求分析

随着生活水平的提高,我国的零售业也在迅速的发展,各种大中通过大量的调查,我们了解到当前的该超市的业务由于采用的是手工管理,账目繁多,仓库的存储比较凌乱,没有次序。这样使超市的饿销售前台在领料的时候造成了不必要的时间的浪费,导致工作效率较低,使超市的整体效益下降,另外每种商品存放的也没有固定的次序,在领某种缺货的商品的时候耽误了时间,加之几个仓库距离较远,库管员、计划员和有关领导相互之间的信息交流困难,对所需物资的缺货与否了解的不太及时,不能将缺货信息快速的传递给采购部门,也不能尽快的与供应商联系,使得物资供应效率低下,影响销售。同时每月的月末报表会耗费大量的大力,且由于手工处理容易造成失误,从而影响了数据的效率和准确率,造成了不必要的损失。

因此,该超市必须建立相应的库存管理信息系统,使其能根据市场的情况和用户的需求,及时合理地采购所需商品,并对所采购的商品进行有序的分类或编码存放,如可以按照生活用品,食品,服装类等等进行分类,也可以对每种种类的商品在进行细分,比如食品也可以分为肉类,海鲜,奶类等,服装也可以分为儿童,女式,男士等。也需要对不同的商品进行分类存放,例如可以将食品类放在冷库,家中用品可以放在1号仓库,服装可以放在2号仓库等。在详细分析中我们将会详细的说明。同时又能科学的对商品进行管理,统筹安排人力、物力、财力,使销售环节与仓库紧密的联系起来,形成一个比较协调的系统,在取货以及供货方面都节约时间,有效地改善当前管理的混乱状况。根据对该厂的库存管理的情况所做的调查和参考有关资料,发现目前该超市在库存管理方面存在着如下问题:不能及时获得存库信息,库存信息不够准确,无法及时了解哪种商品销售的比较好,及时的采购某种商品或者对某种快到期的商品进行促销活动等。2.2 调查研究与现状分析 2.2.1 现代库存管理系统的特点

因为传统企业库存管理存在以上的问题难于适应现代管理的要求,所以现代企业库存管理系统 要具有以下的特点:(1)科学的库存管理流程

存货的商品种类不同,所涉及的业务环节及它们所组成的业务流程也各有差异。一般而言,库存业务包括入库处理、货物保管和出库处理三个主要部分。通畅的业务流程是保障高效库存管理的基础,应具备优化、无冗余、并行作业的基本属性。

(2)商品代码的化管理

设计出一个好的代码方案对于系统的开发工作是一件极为有利的事情。由于商品种类繁多,这种编码技术对所有存库商品按照层次和类别赋予唯一的编码。它是区分不同商品的最主要的标准,具有易读和易记的特点,使得管理者只需要知道商品得编码,就可以了解该商品的有关信息,以便在每日的繁杂的管理中,保持规范有序的状态。(3)系统异常报警

当库存数量小于商品的最低库存限度的时候,系统发出警报,提醒管理人员应该向供应商进行订货;在库存数量大于商品的最高库存限度的时候,即商品积压的时候,系统也会发上警报,提醒管理人员应该停止商品的进货活动,就是说企业库存管理系统能防止商品的供应滞后于车间对它们的需求,也能防止对它们的需求,也能防止商品过早的生产和进货,以免增加库存。对企业的生产起了保障作用,同时节省了企业的流动资金。2.2.2 组织机构图

.2.3业务流程图

根据系统调查阶段的数据资料,确定该超市信息系统的基本功能和工作过程如下:首先是销售部根据销售情况,查看哪种商品需要缺货,即向仓库提出货物请求,并列出详细的货物类型,库管员根据货物需求单在仓库进行查询所需商品的剩余情况,当仓库有足够的货物时则向销售部发出提货信息,根据需求并向销售部发货,如果仓库缺货,则把缺货信息列出并向采购部门发出信息,采购部门针对仓库发出的信息向针对性的供应商进行订货,在一定的时期内货物还没有到达的时候则向供应商再进行催货工作。等货物到达时交给仓库进行处理按照货物的不同类型进行编号入库,仓库进而向销售部发出提货信息并向销售部进行发货。并记录出入库的详细记录。其业务流程图如下图2-2所示:

.2.4数据流程图

根据业务流程图的处理过程,把数据处理的过程画出其数据流程图,通过更详细的数据流程图描绘更具体的数据处理过程,如图2-3所示:

2.3数据字典

数据字典是对描述数据流程图中的数据项、数据流、数据存储、加工处理逻辑等组成部分的严格定义,下面是本系统的数据字典。2.3.1数据项的定义 数据项编号:I-01 数据项名称:商品编号 别名:无

简述:某种商品的编号 类型:字符型 长度:8字节 取值范围:数字+英文字母 数据项编号:I-02 数据项名称:单价 别名:购入单价

简述:某种商品的购入单价 类型:数值型 长度:10位,小数2位

取值范围:0—99999 数据项编号:I-03 数据项名称:库存数量 别名:实际库存数量 简述:某种商品的库存数量 类型:数值型 长度:5位整数 取值范围:0—99999 2.3.2数据流的定义 数据流名称:入库单 编号:D1 简述:采购人员填写的商品入库凭单 数据流来源:采购人员 数据流去向:库存记录

数据流组成:日期+入库单编号+商品编号+购入数量 流通量:30份/天 高峰流通量:50份/天 数据流名称:发货单 编号:D2 简述:供应商向采购部门填写的发货的信息 数据流来源:供应商 数据流去向:采购部

数据流组成:日期+发货单编号+采购部编号+商品编号+发货数量 流通量:30份/天 高峰流通量:55份/天 数据流名称:领料单 编号:D3 简述:销售部填写的领料的信息

数据流来源:销售部 数据流去向:库管员 数据流组成:日期+销售部门编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 数据流名称:催货单 编号:D4 简述:采购部填写的向供应商催货的信息 数据流来源:采购部 数据流去向:供应商

数据流组成:日期+采购部编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 数据流名称:订货单 编号:D5 简述:采购部填写的向供应商订货的信息 数据流来源:采购部 数据流去向:供应商

数据流组成:日期+采购部编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 数据流名称:领料通知单 编号:D6 简述:销售人员填写领料信息 数据流来源:销售部 数据流去向:仓库

数据流组成:日期+销售编号编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 数据流名称:缺货统计单 编号:D7 简述:仓库填写的缺货记录 数据流来源:库管员 数据流去向:库存记录

数据流组成:日期+仓库编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 数据流名称:未批准的领料单 编号:D8 简述:库管员填写的对领料单校验的结果 数据流来源:库管员 数据流去向:销售部

数据流组成:日期+仓库编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 数据流名称:已批准的领料单 编号:D9 简述:库管员填写的对领料单校验的结果 数据流来源:库管员 数据流去向:库工

数据流组成:日期+采购部编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 数据流名称:缺货单 编号:D10 简述:库工向采购部填写的缺货通知 数据流来源:库工 数据流去向:采购部

数据流组成:日期+仓库编号+商品编号+数量 流通量:25份/天 高峰流通量:40份/天 2.3.3数据存储的定义 数据存储的名称:库存记录 数据存储的编号:F1 简述:记录商品的编号、名称、单价与库存数量等信息 数据存储组成:商品编号+购入单价+库存数量 关键字:商品编号

数据存储的名称:供应商信息 数据存储的编号:F2 简述:记录供应商的编号、名称、地址、电话、传真、银行账号 数据 存储 组成:供应商编号+名称+地址+电话+传真+银行账号 关键字:供应商编号 数据存储的名称:商品信息 数据存储的编号:F3 简述:记录库存商品的编号、类别、名称、规格、单价、单位、存放位置、用途 数据存储组成:商品编号+类别+名称+规格+单价+单位+存放位置+用途 关键字:商品编号

数据存储的名称:销售部门信息 数据存储的编号:F4 简述:记录车间的编号、名称、联系人、电话 数据存储组成:销售部门编号+名称+联系人+电话 2.3.4处理逻辑的定义 处理名:校验单处理 编号:P1 输入:所领商品的信息 输出:是否合理

描述:对销售部门发出的领料单进行校验是否合理 处理名:处理已批准的领料单 编号:P2 输入:所领商品的信息 输出:是否能够供货

描述:如果仓库有足够的商品则向车间发货,如果没有则向采购部发出缺货信息 处理名:入库处理 编号:P3 输入:所采购商品的信息 输出:商品的信息

描述:对采购的商品 进行信息核对和分类并进行编号分类存放 2.3.5 外部实体的定义 外部实体编号:S1 外部实体名称:销售部 简述:向仓库提出领货的单位 输入的数据流:D6,D8 输出的数据流:D3 外部实体编号:S4 外部实体名称:采购部

简述:按照仓库所发信息进行采购商品 输入的数据流:D10 输出的数据流:D4,D5 外部实体编号:S5 外部实体名称:供应商 简述:向采购部提供商品 输入的数据流:D4,D5 输出的数据流:D2 3 系统设计 3.1 功能结构设计

库存管理信息系统的目标是保障企业生产所需的所有商品供给,并通过有效地管理,提高库存周转率,降低资金占用。我们根据系统分析结果,得出本系统的功能结构图如图3所示。进库功能主要是在仓库在采购货物的时候进行进库登记。然后再通过修改库存信息。在该厂需要进行提货时候向仓库发出提货单,如果仓库有货则发货并且进行出货登记,要是缺货则向采购科发出缺货单,并进行修改信息,当货物到达时向生产部门或销售部门发货。

计划管理的主要功能是根据各生产部门上报的生产、维修及工程用料计划与已有的采购合同计划和库存情况等信息建立数据库,并及时根据生产计划的变更,修改商品计划,生产商品采购清单。

库存管路模块中的个子模块都由数据录入、修改、删除、查询等模块构成。其中数据录入模块包括对商品库文件的数据录入、商品购入文件的数据录入、商品出库文件的录入;数据修改是对上述三中文件的数据进行修改;数据删除同数据修改基本上是一样的,只不过这里是将记录从相应的数据库文件中删除掉。其功能如下图所示:

3.2系统流程图设计

可从数据流程图到处信息系统流程图,如图3-2所示:

3.3数据库存储设计

数据库管理系统选用sql server2005数据库。本系统中领货数据为基础数据,缺货数据为中间数据。4 信息详细设计 4.1 代码设计

代码设计代表事物的名称、属性、状态等的符号。为了便于计算机处理,一般用数字、字母或它们的组合来表示。

为了和工作人员以往的管理方式一致,本系统采用区间码的形式来记录商品信息,区间码使信息处理的比较可靠,排序、分类、检索等操作易于进行。编码以数字和字母表示。根据行业标准,所有商品分为10大类(一位字母a----j),每大类又分为若干个小类(两位数字00----99),在小类中根据商品规格型号的不同以卡号(四位数字0000----9999)进行区分。设计方案如图所示。

4.2数据库设计

数据库设计是数据库应用程序的核心。数据库设计是建立一个应用程序的作重要的步骤之一,数据库设计的步骤分为:需求分析、概念结构设计、逻辑结构设计、物理结构设计、系统实施和系统运行和维护。即主要的部分是在需求分析和数据分析的基础上进行概念设计、逻辑设计和物理设计。4.2.1概念设计

经过调查与分析我们知道系统中主要有供应商、领用单位、和商品等几个实体。它们的主要关系有:

供应商和商品之间是m:n供应关系。领用单位和商品之间是m:n的供应关系。其中每个实体的属性分别为:

供应商:供应商编号,名称,地址,电话,传真,银行账号

商品:商品编号,名称,类别,规格,单价,单位,库存量,存放位置,用途 车间:车间编号,名称,联系人,电话 采购部:部门编号,联系人,电话 仓库:仓库编号,名称,电话,联系人 其E-R图如下图所示:

4.2.2逻辑设计

逻辑设计的任务是根据DBMS的特征把概念结构转换为相应的逻辑结构。概念设计所得到的是将E-R模型是独立于DBMS的,这里的转换就是把表示概念的结构E-R图转换为关系模型的逻辑结构。将上图转换为关系模式为: 供应商(供应商编号,名称,地址,电话,传真,银行账号)

商品(商品编号,名称,类别,规格,单价,单位,库存量,存放位置,用途)供应(销售部门编号,名称,联系人,电话)车间(车间编号,名称,联系人,电话)出库(商品编号,车间编号,仓库编号,供应商的编号)存储(商品编号,仓库编号,供应商编号)4.2.3物理设计

数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。数据库的物理结构设计大致包括:确定数据的存取方法、确定数据的存储结构。

5前台界面

本系统是用Visual Studio 2005 C#开发前台界面,实现具体的功能。5.1用户登陆界面

课程实习心得体会

基于超市信息管理系统论文 篇3

关键词:Delphi7.0;AdoQuery;数据信息;数据库

中图分类号:TP311 文献标识码:A文章编号:1009-3044(2007)16-30940-03

Based on the Development and Implementation of Delphi7.0 Supermarket Management System

WU Dong-mei,MAO Xiao-dong,ZHAO Wei

(Yong City Vocational College,Yongcheng 476600,China)

Abstract:In the actual supermarket management, widespread use of multi-operating with a shared database management system, is a supermarket management system to adapt to the current supermarket industry sales management and the urgent needs of the software system design and development. This paper will describe indetails of supermarket sales management system development environment, requirement analysis, design, algorithm and its powerful functions, allowing users of the system have a clear and complete understanding of details on the individual module implementation steps.

Key words:Delphi7.0;AdoQuery;data;database

1 系统介绍

本系统是建立在WINDOWS 2000平台上,主要运用Delphi工具开发和Sql Server2000来记录数据。

本系统是一个关于超市管理方面的系统,它主要适用于一些中小型的超市销售管理,具有一般日常超市运营的所有应用需求,现就以下几个方面做一个简单介绍:

1.1 需求分析

在市场经济的大环境下,越来越多的人士逐渐认识到用计算机技术进行名类管理,交流的便捷。其中比较实用的就包括在超市的销售系统的计算机管理了。为满足日常小型超市的方便销售、帐目管理、仓库管理及人员管理等基本的方便需要,需要开发一个比较实用的管理系统。

1.2 主要开发工具

delphi 7.0+sql server 2000。前台使用delphi 7.0进行界面的开发,后台主要运用sql server 2000进行数据库信息的存储管理。

1.3 系统功能

(1)登录及人员信息管理

(2)销售信息管理

(3)帐目信息管理

(4)仓库信息管理

(5)系统基本信息管理

1.4 系统环境要求

平台:Microsoft Windows 2000 Server

数据库:Sql Server 2000

内存:128MB建议256MB

硬盘存储空间:40G

平台:Microsoft Windows 95/98/2000

内存:64MB,建议128MB

2 数据库设计

2.1 需求分析

随着我国社会主义市场经济体制的确立和发展,商业流通领域进入了一个空前的发展阶段,面对商界的激烈竞争,商家只有在多变的商品和顾客中挖掘并掌握市场需求,提高经营效率,对商品的库存进行合理的管理,及时反馈顾客对商品的意见,即淘汰“卖不出去的商品”,购进“卖得快、利润高的商品”.经营者才会获得利润,企业才能在竞争中生存和发展,如果能够选择一个好的管理系统,把大量繁杂的、看似毫无关系的数据,有机的结合起来,形象的反映出市场的供求关系,就能够为得出正确的决策做出事半功倍的效果。

2.2 概念结构设计

wdm01.tif

图1 超市管理系统的基本E-R图

概念结构能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。易于理解、更改当应用环境和应用要求改变时容易对概念模型修改和扩充。易于向关系、网状、层次等各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。

2.3 逻辑结构设计

概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构,设计逻辑结构应该选择最适于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。

E-R图转换为关系模型。关系的码用下横线标出。

用户(编号,用户名,真实姓名,用户权限,密码)

此为用户实体对应的关系模式。

库存(编号,商品名称,单位,成本,数量,价格,日期)

此为库存实体对应的关系模式。

商品(编号,商品名称,单位,单价)

此为商品实体对应的关系模式。

销售(编号,商品名称,单位,单价,数量,金额,状态,日期)

此为销售实体对应的关系模式。

操作(编号,操作行为,日期)

此为操作实体对应的关系模式

单位(单位编号、单位名称)

此为单位实体对应的关系模式。

3 系统体系结构设计

3.1 功能模块设计

3.1.1 登录模块及人员管理

本模块完成操作员登录管理系统的功能,使用户可以通过身份验证的方式进入系统,同时任务栏还会显示出相应用户的身份等信息。具体分配如下:

表1 用户权限分配表

用户管理在数据库中的userlist中可以查看用户权限,管理员登录系统后可以修改用户信息,修改的内容和数据库中userlist表中显示的内容相一致。用户也可以直接在数据库中进行修改。如果用户名错误或密码错误,系统就会弹出一个对话框,警告用户名或密码错误需要用户重新输入。输入正确后屏幕上会显示用户的权限。点击确定后就可进入系统的主界面。

图2

3.1.2 销售管理模块

此功能主要是进行商品的销售。销售员输入顾客所需要购买的商品编号、数量。查询商品资料和库存资料,确定无误后,将此记录于销售表中,并将销售报表打印出来给经理,同时销售员也可以进行商品资料和库存量的查询。销售后的商品系统会自动减库。另外当用户对所购买的商品不满意,也可以进行退货,当输入顾客所退商品的编号、名称等以后就可以退货,系统也会把记录增加到数据库中,实现商品的自动增加。该操作为所有成员所有。

图3

销售功能的实现代码为:

procedure Tfrmsale.btsaleClick(Sender: TObject);

var

sql:string;

begin

if (edtname.Text='')or(edtcount.Text='')then

begin

application.MessageBox('你所销售的产品不能为空!','警告',mb_ok);

edtid.SetFocus;

exit;

end;

qryshow.Close;

qryshow.SQL.Clear;

sql:='insertinto sale values(:id,:name,:unit,:price,:number,:money,:sta,:date)';

qryshow.SQL.Add(sql);

qryshow.Parameters.ParamByName('id').Value:=strtoint(edtid.Text); qryshow.Parameters.ParamByName('name').Value:=edtname.Text; qryshow.Parameters.ParamByName('unit').Value:=comunit.Text; qryshow.Parameters.ParamByName('price').Value:=strtofloat(edtprice.Text); qryshow.Parameters.ParamByName('sta').Value:='已卖';

qryout.Close;

qryout.SQL.Clear;

sql:='insertinto Category values(:id,:name,:unit,:chengben,:number,:money,:date)';

qryout.SQL.Add(sql);

qryout.Parameters.ParamByName('id').Value:=edtid.Text;

qryout.Parameters.ParamByName('name').Value:=edtname.Text;

qryout.Parameters.ParamByName('unit').Value:=comunit.Text;

qryout.Parameters.ParamByName('chengben').Value:=strtofloat(edtprice.Text);

qryout.ExecSQL;

adoadd.Close;

adoadd.SQL.Clear;

sql:='insertintologvalues(:act,:time)';

adoadd.SQL.Add(sql);

adoadd.Parameters.ParamByName('act').Value:=''''+unit1.namex+'''售出'''+edtname.Text+edtcount.Text+'''份';

adoadd.Parameters.ParamByName('time').Value:=''''+datetimetostr(now)+'''';

adoadd.ExecSQL;

edtid.Text:='';

edtname.Text:='';

comunit.Text:='';

edtprice.Text:='';

edtcount.Text:='';

edtmoney.Text:='';

application.MessageBox('售出成功!','提示',mb_ok);

qrysale.Close;

qrysale.SQL.Clear;

sql:='select * from sale where (number>0)and(datetime='''+ldate.Caption+''')'; qrysale.SQL.Add(sql);

qrysale.Open;

end;

3.1.3 帐目管理模块

帐目管理的使用权限只能是高级管理员,管理员和普通用户没有权限访问这个模块。功能主要是进行商品的销售进行总结。用户可以对当日或者以前所有时段销售的商品信息进行总结以及销售额进行计算。同时可以对某一单一商品或所有商品进行帐目计算和历史销售记录进行查询。另外还有用户所有操作的日志查询功能。该系统的帐目管理中主要包括以下几个部分:

当日销售统计:对当日所销售的所有商品进行的汇总,包括商品名称、商品数量和所收金额等信息。

所有销售统计:可以对所有时段进行商品的汇总查询,既可以对某一种商品进行查询,也可以进行按照时间进行查询,还可以进行所有历史销售的总汇总查询。

销售记录查询:可以对历史某个销售事件进行详细的查询,既可以查询出某个时刻所进行的销售操作,既可以对某一种商品记录进行查询,也可以对所有商品分时段或者不分时段进行记录的查询。

日志查询:可以记录用户对该系统所进行的重要操作,并提供了查询功能。其中包括登陆、注销、销售、入库、出库等一些重要操作。

图4

3.1.4 库存信息管理模块

当管理员输入顾客所需要购买的商品编号、数量,价格等信息后,可以进行入库、出库等操作,确定无误后,将此记录于进货或出货信息管理表中。同时进货员也可以进行商品资料和库存量的盘点。要入库的商品在商品设置中必须要有记录。否则在进行入库的时候系统会给出提示。该操作为管理员或高级管理员所有。只有入过库的商品,前台才可以进行销售,前台销售过的商品,库存可以自动进行减库。盘点是对当前的仓库商品信息进行总结清理,也可以进行单一商品的盘点、按时段进行所有的盘点和不分时段进行所有商品的盘点。

图5

3.1.5 系统维护信息管理模块

此模块主要是输入或修改商品资料的基本信息,以及商品单位的录入修改,来完成商品信息在超市系统中的注册,管理员可以对商品或商品单位进行增加、修改、删除等操作,能够及时修改商品的一些设置。管理起来很方便。

图6

4 注意事项

(1)用户管理中不可对高级管理员进行删除操作,否则不能进行帐目的查询。

(2)最好每天对数据库进行一次人工备份,以免数据产生丢失或突然断电事故。

5 结束语

本文描述了超市管理系统的设计思想和设计过程,从实际角度出发,符合现有超市管理的实际情况,满足了日常超市的销售、帐目管理、仓库管理及人员管理等基本的方便需要,而且本系统从投入到一些中小超市管理中所反映的情况来看,效果非常理想。

参考文献:

[1]张龙卿. Delphi 6 深入编程技术[M].北京希望电子出版社.

[2]刘艺. Delphi 6 企业级解决方案及应用剖析[M].机械工业出版社.

[3]曹军生. SQL Server 2000实用教程[M].北京理工大学出版社.

[4]萨师煊.数据库系统概论[M].高等教育出版社.

基于超市信息管理系统论文 篇4

超市作为当今国内销售商品最广、数量最多、人流最多的一种市场, 有种类繁多的商品信息和其他信息需要处理。随着超市商品的大量增加, 其管理难度也越来越大。由于超市商品种类繁多, 超市的采购环节就变得繁琐复杂。若要提高超市在市场上的竞争力, 超市采购环节的系统化, 智能化, 就成为了超市管理中的重中之重。传统的采购模式不能及时得出需采购的商品, 且不能够对供应商信息进行有效整合, 选出最适合的供应商进行供货。设计出超市采购管理信息系统有效的解决了这一问题, 并且能够及时得到库存情况, 向供应商发出采购订单, 供应商根据采购订单进行发货, 得出直观的最优的供应方案, 是非常有必要的。2.需求分析系统设计需要符合软件工程的思想, 在了解业务背景的前提下, 用相关技术体现自己的创造性和特色。主要实现的 (模块) 功能:

1、基本资料管理

(1) 商品资料管理:超市商品的维护功能。

(2) 供应商资料管理:对供应商进行添加、修改、删除操作的管理功能。

(3) 客户资料管理:对客户资料进行添加、修改、删除操作的管理功能。

(4) 业务员资料管理:对业务员资料进行维护。

(5) 仓库管理:各种商品分类存放, 实现仓库的管理功能。

2、采购管理功能

(1) 需采购商品汇总:根据库存量查询需要采购的商品信息。

(2) 供应商信息查询:查询可供货的供应商信息。

(3) 采购订单管理:采购订单的添加、修改、删除操作。

(4) 采购单管理:采购单的添加、修改、删除操作。

(5) 采购历史记录查询:对采购历史记录进行查询。

(6) 采购退货单管理:采购退货单的添加、修改、删除操作。

(7) 采购合同管理:采购合同的添加、修改、删除操作。

3、库存管理功能

(1) 商品信息管理:超市商品信息的添加、修改、删除、查询等操作。

(2) 入库单管理:对已采购的商品进行入库。

(3) 出库单管理:将商品进行出库操作。

(4) 库存预警:对库存不足的商品预警。

4、供应商发货管理功能

(1) 销售单管理:查询超市采购订单。

(2) 销售历史记录查询:对销售记录进行查询。

5、系统管理功能

(1) 用户管理:系统账号的添加、删除、修改操作。

(2) 权限管理:不同的权限登录后功能不同。

(3) 基本信息设置:商品、供应商等基本信息的设置。

3、总体设计

本系统的研究对象是超市采购管理信息系统, 主要实现的功能有:基本资料管理、采购管理、供应商发货管理、库存管理、系统管理, 该系统的功能模块图如下:

4. 数据库设计

超市采购管理信息系统主要是实现的仓库信息、客户信息、供应商信息、商品信息、库存信息、部门信息、用户信息的管理的功能, 通过上述系统功能分析, 超市采购管理信息系统总结出如下的需求信息: (1) 管理员对仓库信息进行管理; (2) 管理员对客户信息进行管理; (3) 管理员对供应商信息进行管理; (4) 管理员对商品信息进行管理; (5) 管理员对库存信息进行管理; (6) 管理员对部门信息进行管理; (7) 管理员对用户信息进行管理。

经过上述系统功能分析和需求总结, 再参照现实超市采购管理信息系统的发展状况, 对数据项和数据结构进行如下的设计:

(1) 仓库信息, 包括数据项:编号, 仓库名称, 类别。

(2) 客户信息, 包括数据项:编号, 拼音码, 缩写名, 名称, 联系人, 类型, 地址, 邮编, 电话, 手机, 传真, 客户类型, 客户银行, 备注。

(3) 供应商信息, 包括数据项:编号, 拼音码, 简称, 名称, 地址, 邮编, 处理类型, 电话, 传真, 银行, 银行码, 银行编号, 备注。

(4) 商品信息, 包括数据项:编号, 供应商, 条形码, 名称, 拼音码, 标准, 规格, 产地, 种类, 进价, 出价1, 出价2, 最低价, 保质期, 备注。

(5) 库存信息, 包括数据项:编号, 供应商, 条形码, 名称, 拼音码, 标准, 规格, 产地, 种类, 进价, 售价, 保质期, 库存数量, 仓库名, 备注。

(6) 部门信息, 包括数据项:编号, 拼音码, 姓名, 性别, 生日, 相片, 部门编号, 识别码, 学历, 电话, 手机, email, 地址, 邮编, 备注。

(7) 用户信息, 包括数据项:用户编号, 用户姓名, 用户名, 密码。

5、系统设计与实现

5.1 采购管理模块

采购单的处理是采购模块的核心功能, 具体的流程是先制定采购订单, 然后根据不同供应商的产品质量价格等信息确定采购商品明晰, 然后生成采购单。

5.2 库存管理模块

库存是主要是对超市的商品库存信息有直观的体现, 同时通过设置库存预警上下限设置便于管理员了解商品的库存情况。

关键代码:

6. 结论

本文设计的超市采购管理信息系统实现了和供应商的直接沟通, 避免了传统采购时需要人工对供应商信息进行整理。可以将供应商的供应方案进行整合, 一目了然, 可以快速的对比出最优的供应方案, 将复杂繁琐的采购操作变得简洁而有效。同时, 通过对库存及采购的全面控制, 可以降低超市的成本, 增强超市的市场竞争力。

参考文献

[1]张永, 胡海.基于ASP的小型超市管理系统[J].电脑知识与技术, 2010, (21) .

[2]杨同建.基于ASP的企业进销存管理系统的技术开发[J].电脑知识与技术, 09, (02) .

基于java小型超市管理系统 篇5

public class Mytest { static int sign=0;//goodname数组第一个空下标号

static int sign1=0;//cname数组第一个空下标号

static String[] cpass=new String[20];//存放售货员名称

static String[] cname=new String[20];//存放售货员登入密码

static String[] goodname=new String[20];//存放商品名称

static double[] goodprice=new double[20];//存放商品价格

static int[] goodout=new int[20];//存放商品销售量

static int[] goodnum=new int[20];//存放商品数量

public static void main(String[] args)throws Exception { cname[0]=“ZhouTian”;//初始的售货员名称

cpass[0]=“723”;//初始的售货员密码 createArrays();readArrays(“goodname”);//将文件中的内容读入到相应的数组里

readArrays(“goodprice”);readArrays(“goodnum”);readArrays(“cname”);readArrays(“cpass”);readArrays(“goodout”);menu();//登入之后加载的主菜单

} /** * 加载登入菜单

*/ private static void menu(){

Scanner scan = new Scanner(System.in);

System.out.println(“ttt欢迎使用商超购物管理系统 n”);

System.out.println(“tttt1.登录系统n”);

System.out.println(“tttt2.退出 ”);

System.out.println(“*************************************************”);

System.out.println(“请选择,输入数字: ”);

int a = scan.nextInt();

switch(a){

case 0:

System.out.println(“退出!”);//按0不登入

case 1:

System.out.println(“请输入用户名:”);// 查找售货员姓名是否存在,与所对应的密码是否匹配

String name = scan.next();

System.out.println(“请输入密码:”);

String pass = scan.next();

int flage = 0;

int ff = 0;

for(int i = 0;i < cname.length;i++){

if(name.equals(cname[i])){

flage = 1;//售货员的名称匹配flage=1;

ff = i;

break;

}

}

if(flage == 1){//名称匹配之后再匹配密码

if(pass.equals(cpass[ff])){

loadmenu1();//密码也匹配之后再允许登入

} else {

System.out.println(“密码错误!”);

}

} else {

System.out.println(“该用户名不具有权限”);

}

break;

case 2:

System.out.println(“谢谢您的使用!”);

break;

default:

break;

} }

/** * ,创建文件,将数组信息存入到各文件中, */ static void createArrays(){

BufferedWriter bw = null;

try {

File file1 = new File(“d:gname.txt”);

if(!file1.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gname.txt”));

String content1 = strToString(goodname);//数组内容转换成字符串

bw.write(content1);//写入

bw.close();

}

File file2 = new File(“d:gprice.txt”);

if(!file2.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gprice.txt”));

String content2 = doubleToString(goodprice);//数组内容转换成字符串

bw.write(content2);//写入

bw.close();

}

File file3 = new File(“d:gnum.txt”);

if(!file3.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gnum.txt”));

String content3 = intToString(goodnum);//数组内容转换成字符串

bw.write(content3);//写入

bw.close();

}

File file4 = new File(“d:cname.txt”);

if(!file4.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:cname.txt”));

String content4 = strToString(cname);//数组内容转换成字符串

bw.write(content4);//写入

bw.close();

}

File file5 = new File(“d:cpass.txt”);

if(!file5.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:cpass.txt”));

String content5 = strToString(cpass);//数组内容转换成字符串

bw.write(content5);//写入

bw.close();

}

File file6 = new File(“d:gout.txt”);

if(!file6.exists()){

bw

=

new

BufferedWriter(new FileWriter(“d:gout.txt”));

String content5 = intToString(goodout);//数组内容转换成字符串

bw.write(content5);//写入

bw.close();

}

} catch(IOException e){

e.printStackTrace();

}

}

/** * 登入之后加载商超购物管理系统

*/ static void loadmenu1(){

System.out.println(“欢迎进入商超购物管理系统!”);

System.out.println(“tttt商超购物管理系统”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.商品维护”);

System.out.println(“tttt2.前台收银”);

System.out.println(“tttt3.商品管理”);

System.out.println(“tttt4.退出”);

System.out.println(“********************************************************************************”);

System.out.println(“请选择,输入数字或按0退出:”);

Scanner scan = new Scanner(System.in);

int a = scan.nextInt();

switch(a){

case 0:

System.out.println(“谢谢您的使用!”);

break;

case 1:

System.out.println(“执行显示商品维护菜单”);

loadmenu2();

break;

case 2:

System.out.println(“执行前台收银”);

loadmenu6();

break;

case 3:

System.out.println(“执行商品管理”);

loadmenu7();

break;

default:

break;

} } /* * 在商超购物管理系统中按1键时 */ static void loadmenu2(){

System.out.println(“tttt商超购物管理系统 商品维护”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.添加商品t”);

System.out.println(“tttt2.更改商品t”);

System.out.println(“tttt3.删除商品t”);

System.out.println(“tttt4.显示所有商品t”);

System.out.println(“tttt5.查询商品t”);

System.out

.println(“********************************************************************************”);

System.out.println(“请选择,输入数字或按0返回上一级菜单:”);

Scanner scan = new Scanner(System.in);

int b = scan.nextInt();

switch(b){

case 0:

loadmenu1();

break;

case 1:

addgoods();

break;

case 2:

System.out.println(“执行更改商品操作”);

loadmenu3();// 修改商品

break;

case 3:

System.out.println(“执行商品删除操作”);

loadmenu4();// 商品删除

break;

case 4:

System.out.println(“显示所有商品”);

System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”

+ “备注”);

showgoods();

break;

case 5:

System.out.println(“执行查询商品操作”);

loadmenu5();

break;

default:

break;

} } /* * 在商超购物管理系统中按2键时

*/ static void loadmenu6(){

System.out.println(“tttt商超购物管理系统 前台收银”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.购物结算”);

Scanner scan = new Scanner(System.in);

int ch = scan.nextInt();

switch(ch){

case 0:

loadmenu1();

break;

case 1:

pay();

break;

default:

break;

}

} /* * 在商超购物管理系统中按3键时

*/ static void loadmenu7(){

Scanner scan = new Scanner(System.in);

System.out.println(“ttt商超购物管理系统 商品管理”);

System.out

.println(“********************************************************************************”);

System.out.println(“tttt1.库存查询”);

System.out.println(“tttt2.已出售商品”);

System.out.println(“tttt3.售货员管理”);

System.out.println(“请选择,输入数字或按0返回上一级菜单:”);

int ch = scan.nextInt();

switch(ch){

case 0: loadmenu1();

break;

case 1:

System.out.println(“执行库存查询操作:”);

kusear();

break;

case 2:

System.out.println(“执行已出售商品查询操作”);

besold();

break;

case 3:

System.out.println(“执行售货员管理操作”);

salesman();

break;

default:

break;

}

} /* * 对售货员信息的增添,修改 */ static void salesman()

{

Scanner scan = new Scanner(System.in);

System.out.println(“

1、添加售货员”);

System.out.println(“

2、修改售货员信息”);

System.out.println(“请选择,输入数字或按0返回上一级菜单:”);

int b = scan.nextInt();

switch(b){

case 0:

loadmenu7();//返回上一级

break;

case 1:

addsale();//选择1键,添加售货员

break;

case 2:

modifysale();//更改售货员的信息

break;

default:

break;

} } /* 添加售货员 * */ static void addsale(){

Scanner scan = new Scanner(System.in);

String f;

// sign1 = sign1 + 1;

do {

System.out.println(“添加售货员姓名:”);

String addname = scan.next();

add(cname, addname, sign1);//将新信息添加到相应数组中

System.out.println(“添加售货员登陆密码:”);

String addpass = scan.next();

add(cpass, addpass, sign1);//将新信息添加到相应数组中

// writeArray();

sign1++;//新信息添加后数组下标加1

writeArray();

System.out.println(“是否继续(y/n)”);

f = scan.next();

// writeArray();

} while(f.equals(“y”));

salesman();} /* * 更改售货员的信息 */ static void modifysale(){

String f;

Scanner scan = new Scanner(System.in);

System.out.println(“输入更改员工名称:”);

String newname = scan.next();

int k = searmember(newname);//查询需要改的售货员的信息,并返回其在数组中的下标

if(k >= 0){//判断售货员是否存在

System.out.println(“员工姓名” + “ttt密码”);

System.out.println(cname[k] + “ttt” + cpass[k]);

System.out.println(“选择您要更改的内容:”);

System.out.println(“

1、更改员工姓名:”);

System.out.println(“

2、更改登录密码:”);

int kk = scan.nextInt();

switch(kk){

case 1:

System.out.println(“请输入已更改员工姓名:”);

String newnname = scan.next();

cname[k] = newnname;

writeArray();

System.out.println(“是否继续(y/n)”);

f = scan.next();

if(f.equals(“y”)){

modifysale();

} else {

salesman();

}

break;

case 2:

System.out.println(“请输入已更改密码:”);

String newpass = scan.next();

cpass[k] = newpass;

writeArray();

System.out.println(“是否继续(y/n)”);

// System.out.println(“是否继续(y/n)”);

f = scan.next();

if(f.equals(“y”)){

modifysale();

}

salesman();

break;

default:

break;

}

} } /* * 查询ename姓名的售货员在数组中的下标 */ static int searmember(String ename){

for(int i = 0;i < cname.length;i++){

if(cname[i].equals(ename)){

return i;

}

}

return-1;// 不存在时

} /* * 查询已出售的商品信息 */ static void besold()

{

System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);

for(int i = 0;i < goodout.length;i++){

if(goodout[i]!= 0){

System.out.println(goodname[i] + “ttt” + goodprice[i]

+ “ttt” + goodout[i]);

}

}

loadmenu7();} /* * 查询库存中售的商品信息

*/ static void kusear(){

Scanner scan = new Scanner(System.in);

String f;

do {

System.out.println(“输入要查询的商品名称:”);

String sname = scan.next();

int t = ndimsear(sname);//按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标

if(t >= 0){

System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”

+ “备注”);

System.out.println(goodname[t] + “ttt” + goodprice[t]

+ “ttt” + goodnum[t] + “ttt”);//按下标输出商品相应的信息

} else {

System.out.println(“没有此商品”);

}

System.out.println(“是否继续(y/n)”);

f = scan.next();

} while(f.equals(“y”));

loadmenu7();

} /* * 按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标

*/ static int ndimsear(String s){

for(int i = 0;i < goodname.length;i++){

if(goodname[i].equals(s)){

return i;

}

}

return-1;//没查询到时

}

/* * 商品结算

*/ static void pay(){

Scanner scan = new Scanner(System.in);

double sum = 0;

String f;

do {

dimsearch1();//按关键字进行模糊查询,查找可能需要的商品

System.out.println(“请选择商品:”);

String bnam = scan.next();//按查询到的相关商品中选择要购买的商品

System.out.println(“请输入购买数量:”);

int bnum = scan.nextInt();

int fl = seargood(bnam);

System.out.println(bnam + “ttt” + goodprice[fl] + “ttt”

+ “购买数量” + bnum + “ttt” + bnum * goodprice[fl]);

goodnum[fl] = goodnum[fl]sum));

writeArray();//将对数组的更改写入到文件中

loadmenu1();//结束购买返回

} /* * 查找商品返回下标 */ static int seargood(String bbnam){

for(int i = 0;i <= goodname.length;i++){

if(goodname[i].equals(bbnam)){

return i;

}

}

return-1;}

/* * 对商品进行各种查找

*/

static void loadmenu5(){

Scanner scan = new Scanner(System.in);

System.out.println(“

1、按商品数量升序查询”);

System.out.println(“

2、按商品价格升序查询”);

System.out.println(“

3、输入关键字查询商品”);

System.out.println(“请选择,输入数字或按0返回上一级菜单:”);

int choice = scan.nextInt();

switch(choice){

case 0:

loadmenu2();//返回上一级

break;

case 1:

numshenxu();//按商品数量升序进行查找

break;

case 2:

priceshenxu();//按商品价格升序进行查找

break;

case 3:

dimsearch();//按商品的关键字进行查找

break;

default:

break;

}

}

static void dimsearch1(){

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println(“输入商品关键字:”);

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);

if(k!= null){

for(int i = 0;i < k.length;i++){

System.out.println(goodname[k[i]] + “ttt” goodprice[k[i]]

+ “ttt” + goodnum[k[i]] + “ttt”);

}

}

} /* * 按商品的关键字进行查找

*/ static void dimsearch()

+ {

String f;

do {

int[] k;

Scanner scan = new Scanner(System.in);

System.out.println(“输入商品关键字:”);

String sear = scan.next();

k = Arrays.copyOf(index(sear), index(sear).length);

System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”

+ “备注”);

if(k!= null){

for(int i = 0;i < k.length;i++){

System.out.println(goodname[k[i]] + “ttt”

+ goodnum[k[i]]

+ “ttt”);

}

goodprice[k[i]]

+

“ttt”

+

}

System.out.println(“是否继续(y/n)”);

f = scan.next();} while(f.equals(“y”));loadmenu2();} static int[] index(String ss){ int countt = 0;int counttt = 0;for(int i = 0;i < goodname.length;i++){

if(goodname[i].indexOf(ss)>= 0){

countt++;

} } int[] location = new int[countt];for(int i = 0;i < goodname.length;i++){

if(goodname[i].indexOf(ss)>= 0){

location[counttt] = i;

counttt++;

}

}

return location;} /* * 按商品数量升序进行查找

*/ static void numshenxu(){

int[] newnum = Arrays.copyOf(goodnum, goodnum.length);

double[]

newprice

=

Arrays.copyOf(goodprice, goodprice.length);

String[] goodname.length);

for(int i = 0;i < newnum.lengthi1;i++){

for(int j = 0;j < newprice.length1;j++){

if(newprice[j] < newprice[j + 1]){

int temp = newnum[j];

newnum[j] = newnum[j + 1];

newnum[j + 1] = temp;

double temp1 = newprice[j];

newprice[j] = newprice[j + 1];

newprice[j + 1] = temp1;

String temp2 = newname[j];

newname[j] = newname[j + 1];

newname[j + 1] = temp2;//相应的下标在不同的数

newname

=

Arrays.copyOf(goodname, 组里进行挑换,商品的信息才能保持一致

}

}

}

System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);

for(int k = 0;k < newnum.length;k++){

if(newprice[k]!= 0){

System.out.println(newname[k] + “ttt” + newprice[k]

+ “ttt” + newnum[k] + “ttt”);

}

}

loadmenu5();} /* *更改商品信息的操作

*/ static void loadmenu3(){

Scanner scan = new Scanner(System.in);

System.out.println(“输入更改商品名称:”);

String nam = scan.next();

int b = showflage(nam);

print(b);

System.out.println(“选择您要更改的内容:”);

System.out.println(“

1、更改商品名称::”);

System.out.println(“

2、更改商品价格:”);

System.out.println(“

3、更改商品数量:”);

int ch = scan.nextInt();

switch(ch){

case 0:

break;

case 1:

int counnt = 0;

String f = “y”;

while(f.equals(“y”)){

if(counnt!= 0){

// Scanner scan = new Scanner(System.in);

System.out.println(“输入更改商品名称:”);

nam = scan.next();

b = showflage(nam);//查找需要更改商品的下标

print(b);//输出这个商品的各种信息

}

System.out.println(“请输入已更改商品名称”);

String cname = scan.next();

goodname[b] = cname;//更改名称

System.out.println(“是否继续(y/n)”);

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 2:

counnt = 0;

f = “y”;

while(f.equals(“y”)){

if(counnt!= 0){

// Scanner scan = new Scanner(System.in);

System.out.println(“输入更改商品名称”);

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println(“请输入已更改商品价格”);

double cprice = scan.nextDouble();

goodprice[b] = cprice;//新价格写入数组

System.out.println(“是否继续(y/n)”);

f = scan.next();

counnt++;

writeArray();

}

loadmenu2();

break;

case 3:

counnt = 0;

f = “y”;

while(f.equals(“y”)){

if(counnt!= 0){

// Scanner scan = new Scanner(System.in);

System.out.println(“输入更改商品名称”);

nam = scan.next();

b = showflage(nam);

print(b);

}

System.out.println(“请输入已更改商品数量”);

int cnum = scan.nextInt();

goodnum[b] = cnum;

counnt++;

writeArray();

System.out.println(“是否继续(y/n)”);

f = scan.next();

}

loadmenu2();

break;

default:

break;

}

} /* * 查询nama这个商品在goodname中的下标

*/ static int showflage(String nama){

int flag = 0;

for(int i = 0;i < goodname.length;i++){

if(goodname[i].equals(nama)){

flag = i;

break;

}

}

return flag;}

static void print(int b){

System.out.println(“商品名称 tt” + “商品价格 tt” + “商品数量 tt” + “备注”);

System.out.println(goodname[b] + “tt” + goodprice[b] + “tt”

+ goodnum[b] + “ tt”);

} /* * 删除商品菜单

*/ static void loadmenu4(){

String f;

int d;

do {

Scanner scan = new Scanner(System.in);

System.out.println(“请输入要删除的商品名称:

String dname = scan.next();

d = showflage(dname);

delete(d);

System.out.println(”是否继续(y/n)“);

f = scan.next();

writeArray();//删除之后重新写入文件

} while(f.equals(”y“));

loadmenu2();}

”);/* * 删除商品 */ static void delete(int dd){

for(int i = dd;i < goodname.length1] = null;

goodprice[goodprice.length1] = 0;

} /* * 查询所有商品

*/ static void showgoods(){

int i = 0;

while(goodprice[i]!= 0){

System.out.print(goodname[i] +

“ttt” goodprice[i] + “ttt”

+

+ goodnum[i] + “ttt”);

if(goodnum[i] < 10){

System.out.println(“ttt*该商品已不足10件!”);

}

System.out.println();

i++;

}

loadmenu2();

} /* * 商品添加操作 */ static void addgoods(){

System.out.println(“执行添加商品操作:t”);

String a;

do {

Scanner scan = new Scanner(System.in);

System.out.println(“输入商品名称:”);

String na = scan.next();

add(goodname, na, sign);

System.out.println(“输入添加商品价格:”);

double pr = scan.nextDouble();

add(goodprice, pr, sign);

System.out.println(“输入添加商品数量:”);

int c = scan.nextInt();

add(goodnum, c, sign);

sign++;

System.out.println(“是否继续(y/n)”);

a = scan.next();

writeArray();

} while(a.equals(“y”));

loadmenu2();

} /* * 将数组信息写入到相应的文件里,启动程序时就要调用这个函数 */ static void writeArray(){

BufferedWriter bw = null;

try {

bw

=

new

BufferedWriter(new FileWriter(“d:gname.txt”));

String content1 = strToString(goodname);

bw.write(content1);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:gprice.txt”));

String content2 = doubleToString(goodprice);

bw.write(content2);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:gnum.txt”));

String content3 = intToString(goodnum);

bw.write(content3);

bw.close();

bw = new BufferedWriter(new FileWriter(“d:cname.txt”));

String content4 = strToString(cname);

bw.write(content4);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:cpass.txt”));

String content5 = strToString(cpass);

bw.write(content5);

bw.close();

bw

=

new

BufferedWriter(new FileWriter(“d:gout.txt”));

String content6 = intToString(goodout);

bw.write(content6);

bw.close();

} catch(IOException e){

e.printStackTrace();

} } /* * 添加商品名称 */ static void add(String[] aa, String n, int b){

if(b == aa.length){

aa =(String[])Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = n;} /* * 添加商品价格

*/ static void add(double[] aa, double pr, int b){

if(b == aa.length){

aa =(double[])Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = pr;} /* * 添加商品数量

*/ static void add(int[] aa, int cc, int b){

if(b == aa.length){

aa =(int[])Arrays.copyOf(aa, aa.length * 2);

}

aa[b] = cc;

}

/** * 从文件中读取信息到相应的数组里

*/ static void readArrays(String name)throws Exception {

BufferedReader br = null;

try {

if(“goodname”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:gname.txt”));

String content1 = br.readLine();

String[] arr = strToString(content1);

goodname arr.length);

for(int i = 0;i < goodname.length;i++){

if(!goodname[i].equals(“null”)){

sign++;

=

(String[])

Arrays.copyOf(arr,}

}

} else if(“goodprice”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:gprice.txt”));

String content2 = br.readLine();

double[] arr = doubleToString(content2);

goodprice arr.length);

} else if(“goodnum”.equals(name)){

br

=

new

BufferedReader(new

=

(double[])

Arrays.copyOf(arr, FileReader(“d:gnum.txt”));

String content3 = br.readLine();

int[] arr = intToString(content3);

goodnum =(int[])Arrays.copyOf(arr, arr.length);

} else if(“cname”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:cname.txt”));

String content4 = br.readLine();

String[] arr = strToString(content4);

cname arr.length);

=(String[])Arrays.copyOf(arr,for(int i = 0;i < cname.length;i++){

if(!cname[i].equals(“null”)){

sign1++;

}

}

} else if(“cpass”.equals(name)){

br

=

new

BufferedReader(new FileReader(“d:cpass.txt”));

String content5 = br.readLine();

String[] arr = strToString(content5);

cpass arr.length);

} else {

br

=

new

BufferedReader(new

=

(String[])

Arrays.copyOf(arr, FileReader(“d:gout.txt”));

String content6 = br.readLine();

int[] arr = intToString(content6);

goodout =(int[])Arrays.copyOf(arr, arr.length);

}

} catch(FileNotFoundException e){

e.printStackTrace();

} catch(IOException e){

e.printStackTrace();

}

} /* * 将字符串转换成字符串数组 */ static String strToString(String[] arry){

// String arrys=“";

// for(int i=0;i

// {

// arrys=arry+arry[i]+”,“;

// }

// //arrys=arrys+arry[arry.length-1];

// System.out.println(arrys);

// return arrys;

StringBuilder sb = new StringBuilder();

for(int i = 0;i < arry.length;i++){

sb.append(arry[i]).append(”,“);

}

sb.deleteCharAt(sb.length()-1);

// System.out.println(sb.toString());

return sb.toString();} /* * 将字符串转换成字符串数组 */ static String[] strToString(String ar){

String[] arry = ar.split(”,“);return arry;} /* * 将int型数组转换成字符串 */ static String intToString(int[] arrr){

String ss = ”“;

ss = Arrays.toString(arrr);

String sss

=

超市管理信息系统的设计与实现 篇6

超市作为当今国内销售商品最广、数量最多、人流最多的一种市场, 有种类繁多的商品信息和其他信息需要处理, 而对于这些信息的管理有很多缺陷。根据调查得知, 以前人们对信息管理的主要方式是基于文本、表格等纸介质, 对于各种商品的购销存情况的统计和核实等往往人工检查进行。数据信息处理量大, 容易出错, 而且数据繁多, 容易丢失、不易整理。总的来说, 缺乏系统、规范的信息管理手段。另外, 尽管有的超市已经使用信息化管理, 但并没有发挥它的真正效力, 资源闲置比较突出。

基于这些问题, 有必要建立一个超市管理信息系统, 使超市商品购销存的处理工作规范化、系统化、程序化, 避免超市商品管理的随意性, 提高信息处理的速度和准确性, 能够及时、准确、有效的对各种商品的购销存进行统计和整理。

1 系统设计

1.1 系统的具体设计思路

通过对超市管理内部市场调查, 分析总结得出超市管理的系统处理流程, 本超市管理信息系统的系统处理流程如图1所示。

1.2 系统功能模块设计

根据系统的需求, 结合实际商品信息购销存情况, 经过系统模块功能分析, 本系统具有以下功能模块:

(1) 商品信息功能模块:完成对商品信息的添加、查询、修改、删除操作, 以及对商品库存数量进行精确的统计, 并以图形方式展现给用户。

(2) 销售信息功能模块:实现对日常商品销售信息的添加、查询、修改、删除操作。

(3) 进货信息功能模块:完成对日常进货商品信息的添加、查询、修改、删除操作。

(4) 员工管理功能模块:完成对员工信息的添加、查询、修改、删除操作。同时, 对员工的日常考勤进行管理, 此功能模块仅限于管理部门使用。

(5) 用户管理信息功能模块:实现对用户的添加、删除以及修改密码、修改用户权限的操作。通过对用户权限的设置来确定用户所能使用的功能模块。本系统共分3种用户:管理人员、仓管人员和销售人员。其中, 管理人员可以使用所有的功能模块, 而销售人员只能使用销售信息功能模块, 仓管人员则可以使用商品信息和进货信息两大功能模块。

超市管理信息系统的功能模块如图2所示。

2 数据库设计

2.1 数据库的建立

系统实体关系 (E-R) 图主要有:商品信息E-R图, 包括商品名称、商品规格、库存数量、商品顺序号、商品计量单位以及有关商品的备注;销售信息E-R图, 包括商品名称、商品销售数量、商品销售日期、商品售出价格、商品的顺序号、顾客数量等等;进货信息E-R图, 包括进货商品名称、商品顺序号、进货数量、进货价格、进货商品的顺序号、进货日期、供应商以及进货信息备注等等;员工信息E-R图, 包括员工姓名、员工性别、员工职称、员工年龄、员工工号、员工所在部门以及有关员工的备注等等;用户信息E-R图, 主要包括用户类别、用户名、用户密码等等;内勤信息E-R图, 主要包括员工的姓名、员工的工号、员工迟到次数、员工旷工次数、员工休假天数、员工应扣工资、员工应发工资, 以及员工的顺序号等等。

2.2 数据库表设计

本系统使用oracle作为数据库管理系统, 数据库名为supmarket。共有6个表, 分别为:商品信息表products, 把商品的顺序号设为主键;进货信息表stock, 把进货商品的顺序号设为主键;销售信息表sell, 把销售商品的顺序号设为主键;用户信息表userlist, 把用户名设为主键;员工信息表staff, 把员工的工号设为主键;内勤信息表leiqing, 也把员工的工号设为主键。

3 系统实现

系统实现之后的部分界面如下:其中商品信息界面如图3所示, 可以查看商品信息, 商品规格, 商品单位, 库存数量以及商品的备注信息, 同时对商品信息可以添加、删除、编辑, 另外还可以显示所有商品记录以及显示所有库存记录;进货信息界面如图4所示, 可以通过该界面添加进货商品的信息。

4 结束语

本超市管理信息系统, 使超市商品购销存的处理工作规范化, 系统化, 程序化, 避免超市商品管理的随意性, 提高信息处理的速度和准确性, 能够及时、准确、有效地对各种商品的购销存进行统计和整理。同时本系统具有员工信息管理、考勤、工资管理等功能, 充分利用人力资源, 对零售业的发展具有很好的推进作用。

参考文献

[1]赵志强.基于.NET的动态新闻发布系统的设计与实现[J].天津渤海职业技术学院学报, 2007 (2) .

[2]薛昭权.基于.NET的新闻发布系统的设计与实现[J].惠州学院学报, 2005 (2) .

[3]马森林, 林娟.ASP.NET开发新闻发布系统[J].福建农林大学学报, 2006 (1) .

[4]王东, 肖冬荣, 职海涛, 等.新闻发布系统的数据库建模和系统实现[J].南京气象学院学报, 2004 (1) .

基于超市信息管理系统论文 篇7

信息时代是人类社会发展历史上又一个关键时期,经济的发展出现全球化和市场化,经济发展,科技进步和信息革命给社区超市的发展带来了全方位的挑战,使企业面临不同的命运,世界经济也在发生巨大而深刻的变化,使我们更清醒地认识到21世纪带给我们的将是更为严峻的挑战,市场竞争使商品化进程加快,价格下降加快,产品的生命周期越来越短,利润变的越来越薄。如果不寻求先进的管理模式和不断创新,企业就要在竞争中消亡。

信息化正在改变一切,在改变生产方式、管理方式和生活方式,要在高度竞争的环境中求生存和发展,首先应加快社区超市的信息化进程。

随着大型连锁超市的冲击和外资超市的进驻,加之自身管理的原因,小型超市面对激烈的市场竞争和复杂多变的社会经济环境,处境越来越困难。

本文研究的小型超市是位于江苏吴江当地的一个民营连锁社区超市, 在当地有一定的知名度.曾在90年代开始至今的几十年中在当地城市的经济生活中扮演着十分重要的角色。特别是在日常零售消费品中。该连锁超市创办于90年代初期,从最初的一家门店发展到现在的4~5家门店的规模。他主要集中于当地居民小区密集的地方,所以被称为“社区超市”。他每家门店占地都不大,从50几平方米到200平方米左右。员工数量一般也在10人左右。2至3人负责收银,4至8人负责铺货、配货物流管理等等。

然而随着市场竞争的加剧,经营成本的增加,经营模式单一,营销观念滞后,新兴业态的冲击,该社区连锁超市的处境正日益恶化。面对这一窘境,超市创办人进行了一系列革新,包括调整产品结构,实现错位经营,提高自身竞争力。加强培训工作,提高服务质量。控制经营成本,提高经济效益。制定营销方案,提升销售总额。联合供应伙伴,优化促销活动,充分运用网络信息等。特别超市引进了管理信息系统,使超市经营搞活。

二、超市管理信息系统

整个超市管理系统的功能结构如图3-1所示:

超市管理信息系统主要业务分析:

(1) 进货业务。进货管理是企业生产经营活动中及其重要的一环,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。企业现代管理理念中对企业的进货管理提出新的要求;企业进货时对供货商的选择更见慎重,双方不再是讨价还价的买卖关系,而是一种相互依存的合作伙伴关系,并且还需要认识到企业产品质量要从采购抓起,这就关系到供方的供货、服务质量。下面是进货业务程序的主要内容:

供货商的情况调查:在实施采购之前,超市首先就要对市场上各大商品供货商进行详细的调查,了解公司的具体情况,评定企业的信誉级别和公司的市场口碑,做到准确无误,采购顺利。

采购计划的编制:超市根据自身的资金条件和销售状况,综合分析市场规律,拟定采购计划表。

实施进货计划:根据供货商档案及评审结果,选定供货商;生成订货单给选定的供货商;双方就价格、数量、质量等方面洽谈磋商,直至签订合同;跟踪合同执行,安排供货进度和货物运输,做好验收入库工作。

(2) 库存业务:库存管理是指在上产经营中为销售和耗用而存储的各种资产。企业存货不当都会增加不必要的费用:存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。存货不足则影响企业的正常销售活动。库存管理的目标是需求最佳存货数量,使库存的成本总额最小化。其主要业务如下:

产品入库、出库、盘库等日常处理。

科学合理地确定某库存物资的库存控制参数。如:最佳订货批量、最大库存量、最佳缺货量、最佳订购周期等,进行严格的库存控制工作。

汇总统计各类库存数据,反应和监督储备资金占用及采购资金使用情况。

(3) 销售业务。销售对一个企业的生存和发展是至关重要的,它不再是传统意义上的“卖东西”,它对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务等信息。此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,超市要抓住时机,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理,才能使超市在激烈的市场竞争中立于不败之地。

三、结束语

在复杂多变的竞争环境下,中小型连锁超市面临更大的压力,处境更加困难,只有坚持“求真务实,开拓创新”的经营理念,通过建立专业团队,实施标准化,规范化管理,诚信管理,采用科学的信息化管理,找准市场动向,选定目标顾客群,并采取有效的营销手段,在经营战略,战术上能不断创新,控制经营成本,社区超市的经济效益得到不断提高,由于采用科学的信息化管理系统使企业的面貌发生了深刻的变化。

摘要:本文主要介绍江苏某社区超市信息化管理系统以及详细阐述了其实施信息化后的效果及获益。

关键词:社区超市,竞争对策,信息化

参考文献

[1]渠道群:浅议中小型连锁超市的困境和出路《现代商业》2008年

[2]吴清:中小型连锁超市的现状与竞争对策《上海管理科学》2004年

[3]王明明主编:信息管理概论, 首都经济贸易大学出版社, 2007.2

[4]罗鸿编:企业资源计划 (ERP) 教程, 电子工业出版社, 2006.1

基于超市信息管理系统论文 篇8

煤矿企业的物资供应管理对于保证煤矿日常生产起着重要作用,其中物资供应管理中的仓库管理对于促进企业生产发展,降低原煤成本,加强资金周转,提升企业盈利能力等方面都具有十分重要的意义[1]。本文通过分析淄博矿业集团公司物资供应管理流程及业务需求,结合物联网(Internet of Things)等技术手段,引入二维码技术,提出一套完整的煤炭企业物资超市管理系统解决方案。该解决方案重心在于搭建集团公司物资供应云服务平台,在该平台下不仅能够实现物资管理系统的基本功能,而且能够提供财务系统接入、领导决策管理、供应商管理等全方位的关联服务。

1 关键技术介绍

1.1 物联网

物联网指的是将各种信息传感设备,如射频识别(RFID)装置、红外感应器、全球定位系统、激光扫描器等装置与互联网结合起来而形成的一个巨大网络。其目的是让所有的物品都与互联网连接在一起,系统可以自动、实时地识别、定位、追踪、监控物体,并触发相应事件[2,3]。现阶段物联网体系架构被公认为有3个层次,底层是用来感知数据的感知层,第2层是数据传输的网络层,最上面的则是内容应用层[4],如图1所示。

1.2 二维码技术

二维码技术是物联网感知层实现过程中最基本和关键的技术之一。二维码也叫二维条码或二维条形码,是通过某种特定的几何图形按一定规律利用分布在平面(二维方向)上的黑白相间的图形记录数据符号信息,在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体表示文字数值信息,通过图像输入设备或光电扫描设备自动识读,以实现信息的自动处理[5]。二维码与一维码相比有着明显的优势:数据容量更大,二维码能够在横向和纵向2个方位同时表达信息,因此,能在很小的面积内表达大量的信息;超越了字母数字的限制;条形码相对尺寸小;具有抗损毁能力。此外,二维码还可以引入保密措施,其保密性较一维码要强很多[6]。

1.3 云计算

云计算旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SaaS、PaaS、IaaS等先进的商业模式把这一强大的计算能力分布到终端用户手中[6]。

云计算作为物联网运营平台的一部分,实现行业应用的业务流程,在技术上通过应用虚拟技术让一个物联网行业应用的多个不同租户共享存储、计算能力资源。云计算能够为用户提供最可靠、最安全的数据存储中心,对用户端设备要求最低,使用方便,可以实现不同用户设备间的数据与应用共享,为用户提供无限可能。通过引入云计算等新技术,构建标准化和开放性的综合平台,着力打造两大应用提供模式:以综合平台能力开放为基础的合作应用提供模式和以核心能力为基础的自营应用创新提供模式[7]。

2 系统需求分析

淄博矿业集团公司当前物资管理的基本运行流程是各个生产矿首先根据区队计划及库存情况提报物资需求计划,集团公司的物资部门汇总统计所有采购计划,结合所有矿的库存情况,制定最终要执行的计划。当计划执行时,如果发现某些物资没有价格依据的情况,这时就需要物资供应部门与供应商联系沟通,通过招投标的方式来对各物资进行订价。计划执行完成后,再由物资供应部门与供应商联系,通知供应商送货。但是矿二级生产单位为了平衡成本,每个月提报生产计划时,会多提报一定数量的物资,提报后没有严格的审批环节,直接到达物资供应部门的采购部门,区队去驻矿供应站领取物资,领取到以后并不是直接将物资用于生产,而是将一部分物资作为库存储藏起来,这样就给集团公司带来了过多的剩余库存;并且物资供应系统与财务系统分离,财务系统无法实时有效地掌握供应系统中的各项数据,不利于企业资金流转,企业生产成本过高。针对这种情况,引入物联网的二维码技术,建立一套精细完善的煤炭企业物资超市管理系统,不仅能够延伸物资管理的前端,满足物资供应管理的基本需求,便于物资统计管理,有效减少剩余库存,而且可以为财务系统提供访问接口。煤炭企业物资超市管理系统物资管理的基本流程如图2所示。

3 系统设计方案

3.1 系统整体架构

全面感知、可靠传送、智能处理是物联网的三大特征[8],物联网的自动、智能的特点为煤炭企业物资超市管理系统的实现提供强有力的技术支撑[9]。如图3所示,煤炭企业物资超市管理系统按照物联网体系结构主要分为以下3个部分:

(1) 感知层。数据采集端用到的硬件设备主要是集团公司下属且地域位置分散的各驻矿物资超市使用的二维条码扫描终端,并且需要根据实际业务需求二次开发相应的扫描程序。在所属各矿区队领取物资时,超市管理员使用该终端扫描生产物资上的二维码,并统一采集数据信息(包括物资编码、物资名称、领料单位、领料区队以及领取数量、实际领取数量等)。

(2) 网络层。采用通信运营商的网络,与企业内部网实现互联,对扫描数据信息进行实时有效准确的传输,从而将来自感知层的数据上传至应用层。

(3) 应用层。主要是搭建集团公司物资供应云服务平台。该平台由服务支撑平台(包含数据采集中心)和服务发布平台构成,不仅能满足集团公司物资供应的有效统计和管理,还能够提供一些其他的关联服务,如财务系统访问、煤炭生产成本分析及领导决策管理、物资供应商的管理等其他关联应用。

3.2 系统实现方案

3.2.1 感知层

感知层一般包括感知控制设备、感知控制网关及它们之间的网络。在煤炭企业物资超市管理系统中,感知控制设备主要是二维码扫描终端,此处选择的是Dolphin9950数据采集器及O5100移动数据终端,结合各自的特点,一个用于在线模式即时传输,

一个用于离线模式有线传输,如图4所示。在执行区队领料操作时,超市仓库管理员会扫描领取物资,采集相关数据。感知控制设备与网关之间使用各种通信协议,组网可以通过近距离无线通信或有线通信来实现。在没有无线网络覆盖或无线网络出现故障时,使用有线通信方式。

3.2.2 网络层

网络层主要完成感知控制网络的接入,同时提供安全、可靠、稳定、准确、及时的数据传送,实现更全面的互联互通。网络层传输方式主要是下属驻矿物资超市仓库内部的WLAN和有线网络的相互结合,再通过外部运营商网络上传至平台服务器。以集团公司下属其中一个驻矿物资超市为例,网络层基本传输方式如图5所示。

3.2.3 应用层

在应用层以搭建集团公司物资供应云服务平台为重心,该服务平台由服务支撑平台和服务发布平台组成。服务支撑平台是整个应用层的核心部分,不仅能够实时接收下属驻矿物资超市上传的数据,进行集中处理和存储,而且实现了各类信息资源之间的关联、整合、协同、互动和按需服务。这些服务最终会通过发布平台向注册用户开放。

该服务支撑平台需要提供分层、开放的体系架构,可以进行模块化设计,便于各种服务应用的部署;屏蔽底层各种网络的差异;利用云计算以及数据

挖掘等相关技术,为这些服务提供处理能力集和存储能力集;抽象出标准的服务能力,为这些服务应用提供标准接口集,开放API服务调用。在统一的管理平台上,为不同的用户提供各自所需的业务。应用层平台基本架构如图6所示。

4 系统优越性

煤炭企业物资超市管理系统的基本功能是统购计划录入、送货通知单生成、录入验收信息、区队领料管理等,其中物资入库时打印生成条码,领料出库时扫描二维码,这样可以将物资供应的管理从物资公司设置到驻矿的物资超市,延伸到生产区队,能够实时掌握区队的消耗信息,可以提高物资管理精度。系统平台提供了与财务系统的接口,实现与集团公司财务系统的对接,财务系统接入后可以访问所需的原始数据,然后在财务系统中做各种开发来满足财务的需求。

服务支撑平台运用数据挖掘等技术对数据进行有效分析,能够实时有效地统计、分析与对比集团公司下属各矿每个季度及历年的生产成本,有利于企业领导动态掌握煤矿生产所需的物资消耗信息,能够实时有效地掌握生产成本;在平台对生产成本准确分析的基础上,决策管理模块可以有针对性地提出改善方案供集团公司领导参考,加强监管力度,有效提升煤矿生产物资的使用效率。另外,集团公司物资供应云服务平台可以考虑为供应商提供访问的接口,分配给每个供应商相应的权限,供应商可以登录到服务平台上,不仅可以查询出基本的供货信息(送货时间、已送物资、待送物资提醒、交易额查询、合同管理等),并且对于注册的供应商登录平台后,可以浏览集团公司新发布的生产物资招标信息及相关投标要求。

5 结语

针对淄博矿业集团公司现行物资供应管理系统存在的问题,并且结合实际业务需求,提出了一种煤炭企业物资超市管理系统的解决方案。借助物联网感知层的二维码技术,结合应用层的关键技术,提出构建集团公司物资供应云服务平台,满足集团公司物资供应管理的基本需求;并且提供财务系统接入、生产成本分析、决策管理等关联服务,有利于煤矿企业的长久发展。该解决方案体现了物联网技术在煤矿企业物资管理的有效应用,具有较大的使用价值和发展前景。

参考文献

[1]王香.华宁矿业集团物资仓库管理信息系统的分析与设计[D].济南:山东大学,2011.

[2]于修和,王冲.基于移动通信网络的物联网应用研究[J].通信管理与技术,2010(3):28-30.

[3]张孝林,张翰博.LTE技术与物联网技术融合分析[J].移动通信,2012(7):34-36.

[4]高祥,许扬,李渊国,等.基于物联网模式的机房环境远程监控预警系统的研制[J].自动化技术与应用,2012,31(5):42-46.

[5]谭裴.基于二维码的移动医疗伴侣业务[J].电信科学,2011(增刊1):102-105.

[6]刘广红,何小山,王仁杰,等.智慧城市信息通信系统研究[J].邮电设计技术,2012(6):22-26.

[7]卢建军.物联网概论[M].北京:中国铁道出版社,2012.

[8]任卫东,李琦,康洪波.基于物联网技术的智能电网信息反馈系统[J].电源技术,2012,36(6):829-831.

基于超市信息管理系统论文 篇9

Super Market, 即超市, 自1930年诞生于美国以来, 因其独有的便利性让这一新生事物在世界各地蔓延开来。然而, 在人口第一大国的中国, 每每看到收银台旁排起的长龙, 总会在消费者心里将“方便”二字打了个大大的折扣。在生活节奏日益加快的现代社会, “时间就是金钱”的观念深入人心。目前, 几乎所有的大型超市结算方式都采用条码技术, 虽然这对零售业的工作效率来说已经有很大的提升, 但依然无法满足越来越多的顾客人数的要求。排队结算不仅浪费了顾客的时间, 也大大减少了超市单位时间内可接待顾客数量。显然, 传统超市的条码结算方式已跟不上时代的步伐。

针对这一问题, 我们团队提出了相应的解决方案——使超市智能化。智能超市是融合射频识别技术、数据库等技术于一体的现代化超市。在本文中, 结算过程被大大简化, 不再需要人工对每件商品进行条码扫描, 而是让商品贴上电子标签。标签进入识读区, 即被激活, 商品信息即被获取, 将数据同步上传至后台, 直接进行结算等工作。该设计不仅可以大大节约了消费者的时间, 也避免超市出口排上长长的队伍, 减少拥挤。还能为超市节约人力成本, 避免商品被盗等。

1 商品的RFID标签及其识读

1.1 RFID技术简介

RFID (Radio Frequency Identification) 无线射频识别技术, 通常是以微小的无线收发器为标签来标志某个物体, 标签上携带有一些关于该物体的数据信息, 作为标签的无线收发器通过无线电波将这些数据发射到附近的识读器, 识读器可以对这些数据进行收集和处理, 并且可以通过计算机和网络处理和传送它们。总的来说, RFID技术的特点[A]是:

(1) 可通过无线电讯号识别特定目标并读写相关数据;

(2) 读写范围可在几厘米到几十米之间;

(3) 读写速度快, 可对高速运动物体进行快速识别;

(4) 同时识别多个标签, 每秒可达50多个;

(5) 防水、防磁、耐高温等。

1.2 RFID系统的组成[A]

RFID系统的硬件组件有:RFID标签、识读器、天线, 硬件组件负责识别和捕捉数据。

RFID标签是一个微型的无线收发装置, 在RFID标签内保存有数据, 当识读器查询时它会发送数据给识读器。RFID标签的内存属性可分为只读, 写一次读多次或者可读可写三种, 我们选择可读可写类型的。根据标签的带电源与否又可将其分为主动、半主动和被动标签, 考虑成本以及使用年限等因素, 来为不同的商品选择不同的标签。

识读器是一个捕捉和处理RFID标签数据的装置, 对于本文的智能超市结算系统, 识读器要执行双重功能, 既要能从标签中读出数据, 也要能写数据到标签上 (即修改) 。具体说来, 就是制造商或是超市工作人员把RFID标签用于产品包装时, 已经把产品的唯一的识别符编码写入标签, 不妨假设未购买编码为0, 购买为1。标签中含有产品的信息, 如产地、生产日期、保质期等。在商品通过识读区时, 识读器读取标签信息, 同时修改标签内该商品状态信息, 把0修改为1。同时, 识读器也要与服务器通信, 它要实现RFID标签与后台服务器之间的数据传输。譬如, 一件商品被购买, 识读器将它读取到的商品信息上传到后台服务器, 以便对库存商品数据库进行修改。

天线是用于在RFID标签和识读器之间建立数据通信的通道, 天线的设计和位置对于系统的覆盖范围、识读距离和操作通信的准确性起着重要作用。尽管直线状的识读器天线比环状的识读器天线能提供更远的识读范围, 但是超市商品的朝向相对于直线状的识读器天线是随机的, 这就会降低识读结果的准确性, 所以我们选择环状, 以覆盖整个识读区。

RFID系统的软件组件可分为3类:RFID系统软件, RFID中间件和主机应用程序。

RFID系统软件是在标签和识读器之间进行通信所必需的功能集合, 包含有读/写功能, 防冲突功能, 错误探测和纠正功能, 加密、认证和授权功能等。

RFID中间件是在识读器和主机之间运行的一组软件, 它是在标签和识读器上运行的RFID系统软件和在主机上运行的应用软件间的桥梁。而主机应用程序

接收由RFID标签发出且经过识读器和RFID中间件软处理过滤后的数据。

下图是基于凌阳实验箱的900M Hz的RFID卡识别实验, 从图中可以看到, RFID卡的识读是不接触的, 并且可以多卡同时识别。

1.3 射频识别系统工作原理

上图为射频识别的基本工作原理图, 电子标签与识读器之间通过耦合实现射频信号的空间耦合;在耦合通道内, 实现数据交换。射频识别系统的基本工作流程:识读器将无线电载波信号经过发射天线向外发射, 覆盖整个识读区—>当电子标签进入识读区即被激活, 将自身信息经天线发射—>读写器天线接收信号, 通过网络传送至后台服务器。

下一个阶段就是数据库对信息进行处理。服务器在收到消息后, 在数据库的库存表中对被购买的商品信息做相应的增、删、改操作, 同时在生成的结算表中添加新项。数据全部传送完毕后, 数据库会通过服务器端将总的账单发送至结算门, 这是数据库对一次识读所做的工作。

2 系统模块———数据同步

数据库同步是指在两个不同的平台数据库之间进行数据交换, 其中一个数据库的改变, 能够以同样的方式反映在另一个数据库上。移动终端既可以向服务器端数据库同步数据, 服务器端也可以同步数据到终端, 在网络连接时, 将本地数据更新到服务器或者从服务器请求同步数据, 从而保持服务器与移动终端数据的一致性[B]。

具体到本文, 在购物车进入识读区之后, 购物车内的商品信息被扫描识别, 识读器将商品信息上传同步到服务器端, 服务器端在SQ Lite数据库内修改商品的状态信息, 并对商品价格进行汇总处理。处理完成的数据将由服务器端向结算终端实现下载同步。从而使得结算终端打印小票, 生成二维码, 完成支付。后台服务器也与安全门实现数据同步, 在购物车经过安全门的瞬间, 安全门将扫描到的商品信息与后台服务器中的商品信息进行比对, 若有不为已购买状态的商品, 即报警。

3 最终结算———二维码扫描支付

二维码通过特定几何图形在二维平面上有规律分布形成黑白相间的图像来记录信息, 并在图像被识读后, 利用特定图形与二进制的对应规则实现数据符号的自动识别处理[E]。二维码技术具有保密性好, 抗污性强而且快捷方便, 灵活实用, 成本低廉等特点, 也是我们选择它的原因。

手机主读是指将带有摄像头的手机作为识读二维码的工具, 手机安装二维码识读客户端, 客户端通过摄像头识读各种二维码图像并进行本地解析, 执行业务逻辑, 并与应用服务器发生在线交互, 从而实现一系列的功能。

本文中, 在数据库收到商品信息并对其进行一系列的处理之后, 将顾客所购商品综合以及各商品的信息发送至结算门, 结算门打印购物小票, 并生成二维码。顾客可用手机端扫描二维码, 将数据提交与验证服务器, 服务器将反馈结果发送回手机, 核实此次购物金额, 用户以此进行确认支付。而网银的使用也免去了现金找零和刷卡的麻烦, 不仅安全, 更节约了时间。

4 超市防盗——安全门设置

防盗报警安全门的设计原理是, 其会不间断地发射出识别感应式电子标签中的状态标志信号, 只要发现有一个商品的状态标志为未读状态, 则发出响声。

在基于RFID技术的智能超市中, 因为缺少人监管, 可能会造成商品失窃, 同时, 因为RFID技术还不成熟, 可能会发生商品未被识别的误差。为避免不必要的损失, 在出口处, 我们设置一道安全门, 对商品进行二次扫描。与目前很多商场报警门不同的是, 我们除了报警设置, 还有一个LED显示屏。安全门处的识读器将扫描到的商品信息上传到后台中心数据库, 进行信息比对后, 若所有商品状态信息均为已购买, 则安全门予以放行。否则, 状态为未购买的商品的信息会由服务器端传送至LED显示屏, 安全门发出报警声。这样不仅能保障财物安全, 还能及时让保安人员发现所被盗商品信息, 节省盘问时间, 不会影响正常的客流量, 一举多得。

5 结束语

基于RFID技术的智能超市结算系统具有快速性, 准确性和简便性。该系统能大大加快顾客结算支付的速度, 为超市节省人力成本, 防盗安全门还能减少超市的损失。虽然, RFID标签的识别所受的影响因素比较多, 有一些也是目前无法解决的, 而且电子标签的成本也应该是超市管理人员所要考虑的因素之一, 但是我们更应该看到, 它给商业带来的潜在利润是很可观的。提高了工作效率, 创造了良好的购物环境, 最大限度给予顾客方便, 这便是我认为该系统会被普遍接受的原因。当然该系统也有很多需要完善的地方, 毕竟这只是个初步的构想。具体的实施任重道远。

摘要:随着物联网和智能移动终端的普及, 人们对智能化的要求不断提高, 针对目前超市结算排队等候时间过长的现象, 我们提出了一个基于RFID技术的智能超市结算系统的解决方案。该方案主要包含以下几大模块:RFID标签的识读, 商品弃置区的设置, 结算区生成二维码支付, 安全门报警系统。商品经识读之后, 信息汇总至数据库, 生成结算信息, 可供顾客扫描二维码进行支付, 同时有安全门执行监督。这一系统为顾客减少了大量的等待时间, 既利于消费者, 也便于超市的管理, 一举多得。

关键词:RFID技术,数据同步,二维码,安全门

参考文献

[1]慈新新, 王苏滨, 王硕《, 无线射频识别 (RFID) 系统技术与应用》[A], 人民邮电出版社, 2007年.

[2]张为, 邹艳碧《, 新型超市结算支付系统的设计》[C], 广州大学学报 (自然科学版) , 2006年4月, 第2期, 第5卷:36-37.

[3]郑红伟《, 基于移动终端的嵌入式数据库同步系统 (研究与设计》[B], 广东工业大学硕士学位论文 (2013年5月) :21-31.

[4]何小旭《, RFID技术在智能超市中应用问题研究》[D], 武汉理工大学工学硕士论文 (2009年5月) :5-12.

基于超市信息管理系统论文 篇10

科技带动经济, 经济促进科技, 这两者在人类发展历史上如影随形。经济活动一直都是人类社会活动的主要成分, 零售业在人类的经济活动中占主导地位, 它是国民经济的战略行业。我们国家的社会商品零售总额从五年前的9.4万亿增加到去年 (2013年) 的21万亿, 而超市在零售业中处于霸主地位[1]。

相对于其他的传统零售业来说, 超市具有以下优势:

(1) 各种超市的结构和规格统一。里面的商品按一定的规格和重量分门类地包装好并排放在不同的位置, 顾客可以自助式地方便购物。

(2) 超市采用计算机、条形码、POS机等先进设备, 便于超市管理人员快速掌握销售信息, 方便保存、整理和包装商品, 减少了人为操作的枯燥性、易失误性, 提高了工作人员的效率, 扩大了销售数量。

(3) 超市规模庞大, 商品齐全。一般采用连锁经营作为发展模式, 这样可以一次性大批量的进货, 压低商品的进货成本并分摊了几家连锁店, 还可以动态的维护各个店的需求平衡。顾客在超市购物的时候能买到生活所需的绝大多数商品, 而且由于超市的超大规模和科学的管理方法降低了商品的价格, 受到广大顾客的欢迎, 是顾客舒心的消费平台。

众多顾客已经习惯于在超市购买各种各样的生活用品, 但目前超市的效率并不高, 用户在大型超市购物的时候都会有这两个烦恼的经历:

(1) 在结账处等待顾客过多。经过仔细调研后发现导致排队人数较多的原因是扫描商品耗费的时间过长, 商品需要从购物袋中一一拿出, 然后单个地扫描条形码, 而且条形码在扫描的时候必须得手动对准, 这个也会耗费一定的时间。

(2) 迷失的顾客, 顾客在寻找商品时总是需要询问导购员, 而导购员并不是很多, 而且导购员会向他们推销非目标商品。此外, 很多超市规模比较庞大, 顾客在陌生的环境中容易迷失方向, 在购物完毕后不容易找到出口。

针对以上问题调研的基础上, 最终得到以下结论:

目前大多数的超市使用的是条形码, 目前国内没有将RFID (Radio Frequency Identification, 无线射频识别) 技术应用于超市的成熟案例。美国的沃尔玛于2006年将RFID标签应用于部分价值较高的商品, 大部分普通商品并没有使用RFID标签, 这也不能称为成熟的案例[2]。随着RFID的发展, RFID性能和成本都可以适用于超市系统了, 因此, 可以使用RFID技术解决快速结账的问题。

此外, 可采用WIFI或二维码技术来实现室内导航, 目前国内外的超市中没有用WIFI或二维码进行商品导航的案例。本文提出概念和实现方案将会极大的方便和丰富顾客的购物经历。

下文将介绍该系统的实现方案, 即如何使用RFID技术处理大型超市的结账速度问题以及使用WIFI技术或二维码实现智能导购功能。

2快速购物设计方案 (Quick shopping designs)

RFID技术与互联网、通讯技术相结合可应用于物流、制造、公共信息服务等多个行业, 目前RFID在零售业开始得到应用, 针对目前的大型超市难以寻找到目标商品以及结账的过程需要等待较长时间等问题, 本文提出如下的快速购物设计方案:采用UHF RFID (超高频无线射频识别) 技术, 为每个商品分配一个RFID标签, 采用UHF RFID标签做会员卡, 使用UHF RFID阅读器一次性阅读所有标签信息。利用此方法实现商品不用拿出购物袋而一次性扫描所有商品, 并结账, 如果有会员卡可以将其一并放进购物袋, 此系统会按会员价一并结账。

2.1快速购物设计思路

传统的超市扫描系统是基于条形码的, 条形码的缺点是: (1) 需要近距离地读取。 (2) 阅读速度慢。 (3) 存储信息量小。 (4) 不可以多标签同时读取, 采用RFID技术可以同时解决以上问题。

具体设计思路如下, 将RFID标签贴在货物上, 每个RFID标签存储的信息是一个相对于该超市唯一的序列号。超市内所有商品的商品名称、单价、生产厂商、生产日期等信息都被存储在超市的服务器里的数据库中。RFID阅读器和天线放在超市的结账区。当货物通过结账区时, 放置在结账区的阅读器会在短时间内同时读出贴在货物上的RFID标签的信息并传递给计算机, 计算机会根据输入的标签的序列号到商品数据库中检索这些序列号对应的商品, 同时把商品的清单以及总价打印出来。这样就可以将扫描商品的时间将至十秒钟之内, 结账时无需担心商品的个数, 因为它最多支持1000商品同时扫描。

本系统在实现快速购物的基础上, 还设计了快速入库、防盗系统等模块。

在入库的过程中, 此方法可以让超市仓库管理员从机械枯燥的工作中解放出来, 在卡车进入超市仓库的时候会从带有RFID阅读器的门缓缓驶入, RFID阅读器就可以扫描商品上的RFID标签信息, 这样可以实现所有商品信息的录入, 之后只需要用软件程序简单地分类录入数据库即可。

此外, 当用户提着装有商品的购物袋经过防盗门的时候, 防盗门处安装的RFID阅读器开始自动扫描包装袋 (当然也包括顾客的口袋) , 并与数据库里面的商品ID进行比较, 如果是数据库里面的商品ID而且没有经过结账处扫描就认定为异常, 此时启动单片机的蜂鸣器发出报警声通知相关人员[3]。

2.2硬件设计

本文使用的RFID设备采用的是改良ALOHA算法, 具有同时阅读1000张RFID标签的性能。这些性能足以满足超市扫描快速商品的性能要求。如果配备上RFID四臂螺旋天线可以使阅读距离最大增大至10米, 这样可以用于商品的入库出库管理[4]。具体的RFID阅读器以及天线设计如图1所示。

2.3软件设计

本系统涉及的软件主要分为三个模块, 即快速结账、快速入库和超市管理。

快速结账模块用于接收RFID阅读器读取的商品信息ID, 通过与数据库里的商品ID比较, 获取商品的ID、名称、价格以及会员卡信息, 并进行相应处理弹出结账页面[5]。

快速入库模块与快速结账类似, 主要用于获取RFID阅读器读取的数据, 将商品信息写入数据库。

超市管理模块适用于设置管理员、安排员工值班、管理顾客会员信息、管理超市收入信息等。图2为快速结账模块界面。

3快速寻路设计方案 (Quick find path design)

大型超市因其占地面积较大, 顾客很难对其地形有一个整体的宏观了解, 顾客在寻找商品的时候根据超市悬挂的指示颇为费劲, 本系统提供快速寻路方案, 帮助顾客以最佳线路到达指定商品位置。

本文一共设计两种快速寻路方案, 超市可依据自身情况自行选择: (1) 智能手机或平板电脑联合二维码实现快速寻路功能。 (2) 根据超市内的WIFI信号强度定位, 实现室内导航功能[6]。

3.1二维码导购设计思路

此方案需要事先准备超市的商品地图。该地图存于数据库中[7], 顾客可以通过智能手机 (或平板电脑) 访问超市的商品地图。此外, 每个商品上贴有二维码标签, 其中二维码储存商品的详细信息以及在超市的坐标, 用户用手机扫描身边的任意一件商品 (也可以扫描货架) 的二维码以获取自己目前的位置。然后在手机的浏览器输入要查找的商品信息就可以获取目标商品的位置以及路线图, 如图3所示。这样可以极大的方便顾客寻找到目标商品[8], 不仅加大了顾客购物的速度, 而且可以降低超市在雇佣导购员方面的支出。

顾客可以使用二维码和智能手机 (或平板电脑) 实现货源渠道查询功能。每个商品上的二维码包含有商品的信息, 用户利用智能手机 (或平板电脑) 轻轻一扫商品上的二维码就可以得到一个网址, 该网站是超市内部数据库的映射 (为了网络安全考虑) , 访问该网站可以获得商品的来源、渠道、生产日期、单价等信息 (如图4所示) 。用户可以利用系统提供的比价功能将其跟网上的各大网店的价格进行比较, 你也可以找到该商品的用户对该商品的评价。

3.2WIFI导购功能

该导购功能利用大型超市周边的多个WIFI节点, 通过手机搜索到的WIFI信息发送给服务器, 服务器判定WIFI信号强度[9], 并换算成位移量。通过多点判定当前范围, 获得中心位置, 并将中心坐标发送给移动终端。在移动终端上显示顾客当前位置。

该功能实现的理论依据为:

(1) 每个AP (Access Point, 无线接入点) 都有一个全球唯一的MAC地址, 在系统中AP节点固定不动, 即该MAC地址固定不变, 可以利用该特点模拟基站定位[10]。

(2) 顾客的智能手机 (或平板电脑) 在开启WIFI的情况下, 即可扫描并收集周围的AP发射的WIFI信号, 显示在信号列表中, 无论该WIFI是否加密、是否连接、信号强弱, 都可以获取到AP广播的MAC地址。

(3) 终端将能够标示AP的MAC地址数据发送到位置服务器, 服务器检索出每一个AP的地理位置, 并结合每个信号的强弱程度, 计算出顾客的智能手机 (或平板电脑) 的地理位置并返回用户设备。

如图5所示, 服务器对在某段时间内收集到以下三个AP的信号强度进行排序处理, 取信号最高的几个值, 若超过阀值的可以认为距离为0, 若有多个点, 取其中心点。以每个AP的位置为中心点, 距离为半径画圆, 利用三个圆形的交点做三角形, 取该三角形的内心, 该内心的坐标点即为顾客的位置。获得顾客的坐标点后结合超市的地图信息即获得了顾客的所在地理位置以及超市商品的摆放位置等信息。

4结论 (Conclusion)

基于RFID的智能超市购物系统实现了快速购物、快速入库、防盗、快速寻路、商品信息来源查询等功能, 快速结账功能极大的提高了顾客超市购物的速度, 自主寻路功能减少了在超市中寻找商品的时间, 此外, 系统提供的二维码扫描功能帮助顾客确认商品的来源渠道, 提升顾客的忠诚度。针对超市管理人员, 此系统在入库、管理等方面提供大量自动化服务, 可以减少超市的员工人数, 缩减超市的支出。

后续研究工作将进一步着手于用户的体验感, 将在超市选物环节中, 增加地图在线生成、物品货品信息查看等功能, 让用户获取满意、高效的购物过程。

摘要:顾客在大型超市购物的时候会遇到两个不方便之处:难以寻找到目标商品、结账的过程需要等待较长时间。本文采用RFID (Radio Frequency Identification, 无线射频识别) 和二维码技术来解决这两个问题。智能超市系统由四个模块构成: (1) RFID实现入库、出库, 从而将结账时间降至秒级别。 (2) WIFI或二维码联合手机和服务器实现商品定位导航功能。 (3) 单片机和RFID实现防盗功能。 (4) 二维码联合手机实现货源渠道查询功能。此系统不仅适用于超市, 还可以用于物流行业、仓库管理、室内导航等近距离定位领域。

关键词:RFID,快速识别,室内导航,二维码追踪

参考文献

[1]中国超市行业商业模式与投资规划分析报告[EB/OL].http://www.qianzhan.com, 2010.

[2]Wolfgang Rankl.Smart Card Handbook Third Edition[M], The Netherlands, 2003, 20.

[3]郭天祥.51单片机C语言教程[M].北京:电子工业出版社, 2009.

[4]马潮.AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社, 2011.

[5]彭伟.基于8051+Proteus仿真[M].北京:电子工业出版社, 2009.

[6]龚建伟, 熊光明.Visual C++/Turbo C串口通信编程实践[M].北京:电子工业出版社, 2004.

[7]布兰切特, 萨默菲尔德.C++GUI Qt 4编程[M].北京:电子工业出版社, 2013.

[8]Brian W.Kernighan, Dennis M.Ritchie.C程序设计语言[M].北京:机械工业出版社, 2004.

[9]Charles Petzold.Windows程序设计[M].北京:清华大学出版社, 2010.

上一篇:企业机构论文下一篇:双语教学的师资培养