中央广播电视大学"人才培养模式改革和开放教育试点"计算机信息管理专科毕业论文论文题目中小型超市管理系统规划学生姓名鲁赟学号1033001469589指导教师李志军专业计算机信息管理年级2009春学校浙江电大常山分校目录一需求分析.........................................................1(一)行业概念的理解...............................................1(二)业务流程说明.................................................2(三)问题解决方案..................................................2(四)数据流图.....................................................3二系统设计.........................................................3二系统设计.........................................................4(一)系统模块的划分................................................4(二)数据字典.....................................................4三、程序的设计与编码................................................8(一)POS系统的开发................................................81.功能及实现方法...................................................82.问题讨论:交易流水号的确定.......................................9(二)管理信息系统的设计............................................91.界面设计..........................................................92.各个功能模块实现的要点和技术....................................102.1类继承与重载...................................................102.2windows消息机制................................................112.3关于权限设置...................................................122.4应用Delphi显式事务控制........................................132.5存储过程的使用.................................................13参考书录...........................................................20第1页共20页中小型超市管理系统规划内容摘要:《中小型超市管理信息系统》是一个比较复杂和全面的管理系统,可以完成中小型超市的大部分业务。总的来说包括进货管理,物价管理,库存管理,销售管理,供货厂商管理,POS收款机子系统等。该系统界面朴素一致,但不失美观大方;操作方便,查询功能强大;数据全面、准确。系统采用了目前比较流行而技术非常成熟地客户机/服务器结构(C/S),前台应用程序用Delphi开发,后台数据库是MicrosoftSQLServer2000。关键字:面向对象的程序设计,继承,WINDOWS消息,存储过程,事务一需求分析(一)行业概念的理解POS:PointOfSells,电子收款机系统,也就是直接与顾客打交道的收银机系统。定单状态:用来描述商品进货方式,一般分为定单、日配、自采等。定单:表示该商品进货必须先向供货商发出定单,供货商按定单上的商品明细发货,超市则按定单上的商品明细收货。日配:指那些每天都要进货的商品或者补货期较短的商品,例如水果,生鲜蔬菜等。如果按定单,时间不允许而且工作重复烦琐。自采:顾名思义,超市自己负责商品的进货。销售状态:用来描述某种商品当前的销售状态,一般定义为正常、促销、折扣等,正常表示商品处于正常的售价状态,即按正常的售价销售。促销:表示超市把某种商品让利销售,以此来吸引跟多的消费者。一般低于正常售价甚至成本价。折扣:表示某种商品销售情况不好,或者商品有瑕疵,或者保质期快到等情况发生时,使尽快商品销售出去的一种手段。库存调整:当非因正常销售发生而实物数量变动时,通过调整库存使其帐面数量与实物数量相符。日处理:当一天的销售结束后,开始做日处理。把当天的销售数据汇总,调整商品库存。损益:商品出现损坏,变质,被盗等情况发生时,商品发生损益。损益通过调整库存得到体现。商品变价:商品变价与促销/折扣调整价格是两个不同的概念。商品变价是指修改商品的正常售价,调整后在一定的时间内不会在发生改变。价格可能是升高也可能是降低,一般都是由于进价变动引起的。第2页共20页促销/折扣期:每一种商品促销/折扣都有一定的期限,即有一定的时间限制。一种商品不可能无期限的促销/折扣。当期限超过,商品自动恢复正常售价。毛利、毛利百分比:毛利=商品售价-商品进价毛利百分比=(商品售价-商品进价)÷商品售价商品进价及成本核算:在成本核算中,商品成本价的确定一般有最后进价,移动加权平均,按商品批次定价等几种方式,由于后两种核算方式较复杂,本系统采用简单的最后进价方式。(二)业务流程说明在实际管理中,有三种信息流动,即资金流,单据流和商品实物流。系统围绕实物流展开,对商品从供应商那里进货到商品销售到顾客手中整个流程进行管理。简单来说,就是商品的进销存管理。每个环节通过相应的单据来连接,同时资金发生流动。在商品管理方面,我们提出部门和商品分类的概念,这种分级管理方式简洁高效。所谓部门,就是按照商品的基本属性进行分类管理。例如,超市一般可分为食品部,生鲜部,日用品部等。部门下面再分类,所谓商品分类,指按商品的具体属性划分,例如,食品部下面可以有糖果饼干类,饮料类等,每个部门和每个商品类别都有相应的负责人负责。《中小型超市管理信息系统》完全体现了这种管理思想,商品的销售和商品库存都可以按部门级和分类级完成查询等其他操作。作为一个超市的管理人员,及时了解销售情况是非常必要的,以便及时调整进货或者安排营销策略,把握商机。而《中小型超市管理信息系统》正好满足了这一要求,可以实时查询前台的销售情况,并且数据准确可信。(三)问题解决方案超市系统在运行过程中数据流量是非常巨大的。有时候会因数据流量过大而使网络发生阻塞,使POS系统发生断网,直接影响销售活动的进行。这种情况是应该坚决避免的,应该尽量减少网络的数据流量。这一思想在本系统中的直接体现就是采用日处理和运用本地缓存技术。日处理的主要目的就是把当天的销售数据整理汇总,更新商品库存表,为第二天的销售做准备。与日处理不同的另一种处理方式就是每次商品销售完成以后就立即更新库存。但这样会使得服务器的负荷非常的重,经常会使POS系统发生断网。POS系统销售商品时所取的商品信息是服务器上的数据,有效的保证了数据的一致性和集中控制。虽然商品信息来自服务器,但我们使用了本地缓存。POS系统会把取得的数据暂时的存放在本地的内存,当要读取商品信息时,会先在本地缓存里查找,如果成功的话,就不必访问服务器。这样一来就有效的减少了网络的数据流量和服务器的负荷。此外,系统充分利用了客户机/服务器结构的特点,比较复杂的查询更新等操作都用存储过程来实现。存储过程在服务器端执行完毕仅返回执行结果,能有效的减少网络的通讯流量。第3页共20页(四)数据流图对整个业务活动进行分析归纳后,我得出如下的数据流图:数据流程图审核、打印采购定单商品入库供应商定单信息定单商品入库单验收审核结算应付帐款入库商品库存变动商品库存商品信息销售分析销售数据成本毛利财务核算商品销售销售明细销售数量POS销售采购信息采购定单库存盘点报损、报益采购信息第4页共20页二系统设计(一)系统模块的划分根据前面所作的需求分析,我把整个系统分为如下几个模块:(二)数据字典商品入库单明细ENTER_GOODS_DETAIL字段名称数据类型描述ENTER_DAN_IDint入库单IDGOODS_IDint商品IDQUANTITYnumeric(18,2)入库数量AMOUNTnumeric(18,2)入库金额STATUSchar(4)审核状态WORK_PERSONsmallint操作人员IDWORK_DATEdatetime记帐日期商品信息GOODS_INFO字段名称数据类型描述GOODS_IDint商品IDBAR_IDint商品条形码GUIGEchar(4)规格系统管理商品管理进货管理销售管理库存管理供应商管理收银台管理收银台销售其他管理管理信息系统第5页共20页COST_PRICEmoney进价BUY_PRICE1money正常售价BUY_PRICE2money促销/折扣销售价格LARGE_TYPEsmallint所属部门号SMALL_TYPEsmallint所属类别MAX_STOREnumeric(18,2)最大库存MIN_STOREnumeric(18,2)最小库存GYS_CODEint供应商代码STATUSchar(4)商品进货状态FLAGchar(4)促销/折扣标记BUYERint采购员IDVAR_DATEdatetime登记日期供应商信息GYS_INFO字段名称数据类型描述GYS_CODEint厂商代码NAMEvarchar(20)企业全称ADDRESSvarchar(20)地址TELchar(20)电话号码RELATIONchar(10)联系人TYPEchar(4)类型BANKchar(4)开户行ACCOUNTvarchar(20)帐号MENOvarchar(20)备注部门信息LARGE_TYPE字段名称数据类型描述LARGE_TYPE_IDint部门代码NAMEvarchar(10)部门名称商品分类信息SMALL_TYPE字段名称数据类型描述SMALL_TYPE_IDint商品分类代码NAMEvarChar(10)分类名称第6页共20页人员信息PERSON_INFO字段名称数据类型描述PERSON_IDint人员代码NAMEvarchar(10)姓名SEXchar(2)性别AGEsmallint年龄DUTYchar(8)职务DEGREEchar(8)学历LOGINvarbinary(20)口令MENOvarchar(20)备注前台销售表POS_SALE字段名称数据类型描述GOODS_IDint商品IDBAR_IDvarchar(10)条形码QUANTITYnumeric(18,2)销售数量AMOUNTmoney销售金额CASHERsmallint收银员IDP_NOint交易流水号收银台设置POS_SET字段名称数据类型描述POS_IDsmallint收银台号WORK_PERSONsmallint收银员ID商品变价记录表PRICE_ADJUST字段名称数据类型描述GOODS_IDsmallint商品IDCOST_PRICEsmallint商品进价LAST_PRICE1money当前售价一LAST_PRICE2money当前售价二NOW_PRICE1money所调售价一NOW_PRICE2money所调售价二第7页共20页ADJUST_REASONvarchar(20)变价原因WORK_PERSONint操作员ID