超市前台销售系统数据库课程设计_第1页
超市前台销售系统数据库课程设计_第2页
超市前台销售系统数据库课程设计_第3页
超市前台销售系统数据库课程设计_第4页
超市前台销售系统数据库课程设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

超市前台销售系统数据库课程设计河南科技大学课程设计说明书课程名称数据库课程设计题目超市前台销售系统院系电子信息工程学院班级计科102学生姓名凌红康指导教师赵海霞王志强刘中华日期2011-06-11课程设计任务书课程设计题目超市前台销售系统姓名凌红康学号10104060213专业班级计科102组别2012102-2组长徐高翔同组成员程潇达,董振宁,李雄指导教师赵海霞王志强刘中华课程设计目的通过本课程设计,使学生巩固数据库系统的基本概念、原理和技术,学会使用某一开发工具进行数据库设计和开发,将理论与实际相结合,完成一个小型数据库的设计与实现,并在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。课程设计环境硬件:装有windows操作系统的计算机软件:SQLServer2008及c++Builder课程设计任务和要求任务:1.进行超市前台销售系统的概念结构设计、逻辑结构设计和物理结构设计;2.设计并实现超市前台销售系统的收银业务模块。要求:1.模块功能满足需求说明、保证一定性能要求。2.撰写出符合要求的课程设计报告。参考文献时间进度安排序号起止日期工作内容12012-5-28讲授ER模型的设计,学生分组22012-5-29~2012-5-31概念结构和逻辑结构设计,形成数据库文件,建立模块化结构,组内学生分工32012-6-1讲授开发工具的使用,学生进行功能模块设计42012-6-4~2012-6-7编码、测试52012-6-8形成课程设计文档内容及格式撰写要求,讲授文档撰写方法,撰写课程设计报告62011-6-11验收程序,上交课程设计报告指导教师签字:2012年5月4日目录前言 1第一章绪论 31.1社会背景 41.2超市背景. 5第二章需求分析 152.1业务陈述 172.2总体需求分析 172.3功能实现 172.4业务规则 172.5相关说明 172.6主要用户试图需求 17第三章总体设计 203.1系统的结构图 213.2功能的操作流程的描述 233.3安全设计 17第四章数据库设计 234.1概念结构设计 234.2逻辑结构设计 174.3物理结构设计 17第五章详细设计 23第六章编码 236.1功能核心代码 236.2运行截图 23第七章结论 25其它 27前言超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。 第一章绪论1.1社会背景随着现代科学技术的迅猛发展,计算机技术已经渗透到哥哥领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。实习期间,我们通过对市场的调查,针对现在各中小型超市对经营业务和人事管理的实际需要,开发了这套超市管理系统。在开发过程中,我们针对当前各超市管理的特点和技术人员的实际水平,采用基于Windows图形用户界面这一易学易用的操作环境,在系统设计过程中,我们尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握。我们又始终发系统的正确性放在首位,力求数据的完整和处理的正确性。在此基础上优化程序代码,加速系统运行和减少对系统资源的占用。1.2超市背景在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。苏辙超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,在选题过程中,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。需求分析2.1任务陈述任务陈述:前台销售数据库的目的是收集、存储和管理商品的信息,分析超市的销售状况,支持办理会员卡,代金卡,退货等业务,支持会员卡和代金卡的信息管理。大大提高超市的运作效率;通过全面的信息采集和处理,辅助提高超市的决策水平。2.2总体需求分析:超市管理系统工作流程为:系统启动并进入登录界面,系统管理员输入正确的用户名及密码后,登陆系统主操作界面,系统管理员可对系统相关信息进行操作,包括基本信息、商品信息、销售信息、代金卡和会员卡信息等。本系统的业务流程图如图2-1所示:日志填写日志填写顾客退货商品员工小票对应办理要求持有开出来自人事管理顾客退货商品员工小票对应办理要求持有开出来自人事管理市场调查系统边界市场调查图2-1业务边界图2.3功能实现:1、收银:输入或使用条码阅读器读入商品条码调入商品定价资料,结账时只需要按回车或[F1]键就可以结账,结账后将打印销售小票。可以销售散装类商品。记录结账方式(现金、代金卡、会员卡)和相应金额。2、代金卡、会员卡:支持会员卡积分和代金卡消费。3、商品查询:可以对顾客需要的商品进行查询,查看是否有该商品及其价格。也可查询商品的库存量。4、销售查询:包括商品的销售状况、销售单及每类商品的销售查询5、退货功能:实现对已售出商品退货功能。6、会员卡相关业务:发放,积分及兑换礼品。7、代金卡相关业务:发放,充值,挂失及其优惠8、销售报表:支持各类销售报表9、日志查询:实现快速对日常销售中的日志查询10、信息维护:包括员工、商品、销售单的基本信息以及会员的积分、代金卡、持代金卡人的信息。2.4业务规则:(1)商品的定价及折扣由经理来决定,(2)只有经理才能做信息维护(3)经理和代班长有权发放代金卡(4)收银员无法更改代金卡的(除余额外)的任何信息(5)发放的代金卡共有100元、200元、500元、1000元、2000元;(6)代金卡无法充值,一旦金额为零将无效(收回)(7)代金卡的有效期一般为1年-3年(8)会员卡可由收银员发放,会员持会员卡可在每次购买活动中增加积分。(1元=1积分)(9)会员可用卡内积分换取礼品(价值不超过100元)(全年均可)2.5相关说明:(1)维护操作(增,删,改);(2)销售单——最小单位为每一次的交易记录(小票)(3销售详单——每一种商品的销售情况(4)退货日志——记录每一笔退货交易(5)退货详单——记录退货交易中每一种商品的退货明细2.6主要用户视图需求:表2-1主要用户视图需求表用户需要数据视图要求收银员(前台)销售商品的编码,商品名称,规格,单价,折扣、库存量会员卡信息(编号,积分)代金卡信息(编号,金额,有效期)查询给定商品的价格、折扣查询给定会员卡信息查询给定代金卡信息查询自己当日销售业绩查询自己当前的挂单经理(后台)各类商品的基本信息(包括库存量)各类商品的销售状况所有收银员的销售业绩所有会员卡信息所有代金卡信息所有持代金卡人的信息所有日志查询所有商品的基本信息查询所有商品的销售情况查询所有收银员的销售业绩查询所有销售单查询所有会员卡信息查询所有代金卡信息查询所有持代金卡人信息查询所有日志代班长(后台)各类商品的基本信息各类商品的当天销售状况所有收银员的当天销售业绩所有会员卡信息所有代金卡信息所有持代金卡人的信息查询所有商品的基本信息查询所有商品的当天销售情况查询所有收银员的当天销售业绩查询所有销售单查询所有会员卡信息查询所有代金卡信息第三章总体设计3.1系统的结构图打印报表登录界面收银界面后台管理界面收银功能办理会员卡商品查询退货业务信息的维护代金卡业务积分兑换销售统计员工的管理权限设置删除员工信息商品信息增加代金卡信息挂失办理礼包信息打印报表登录界面收银界面后台管理界面收银功能办理会员卡商品查询退货业务信息的维护代金卡业务积分兑换销售统计员工的管理权限设置删除员工信息商品信息增加代金卡信息挂失办理礼包信息图3-1系统结构图3.2功能的操作流程的描述(收银业务模块部分)本人负责收银界面的设计,实现关于收银的相关业务(包括商品的模糊查询、会员卡的办理、积分的兑换、查看当日收银员的销售额,收银工作,添加备注)。以下是收银业务的流程图:打开界面开始收银收银选择业务查看销售额会员业务会员卡办理积分兑换查看会员卡号添加到会员卡表记录是否满足兑换要求兑换业务规则处理事务(修改会员卡积分、添加记录等)否界面刷新是无法兑换查询商品产生交易记录提交交易记录修改商品库存添加备注打开界面开始收银收银选择业务查看销售额会员业务会员卡办理积分兑换查看会员卡号添加到会员卡表记录是否满足兑换要求兑换业务规则处理事务(修改会员卡积分、添加记录等)否界面刷新是无法兑换查询商品产生交易记录提交交易记录修改商品库存添加备注图3-2收银业务流程图3.3安全设计。本系统共有三类用户:经理、代班长、收银员;登录时,经理进入后台管理界面,可以对所有功能进行操作;代班长进入后台管理界面、但只显示其所在权限范围内的部分界面和功能;收银员进入前台收银界面,完成收银服务工作。本系统的数据库采用视图的机制。第四章数据库设计4.1概念结构设计分析:一张销售单只能有一个收银员办理,一张销售单包含多条消费记录,但一条消费记录只能对应一张销售单,一张退货单包含多条退货记录,但一条退货记录只能对应一张退货单,一个黄金会员(代金卡持有人,并在系统中注册过)可以办理多张代金卡,但一张代金卡只能被一位黄金会员所持有。同时员工应特化为收银员和管理人员,收银员办理收银业务,而管理人员又可分为经理和代班长以实现分级管理。以下是设计的ER图:积分兑换日志兑换1积分兑换日志兑换1mnnmn代卡mnnmn代卡会员代金卡所属代付卡类活动日志会卡1n1会员代金卡所属代付卡类活动日志会卡1n1n会付n会付包括退货销商办理退详销售单销售详单商品退货详单退货单员工持卡人注册开出调价日志调价mn1111nnmnnn1nn1n1包括退货销商办理退详销售单销售详单商品退货详单退货单员工持卡人注册开出调价日志调价mn1111nnmnnn1nn1n1图4-1ER图4.2逻辑结构设计以下为前台销售系统数据库中所用到的基本表的逻辑结构表(带下划线的属性为主属性)Staff(sno,sname,password,position,posno);Goods(gno,gname,gtype,gstandard,price,discount,supply,quanty);Vip(vipno,score);Supervip(supervipno,id,tele);Cashcard(cashcardno,cash,validity,supervipno,registertime,agent);supervipno参照supervip(supervipno)Dispose_cashcard(cashcardno,suprvipno,type,time,agent);supervipno参照supervip(supervipno)Staff_power(sno,spower);sno参照staff(sno)Today_gift(gno,gift_type,gname,gstandard,price);gno参照goods(gno)Salepaper(saleno,sno,posno,customer,payway,saletime,sublog,totalmoney);sno参照staff(sno)Saledetail(saleno,gno,gname,gstandard,mount,dell_price);saleno参照salepaper(saleno)gno参照goods(gno)Quit_log(quitno,sno,saleno,out_cash,quit_way,cashcardno,quit_time);sno参照staff(sno)saleno参照salepaper(saleno)Quitdetail(quitno,gno,mount,preprice,reason);quitno参照quit_log(quitno)gno参照goods(gno)Send_log(vipno,Boxtype,cut,leftscore,time);vipno参照vip(vipno)Goods_log(gno,preprice,nowprice,prediscount,nowdiscount,time);gno参照goods(gno)Gift_log(gno,gname,gstandard,gift_type,price,gift_time);gno参照goods(gno)Card_log(customer,cardtype,change,reason,time);Enter_log(time,sno,posno,position);sno参照staff(sno)4.3物理结构设计进一步将逻辑结构转化为物理结构,并进行必要的物理结构的设计,表4-1Staff表属性名类型长度索引键约束snonvarchar10聚簇索引主键snamenvarchar10passwordnvarchar10positionnvarchar10([POSITION]='MONITOR'OR[POSITION]='SALEMAN'OR[POSITION]='MANAGER')posnonvarchar8表4-2goods表属性名类型长度索引键约束gnonvarchar8聚簇索引主键gnamenvarchar24gtypenvarchar8gstandardnvarchar12pricefloat>0discountfloat0<discount<=1supplynvarchar8quantyfloat>=0表4-3vip表属性名类型长度索引键约束Vipnonvarchar10聚簇索引主键scoreint>=0表4-4Supervip表属性名类型长度索引键约束supervipnonvarchar10聚簇索引主键idnvarchar10telenvarchar15唯一值索引唯一表4-5cashcard表属性名类型长度索引键约束cashcardnonvarchar10聚簇索引主键cashfloat>=0validityint大于2小于13supervipnonvarchar10外键registertimenvarchar15agentnvarchar10外键表4-6dispose_cashcard表属性名类型长度索引键约束cashcardnonvarchar10聚簇索引主键supervipnonvarchar10外键typenvarchar30timenvarchar25agentnvarchar10外键表4-7today_gift表属性名类型长度索引键约束gnonvarchar8主键外键gnamenvarchar24gstandardnvarchar12Gift_typeint主键priceflost表4-8salepaper表属性名类型长度索引键约束salenonvarchar10聚簇索引主键snonvarchar10外键posnonvarchar8customernvarchar10外键paywaynvarchar10代金卡/vip/普通sasletimenvarchar25sublognvarchar30totalmoneyfloat表4-9saledetail表属性名类型长度索引键约束salenonvarchar10主键gnonvarchar8主键、外键gnamenvarchar24gstandardnvarchar12mountfloat>0Dell_pricefloat>0表4-10quit_log表属性名类型长度索引键约束quitnonvarchar10聚簇索引主键snonvarchar10外键salenonvarchar10外键Out_cashfloat大于0Quit_waynvarchar10回充到卡/退现cashardnonvarchar20外键Quit_timenvarchar25表4-11quitdetail表属性名类型长度索引键约束quitnonvarchar10主键gnonvarchar8主键、外键Mountflaot>0prepricefloatreasonnvarchar20表4-12gift_log表属性名类型长度索引键约束vipnonvarchar10外键boxtypenvarchar5cutint<0leftscoreinttimenvarchar25表4-13goods_log表属性名类型长度索引键约束gnonvarchar8外键prepricefloat>0nowpriceFloat>0prediscountfloat>0nowdiscountflaot>0timenvarchar25经理能访问所有的表,代班长不能访问supervip表以及各种日志表,而收银员只能访问goods视图表,today_gift表,vip表以及cashcard表,salepaper表(插入),gift_log表(插入)。第五章详细设计本人负责收银界面的设计,实现关于收银的相关业务(包括商品的模糊查询、会员卡的办理、积分的兑换、查看当日收银员的销售额,收银工作,添加备注)。对于收银业务中的对于支付方式的处理:若是会员卡则在完成收银的基础上增加该会员卡上的积分,若是代金卡则同时减去相应的金额(若卡内余额不足则用现金补齐差额并添加备注),同时将本次活动添加到卡类活动日志上,以便后台的查询与合计。注:以上所有的操作必须写在一个事务里,即要做都做,要不做都不做。以下是收银业务的流程图:打开界面开始收银收银查看销售额会员业务会员卡办理积分兑换查看会员卡号添加到会员卡表记录是否满足兑换要求兑换业务规则处理事务(修改会员卡积分、添加记录等)否是无法兑换查询商品产生交易记录提交交易记录修改商品库存添加备注打开界面开始收银收银查看销售额会员业务会员卡办理积分兑换查看会员卡号添加到会员卡表记录是否满足兑换要求兑换业务规则处理事务(修改会员卡积分、添加记录等)否是无法兑换查询商品产生交易记录提交交易记录修改商品库存添加备注选择业务选择业务界面刷新界面刷新图5-1收银业务流程图第六章编码6.1.功能核心代码以下是关于收银业务的相关核心代码(c++Builder代码):6.1.1结算收银功能:try{ADOConnection1->BeginTrans();ADOQuery1->Close();ADOQuery1->SQL->Clear();ADOQuery1->SQL->Add("insertintosalepapervalues('"+saleno+"','"+sno+"','"+posno+"','"+customer+"','"+payway+"','"+saledate+"','"+log+"','"+price+"')");doublemount,price,discount,dell_price;AnsiStringgno,gname,gstandard;for(inti=1;i<StringGrid1->RowCount-1;i++){gno=StringGrid1->Cells[1][i];gname=StringGrid1->Cells[2][i];gstandard=StringGrid1->Cells[3][i];price=StrToFloat(StringGrid1->Cells[4][i]);discount=StrToFloat(StringGrid1->Cells[5][i]);dell_price=price*discount;mount=StrToFloat(StringGrid1->Cells[6][i]);ADOQuery1->SQL->Add("insertintosaledetailvalues('"+saleno+"','"+gno+"','"+gname+"','"+gstandard+"','"+mount+"','"+dell_price+"')");}price=StrToFloat(Label5->Caption);AnsiStringnow=Now();if(payway=="VIP"){intadd=StrToInt(Label7->Caption);inttemp=StrToInt(Label9->Caption)+add;AnsiStringnewscore=IntToStr(temp);ADOQuery1->SQL->Add("updatevipsetscore='"+newscore+"'whereVIPNO='"+customer+"'");ADOQuery1->SQL->Add("insertintocard_logvalues('"+customer+"','"+payway+"','"+add+"','购物积分','"+now+"')");}elseif(payway=="代金卡"){AnsiStringnewcash=FloatToStr(StrToFloat(Label9->Caption)-StrToFloat(Label7->Caption));doublenewcash1=StrToFloat(Label9->Caption)-StrToFloat(Label7->Caption);if(newcash1<0){price=StrToFloat(Label9->Caption);newcash=0;}ADOQuery1->SQL->Add("updatecashcardsetcash='"+newcash+"'wherecashcardNO='"+customer+"'");price*=-1;ADOQuery1->SQL->Add("insertintocard_logvalues('"+customer+"','"+payway+"','"+price+"','购物消费','"+now+"')");}ADOQuery1->ExecSQL();}catch(Exception&e){ADOConnection1->RollbackTrans();Application->MessageBoxA("交易失败","无法交易",MB_ICONERROR);return;}ADOConnection1->CommitTrans();Application->MessageBoxA("交易成功!","成功",MB_ICONASTERISK);6.1.2会员卡办理:try{ADOQuery1->Close();ADOQuery1->SQL->Clear();ADOQuery1->SQL->Add("insertintovipvalues('"+Edit1->Text+"','"+Label3->Caption+"')");ADOQuery1->ExecSQL();}catch(Exception&e){Application->MessageBoxA("该号已存在,无法激活!","暂时激活",MB_ICONERROR);return;}Application->MessageBoxA("成功激活!","成功",MB_ICONASTERISK);6.1.3积分兑换:try{Form2->ADOConnection1->BeginTrans();ADOQuery1->Close();ADOQuery1->SQL->Clear();ADOQuery1->SQL->Add("updatevipsetscore='"+newscore+"'whereVIPNO='"+vipno+"'");ADOQuery1->SQL->Add("insertintoSend_LOGvalues('"+vipno+"','"+type+"','"+cut+"','"+newscore+"','"+senddate+"')");ADOQuery1->SQL->Add("insertintocard_LOGvalues('"+vipno+"','vip','"+cut+"','兑换礼品','"+senddate+"')");ADOQuery1->ExecSQL();Form2->ADOConnection1->CommitTrans();}catch(Exception&e){Form2->ADOConnection1->RollbackTrans();Application->MessageBoxA("兑换失败","无法兑换",MB_ICONERROR);return;}Application->MessageBoxA("兑换成功!","成功",MB_ICONASTERISK);6.1.4当日销售额查询:ADOQuery1->Close();ADOQuery1->SQL->Clear();ADOQuery1->SQL->Add("select*fromday_sale_viewwheresno='"+Form2->Label21->Caption+"'");ADOQuery1->Open();doubleprice=0;while(!ADOQuery1->Eof){price+=StrToFloat(ADOQuery1->FieldByName("totalmoney")->AsString);ADOQuery1->Next();}AnsiStringtemp;temp=price;temp+="元";Label2->Caption=temp;6.2运行截图以下是系统运行收银业务的部分截图:图6-1收银主界面图图6-2会员卡办理及礼品兑换界面图6-3商品的模糊查询界面图6-4当日员工销售额查询界面图6-5交易结账界面图6-6添加销售备注界面图6-7打印小票界面第七章结论本组设计和完成的超市前台销售系统,能为一个中型规模的超市提供基本的业务支持,对于收银员支持会员卡办理、积分兑换业务、商品的模糊查询、当日销售额的查询,提供的快捷键操作功能,光标切换功能,友好的收银界面,收银操作配备多种辅助操作(删除当前行,清空所有行、一键结算等功能)方便操作员收银,同时可处理多种支付方式(会员卡、代金卡、现金支付)并能对不同的方式智能切换加以处理。对于管理者,提供了两种角色:经理和代班长,经理一名,代班长由经理管理,并能设置其权限以实现多种业务负责来辅助经理完成对超市的全方位管理,经理能进入后台管理界面,对当前的所有员工进行管理,同时还可进行各类信息的维护(包括商品的信息维护、员工的信息维护、代金卡的信息维护、当日礼包的更新操作)。经理还能将相应的功能权限授予某些代班长来辅助进行管理,同时还可在必要时收回权限。支持对各类报表的即时打印,帮助更好地分析和管理整个超市的运营。同时本系统在以下方面还存在不足:1)对于报表只能做一些简单的分析(收银额的分类统计,员工的销售业绩的统计排名),但是对于更深层次的分析还没能完全实现;2)对于并发处理没有做过深的考虑,对于数据的安全性与可恢复性没能在数据库设计阶段实现。因此,在以后的做数据库相关的工程类型的实验时要对以上的不足加以警惕,争取

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论