小型超市的系统课程设计报告

小型超市的系统课程设计报告

ID:25275135

大小:3.11 MB

页数:11页

时间:2018-11-19

上传者:U-25918
小型超市的系统课程设计报告_第1页
小型超市的系统课程设计报告_第2页
小型超市的系统课程设计报告_第3页
小型超市的系统课程设计报告_第4页
小型超市的系统课程设计报告_第5页
资源描述:

《小型超市的系统课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

目录第一章绪论21.1开发背景21.2开发工具选择2第二章需求分析22.1任务需求说明22.2总体需求分析22.3系统数据流图32.4数据字典3第三章总体设计43.1软件功能图43.2流程的描述53.3安全设计5第四章数据库设计64.1概念结构设计64.2逻辑结构设计74.3物理结构设计7第五章详细设计9第六章编码9第七章结论11 第一章绪论1.1开发背景随着现今社会经济的快速发展,越来越多的超市面对着该如何快速高效的处理日常收银事务、让顾客购物更加实惠方便的问题。基于这样的一个问题,开发一个小型超市的收银系统,用来解决超市的收银问题,提高超市的处理事务效率。本系统采用结构化设计的程序设计方法,主要功能有日常收银,日常退货以及商品信息查询等功能。1.2开发工具选择基于开发方便,容易使用可以高效短时间开发一定的小型系统的原则,本系统开发使用MSSQL2008,以及VS2008为主要的工具,使用C#语言开发。第二章需求分析2.1任务需求说明1、收银:输入或使用条码阅读器读入商品条码调入商品定价资料,结账时只需要按回车或[F1]键可以调出结账窗口可行结账,结账后将打印销售小票。可以销售散装类商品。记录结账方式(现金、银行卡、赠券)和相应金额。2、会员卡:支持会员卡积分。3、挂单、调单:可以对销售单进行挂单、调单,压后结账。4、撤单:对错误的单子或顾客退货的单子进行撤单5、销售统计:对收银员今天的销售额进行统计,前台只能查看今天的销售额,而后台可以查看所有时间的销售数据。6、商品查询:可以对顾客需要的商品进行查询,查看是否有该商品及其价格,支持模糊查询。查询到的商品可以直接双击进行销售。7、销售退货:已售出商品退货功能。8、重打:支持重新打印小票功能。9、按键定义:可以对前台销售的各功能按钮进行自定义。10、增加会员:增加会员、发放会员卡。11、交班离开:员工下班使用此功能注销登录。12、销售提成:自己定策略,使得能够提高员工积极性。 2.2总体需求分析收银台需要处理超市的收货情况、销售记录、员工情况等,使用的数据都是纸质版的信息,对库存情况采用的是人工处理,最后导致供货不及时,无法给顾客提供相应得货物。随着社会的日益进步,小型超市越来越多,就会有一定的竞争和压力。于是部分商家会用会员积分换商品的做法,来拉一些消费者。但是传统的会员积分是纸质版的,登记耗时耗力,工作量大。商品销售系统传统商品销售,不做任何登记,无法知道库存量,供货不及时的话,会妨碍超市的运作。鉴于以上各种问题,给商家和顾客带来很大的不便,使得传统的人工管理方式无法更好的务予顾客,因此有必要创建一个小型超市的系统,完善以上功能。2.3系统数据流图员工商品处理2.4数据字典数据字典是对数据流图中包含的所有元素的定义的集合,它最重要的用途是作为分析阶段的工具,为以后进行数据库开发打下基础。通过对数据流图的分析,该超市收银销售系统的部分数据字典如下:员工名称:员工号  别名:ID说明:超市员工代号                总编号:随机数字 长度:5 有关数据结构:员工信息数据库商品名称:商品条码别名:商品标识说明:商品的条形码数据值类型:离散类型:数字有关数据结构:商品信息数据库 第三章总体设计3.1绘制系统的软件结构图本系统的主要功能图: 3.2流程的描述这是超市收银系统的主要流程开始收银员登陆密码是否正确否进入收银系统是是输入商品条码是否会员是记录更新积分获得折扣否打印小票收款记录销售记录是 3.3安全设计系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容,信息记录不能为空;第四章数据库设计4.1概念结构设计主要设计超市收银系统的ER模型图.首先分析超市收银系统主要是收银员来使用的。从这里就可以抽象出员工就是一个实体。包含一些属性比如员工号,姓名、性别等属性。超市是出售商品的,得知商品也是一个实体,商品有商品标识以及商品名的属性。超市卖东西给顾客,会打印小票的,小票包含顾客购买的商品信息,单价,以及总金额和是谁收银的。小票就也是一个收银系统中的实体。再者超市为了吸引顾客,会发放会员卡给顾客,会员卡有会员卡号,会员卡使用人姓名的属性。所以,超市收银系涉及到了这个会员卡,会员卡也可以抽象出来为一个实体。员工售出东西,会打印一个小票的,一个小票只能有一个收银员打印出来,一个收银员可以收款,可以有打印多张小票。每张小票包含顾客购买商品的详细信息。小票与顾客购买的商品信息是一个包含的关系。由于会员购买商品会有积分,因此会员购买商品会有小票,这是一个关系。如果顾客要退货的话,就涉及到顾客必须给出小票号来退货。通过这些,ER图就可以大致画出来。订单号数量商品包含购物单员工1mn员工_购物单n退货商品标识m购物单_会员数量mn员工号n会员会员号 4.2逻辑结构设计将上述ER图转换为关系模型。员工(ID,Name,Pwd,Sex,Telphone,State,Position,Address)会员(会员号,姓名,办卡日期,积分)商品(ID,商品条形码,商品名,类别,单价,进价,会员价,生产地,型号规格,数量,生产日期,保质期)销售单(ID,订单号,商品标识,数量)购物单(订单号,员工号,会员号,时间,付费方式,总金额,是否挂单)退货单(ID,订单号,商品标识,数量,时间)4.3物理结构设计数据库中表的设计及之间关系表格给出关系表中各个属性的类型、长度CREATETABLEUsers IDint主键不为空员工的每个员工号,int类型占用空间较小,主键Namenvarchar(10)员工姓名这种类型可以兼容性更好Pwdnvarchar(15)密码可以包含数字,字符等Sexnvarchar(4)性别,4个这样类型长度足够。Telphonenvarchar(15)电话号码,15个这样的长度,足够用Statenvarchar(3)设置权限,如果是1,是管理员,0是收银员Positionnvarchar(10)定义员工的职位是Addressnvarchar(20)员工的地址。CREATETABLE购物单订单号intIDENTITY(1,1)主键不为空订单号可以唯一的自动生成,利于程序编写,是主键员工号Int外键是一个外键,须和主键表类型一致会员号nvarchar(15)外键是一个外键,须和主键表类型一致时间smalldatetime时间类型记录购物时间付费方式nvarchar(5)包含现金等付费方式总金额money为了比较精确,使用money类型是否挂单tinyint0表示不挂单,1表示挂单CREATETABLE会员会员号nvarchar(15)主键不为空这种类型,兼容数据类型主键姓名nvarchar(5)员工姓名办卡日期smalldatetime记录办卡的时间 积分smallint记录积分,整型类型电话nvarchar(20)联系电话对于所建立的数据库表,一般都是以主键为索引建,通过索引建来查询,提高查询效率。如果是收银员使用这个系统,只能对商品这个表的查询。会员表的增删改以及对销售单的增加,对错误单的删除,以及对退货单的查询,增加修改等权限。第五章详细设计登陆模块的简介用户通过对文本框输入信息,程序通过对文本框的信息进行校验,看是否符合一定的规则,校验以后。再通过ADO组件与数据库连接,通过编写的SQL语句与数据库中查出的记录进行比较,如果完全一样,就可以用户登陆,否则返回具体是密码还是用户名错误等详细信息。第六章编码登陆界面简介:登陆界面设计主要用到textbox控件以及button控件,通过与数据库的连接存放到DASET容器中,然后对DATEset进行遍历和与用户输入的进行比对。如果成功了的话,把员工的员工号或姓名存入到一个全局变量中,其它界面可以使用这个全局变量的值。登陆界面 stringstrconnect=@"DataSource=WANGYIBINSQLEXPRESS;InitialCatalog=SuperMarket;IntegratedSecurity=True";superMarket.constr=strconnect;SqlConnectionconn=newSqlConnection(strconnect);conn.Open();stringsql="selectcount(*)fromuserswhereName='"+user+"'";SqlCommandcmd=newSqlCommand(sql,conn);inti=Convert.ToInt32(cmd.ExecuteScalar());if(i>0){stringsql1="select*fromuserswhereName='"+user+"'";SqlDataAdapteradapter=newSqlDataAdapter(sql1,conn);DataTabletable=newDataTable();adapter.Fill(table);前台销售简介:对商品进行销售以及挂单查询提单打印等功能。主要实现方法:商品的信息查询,先是通过输入商品的标识或者商品名来查询,输入信息以后,后台获取前台信息,打开数据连接,编写数据库命令,然后执行命令得到一个DATAADapter数据集,然后把数据集装入DATAtable内,最后把数据绑定在数据库显示控件中就行。对于商品挂单,首先确定好要买的商品,后台会记录要买的商品标识到一个集合里面,售出以后,会生成一个订单号,提取返回的订单号,然后依次把数据插入到购物单这张表中,其状态是挂单状态。如果要提单的话,把全部状态是挂单状态的购物单记录查找出来,然后绑定到数据库显示控件显示出来。打印功能就是产生一个购物单的报表。把买的商品的订单号所对应的购物单信息全部打印出来。SqlConnectioncon=newSqlConnection(superMarket.constr);//初始化con.Open();intoutpu=SqlHelper.ExecuteDataTable(@"INSERTINTO购物单(员工号,会员号,时间,付费方式,总金额,是否挂单)VALUES(@员工号,@会员号,@时间,@付费方式,@总金额,@是否挂单)SELECT@@IDENTITY",newSqlParameter("@员工号",ID),newSqlParameter("@会员号",objname),newSqlParameter("@时间",System.DateTime.Now),newSqlParameter("@付费方式",a),newSqlParameter("@总金额",total),newSqlParameter("@是否挂单",b));superMarket.recepit=Convert.ToString(outpu);sum=0.00;tbsum.Text="0.00";tbreturn.Text="0.00";tbmoney.Text="0.00";tbdecrese.Text="0.00";MessageBox.Show("挂单成功"); 前台销售界面截图第七章结论通过设计这个收银系统,首先实现了收银功能,其中包括对商品的模糊以及精确的查询,以及对订单的挂单,提单打印小票的功能。其次包括退货功能、员工密码修改、销售明细查询、会员管理等功能还有快捷键的设置。当然,色设计的系统还是有一些问题没有解决,比如界面的设计是不是很符合用户的使用,如果对大量数据应该采取分页这样的办法等。学习体会通过本次课程设计,首先是加深了对数据库知识的理解,提高对编码中遇到的问题,如何解决的能力。实际动手能力得以调高.致谢我要感谢老师们对这次数据库课程设计的认真指导和辛勤付出,以及对我们的谆谆教导和无私奉献。参考文献王珊萨师煊数据库系统概论北京高等教育出版社2011

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭