《超市管理系统设计与实现 .docx》由会员分享,可在线阅读,更多相关《超市管理系统设计与实现 .docx(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结软件课程设计电脑科学与技术超市收费系统的设计与实现姓名:学 号: 班级:设计题目:指导老师:可编辑资料 - - - 欢迎下载精品名师归纳总结随着现代科学技术的迅猛进展, 电脑技术已渗透到各个领域, 成为各行业必不行少的工具。 在当今猛烈的市场竞争中 , 让顾客享受既实惠又快捷的购物服务是商战中制胜的一大要素。 改革开放的今日 , 各种大型超市林立, 超市已成为消费者日常活动的主要场所。 而超市商品也特别之多 , 建立一套便利快捷的超市收费系统是企业必定要解决的一个问题。系统采纳的编程工具是 VS2021版本与 SQL作为数据库。系统分为前台系统和后台系统, 其中,前台系统供应了
2、很便利的商品销售收费功能, 这其中包括会员卡用户可享受九折折优惠。而后台系统就供应了一些商品治理功能,如选购入库,库存盘点,出库明细,职工治理等模块。本文主要介绍超市收费系统的运行环境、功能作用、设计的方案 等各方面的内容。 论文共分为五大部分。 第一部分简要表达了讨论内容。其次,三部分第一进行问题的分析,其次进行构建,然后进行总体设计 和具体设计。第四部分为系统实现,主要分为前台模块和后台模块。第 五部分为系统测试,主要包括前台和后台的测试。关键词: 收费;销售;超市;可编辑资料 - - - 欢迎下载精品名师归纳总结1 引言 .01.1 课题讨论内容 .02 系统需求分析 .12.1 系统模
3、块构建 .12. .12. 、后台功能模块 .13 数据库设计 .33.1 E-R 图和关系图 .33.2 数据库表设计 .44 系统实现 .74.1前台模块 .74.2后台模块 .145 结果测试 .245.1 前台模块的测试 .245.2 后台模块测试 .25总 结 .25参考文献 .25可编辑资料 - - - 欢迎下载精品名师归纳总结1 引 言1.1 课题讨论内容综合运用以前所学的专业学问,设计开发一个超市收费系统软件, 本设计要求实现功能选购入库,出入库明细,条形码数据的输入, 会员卡号的输入,进行货品销售。具体包括以下内容:1在设计与开发中, 主要放在简洁的进行货品销售, 会员卡打折
4、 统一九折 。2在设计与开发中, 既探讨前台的销售, 又能实现后台的选购入库,会员卡设置 , 职工治理,出入明细等功能。 其中前台只负责输入条码,输入会员卡号, 实现收费。 其他的全部功能和设置均放在后台进行实现超市货品的入库 , 会员卡用户资料的录入 , 以及进行货品销售的收费, 而前台的收费分为会员卡用户和非会员卡用户两种收费 , 对于有卡用户, 在输入卡号后 , 可实现商品价格按九折折价格进行收费 , 假设要取消销售某商品 , 就直接点删除 , 总价格也会相应的扣除 .2 系统需求分析数据库应用系统是以数据库为基础的信息治理系统,它一般包含两个方面内容,一个数据库设计,二是程序设计。在建
5、立数据库应用系统之前,一般应先进行系统的需求分析,明白用户对系统的要求,然后进行系统的总体设计,最终编写程序代码和调试程序。数据库应用系统的开发过程 , 需求分析包括了对数据本身的需求分析和对功能的需求分析。两个分析的结果将分别作为数据库设计和程序设计的依据。实际上在设计数据库应用系统时,这两个需求分析是紧密相关的,不管是数据库设计,仍是程序设计都需要考虑这两个方面的因素。可编辑资料 - - - 欢迎下载精品名师归纳总结2.1 系统模块构建2系统整体结构功能模块图如图 2-1:图 2-1 系统整体结构功能模块图依据系统整体结构功能模块分析,系统分为前台和后台两部分。前台主要供应应收银员使用 ,
6、 进行销售收费。 后台供应应治理员使用, 主要执行商品信息治理、出入库明细治理、销售数据治理、职工治理以及会员卡用户治理等工作。、后台功能模块本系统是多用户系统,用户可分为治理员和收银员两类,登录或者未登录情形下判定当前使用人员的权限,防止安全性问题。收银员登录系统,系统自动清空销售暂时数据,进入系统,对于非 会员用户收银员第一录入商品编号, 然后输入数量, 而对于会员卡用户 , 收银员挑选会员类型,输入会员卡号,系统自动将折扣转为90%,然后系统自动汇总金额,同时列表显示销售商品的流水数据,收银员可以删除需要退掉的商品,然后点击结账,完成交易过程。前台功能模块图如图图 2-2 前台功能模块图
7、可编辑资料 - - - 欢迎下载精品名师归纳总结后台治理员登录系统以后, 可以对商品单位进行添加、 查询, 可以对会员资料进行添加、查询操作,可以进行选购入库操作,进行库存盘点操作,进行进货统计操作,进行出库明细查询操作,和退出系统操作。后台功能模块如图 3-3 所示:3 数据库设计3.1 E-R 图和关系图供应商,商品关系模型 E-R 图如图 3-1 所示:图 3-1供应商 ,商品关系模型 E-R 图可编辑资料 - - - 欢迎下载精品名师归纳总结各个表之间的关系图如图 3-2:图 3-2各个表之间的关系图3.2 数据库表设计由数据模型利用 SQL进行数据库的具体设计,其基本表的设计如下:1
8、.供应商信息表3-1:表 3-1供应商信息表字段名称SupplyidSupplyname Supplytel数据类型Char10Char10 Char20说明供应商编号供应商名称供应商2.商品信息表可编辑资料 - - - 欢迎下载精品名师归纳总结商品信息表 : 储备商品 3-2:表 3-2商品信息表字段名称数据类型说明FoodidChar10商品编号FoodnameChar10商品名称Foodnumint商品现有量Foodsumint商品总量FoodvalueInt商品价格表 3-3商品进货表字段名称Fooid Supplyid Numtime数据类型Char10 Char10 intChar
9、10说明商品编号 供应商编号进货数量进货时间: 储备销售情形的清单 . 如表 3-4:表 3-4销售纪录表3-3:纪录表销售纪录表字段名称数据类型说明UserzhChar10收银员账号UsernameChar10收银员FooidChar10商品编号FoodnameChar10商品NumChar10数量TimeChar50销售日期可编辑资料 - - - 欢迎下载精品名师归纳总结5. 治理员表治理员表 : 治理员的基本信息 . 如表 3-5:表 3-5治理员表字段名称数据类型说明MainidChar10治理员账号PasswordChar10治理员密码MannameChar10治理员MantelCh
10、ar50联系方式6. 收银员表收银员表 : 收银员的基本信息 . 如表 3-6:表 3-6库存表字段名称数据类型说明UseridChar10账号PasswordTelChar10Char50密码NameChar107. 销售暂时纪录表销售暂时纪录表 : 收银员出售货物时暂时纪录 . 如表 3-7:表 3-7计量单位表字段名称数据类型说明物品编号Char10物品名称Char10物品数量Char10售价int小计int总价格时间Char508. 会员资料表可编辑资料 - - - 欢迎下载精品名师归纳总结会员资料表 , 储备有卡会员的资料 , 以便结账时赐予折扣 . 如表 4-8:表 4-8会员资料
11、表字段名称数据类型说明VipidChar10会员编号VipnameChar10会员4 系统实现4.1前台模块前台程序流程图如图 4-1 所示:开头图 4-1 前台程序流程图可编辑资料 - - - 欢迎下载精品名师归纳总结登录模块 :功能:本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统。其窗体如图 4-2 :图 4-2用户登录界面在进行系统登录过程中,登录模块将调用数据库里的收银员表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登录才会胜利。并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示 .其提示错误输入或错误操作如图 4-3 所示:
12、图 4-3登录错误界面可编辑资料 - - - 欢迎下载精品名师归纳总结stringstr= server=NO1;database=SuperMarket;integratedsecurity=true;SqlConnectioncon = new SqlConnection str ; ;前台模块 :功能:本模块的主要功能是把销售信息写入销售表,同时对库存数据进行更新,以备用户将来对销售信息和库存信息进行查询。商品销售:将销售信息录入 thing表中暂时存放,可以进行添加销售信息和删除,并在结账的时候讲销售信息导入数据库jilu表中主要就是在点击登陆后判定用户名账号和密码是否为空或者是否匹配
13、,匹配胜利即可进入收银员销售界面,在密码错误或者为空时提示错误信息stringuse = ;stringmima = ;SqlDataAdapterad = new SqlDataAdapter select* fromTable_userwhere userid=+ use + and password=+mima + ,con;DataSetset= set ,s1 ;new DataSet ;ifs1 .=0flag= 0;= use;Form3 f= new Form3;可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-4收银员销售界面= update food set food
14、num=+sheng+where foodid=+ bh + ;= con; ;/* 将刚刚购买的东西插入进数据库表thing中*/ stringt= ;= insert into thing 物品编号 , 物品名称 , 物品数量 , 售价, 小计, 时间 values+ bh + ,+ name + ,+ num + ,+ money+ ,+ num * money + ,+ t+ ;= con; ;sum_money+= num *money;= ;= ;/* 对 dataGridView1绑定数据源 */SqlDataAdapterda2 = new SqlDataAdapter sel
15、ect * from thing, con; set ,thing;= thing;= ;= ;在添加物品时假如有错误,单击一行点击删除即可删除该条记录,并且金额也会相可编辑资料 - - - 欢迎下载精品名师归纳总结应更换图 4-5货物不足intintshu thing9 .Rows 0 foodnum .ToString;money = thing9 .Rows 0 foodvalue .ToStringstringname = thing9 .Rows 0 foodname .ToString;if shu num 库存量不够 , 近期会进货! ;= ;= ;return ;物品库存量不足
16、时也会提出相应的窗口购买的物品删除功能可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-6删除商品删除一条记录联通数据的出售记录一起删除,并且把商品表中减去的数量复原SqlCommandcmd = new SqlCommandupdate food set foodnum=+ kucun+num + where foodid=+bh+, con; ;= delete from thing where物品编号 =+ bh + and时间=+tim+;= con; ;SqlDataAdapterad2 = new SqlDataAdapter select * from thing, con
17、; set ,th ;= th ;= delete from jilu where foodid=+ bh + and time=+ tim+ ;= con; ;可编辑资料 - - - 欢迎下载精品名师归纳总结会员结账时为实收金额的90%,图 4-7 结账结账时要清空 thing 表暂时信息表和 dataGridView1 的数据SqlCommandcmd1 = new SqlCommanddelete from thing ;,con;SqlDataAdaptercon;ad = new SqlDataAdapter select * from thing,DataSetset= new D
18、ataSet ; set ,nu ;= nu ; ;sum_money= 0;可编辑资料 - - - 欢迎下载精品名师归纳总结后台模块后台程序流程图如图 4-8 所示:图 4-8 后台程序流程图治理员登录后进入主该页面,跟收银员一样从数据库中验证是否匹配, 胜利就进入下面的界面可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-9 治理员登录界面主要有商品库存的查看,交易记录的查询,职工治理,进货记录和治理以及会员的注册图 4-10 商品库存界面可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-11 交易记录界面图 4-12 进货记录 界面可编辑资料 - - - 欢迎下载精品名师归纳
19、总结图 4-13 职工信息 界面主要就是 dataGridView绑定数据库中的数据源来查看记录SqlDataAdapterad = new SqlDataAdapter select * from Table_manager where manid=+c.man+, con; DataSetset= new DataSet ; set ,fz ;stringname = fz .Rows 0 manname .ToString;= 欢送您: +name;SqlDataAdapterfoo = new SqlDataAdapter select* from food order by food
20、id asc,con; set ,fo ;= fo ;SqlDataAdapterjl= new SqlDataAdapter select* from jilu order by time desc,con; set ,j ;= j ;SqlDataAdapteruse = new SqlDataAdapter select* from Table_user ,con; set ,us ;= us ;SqlDataAdaptersup = new SqlDataAdapter select food.FoodId,FoodName,supply.SupplyId,supplyname,num
21、,Supplytel, time from supply,gongying,foodwhere food.FoodId=gongying.FoodId可编辑资料 - - - 欢迎下载精品名师归纳总结and supply.SupplyId=gongying.SupplyIdorder by time desc, con; set ,su ;= su ;对职工治理可以进行添加图 4-14 职工增加 界面猎取注册时候的信息然后将数据导入数据库添加胜利后图 4-15 职工增加胜利 界面add a = new add;可编辑资料 - - - 欢迎下载精品名师归纳总结a. Show;SqlDataAdap
22、ter where userid=ad = new SqlDataAdapter select* from Table_user+ id+ ,con;DataSetset= new DataSet ; set ,iffz ;fz .=0 用户名已经存在! ;= ;= ;= ;= ;elseSqlCommandcmd = new SqlCommandinsert into Table_useruserid,password,tel,name values+ id+ ,+mima + ,;+ tel+ ,+ nam + ,con;Form3 f= new Form3;对职工可以进行解雇,主要就是删
23、除数据库中的元素,让datagridview重新绑定数据库可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-16 职工删除stringid= a .Cells 0;SqlCommandcmd = new SqlCommanddelete from Table_user whereuserid=;+ id+ ,con;SqlDataAdaptercon;ad = newSqlDataAdapter select* from Table_user ,DataSetset=new DataSet ; set ,fz ;= fz ;进购货物时可以挑选补充库存仍是购买新物品可编辑资料 - - -
24、欢迎下载精品名师归纳总结图 4-17 补充库存依据商品编号从数据库中找到相应的数据,将商品数量更新在依据商品编号和商家编号导入新的信息到数据库,并更新商品库存和进货记录SqlCommandcmd = new SqlCommandupdate food set foodnum=+xianyou;+ where foodid=+ bh + ,con;cmd.CommandText=update food set foodsum=+ sum + wherefoodid=+ bh + ; cmd.Connection=con ; ;stringnu = ;string;= insert+ ,= con
25、; ;intogongyingfoodid,supplyid,num,timevalues+ bh+ shangjia+ ,+ nu + ,+ nowtime + ; 进货胜利 . ;可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-18 进货胜利进购一种仓库没有的商品时,需要获得该商品的全部信息图 4-19 购买新货物品编号有系统自动生成,进货胜利后需要更新商品库存和进货记录 SqlCommandcmd = new SqlCommandinsert into foodfoodid,foodname,foodnum,foodsum,foodvaluevalues+ len+ ,+ nam
26、e+ ,+ num+ ,+ num + ,+ money + ,con;可编辑资料 - - - 欢迎下载精品名师归纳总结 set ,su ;stringstringsupid;= su .Rows 0 supplyid .ToString;SqlDataAdaptersup = new SqlDataAdapter select * from supply where supplyname=+ shangjia+ , con;= insert into gongyingfoodid,supplyid,num,time values+len+ ,+ supid+ ,+ num + ,+ time
27、+ ;= con; ; 进货胜利! ;对会员进行操作时, 可以看到会员信息和添加会员, 这里没有删除会员。考虑到会员卡统一九折,没有必要去注销,没有添加删除功能图 4-20 会员信息可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-21 添加会员注册胜利后让datagridview 重新绑定会员数据库,更新会员信息图 4-21 添加会员胜利需要判定是否VIP 表中有该信息,存在弹出提示窗口,不存在就可以注册会员SqlDataAdapterad = new SqlDataAdapter select * from vip where vipid=+ id+ ,con;DataSetset=
28、 new DataSet ;可编辑资料 - - - 欢迎下载精品名师归纳总结 set ,v ;ifv = 0SqlCommandcmd = new SqlCommandinsert into vipvipid,vipnamevalues;+ id+ ,+ name + ,con;SqlDataAdaptervi = newSqlDataAdapter select* from vip , con; set ,vv ;= vv ; 注册胜利! ;= ;= ;else 该 VIP 编号已存在 . ;= ;= ;return ;5 结果测试测试收银员输入正确的用户名和密码, 假如输入错误密码 , 或
29、不存在的用户名, 就弹出错误提示框。功能运行正常销售主页面的测试 :输入正确的 , 存在的商品条码 , 和数量, 按 enter, 系统将从数据库调出数据, 显示相应信息在下方导航框内 , 并在应收金额显现相应价格运算总和. 假设输入错误的条码 , 就会弹出错误提示框。 功能运行正常删除一条记录时,数据库内容也会复原和更新功能运行正常假设选中会员结账输入存在的会员卡号 , 就会弹出欢送的对话框 , 点OK 后, 折扣处变为 90%,假设输入错误的卡号 , 就会弹出错误的提示框。功能运行正常选购入库的测试 :可编辑资料 - - - 欢迎下载精品名师归纳总结假设输入存在的编号 , 就会自动调出相应
30、商品信息 , 输入数量后点确定, 就胜利入库 , 假设输入错误编号 , 或不存在的编号 , 就会弹出错误提示框。功能运行正常添加职工测试在添加职工的界面,假如有信息填写不完整会弹出错误提示框,假如填入正确信息,就注册胜利功能正常运行添加会员测试添加会员时假如会员已经存在或者编号不正常就会弹出错误提示框,假如填入正确信息,就注册胜利功能正常运行商品查看,交易记录,进货记录测试都能正确显示数据库中的信息,没有显现错或者遗漏的数据功能正常运行总结在对 C#和 sql 有肯定的懂得下,完成了超市收费系统的设计与实现, 中间过程很坎坷,刚开头也不会连接数据库,我查阅了大量书籍,也在 网上查了不少资料,使我有很大的提升。使用了sql 数据库实现了对各个数据的操作,熟识了 C#与数据库连接的过程,对数据库的懂得有了更一步的提升。总之,这次的课程设计对自己才能的提升有很大的帮忙参考文献1 刘丽霞 C#范例开发大全 清华高校出版社,2 但尧 C#编程指南 清华高校出版社,3 王小科,赵会东C#项目开发案例整合 电子工厂出版社,4 吴绍兴,刘岩, C#项目开发案例导航电子工厂出版社,5 王珊,萨师煊, 数据库系统概论 高等训练出版社,可编辑资料 - - - 欢迎下载