超市收银系统.docx
《超市收银系统.docx》由会员分享,可在线阅读,更多相关《超市收银系统.docx(19页珍藏版)》请在冰豆网上搜索。
超市收银系统
超市收银系统
软件工程课程设计报告
题 目:
模拟超市银行系统
专业班级:
计算机科学与技术
姓 名:
学 号:
同组姓名:
1、引言
1.1问题的提出
超市是一个客流量很大的地方,每天都有很多的顾客要消费买东西,收银员要和很多的顾客结算,并且要给这些结算存档,以便日后查看或统计。
如果只用人工的方法去处理这些结算和计算的数据将是一件很复杂繁琐的事情,而且将要投入大量的人力物力,并且会浪费大量的时间。
为了解决此类问题,并且实现科学化,实用化的超市管理,我们就需要设计开发超市管理系统,并用于实践测试,使超市收银进入现代化、简单化。
1.2设计思想
该设计的指导思想是一切步骤简单化、实用化,系统的功能全面,界面尽可能美观大方,操作尽量简单明了,而且作为一个实用的应用系统要有较好的容错性,子出现错误操作时能够尽可能及时地给出提示,以使用户及时进行改正,以及避免错误的操作。
1.3开发目的
(1)大大提高超市的运作效率;
(2)通过全面的信息采集和处理,辅助提高超市的决策水平;
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益。
1.4背景说明
21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是超市业的竞争核心如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。
1.5定义
(1)商品信息:
包括商品位唯一的编号、商品名、商品单价,出厂日期,过期日期,厂家信息,库存总量。
(2)交易清单:
包括交易的流水账号、每类商品的编号、商品名、数量、该类商品的单价和总金额、交易的时间、负责本次收银的员工号。
(3)收银管理
获取权限:
销售员登陆,取得进行相关收银的权限。
商品录入:
根据超巿业务特点制定相关功能,可以通过输入唯一编号、商品名称等来实现精确或模糊的商品扫描录入,如果是采用模糊扫描的话,则在查询到满足条件的商品信息后要在匹配的结果中选择需要的商品。
该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。
收银业务:
通过录入商品编号或直接输入商品名称(对于同类多件商品可采用一次录入然后修改数量的方式)自动计算本次交易的总金额。
在顾客付款后,自动计算找零,经收银员确认后打印交易清单。
果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行优惠(折扣可以在系统中定义),并将所购物品的总金额累计到该会员的总消费金额中。
(4)商品信息管理
管理员登陆之后,即可进行相应权限的操作,包括商品信息的录入,修改以及删除。
在管理员操作之后立即跟新数据库,以及形成文档日志,记录对商品信息进行操作的信息。
以便恢复数据库和记录操作情况。
(5)经理管理
经理登陆系统后,可以添加,删除以及修改商品信息管理员,以及收银员的信息和密码。
并可提现,系统自动保存提现记录。
以及查看销售盈利情况。
(6)客户信息管理
收银员登陆后,本模块实现添加,删除以及查询积分卡信息。
2、需求分析
2.1任务概述
目前,计算机正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。
计算机的诞生和发展,颠覆了传统的工作和管理方式,极大地改变了人类从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。
通过计算机的应用,社会劳动生产率大幅度提高,并推动经济结构革新和产业结构的升级。
由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。
从数据库(或文件)中取出有关价格信息,再把这些信息返回给收银台。
同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库(或文件)存储以供查询。
为了提高超市的工作效率,节约成本等,本课题的任务是开发一适应超市收银管理系统。
实现C/S结构的分布式系统,支持多个终端进行收银管理,共享一个数据库。
对用户的权限有明确划分。
营业员前台收银管理(其中包括销售管理和会员业务)
后台管理员管理(其中包括账户管理、商品定价管理和营业额情况管理)
再有,界面设计必须清晰醒目,使用户可以一目了然地知道系统有哪些功能。
2.2软件功能的划分与概述
本系统主要实现的功能:
营业员前台收银管理
主要对销售管理(如商品录入,条形码扫描和结账)和会员业务管理(添加VIP、删除VIP、打折);
(2)后台管理员管理
只要是管理员对供应商品信息和普通管理员信息的管理,其中包括统计数据,发布公告,管理权限,设置密码,初始化系统,恢复数据,备份数据,导入导出数据。
一个更为完善的超市收银管理系统,应提供更为强大的数据库,对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。
2.2.1用例图
以下是超市收银系统总体用例图:
图2-1-1总体用例图
以下是超市收银系统后台管理部分用例图:
图2-1-3普通管理员管理用例图
以下是超市收银系统前台收银用例图:
图2-1-2收银用例图
以下是后台超级管理员管理系统用例图:
图2-1-4系统管理员管理用例图
2.2.2概念类图
以下是超市收银系统的概念类图:
图2-2-1超市收银概念类图
2.2.3顺序图
顺序图是将交互关系表示为一个二维图。
纵向是时间轴,时间沿竖线向下延伸。
横向轴代表了在协作中各独立对象的类元角色。
类元角色用生命线表示。
当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
消息用从一个对象的生命线到另一个对象生命线的箭头表示。
顺序图是一种动态建模方法
以下是超市收银系统的顺序图:
图2-3-1超市收银系统顺序图
3、系统设计
3.1状态图
状态转换图指明了作为外部事件结果的系统行为,描绘了系统各种行为模式和在不同状态间转换的方式,状态转换图主要包括两方面;状态与事件;状态是任何可以被观察到的系统模式,状态分为初态(初始状态)、终态(即最终状态)和中间状态;事件是在某个特定时刻发生的事情情,它是对引起系统做动作或从一个状态换到另一状态的外界事件的抽象。
初态-----------实心圆终态-----------一对同心圆
中间态---------圆形矩形,分上(状态名称)、中(状态变量的名字和值)、下(活动表)三部分。
主要符号可如下图表示
图3-1-1超市收银系统状态图
3.2设计类图
类图一般包含3个组成部分。
第一个是类名;第二个是属性(attributes);第三个是该类提供的方法。
类名部分是不能省略的,其他组成部分可以省略。
类名书写规范:
正体字说明类是可被实例化的,斜体字说明类为抽象类。
属性和方法书写规范:
修饰符[描述信息]属性、方法名称[参数][:
返回类型|类型]
属性和方法之前可附加的可见性修饰符:
加号(+)表示public;减号(-)表示private;#号表示protected;省略这些修饰符表示具有package(包)级别的可见性。
如果属性或方法具有下划线,则说明它是静态的。
描述信息使用<<开头和使用>>结尾。
类的性质是由一个属性、一个赋值方法和一个取值方法组成。
书写方式和方法类似。
以下是超市收银系统前台收银设计类图:
图3-2-1前台收银设计类图
以下是超市收银系统后台管理设计类图:
图3-2-2后台管理设计类图
以下是超市收银系统设计类图:
图3-2-3超市收银系统设计类图
3.3协作图
以下是超市收银系统协作图:
图3-3-1超市收银系统协作图
4.数据库设计
数据库在一个管理信息系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致,同时,合理的数据库也将有利于程序的实现。
4.1概念结构设计
系统分为三个实体:
顾客,商品,仓库。
顾客实体图:
图4-1-1顾客实体图
商品实体图:
图4-1-2商品实体图
仓库实体图:
图4-1-3仓库实体图
系统E-R图:
图4-1-4系统E-R模型
图4-1-5实体联系(E-R)图
4.2逻辑结构设计
根据E-R模型设计数据库表结构
关系模式如下
库存表(仓库号,进货时期,商品号,库存量)
商品表(商品号,商品名,单价,说明)
会员表(会员号,积分)
购物表(购物号,商品号,数量,会员号,日期,收银员号)
超市收银系统各表结构设计如下:
商品表:
列名
数据类型
长度
允许空
商品号
char
10
否
商品名
char
10
否
单价
smallmoney
8
否
说明
char
30
是
表4-2-1商品表
库存表:
列名
数据类型
长度
允许空
仓库号
char
10
否
进货日期
datetime
8
否
商品号
char
10
否
库存量
int
6
否
表4-2-2库存表
会员表:
列名
数据类型
长度
允许空
会员号
char
10
否
积分
int
8
否
表4-2-3会员表
购物表:
列名
数据类型
长度
允许空
购物号
char
10
否
商品号
char
10
否
数量
int
6
否
会员号
char
10
是
收银员号
char
10
是
日期
datetime
8
否
表4-2-4购物表
各表关系如下:
表4-2-5关系图
5、实现
5.1构件图
构件图主要用于描述各种软件构件之间的依赖关系,例如,可执行文件和源文件之间的依赖关系.所设计的系统中的构件的表示法及这些构件之间的关系构成了构件图.
构件图由一边有两个小矩形的一个长方形表示
以下是超市收银系统构件图:
图5-1-1超市收银系统构件图
5.2部署图
以下是超市收银系统部署图:
图5-2-1超市收银系统部署图
6、心得体会及总结
时间如梭,两周的课程设计就已经完成了,我学习到了很多知识,专业知识方面更是有了很大的提高,培养了我们的动手能力,使我们能够熟练的理论联系实际,提高了我们在实际问题中解决问题的能力,让我更加了解了软件工程面向对象的思想。
在这次课程设计中,我们分别画了用例图,概念类图,顺序图,协作图,设计类图,状态图,构件图和部署图。
这期间我们学会了用starUML软件画图,也学会了用Visio软件画图,熟练的掌握了这两个软件的操作,提高了我们自身的实际操作能力。
同时,在软件开发方面也积累了不少经验,对软件工程的知识重要性的认识更深了,懂得了面向对象的基本思想。
通过这次课程设计的锻炼,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对所学知识的理解。
在今后的学习中,我会做到取长补短,不断学习新的知识,吸取经验,达到进步的目的。
在学和做的过程中自身的努力以及相关图书馆资料的帮助,也让我对数据库的知识运用也有了进一步的了解。
在这个快速发展的当代社会里,数据库已经普遍应用在各个领域。
通过这次课程设计,我学到不少的数据库方面的知识,但由于自己的理论水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题,甚至错误,不过在互联网和图书馆以及老师的帮助下都能得以解决,这些我会在以后的工作和实践中加以改进和提高。