超市管理系统设计与实现(本科毕业设计).pdf

上传人:赵** 文档编号:43635092 上传时间:2022-09-18 格式:PDF 页数:29 大小:967.50KB
返回 下载 相关 举报
超市管理系统设计与实现(本科毕业设计).pdf_第1页
第1页 / 共29页
超市管理系统设计与实现(本科毕业设计).pdf_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《超市管理系统设计与实现(本科毕业设计).pdf》由会员分享,可在线阅读,更多相关《超市管理系统设计与实现(本科毕业设计).pdf(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件课程设计姓名:学号:班级:电脑科学与技术电脑科学与技术设计题目:超市收费系统的设计与实现超市收费系统的设计与实现指导教师:摘摘要要随着现代科学技术的迅猛发展,电脑技术已渗透到各个领域,成为各行业必不可少的工具。在当今激烈的市场竞争中,让顾客享受既实惠又快捷的购物服务是商战中制胜的一大要素。改革开放的今天,各种大型超市林立,超市已成为消费者日常活动的主要场所。而超市商品也非常之多,建立一套方便快捷的超市收费系统是企业必然要解决的一个问题。系统采用的编程工具是 VS2013 版本与 SQL 作为数据库。系统分为前台系统和后台系统,其中,前台系统提供了很方便的商品销售收费功能,这其中包括会员卡用

2、户可享受九折折优惠。而后台系统则提供了一些商品管理功能,如采购入库,库存盘点,出库明细,职工管理等模块。本文主要介绍超市收费系统的运行环境、功能作用、设计的方案等各方面的内容。论文共分为五大部分。第一部分简要表达了研究内容。第二,三部分首先进行问题的分析,其次进行构建,然后进行总体设计和详细设计。第四部分为系统实现,主要分为前台模块和后台模块。第五部分为系统测试,主要包括前台和后台的测试。关键词:收费;销售;超市;目目录录1 1 引言引言.01.1 课题研究内容.02 2 系统需求分析系统需求分析.12.1 系统模块构建.12.12.、后台功能模块.13 3 数据库设计数据库设计.33.1 E

3、-R 图和关系图.33.2 数据库表设计.44 4 系统实现系统实现.74.1 前台模块.74.2 后台模块.145 5 结果测试结果测试.245.1 前台模块的测试.245.2 后台模块测试.25总总结结.25参考文献参考文献.251 1 引引言言1.11.1 课题研究内容课题研究内容综合运用以前所学的专业知识,设计开发一个超市收费系统软件,本设计要求实现功能采购入库,出入库明细,条形码数据的输入,会员卡号的输入,进行货品销售。具体包括以下内容:1在设计与开发中,主要放在简单地进行货品销售,会员卡打折(统一九折)。2在设计与开发中,既探讨前台的销售,又能实现后台的采购入库,会员卡设置,职工管

4、理,出入明细等功能。其中前台只负责输入条码,输入会员卡号,实现收费。其他的所有功能和设置均放在后台进行实现超市货品的入库,会员卡用户资料的录入,以及进行货品销售的收费,而前台的收费分为会员卡用户和非会员卡用户两种收费,对于有卡用户,在输入卡号后,可实现商品价格按九折折价格进行收费,假设要取消销售某商品,则直接点删除,总价格也会相应的扣除.2 2 系统需求分析系统需求分析数据库应用系统是以数据库为基础的信息管理系统,它一般包含两个方面内容,一个数据库设计,二是程序设计。在建立数据库应用系统之前,一般应先进行系统的需求分析,了解用户对系统的要求,然后进行系统的总体设计,最后编写程序代码和调试程序。

5、数据库应用系统的开发过程,需求分析包括了对数据本身的需求分析和对功能的需求分析。两个分析的结果将分别作为数据库设计和程序设计的依据。实际上在设计数据库应用系统时,这两个需求分析是紧密相关的,不管是数据库设计,还是程序设计都需要考虑这两个方面的因素。02.12.1 系统模块构建系统模块构建2 2系统整体结构功能模块图如图 2-1:图 2-1 系统整体结构功能模块图根据系统整体结构功能模块分析,系统分为前台和后台两部分;前台主要提供给收银员使用,进行销售收费;后台提供给管理员使用,主要执行商品信息管理、出入库明细管理、销售数据管理、职工管理以及会员卡用户管理等工作。、后台功能模块、后台功能模块本系

6、统是多用户系统,用户可分为管理员和收银员两类,登录或者未登录情况下判断当前使用人员的权限,防止安全性问题。收银员登录系统,系统自动清空销售临时数据,进入系统,对于非会员用户收银员首先录入商品编号,然后输入数量,而对于会员卡用户,收银员选择会员类型,输入会员卡号,系统自动将折扣转为90%,然后系统自动汇总金额,同时列表显示销售商品的流水数据,收银员可以删除需要退掉的商品,然后点击结账,完成交易过程。前台功能模块图如图图 2-2 前台功能模块图1后台管理员登录系统以后,可以对商品单位进行添加、查询,可以对会员资料进行添加、查询操作,可以进行采购入库操作,进行库存盘点操作,进行进货统计操作,进行出库

7、明细查询操作,和退出系统操作。后台功能模块如图 3-3 所示:3 3 数据库设计数据库设计3.1 E-R3.1 E-R 图和关系图图和关系图供给商,商品关系模型 E-R 图如图 3-1 所示:图 3-1供给商,商品关系模型 E-R 图2各个表之间的关系图如图 3-2:图 3-2各个表之间的关系图3.23.2 数据库表设计数据库表设计由数据模型利用 SQL 进行数据库的详细设计,其基本表的设计如下:1.供给商信息表3-1:表 3-1供给商信息表字段名称SupplyidSupplynameSupplytel数据类型Char(10)Char(10)Char(20)说明供给商编号供给商名称供给商2.商

8、品信息表3商品信息表:存储商品 3-2:表 3-2商品信息表字段名称FoodidFoodnameFoodnumFoodsumFoodvalue数据类型Char(10)Char(10)intintInt说明商品编号商品名称商品现有量商品总量商品价格3-3:表 3-3商品进货表字段名称FooidSupplyidNumtime数据类型Char(10)Char(10)intChar(10)说明商品编号提供商编号进货数量进货时间纪录表销售纪录表:存储销售情况的清单.如表 3-4:表 3-4销售纪录表字段名称UserzhUsernameFooidFoodnameNumTime数据类型Char(10)Cha

9、r(10)Char(10)Char(10)Char(10)Char(50)说明收银员账号收银员商品编号商品数量销售日期45.管理员表管理员表:管理员的基本信息.如表 3-5:表 3-5管理员表字段名称MainidPasswordMannameMantel数据类型Char(10)Char(10)Char(10)Char(50)说明管理员账号管理员密码管理员联系方式6.收银员表收银员表:收银员的基本信息.如表 3-6:表 3-6 库存表字段名称UseridPasswordTelName数据类型Char(10)Char(10)Char(50)Char(10)说明账号密码7.销售临时纪录表销售临时纪录

10、表:收银员出售货物时临时纪录.如表 3-7:表 3-7计量单位表字段名称物品编号物品名称物品数量售价小计时间数据类型Char(10)Char(10)Char(10)intintChar(50)说明总价格8.会员资料表5会员资料表,存储有卡会员的资料,以便结账时给予折扣.如表 4-8:表 4-8会员资料表字段名称VipidVipname数据类型Char(10)Char(10)说明会员编号会员4 4 系统实现系统实现4.14.1 前台模块前台模块前台程序流程图如图 4-1 所示:开始图 4-1 前台程序流程图6登录模块登录模块:功能:本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入

11、系统。其窗体如图 4-2:图 4-2 用户登录界面在进行系统登录过程中,登录模块将调用数据库里的收银员表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登录才会成功。并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示.其提示错误输入或错误操作如图 4-3 所示:图 4-3登录错误界面7主要就是在点击登陆后判断用户名账号和密码是否为空或者是否匹配,匹配成功即可进入收银员销售界面,在密码错误或者为空时提示错误信息string str=server=NO1;database=SuperMarket;integratedsecurity=true;SqlConnect

12、ion con=new SqlConnection(str););();();string use=();();string mima=();();SqlDataAdapter ad=new SqlDataAdapter(select*from Table_userwhere userid=+use+and password=+mima+,con););DataSet set=new DataSet();();(set,s1););if(s1 !=0)flag=0;=use;Form3 f=new Form3();();();();();();前台模块前台模块:功能:本模块的主要功能是把销售信

13、息写入销售表,同时对库存数据进行更新,以备用户将来对销售信息和库存信息进行查询。商品销售:将销售信息录入 thing 表中临时存放,可以进行添加销售信息和删除,并在结账的时候讲销售信息导入数据库 jilu 表中8图 4-4收银员销售界面=update food set foodnum=+sheng+where foodid=+bh+;=con;();();/*将刚刚购买的东西插入进数据库表 thing 中*/string t=();();=insert into thing(物品编号,物品名称,物品数量,售价,小计,时间)values(+bh+,+name+,+num+,+money+,+nu

14、m*money+,+t+);=con;();();sum_money+=num*money;=();();=();();/*对 dataGridView1 绑定数据源*/SqlDataAdapter da2=new SqlDataAdapter(select*from thing,con););(set,thing););=thing;=;=;在添加物品时如果有错误,单击一行点击删除即可删除该条记录,并且金额也会相9应更改图 4-5货物不足int shu(thing9.Rows 0foodnum.ToString();();int money=(thing9.Rows 0foodvalue.T

15、oString();();string name=thing9.Rows 0foodname.ToString();();if(shu num)(库存量不够,近期会进货!););=;=;return;物品库存量不足时也会提出相应的窗口购买的物品删除功能10图 4-6删除商品删除一条记录联通数据的出售记录一起删除,并且把商品表中减去的数量恢复SqlCommand cmd=new SqlCommand(update food setfoodnum=+(kucun+num)+where foodid=+bh+,con););();();=delete from thing where 物品编号=+b

16、h+and 时间=+tim+;=con;();();SqlDataAdapter ad2=new SqlDataAdapter(select*from thing,con););(set,th););=th;=delete from jilu where foodid=+bh+and time=+tim+;=con;();();11会员结账时为实收金额的90%,图 4-7结账结账时要清空 thing 表临时信息表和 dataGridView1 的数据SqlCommand cmd1=new SqlCommand(delete from thing,con););();();();();SqlDa

17、taAdapter ad=new SqlDataAdapter(select*from thing,con););DataSet set=new DataSet();();(set,nu););=nu;();();sum_money=0;12后台模块后台模块后台程序流程图如图 4-8 所示:图 4-8 后台程序流程图管理员登录后进入主该页面,跟收银员一样从数据库中验证是否匹配,成功就进入下面的界面13图 4-9管理员登录界面主要有商品库存的查看,交易记录的查询,职工管理,进货记录和管理以及会员的注册图 4-10商品库存界面14图 4-11交易记录界面图 4-12 进货记录界面15图 4-13

18、职工信息界面主要就是 dataGridView 绑定数据库中的数据源来查看记录SqlDataAdapter ad=new SqlDataAdapter(select*fromTable_manager where manid=+c.man+,con););DataSet set=new DataSet();();(set,fz););string name=fz.Rows 0manname.ToString();();=欢送您:+name;SqlDataAdapter foo=new SqlDataAdapter(select*from food orderby foodid asc,con)

19、;);(set,fo););=fo;SqlDataAdapter jl=new SqlDataAdapter(select*from jilu orderby time desc,con););(set,j););=j;SqlDataAdapter use=new SqlDataAdapter(select*from Table_user,con););(set,us););=us;SqlDataAdapter sup=new SqlDataAdapter(selectfood.FoodId,FoodName,supply.SupplyId,supplyname,num,Supplytel,t

20、ime from supply,gongying,food where food.FoodId=gongying.FoodId16and supply.SupplyId=gongying.SupplyId order by time desc,con););(set,su););=su;对职工管理可以进行添加图 4-14 职工增加界面获取注册时候的信息然后将数据导入数据库添加成功后图 4-15 职工增加成功界面add a=new add();();17a.a.Show();();SqlDataAdapter ad=new SqlDataAdapter(select*from Table_use

21、rwhere userid=+id+,con););DataSet set=new DataSet();();(set,fz););if(fz !=0)(用户名已经存在!););=;=;=;=;else SqlCommand cmd=new SqlCommand(insert intoTable_user(userid,password,tel,name)values(+id+,+mima+,+tel+,+nam+),con););();();Form3 f=new Form3();();();();();();对职工可以进行解雇,主要就是删除数据库中的元素,让datagridview重新绑定

22、数据库18图 4-16 职工删除string id=a.Cells 0();();SqlCommand cmd=new SqlCommand(delete from Table_user whereuserid=+id+,con););();();SqlDataAdapter ad=new SqlDataAdapter(select*from Table_user,con););DataSet set=new DataSet();();(set,fz););=fz;进购货物时可以选择补充库存还是购买新物品19图 4-17 补充库存根据商品编号从数据库中找到相应的数据,将商品数量更新在根据商品编

23、号和商家编号导入新的信息到数据库,并更新商品库存和进货记录SqlCommand cmd=new SqlCommand(update food set foodnum=+xianyou+where foodid=+bh+,con););();();cmd.CommandText=update food set foodsum=+sum+wherefoodid=+bh+;cmd.Connection=con;();();string nu=();();string();();=insert into gongying(foodid,supplyid,num,time)values(+bh+,+sh

24、angjia+,+nu+,+nowtime+);=con;();();(进货成功!););20图 4-18 进货成功进购一种仓库没有的商品时,需要获得该商品的全部信息图 4-19 购买新货物品编号有系统自动生成,进货成功后需要更新商品库存和进货记录SqlCommand cmd=new SqlCommand(insert intofood(foodid,foodname,foodnum,foodsum,foodvalue)values(+len+,+name+,+num+,+num+,+money+),con););21();();SqlDataAdapter sup=new SqlDataAd

25、apter(select*from supplywhere supplyname=+shangjia+,con););(set,su););string supid=su.Rows 0supplyid.ToString();();string();();=insert into gongying(foodid,supplyid,num,time)values(+len+,+supid+,+num+,+time+);=con;();();(进货成功!););对会员进行操作时,可以看到会员信息和添加会员,这里没有删除会员。考虑到会员卡统一九折,没有必要去注销,没有添加删除功能图 4-20 会员信息

26、22图 4-21 添加会员注册成功后让 datagridview 重新绑定会员数据库,更新会员信息图 4-21 添加会员成功需要判断是否 VIP 表中有该信息,存在弹出提示窗口,不存在就可以注册会员SqlDataAdapter ad=new SqlDataAdapter(select*from vip wherevipid=+id+,con););DataSet set=new DataSet();();23(set,v););if(v =0)SqlCommand cmd=new SqlCommand(insert into vip(vipid,vipname)values(+id+,+nam

27、e+),con););();();SqlDataAdapter vi=new SqlDataAdapter(select*from vip,con););(set,vv););=vv;(注册成功!););=;=;else(该 VIP 编号已存在!););=;=;return;5 5 结果测试结果测试测试测试收银员输入正确的用户名和密码,如果输入错误密码,或不存在的用户名,则弹出错误提示框。功能运行正常销售主页面的测试:输入正确的,存在的商品条码,和数量,按 enter,系统将从数据库调出数据,显示相应信息在下方导航框内,并在应收金额出现相应价格计算总和.假设输入错误的条码,则会弹出错误提示框。

28、功能运行正常删除一条记录时,数据库内容也会恢复和更新功能运行正常假设选中会员结账输入存在的会员卡号,则会弹出欢送的对话框,点OK 后,折扣处变为 90%,假设输入错误的卡号,则会弹出错误的提示框。功能运行正常采购入库的测试:24假设输入存在的编号,则会自动调出相应商品信息,输入数量后点确定,则成功入库,假设输入错误编号,或不存在的编号,则会弹出错误提示框。功能运行正常添加职工测试在添加职工的界面,如果有信息填写不完整会弹出错误提示框,如果填入正确信息,则注册成功功能正常运行添加会员测试添加会员时如果会员已经存在或者编号不正常则会弹出错误提示框,如果填入正确信息,则注册成功功能正常运行商品查看,

29、交易记录,进货记录测试都能正确显示数据库中的信息,没有出现错或者遗漏的数据功能正常运行总总结结在对C#和sql有一定的理解下,完成了超市收费系统的设计与实现,中间过程很坎坷,刚开始也不会连接数据库,我查阅了大量书籍,也在网上查了不少资料,使我有很大的提升。使用了 sql 数据库实现了对各个数据的操作,熟悉了C#与数据库连接的过程,对数据库的理解有了更一步的提升。总之,这次的课程设计对自己能力的提升有很大的帮助参考文献参考文献1刘丽霞C#范例开发大全清华大学出版社,2但尧C#编程指南清华大学出版社,3王小科,赵会东C#项目开发案例整合电子工厂出版社,4吴绍兴,刘岩,C#项目开发案例导航电子工厂出版社,5王珊,萨师煊,数据库系统概论高等教育出版社,25

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁