资源描述
课程名称 数据库课程设计
题 目 超市前台销售系统
院 系
班 级
学生姓名
指导教师
绪论
本次课程设计主要是数据库的设计以及应用,这次设计意义在于数据库程序开发的设计流程、设计方法、实现方法的应用,这是一个小的数据库程序设计,要依据软件工程的思想,在整个开发流程中要符合软件工程的方法,以便使自己设计的程序有很强的生命力,具有好的可扩展性,能够达到很好使用的目的。
本次课程设计的题目是“超市前台销售”的信息管理系统,这个题目设计的目的是实现超市前台收pos机的相关功能,减少收银员的压力,提高超市收银效率,从而达到赢利最大化的目的。本次设计思想是从功能(一个超市前台销售功能)的需求分析入手,通过对其所要实现的各种操作来设计。在达到需求的前提下尽量保证系统的安全性,一个超市的前台必须保证安全。本次设计应解决的主要问题是如何对这个系统的数据库进行设计,因为数据库是这个系统的核心,所有操作都是基于这个数据库来实现的,如果这个数据库在设计之初就出现了问题,那么这个系统就像是一幢大楼没了根基,在完工之前就会坍塌。其次是各种功能模块的划分,要实现前台销售的各种功能,必须先将功能划分一下,让合作伙伴能够分工明确,各司其职,这样保证系统开发的进度,再次就是功能页面的设计,这一块是直接面向客户的
这一块设计的好与坏直接影响到客户的心情或者说是影响到使用者操作效率,如果各种功能都实现了,但是没有一个好的操作界面,客户用起来比较麻烦,那么设计的这个再好也不能达到设计的目的,也就是说这个系统就是一个没用的系统。
本次设计的方法是采用了结构化的设计方法,在实现的过程中用到了SQL Server2000数据库管理工具,在程序实现用到了C#.NET开发平台,运用面向对象的语言对各种功能进行实现。这次设计所要达到的技术要求是在数据库设计时要满足三范式,数据量的访问比较大,而且并发控制得设计得当,否则整个超市都会面临着亏本经营。
功能分析
这是个“超市前台销售”的系统,顾名思义要围绕着超市中前台服务来进行对需求的分析,针对各种要实现的功能对此进行分析后,得出以下的需求及实现的功能。
1、收银:输入或使用条码阅读器读入商品条码调入商品定价资料,结账时只需要按回车或[F1]键可以调出结账窗口可行结账,结账后将打印销售小票。可以销售散装类商品。记录结账方式(现金、银行卡、赠券)和相应金额。
2、会员卡管理:支持会员卡积分等。
3、挂单、调单:可以对销售单进行挂单、调单,压后结账。
4、撤单:对错误的单子或顾客退货的单子进行撤单
5、销售统计:对收银员今天的销售额进行统计,前台只能查看今天的销售额,而后台可以查看所有时间的销售数据。这里的后台是指作为管理员登录时的销售的信息管理。
6、商品查询:可以对顾客需要的商品进行查询,查看是否有该商品及其价格,支持模糊查询。查询到的商品可以直接双击进行销售。
7、销售退货:已售出商品退货功能。
8、重打:支持重新打印小票功能(小票复制)。
9、按键定义:可以对前台销售的各功能按钮进行自定义,商品快捷键定义。
10、POS机设置:前台收银用的POS设备的端口、型号设置。
11、增加会员:增加会员、发放会员卡。
12、交班离开:员工下班使用此功能注销登录。
13、销售提成:自己定策略,使得能够提高员工积极性。
软件结构图
基于需求分析可将整个系统划分为几个模块的功能,这几个功能分工合作,交其完成,具体的功能模块如下:
超市前台销售系统
收银功能模块
退货功能模块
会员管理模块
操作员管理模块
登录及按键重定义模块
图2-1-1
如上图所示,将所有需求转化为五个模块,分给同组的成员来实现,具体的各个模块中又有各种小的细节,一一实现。
界面原型
在这次设计中,我是本组的组长,在界面总体设计完成后,我主要负责退货功能模块的实现,所以在这里,我的界面原型如下(退货功能的界面):在这个功能里请操作员写入的信息为操作员号、流水帐号、商品号、退货数量、退货单价,其它信息都是查询数据库直接得到的。当用键盘操作执行“确定退还”时,这个页面的内容就会清空,等待下一条记录的写入,同时将退还的信息插入数据库中,这样,就会有记录可查,当管理员或者说是老板要查询退货信息或者是要算总帐时就可以参考退货表里的内容来查询。保证正确、快捷。省去了原来的人工操作,大大提高了效率。
图2-2-1
除了这个功能之外,为了提高员工的积极性,对于员工的工资及提成功能这些也是由我来完成的。针对会员工资提成的结算这个功能,在需求分析里已经很清楚的提到要管理员或者说是老板可以根据情况自行设定提成,也就是说提成率老板可以自己设定,在实现这个功能的时候,我是按照员工的编号来查询数据库中相关信息,看他在一定的时期内经其手销售的总额,然后将这些钱乘以这个提成率,将这个结果显示出来,显示在最后的提成里面。这样还可以通过一些员工提成的多少来形成一种无形的竞争力,提高员工的工作热情,总之对于一个超市来说这个功能是很好的。这个界面显示的信息为经这个操作员之手所办的在一定的时期内所有的销售明细,包括的内容很多,有流水帐号,有商品编号,商品名称,有数量,有小计,这样做的目的是使老板在查询这些信息时做到有据可依,这样一来,显得公平,合理。注意,在提成后面那个textbox控件里面真写的是一个非负的值,这里默认的是一个百分比,比如,在这个控件里面输入一个10,那么意思就是提成率为10%,在计算提成的时候将显示出来的所有小计相加,将这个加起来的和乘以这个提成率,就是这个员工在一定时期内的提成。这个功能的界面原型如下图:
图2-2-2
展开阅读全文