您好,欢迎来到智榕旅游。
搜索
您的当前位置:首页超市收银管理系统设计与实现(终极版)

超市收银管理系统设计与实现(终极版)

来源:智榕旅游


超市收银管理系统设计与现

目录

1.前 言......................................................................................................................................... - 2 - 2.超市收银管理系统概述 ........................................................................................................... - 2 -

2.1开发背景 ........................................................................................................................ - 3 - 2.2选题的目的和意义 ........................................................................................................ - 3 - 2.3本文主要工作和研究内容 ............................................................................................ - 4 - 2.4本文的组织结构 ............................................................................................................ - 5 - 3.系统需求分析 ........................................................................................................................... - 6 -

3.1任务概述 ........................................................................................................................ - 6 - 3.2软件功能的划分与概述 ............................................................................................. - 7 - 3.3模型建立——实体联系图(E-R图) ........................................................................ - 8 - 3.4数据流图 ...................................................................................................................... - 12 -

3.4.1数据流图的符号说明 ....................................................................................... - 12 - 3.4.2数据流图的实现 ............................................................................................... - 12 - 3.5数字字典: .................................................................................................................. - 23 - 3.6状态转换图 .................................................................................................................. - 28 - 4.总体设计................................................................................................................................. - 30 -

4.1系统设计 ...................................................................................................................... - 31 - 4.2结构设计 ...................................................................................................................... - 32 -

4.2.1系统管理模块功能划分 ................................................................................... - 32 - 4.2.2用户管理模块功能划分 ................................................................................... - 34 - 4.2.3商品管理模块功能划分 ................................................................................ - 35 - 4.2.4销售收银模块功能划分 ................................................................................ - 37 - 4.2.5营业统计模块功能划分 ................................................................................ - 37 - 4.2.6供货商管理模块功能划分 ............................................................................ - 39 - 4.2.7会员管理模块功能划分 ................................................................................ - 39 - 4.3数据库设计 ............................................................................................................... - 41 - 5.详细设计................................................................................................................................. - 42 -

5.1系统模块部分处理 ...................................................................................................... - 42 - 5.2营业统计 ...................................................................................................................... - 44 - 5.3用户管理 ...................................................................................................................... - 48 - 5.4 商品管理 ..................................................................................................................... - 50 - 5.5会员管理 ...................................................................................................................... - 56 - 5.6供货商管理 .................................................................................................................. - 59 - 6.编码实现与测试 ..................................................................................................................... - 61 -

6.1界面设计 ...................................................................................................................... - 61 -

6.1.1系统界面简介 ................................................................................................... - 61 - 6.1.2各个界面显示介绍 ........................................................................................... - 61 -

- 1 -

6.2测试 .............................................................................................................................. - 65 - 附件一(代码) ............................................................................................................................. - 70 - 附件二 ....................................................................................................................................... - 78 -

1.前 言

从第一台计算机诞生到现在,计算机领域的发展呈现飞速的发展状态,计算机以高速的计算速度、高度的准确率而吸引着世人,尤其近十几年来,计算机硬件的迅速发展,更为计算机的普及提供了前提条件,海量数据管理计算机成了必不可少的工具,计算机硬件的生产成本在不断降低,计算机再也不再是高不可攀遥不可及的新奇事物,现在因其的高效、高速、低错误的优点而广泛应用于世界各个领域。

随着我国成功加入WTO及信息化浪潮的日益临近,商场经营管理机制正在发生着根本性的变化,商场要想在激烈的市场竞争环境下的求得生存,就必须有效地利用人才、时间、信息结合的优势,就必须有效地进行商场内部改革和加强商场管理。借助现代信息技术和管理理论,建立商场管理信息系统势在必行。

本课题的目的是设计和开发一款适用小型超市的单机版收银和管理系统,它模拟了超市的运作模式,使对超市的管理变的直观、简便、快捷、高效。本系统是基于Windows系列的操作系统,设计架构模式上采用了三层结构的技术,即表示层、业务逻辑层、数据访问层,表示层负责了系统与用户之间的交互,业务逻辑层根据系统和用户的交互,执行了具体的业务逻辑,通过SQL等方式向第三层组件提出数据或其它资源的请求。使用三层结构,使系统的开发设计条理清晰,易于维护。

2.超市收银管理系统概述

- 2 -

2.1开发背景

21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再单纯是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是连锁超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何做到商场超市与经济效益具有良好匹配,如何做到事得其才,人尽其用,如何在满足商场效益的同时又兼顾商场职工的需求,如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,如何能在瞬息万变的时代使商场与社会环境相适应并且处理好随时变化的超市, 这一系列的问题都是需要亟待解决的问题,也成为超市努力追求的目标。

在以上这些问题前,传统的纸笔手工记账式的数据管理因其速度慢,效率低,错误率高等缺陷已经远远不能满足需要了。

计算机以其高效、高速、低错误等的天然优势,再加上现在计算机硬件的价格低廉,不会给企业带来成本上的负担,所以现代数字信息化管理已经成为了主流。超市要实现数字信息化管理,一款功能强大、适用性强、稳定性高的管理系统就成了必备条件。

2.2选题的目的和意义

在当今的社会环境下,超市收银管理系统成为超市必须的工具,本课题是探索和设计开发一款小型超市收银管理软件,旨在提高超市的运作效率,通过全面的信息采集和处理,辅助提高超市的决策水平,提升超市的管理水平,降低经营成本, 提高效益,增强超市扩张能力, 供有效的技术保障。

由于时间仓促,水平有限,本系统还有很多不足和缺陷,但也可作为商用超市收银系统的一个大致演示和框架。

- 3 -

2.3本文主要工作和研究内容

管理系统不同于一般的应用软件,管理系统的看设计和开发不仅是技术上的问题,还涉及了管理学科的学问,还必须对管理对象的工作流程,管理模式有充分深入的的了解,才能开发出一款适用的管理软件。

本课题的主要目标是开发一款单机版的小型超市收银管理系统,并对管理软件的开发技术以及超市的管理模式和工作流程进行探索。主要工作有以下一些方面:

(1)分析小型超市的工作流程 (2)分析小型超市的管理模式 (3)探索管理类软件的开发流程 (4)探索管理软件的基本架构设计 (5)实现超市收银管理软件的开发

目标开发在一定局域网内超市管理系统,既C/S结构的分布式系统,支持多个终端进行收银管理,共享一个数据库,通过对数据库的管理技术,实现对于在超市局域网内使用,达到逻辑结构可如下

每个商品管理人员和收银员配备了一台电脑,并把所有的电脑联入超市局域网内,以方便管理。为了对数据的安全性、准确性地保护,这些电脑都共享一个后台数据库

- 4 -

B A C N 共享一个超市收银管理系统数据库 D … E F

2.4本文的组织结构

任务概述

目标

目前,计算机正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。计算机的诞生和发展,颠覆了传统的工作和管理方式,极大地改变了人类从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。通过计算机的应用,社会劳动生产率大幅度提高,并推动经济结构革新和产业结构的升级。

为了提高超市的工作效率,节约成本等,本课题的任务是开发一款小型超市收银管理系统。

本系统只要针对的用户是一般中型超市或者个体商店。对系统的需求有: 用户的管理

- 5 -

进货、销售管理 营业的统计 会员管理

再有,界面设计必须清晰醒目,使用户可以一目了然地知道系统有哪些功能。 希望该系统在实践的同时,能尽快的发现其不足,并尽快的改正,尽可能满足用户的要求。

开发环境

本系统使用 Visual Basic 编程语言,在Visual Basic集成开发环境中开发,使用了SQL 数据库进行数据的存储。

运行环境

❖ Intel486以上系列、AMD K6 以上系列等PC台式机和便携式电脑; ❖ 运行时占用内存:≤30MB; ❖ 所需硬盘空间:≤30MB;

❖ 软件平台:中文Windows XP或更高版本

条件和限制

由于开发时间有限,对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。

3.系统需求分析

3.1任务概述

目标

目前,计算机正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。计算机的诞生和发展,颠覆了传统的工作和管理方式,极大地改变了人类从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。通过计算机的应用,社会劳动生产率大

- 6 -

幅度提高,并推动经济结构革新和产业结构的升级。

为了提高超市的工作效率,节约成本等,本课题的任务是开发一适应中型超市收银管理系统。实现C/S结构的分布式系统,支持多个终端进行收银管理,共享一个数据库。对用户的权限有明确划分。

用户的管理

进货、调货和销售管理 营业的统计 会员管理

再有,界面设计必须清晰醒目,使用户可以一目了然地知道系统有哪些功能。 希望该系统在实践的同时,能尽快的发现其不足,并尽快的改正,尽可能满足用户的要求。

3.2软件功能的划分与概述

本系统主要实现七大功能:

 商品管理功能

主要对商品的数目进行管理,一般操作部分,商品入库、商品信息修改、商品删除、商品查找、及商品统计部分、盘点商品数据、导出商品报表、导入商品报表。

 销售收银功能

主要对当前超市收银方面进行管理,分为显示商品信息(如商品的名称、条形码、类型、价格);当前收银管理 ,如收银汇总找零,对当前购买商品添加(通过扫描条形码自动获得商品编号以及相关价格等)、删除、修改商品价格等;收银完毕后自动打印并保存消费记录,包括时间、商品、金额等信息。

 营业统计功能

针对超市营业额进行统计(一般为分为年、月、日)及超市货物统计,该功能可浏览进货明细、销售明细、盘点明细,并对其删除操作;用适当格式生成相应报表。

 供货商管理功能

主要对超市供货商进行管理,简单的添加、删除、修改、查找供货商。

 会员管理功能

- 7 -

超市的促销方案中往往设有会员一项,同一件商品会员可享有优惠,该模块 主要对会员成员信息管理,如增加、删除、修改、查找会员,会员导入、导出、会员充值,积分兑奖(注 会员积分按消费金额累加)。

 用户管理功能

即对超市员工管理,用户一般分为收银员、管理员、系统超级管理员(不能删除,修改其信息),主要用于员工注册及查找

 系统管理攻功能

超市系统设置主体,主要涉及用户管理,系统登录,系统设置、系统信息、系统退出四大部分 条件限制:

一个更为完善的超市收银管理系统,应提供更为强大的数据库,对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。

系统的扩充要求:

系统应具备与超市连锁系统间的数据信息交流的潜在功。

3.3模型建立——实体联系图(E-R图)

实体联系图清楚、准确的描述了用户数据,以数据模型方式反映用户的现实环境,形象描绘了数据对象及数据对象之间的关系。数据模型包含三种信息:数据对象、数据对象的属性及数据对象的彼此之间的相互连接的关系

实体联系图符号说明:

实体联系图由以下m种基本元素组成,它们的符号见如下: 数据对象(通常称为实体)

- 8 -

数据对象属性,即实体属性

联系

超市管理系统E-R图实现

实付金额 应付金额 小票 商品名称 商品单价 商品数目 找零

- 9 -

供应商名 电话 地址 供应商 n 商品名 供应 供应种类 小票 m 销售 m 数量 商品 n n 库存 m 仓库 单价 n 条形码 库存量 操作权限 品类 管理 m 编号 管理员 姓名 类型 密码 联系方式 ID号 会员姓名 会员 1 对应 积分值 1 卡号 积分卡

- 10 -

供应商名 电话 地址 供应商 n 商品名 数量 单价 供应 供应种类 小票 m 销售 m 商品 n n 库存 m 仓库 品类 n 条形码 编号 管理 操作权限 库存量 m 会员管理员 姓名 类型 密码 联系方式 ID号 会员姓名 会员 1 对应 积分值 1 卡号 积分卡

- 11 -

3.4数据流图

数据流程图是在对系统调研阶段绘制的业务流程图进行分析的基础上,从系统的科学性、管理的合理性、实际取得的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上精确地描述新系统应该有的数据加工、数据输入、数据输出、数据存储以及数据的来源和去向,综合的反映出信息在系统中的流动、处理和存储情况。也就是说,数据流程图是分层次的,绘制时,先将整个系统作为一个加工环节画出系统顶层的流程图,然后再逐层细分,画出各个处理功能的第一层流程图、第二层流程图等,直至整个系统不能再分,分解结束。本节将列出并讲解几个数据流图。

3.4.1数据流图的符号说明

数据流(程)图由以下四种基本元素组成,它们的符号。

数据存储

数据流

外部项(外部实体) 加工(处理逻辑) 数据流图的主要符号

3.4.2数据流图的实现

根据超市收银管理系统的实际运行情况,划分出了以下管理功能块,并且明确了各个功能块之间的联系,根据这些关系绘出数据流图的最顶层,即第0层,:

- 12 -

备份信息 D9 备份信息数据 D7 用户信息数据 销售信息 P6 系统管理 用户信息 进货信息 P5 用户管理 用户信息 系统信息 盘点信息 D3 销售信息数据 D8 系统信息数据 销售信息 销售信息 D2 进货信息数据 进货信息 F8 系统信息 进货信息 盘点信息 D4 盘点信息数据 用户 (管理员) 盘点信息 商品信息P1 商品管理 商品信息 统计信息 用户信息 P2 营业统计 目信息管理系统有一个全面、详细的了解,应按照自顶向下、逐层分解的分析方法,对顶层

- 13 -

商品信息 D1 商品信息数据 供货商信息 会员信息 供货商信息 供货商信息 D5 供货商信息数据 会员信息 供货商信息 P4 会员管理 P3 供货商管理 会员信息 D6 会员信息数据 会员信息

0层数据流图

0层数据流图仅从总体上反映了超市收银管理系统的各信息之间的联系,为了对整个项

图进行进一步细化。以下就是对系统管理这个功能模块进行细化后所得到的一层数据流图。 下面是对“系统管理(P6)”功能模块进一步细化而得到的“系统管理”第一层DFD图

用户信息 用户 (管理员) P6.3 关于系统 用户信息 用户信息用户信息 D7 用户信息数据 F8 系统信息 系统信息 P6.1 用户登录 系统信息 系统信息 D8 系统信息数据 P6.4 用户管理 系统信息 P6.5 进入功能导航 系统信息 D9 备份信息数据 备份信息 供货商信息 D2 进货信息数据 销售信息 P6.2 系统设置 D5 供货商信息数据 会员信息 盘点信息 D3 销售信息数据 商品信息 D1 商品信息数据 D4 盘点信息数据 D6 会员信息数据

“系统管理(P6)”第1层数据流图

根据上图 ,用户再 P6.1 模块凭正确的密码和用户名进入 6.5 或进入 6.3 或进入6.4,可以重新写各数据库的信息,F8 系统信息Z中包含当前用户信息。

- 14 -

P6.1.1 接收用户名和密码 输入的用户名和密码 P6.1.2 校验用户名和密码 D7 用户信息数据 用户信息 户名密码错误 输入的用户名和密码 输入用户名和密码正确 P6.1.3 登录成功 P6.1.4 登录失败 系统信息 F8 系统信息 用户 (管理员) 要求重新输入 D8 系统信息数据 用户登录据流图

P6.5 进入功能导航

用户 (管理员) 输入新旧密码和确认新密码 P6.3.1 修改密码 当前用户名 D8 系统信息数据 密码修改成功 密码修改失败 重新输入新旧密码和确认新密码 P6.3.3 修改失败 P6.3.2 修改成功 修改后的用户密码 D7 用户信息数据

系统数据流图

- 15 -

超级 管理员 对用户(管理员) 处理信息 P6.4.1 用户处理信息 D8 系统信息数据 P6.4.2 修改用户(管理员) 修改信息 删除信息 添加信息 F7用户信息 P6.4.3 删除用户 (管理员) 更新信息 P6.4.4 添加用户 (管理员) 更新信息 更新信息 D7 用户信息数据

用户管理数据流图

- 16 -

P6.2.5 商店设置 新的商店信息 D8 系统信息数据 新的打印设置 新的选项信P6.2.6 打印设置设置 新的商店信息 新的选项 P6.2.1 选项设置 新的打印设置 P6.2.2 数据库初始化 初始化的选项 商品信息 用户 (管理员) 商品信息 恢复命令 备份命令 D1 商品信息数据 销售信息 销售信息 P6.2.4 数据库恢复 P6.2.3 数据库备份 D3 销售信息数据 进货信息 进货信息 D2 进货信息数据 备份数据 盘点信息 盘点信息 备份数据 D9 备份信息数据 D4 盘点信息数据 供货商信息 供货商信息 D5 供货商信息数据 会员信息 会员信息 D6 会员信息数据 系统设置数据流图

对“商品管理(P1)”功能模块进一步细化而得到的“商品管理”第一层DFD图

- 17 -

盘点信息 D5 供货商信息数据 商品信息 进货信息 P1.1 盘点商品 D4 盘点信息数据 盘点信息 用户 (管理员) 商品信息 商品信息 商品信息 P1.2 添加商品 P1.3 删除商品 商品信息 商品信息 D2 进货信息数据 商品信息 商品信息 P1.4 修改商品 商品信息 商品信息 商品信息 D3 销售信息数据 D1 商品信息数据 P1.5 查找商品 商品信息 商品信息 商品信息 P1.6 调整商品数据 会员信息 D9 execel商品文件记录 商品信息 D8 系统信息数据 D6 会员信息数据 P6.2 系统设置

商品管理第一层DFD图

- 18 -

对“会员管理(P4)”功能模块进一步细化而得到的“会员管理”第一层DFD图

消费者 (会员) 会员兑奖或充值 P4.5 积分管理 会员积分信息 P4.1 查找 会员 消费者信息 会员管理 P4.4 删除会员 用户 (管理员) P4.2 会员充值 会员信息 会员管理 会员信息 会员信息 D6 会员信息数据 P4.3 添加会员 会员信息 消费者信息 P4.6 会员导出 P4.7 生成表格视图 会员信息

- 19 -

对积分管理进一步细化可得会员管理流程图如下

会员 会员信息 P4.5.1 消费 销售信息 销售信息 P4.5.3 积分积累 会员信息 D3 销售信息数据 D6 会员信息数据 会员信息 会员信息 会员信息 P4.5.2 兑换 P4.5.4 积分兑换 积分管理流程图

- 20 -

对“营业统计(P2)”功能模块进一步细化而得到的“营业统计”第一层DFD图

D2 进货信息数据 进货信息 P2.1 明细管理 D4 盘点信息数据 盘点信息 进货或盘点信息 P2.2 年销售统计 年销售信息 P2.6 报表生成 年销售信息 P2.3 月销售统计 月销售信息 月销售信息 日销售信息 报表信息 D3 销售信息数据 日销售信息 P2.4 日销售统计 P2.7 销售信息 柱状图显示 销售信息P2.5 导出销售信息 营业统计”第一层DFD图

- 21 -

营业统计模块P2.1“明细管理”进一步细化可得明细管理数据流图

P2.1.1 进货信息浏览 进货信息 进货信息 P2.1.2 进货信息删除 P2.1.2 进货信息 D2 进货信息数据 进货信息 进货信息导出 P2.1.2 盘点信息浏览 进货信息 P2.6 报表生成 盘点信息 盘点信息 P2.1.2 盘点信息 盘点信息删除 报表信息 盘点信息 D4 盘点信息数据 盘点信息 P2.7 柱状图显示 P2.1.2 盘点信息导出 明细管理数据流图

对供货商管理(P3)”功能模块进一步细化而得到的“供货商管理”第一层DFD图

- 22 -

P3 供货商添加 P3 供货商信息 供货商信息 用户 (管理员) D5 供货商信息数据

供货商信息 供货商修改 供货商信息 P3 供货商信息 供货商删除 供货商信息 P3 供货商查找 供货商信息 供货商管理第一层DFD图

3.5数字字典:

为了对数据流程图中的各个元素做出详细说明,我们建立了数据字典。用数据字典描述数据库的设计,便于维护和修改。数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、数据存储和处理逻辑等五个方面进行具体的定义。 名称:系统管理

描述:超市收银系统的登录、用户操作、设置等操作 定义:系统管理=登录系统+系统设置+关于系统+退出系统 登录系统=输入用户名+输入密码 用户名=4{数字}4 密码=6{数字}6 数字=0|1|2|3|4|5|6|7|8|9 退出系统=退出收银系统

- 23 -

系统设置=系统参数的设置+数据库初始化+数据库备份与恢复+修改当前用户密码+商店信息的设置+小票打印格式的设置 关于系统=系统帮助+系统功能描述 名称:商品管理

描述:对超市内商品进行操作

定义:商品管理=商品添加+商品修改+商品删除+商品查找+盘点商品+调整商品+商品的数据导出到EXCEL文件+EXCEL文件导入到系统

名称:营业统计

描述:对超市的营业额进行统计,以报表形式显示

定义:营业统计=年销售统计+月销售统计+日销售统计+明细管理+销售信息导出 年销售统计=超市一年营业额和 月销售统计=超市一个月营业额和 日销售统计=超市一天营业额和 明细管理=信息浏览+信息删除+信息导出 营业额=收银钱数和

名称: 供货商管理

描述:对超市供应商的一些操作

定义:供货商管理=供货商添加+供货商修改+供货商删除

名称:供货商信息 描述:供货商的说明

定义:供货商信息=供货商号+供应商名+联系电话 供货商号=4{数字}4 供货商名=5{字母}15 联系电话=4{数字}15 数字=0|1|2|3|4|5|6|7|8|9

字母=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

- 24 -

名称:会员管理

描述:超市会员享有一些优惠或是折扣,对此类消费者的操作等

定义:会员管理=会员增加+会员删除+会员修改+查找会员+会员导出+会员充值+积分管理

名称: 用户管理

描述:超市用户信息设定与修改等操作 定义:用户管理=用户信息管理

用户信息管理=修改用户+添加用户+删除用户

名称: 商品信息 描述:商品的说明

定义:商品信息=商品代号+商品名+商品售价+库存量+商品进价+会员价格+保质期+供应商+使用说明

名称:进货信息

描述:超市每个一段时间对货物的补给

定义:进货信息=货物种类+货物名称+货物数量+货物价格+货物供应厂家名称+货物供应厂家联系方式

名称:销售信息

描述:超市商品管理员在记录销售商品时需要操作的信息 定义:销售信息=售出商品+丢弃商品+售出商品额+盈利

名称: 盘点信息

描述:超市管理员在记录库存商品时需要操作的信息

定义:盘点信息=库存商品名+库存商品数量+库存商品类型+库存商品到期日期

名称: 供货信息

描述:供货商对提供商品说明表,通常以货单形式出现

- 25 -

定义:供货信息=货物种类+货物名称+货物数量+货物价格+货物保质期+货物供应厂家名称+货物供应厂家联系方式

名称:统计信息

描述:用户对超市数据的统计操作

定义:统计信息=需统计名称+统计时间段+统计显示形式

名称: 会员信息 描述:特殊的超市消费者

定义:会员信息=会员姓名+会员号+积分值+联系号码 会员姓名=5{字母}10 会员号=4{数字}4 联系号码=4{数字}15 积分值=1{数字}6

数字=0|1|2|3|4|5|6|7|8|9

字母=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

名称: 系统信息

描述:系统管理的所有信息

定义:系统信息=登录系统信息+系统设置信息+关于系统信息+退出系统信息

名称: 备用信息

描述:系统的备用信息库,即副本 定义:备份信息=系统信息

名称: 用户(管理员)信息

描述:用户的客观概述,用户的权限不同对应的职位不同。 定义:用户信息=用户姓名+用户编号+用户权限+用户密码 用户姓名=5{字母}15

- 26 -

用户密码=4{数字}4 用户编号=4{数字}4

用户权限=用户可访问的数据库 数字=0|1|2|3|4|5|6|7|8|9

字母=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

名称:商店设置

描述:对超市的外观名设置

定义:商店设置=商店名设置+商店地址设置+商店电话设置

名称:选项设置

描述:对系统功能项添加、修改等操作

名称:打印设置

描述:对字体、打印、纸张、颜色、文本格式等操作

名称: 商店信息 描述:超市信息

定义:商店信息=商店名+商店地址+商店电话 商店名=40{字母}60 商店地址=32{字母}32 商店电话=8{数字}8 数字=0|1|2|3|4|5|6|7|8|9

字母=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

名称:功能导航

描述:对于系统不同功能列出以供用户选取

名称:商品文件记录

- 27 -

描述:商品信息的文件形式

名称:消费者信息

描述:对消费者年龄、身份等的描述

定义:消费者信息=消费者姓名+消费者编号+消费者积分+消费者年龄+消费者身份证号+消费者金额

消费者姓名=5{字母}30 消费者编号=4{数字}4 消费者年龄=1{非零数字}3 消费者身份证号=11{数字}11 消费者金额=6{数字}6 消费者积分=6{数字}6 数字=0|1|2|3|4|5|6|7|8|9 非零数字=1|2|3|5|6|7|8|9

字母=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

名称:积分管理

描述:对会员积分的一些操作 定义:积分管理=积分累积+积分兑换

名称:报表生成

描述:用于销售业绩等情况的直观显示

3.6状态转换图

状态转换图指明了作为外部事件结果的系统行为,描绘了系统各种行为模式和在不同状态间转换的方式,状态转换图主要包括两方面;状态与事件;状态是任何可以被观察到的系统模式,状态分为初态(初始状态)、终态(即最终状态)和中间状态;事件是在某个特定时刻发生的事情情,它是对引起系统做动作或从一个状态换到另一状态的外界事件的抽象。

- 28 -

状态转换图符号说明: 初态-----------实心圆 终态-----------一对同心圆

中间态---------圆形矩形,分上(状态名称)、中(状态变量的名字和值)、下(活动表)三部分

主要符号可如下图表示

状态1 初始事件 状态变量1 活动表1 事件 状态1 状态变量2 活动表2 结束事件

对超市系统模块画出状态换图下

- 29 -

登录系统 返回 等候输入 等待输入 Length=0 do/响输号音且length增加 数字 指定权限 不输 输入号码 点密码框 修改 单击权限 点击 用户管理 do/试管理 输入密码 Ength=0 do/length增加 错误 点击返回 点击 匹配点击进入 系统管理 do/试管理 系统参数 参数 do/设置参数 输入 变量 切换 点击 点击 添加用户 保存 返回 删除 关于系统 do/编辑 数字 返回系统管理 字符 编辑 点击、保存 不予设置 点击退出系统 浏览 点击退出系统 退出系统 - 30 -

4.总体设计

4.1系统设计

由需求分析可知,系统主要实现七大功能,由此将本系统划分为七大功能模块:商品管理模块,销售收银模块,营业统计模块,供货商管理模块,会员管理模块,用户管理模块,系统管理模块,系统模块描述图如下

进货 商品理模块商品管理 获得商品信息 销售收银模块收银结账 营业统计模块 收银管理 供货商管理模会员管理模块 当前用户密码修改 用户管理模系统设置 关于系统 系统管理登录系统 系统帮助 退出系

- 31 -

超市收银系统概述 系统描述

4.2结构设计

4.2.1系统管理模块功能划分

超市收银管理系统的系统管理模块图如下图所示。

超市收银管理系统系统管理模块 用户登录 系统设置 关于系统 退出系统 系统的选项设置 数据库初始化 数据库备份 数据库恢复 商店信息设置 小票打印格式设置 当前用户密码修改 系统功能描述 系统使用帮助

系统管理模块功能描述

用户登录:为了数据安全管理,系统设置了用户登录功能,只有数据库里存在的用户才能登录本系统进行数据的管理操作。启动本系统时,首先显示的是登录界面,在用户名输入栏默认了上次成功登录本系统的用户名,如果是第一次启动本系统,则用户名默认为Admin,Admin是系统自带的超级管理员用户,该用户拥有最高权限,不允许修改该用户权限,不能删除该用户。密码输入框里输入用户相应的密码(为了安全起见,不提供密码保存功能),

- 32 -

按登录按钮则用户登录,如果密码为空,用户名不存在,密码不正确等不符合登录系统的情况出现,会进行相应的提示并且返回登录界面。按取消按钮则退出系统。

系统选项设置:

当用户有系统管理权限时,用户能选择以下选项进行系统设置: 1)收银时修改商品价格需要输入管理员密码 2)收银时修改商品折扣需要输入管理员密码 3)收银时允许实收金额小于应收金额结账 4)收银时如果库存负数提出提示

5)收银时如果顾客要求退回或换商品要输入管理员密码 6)结账时弹出是否打印小票界面 7)系统启动直接进入收银界面 8)系统关闭后自动备份数据库 9)允许直接修改商品库存

数据库初始化:当用户有系统管理权限时,用户能进行数据库初始化。选初始化数据库时,弹出选择窗口,选在要初始化的数据项,点击确定进行数据初始化,点击取消不做初始化操作退出初始化窗口。

数据库备份:当用户有系统管理权限时,用户能进行数据库备份操作。选备份数据库是,要求用户选择备份到路径和备份文件名,默认的路径是本系统的安装目录下的数据备份文件夹,默认备份文件名是备份时的时间(年月日时分秒)。选择确定则进行数据备份,选取消则退出数据备份窗口。

数据库恢复:当用户有系统管理权限时,用户能进行数据库恢复操作。执行数据库恢复后,恢复的数据会覆盖当前的数据,不可再恢复当前的数据。进行数据库恢复时,要求用户选择要恢复的备份数据。确认恢复时系统执行数据库恢复操作,取消时系统退出数据库恢复窗口。

商店信息设置:当用户有系统管理权限时,用户能进行商店信息的设置。进行商店信息设置时,可以编辑商店的商店名,商店的电话,商店的地址,当确认修改时,商店名显示在主界面的顶部,显示格式为 商店名+“收银系统”,打印销售的小票时打印商店的电话和地址,其它要应用商店名、电话、地址的地方都是根据该设置来应用,取消时编辑不成功,数据恢复为原来的数据。

小票打印格式设置:当用户有系统管理权限时,用户能进行销售时打印的小票的格式进

- 33 -

行设置。可以编辑每次打印的份数,默认为一份,可以编辑打印时的左边距,单位是像素,默认是10,可以编辑小票的底行文字,默认为“欢迎光临,谢谢惠顾!!”。确认修改时,保存该设置,下次启动本系统时该参数值依然不变。取消时编辑不成功,数据恢复为原来的数据。

修改当前用户密码:所有用户都可以进行此操作,执行此操作,要求输入当前用户的旧密码、新密码、确认新密码,旧密码不正确、确认密码和新密码不一致时,该操作部成功,返回修改密码窗口,并且进行相应的提示,修改成功时,提示操作成功,并退出修改密码窗口。

系统功能描述:所有用户都可以进行此操作。该功能是对导航栏上的每项功能进行描述说明,方便用户对本系统的了解。

系统使用帮助:所有用户都可以进行此操作。该功能是介绍本系统的使用方法,让用户学会怎样操作本系统。

4.2.2用户管理模块功能划分

超市收银管理系统的用户管理模块图如下图所示 用户管理 添加用户 修改用户 删除用户 指定用户权限 用户管理模块功能描述:

本模块设置一个超级管理员,可对所有的用户进行操作。

当前用户管理:针对超市用户或管理员的信息进行操作。系统根据用户登录搜索用户信息判断用户的权限,以不同的权限界面针对用户操作。针对用户操作可分为添加、删除、修改和指定用户权限。

添加用户:即添加新的用户,当登录用户具有系统管理权限时,可对此进行操作 删除用户:将用户移出用户管理数据库

- 34 -

修改用户:对用户的姓名、年龄、工资、奖金等信息的更新

指定用户权限:超市用户因职位不同,所拥有的管理权限则不同。当登录的用户具有系统管理权限时,可指定其他一般用户的权限,即对特定用户关于超市数据库访问权限进行设置,而访问数据库的用户,及其分为只访问与既可访问又可修改数据库的用户,这些与商品可一一对应起来。

4.2.3商品管理模块功能划分

超市收银管理系统的商品管理模块图如下图所示 商品管理 盘点商品管理 一般商品管理 商品销售管理 添加 修改 删除 查找 生成商品信息报表 商品管理层次0图

- 35 -

盘点商品管理 进货管理 存货管理 选择 进货信息 进货信息 商品信息 商品信息 扫描 盘点信息 商品管理层次1图

商品销售管理 输入信息 查找计算价格 销售信息 商品信息 会员信息 商品管理层次1图

商品管理模块功能描述

- 36 -

4.2.4销售收银模块功能划分

超市收银管理系统的销售收银管理模块图如下图所示

销售收银 获取商品信收银管理 收银结账 一般消费者收银操作 会员收银操作

销售收银管理模块描述: 获取商品信息:消费者购物,收银时,超市用户对商品逐一扫描,获取消费者所购商品的名称、单价、数量、编号等信息,另外同一类型商品在收银机上只显示一行,但增加其相应的数量。

收银管理:超市消费者有普通消费者和超市会员之分,对于会员,超市给予一定优惠,分为一般消费者收银操作和会员收银操作;对一般消费者的操作,分行显示其购的商品信息,并下方进行价格汇总,显示所购总价;对于会员的操作,除显示商品的会员价格,显示所购总价,还会标明会员信息,并以消费信息更新会员信息。若会员要求兑换积分或充值转向会员管理部分

收银结账:收取消费者(会员)金额,自动计算找零,显示收取和找零金额;经收银员确认后,列出交易清单(包括交易流水账号、商品编号、商品名、同编号商品数量、该类商品的总金额、此次交易总金额、交易的时间、负责本次收银的员工号)转小票操作,小票打印。

4.2.5营业统计模块功能划分

超市收银管理系统的营业统计模块图如下图所示

- 37 -

年统计 月统计 日统计 进货浏览 进货删除 进货明细 进货导出 明细管理 盘点明细 盘点信息浏览 营业统计 盘点信息删除 盘点信息导出 导出销售信息 柱状统计图 营业统计模块功能描述:

年月日统计:即对本超市的年、月、日得超市营业额分别进行汇总,并以报表形式表示。 明细管理:主要分为进货和盘点两方面。进货明细,超市每隔一段时间便对本库商品进行补充,即进货,产生进货清单,超市对于每次进货的清单信息进行存储,形成进货信息库。超市用户可对以前的进货信息进行浏览,删除,信息统计汇成报表;盘点信息,对库存商品进行统计,信息更新,汇成报表。

导出销售信息:对销售信息进行统计管理,统计日、月、年销售信息,即对各种商品的销售情况(销售数量、营业额等)统计。

柱状统计图:统计结果数据化成柱状形式。

- 38 -

4.2.6供货商管理模块功能划分

超市收银管理系统的供货商管理模块图如下图所示

供货商管理 输入供货商信息 操作 写入到供货商数据库 添加 修改 删除 查找

供货商管理模块描述:

超市的商品供应者即为供应厂商,超市会根据市场、季节等因素更换商品类型,由此需对供应商进行操作。

添加供应商:对供应商数据添加一条数据记录,即添加了一个供应商

修改供应商: 修改供应商的有关信息,如供应的商品种类、价格,供应商的地点,另外超市与供应商的协议也可以加进去。

删除供应商:删除超市供应商,即从供货商数据库删除该供应商信息

查找供应商:输入供应商编号或供应商名,在供应商表中查找,显示供应商的信息

4.2.7会员管理模块功能划分

超市收银管理系统的会员管理模块图如下图所示

- 39 -

增加会员 删除会员 修改会员 查找会员 会员导入 会员管理 会员导出 会员充值 积分积累 会员积分管理 积分兑换

会员管理模块描述: 一般规模稍大的超市都会设立会员,一般的消费者每月交纳一定的金额,注册成为超市的会员,会员在购买超市的商品时,会员享有一定的折扣。

会员的添加:消费者注册会员是,填写会员信息,写入会员数据库中,即添加一个会员。 会员的删除:即将会员数据库中对应的会员数据项移出。

会员修改:会员的卡号(会员)、会员值、会员享有的折扣变化,会随商场或会员的必要需求进行变更。对这些信息进行重写操作即修改。

会员的导入、导出:将会员的信息写入数据库或有数据库读出,由表格形式写入——导入,以表格是形式读出——导出。

会员充值:会员对应会员值相应增加

会员积分管理:分为对积分的兑换和积累,兑换,查找会员的积分值,兑换商品; 积分积累,由会员消费记录金额值增加相应的积分值;不论兑换还是积分积累,对积分操作后,写回会员数据库。

- 40 -

4.3数据库设计

会员表,数据库单独一条记录 列名 数据类型

会员号

char

定长字符型

会员姓名 varchar 变长字符型

联系号码 varchar 变长字符型 积分值 smallint

短整型

供应商表 列名

数据类型

供应商号 char 定长字符型 供应商名 varchar 变长字符型 联系电话 varchar 变长字符型

商品信息表 列名 数据类型

商品代号 char 定长字符型 商品名 varchar 变长字符型 商品售价 real 实数型 会员价格 real 实数型 库存量 smallint 短整型 供应商 varchar 变长字符型 商品进价 real 实数型 保质期 datetime 日期格式 使用说明 varchar

变长字符型

长度 允许空4 0 10 1 15 1 2

0

长度 允许空 4 0 10 1 15

1

长度 允许空 4 0 20 1 4 1 4 1 2 1 20 1 4 1 8 1 50

1

- 41 -

用户信息表

列名 数据类型 长度 允许空 用户编号 char 定长字符型 4 0 用户姓名 varchar 变长字符型 10 1 用户类型 char 定长字符型 1 1 用户密码 char 定长字符型 4 1

说明: 本数据设计部分只列出与编码实现部分有关的部分表,其余并未给出

5.详细设计

5.1系统模块部分处理

对于超市收银系统,本设计采用如下系统流程,登录操作流程图如下

启动系统 用户登录 进入系统主功能版面 进货 收银 商品管理 营业统计 供货商管理 会员管理 用户管理 系统管理 关于系统 退出系统

系统登录伪代码: 启动系统

进入用户登录模块;

- 42 -

If登录成功

{

进入主界面 弹出导航栏

If 选择模块{转入该模块处理} If 选择关于系统{显示系统信息} If 选择退出

{

调用函数 退出{} } }

Else 显示登录错误信

- 43 -

5.2营业统计部分处理

选择事物 明细管理 年销售统计 月销售统计 日销售统计 导出销售信息 选择操作 进货信息 进货 盘点信息 盘点 输入年份 输入年月 输入年月日 柱状图 显示年营业额 显示月营业额 导出 显示日营业额 N 选择操作 选择操作 导出 导出 N N Y Y Y 柱状图 柱状图 柱状图 删 选择进 货信息 导出 导出 选择盘点信息 柱状图 导出 N 确定选择 确定选择 Y 删除信息 N Y 删除信息 柱状图 删成功? N Y 显示成功 显示失败 删成功? N Y 显示成功 显示失败

营业统计程序流程图

- 44 -

营业统计伪代码: 登录系统

营业统计模块函数() {

If (营业统计模块) {

导航显示:明细管理、年销售售统计、月销售售统计、日销售售统计、导出销售信息; Printf选择信息(明细管理、年销售售统计、月销售售统计、日销售售统计、导出销售售统计?);

If(明细管理) {

Printf选择信息(进货信息或盘点信息?); If(进货) {

Printf“删除或导出” If(删除) { };

If(导出) { } }

Printf “确认?”

If (yes) 删除函数(); Else 退出();

导出进货函数(); 柱状显示函数(); 退出();

If(盘点)

- 45 -

Printf“删除或导出” If(删除) { Printf “确认?” If (yes) 删除函数();

Else 退出();}

If(导出) { 导出盘点函数(); 柱状显示函数(); 退出();

} };

Else 退出();

If(年销售售统计) { Printf“输入对应年” 查找该年营业额(); 显示统计营业额函数(); 导出统计营业额函数(); 柱状显示函数() 退出();

If(月销售售统计) { Printf“输入对应月”

统计该月营业额();

- 46 -

显示统计营业额函数(); 导出统计营业额函数(); 柱状显示函数() 退出();

If(日销售售统计) { Printf“输入对应日” 统计日年营业额(); 显示统计营业额函数(); 导出统计营业额函数(); 柱状显示函数() 退出();

If(导出销售信息) { 导出销售信息函数();

柱状显示函数(); 退出(); } }

Else error();出错处理函数 }

- 47 -

5.3用户管理

选择事物 用户管理 用户信息 帮助 帮助 选择操作 修改用户 添加用户 输入用户信息 删除用户 选择用户 选择用户 指定权限 选择用户 确定删除 保存添加 修改 权限设置 删除用户 保存成功? 确认修改? 确认修改? Y N 删除成功? Y Y N 保存修改 显示成功 Y 修改成功 显示删除N N 显示失败 显示删除成功 失败 Y 显示修改成功 显示删除成功 用户程序流程图

- 48 -

用户管理伪代码: 登录系统

用户管理模块() {

If(用户管理) {

Printf 选择信息“用户操作或帮助?” If(选择用户操作)

查找登录用户权限; If(符合)

Printf选择信息“添加、删除、修改、权限设置?” If 添加 {

提示输入; 输入函数(); 提示保存(); If(保存成功){显示成功;退出();} }

If 删除 {

查找用户;

Printf“确认?” If(YES) {

删除用户;

If 删除成功{显示成功} Else 显示失败 退出() } }

If修改 {

查找用户; 选择用户;

Printf “确认” If (yes)

{

修改; 保存修改

If(成功)显示成功修改失败; Else显示成功修改失败; 退出();

- 49 -

}

Else 退出();

If权限设置 {

查找用户; 选择用户;

Printf “确认” If (yes)

{

指定用户权限 保存修改

If(成功)显示成功修改失败; Else显示成功修改失败; 退出(); }

Else 退出(); } }

Else printf“权限不足”;

If(帮助) {

帮助函数(); 退出(); }

Else error();出错处理函数 }

5.4 商品管理

- 50 -

选择事项 一般商品管理 帮助 帮助 选择操作 打印商品信息报表 打印 添加商品 输入商品信息 删除商品 选择商品 修改商品 选择商品 查找商品 输入查找属性 确定删除 保存添加 修改 删除商品 保存成功? 确认修改? N Y N 删除成功? Y N 保存修改 查找 显示成功 Y 修改成功 显示删除N Y 查找成功 显示失败 显示删除成功 失败 Y N 显示修改成功 显示删除成功 显示查找的商品信息 显示不存在 一般商品管理流程图

- 51 -

商品管理 选择事项 盘点商品管理 帮助 帮助 选择类型 进货管理 输入进货信息 存货管理 扫描商品信息 查找原有商品数量 查找商品数量 计算进货后数量 写入盘点数据库 写入进货数据库 盘点商品管理程序流程图

- 52 -

商品管理 选择事项 商品销售管理 帮助 帮助 输入商品码 查找商品信息 会员 Y 重新计算价格 N 写入销售信息数据库 销售信息 打印小票 商品销售管理程序流程图

商品管理seq

选择事项seq 1:一般商品管理 2:盘点商品管理 3:销售商品管理 4:帮助 选择事项end

商品管理end

- 53 -

一般商品管理seq 选择操作seq 1:添加商品seq 输入商品信息 保存添加 If保存成功 显示成功 Else 显示失败 添加商品end 2:删除商品seq 选择商品 确认删除 删除商品 If删除成功 显示删除成功 Else 显示删除失败 删除商品end 3:修改商品seq 选择商品 修改 If确认修改 保存修改 If修改成功 显示修改成功 Else 显示修改失败 Else 修改商品end 4:查找商品seq 输入输入查找属性 查找 If查找成功 显示查找的商品信息 Else 显示不存在 查找商品end 5:打印seq 扫描商品信息 打印商品信息报表 打印end 选择操作end 一般商品管理end

- 54 -

盘点商品管理seq 选择类型seq 1:进货管理seq 输入进货信息 查找原有商品数量 计算进货后数量 写入进货数据库 进货管理end 2:存货管理seq 扫描商品信息 查找商品数量 写入盘点管理数据库 存货管理end 选择类型end 盘点商品管理end

商品销售管理seq 输入商品码 查找商品信息 If会员 重新计算价格 Else

写入销售信息数据库 查找销售信息 打印小票

商品销售管理end

- 55 -

5.5会员管理

选择事项 会员管理 会员信息 帮助 帮助 选择操作 添加会员 输入会员信息 选择会员 删除会员 保存添加 修改会员 会员值 会员充值 确定删除? 积分管理 积分 会员导出 查找会员 输入查找属性 导出 Y 删除会员 保存成功? 修改 积分兑换 兑换 积分积累 保存修改 删除成功? 积累 Y N 显示成功 修改成功 积分修改 查找 Y N Y N Y 表格显示Y 查找成功 N Y 显示失败 Y 修改成功 显示查找显示成功 N 显示失败 的会员信息 会员管理程序流程 - 56 -

会员管理seq 选择操作seq 1:添加会员seq 输入会员信息 保存添加 If保存成功 显示成功 Else 显示失败 添加会员end

2:选择会员seq 2.1:删除会员 确认删除 删除会员 If删除成功 显示成功 Else 显示失败 删除会员end

2.2:修改会员seq

选择会员 修改 If确认修改 保存修改 If修改成功 显示修改成功 Else 显示修改失败

Else

修改会员end

2.3:会员充值seq

输入会员值 修改 If确认修改 保存修改 If修改成功 显示修改成功 Else 显示修改失败

Else

会员充值end

2.4:积分管理seq

输入积分值 If 积分兑换

- 57 -

积分修改 Else if积分积累 积分修改 If修改成功 显示修改成功 Else 显示修改失败 Else

积分管理end 选择会员end 3:会员导出seq 查找 If查找成功 显示查找的会员信息 表格显示 Else 显示失败 会员导出end

4:查找会员seq 输入查找属性 查找 If查找成功 显示查找的会员信息 表格显示 Else 显示失败 查找会员end 选择操作end 会员管理end

- 58 -

5.6供货商管理

选择事项 供货商管理 供货商信息 帮助 帮助 选择操作 添加供货商 输入供货商信息 删除供货选择供货商 查找供货商 修改供货商 选择供货商 输入查找属性 确定删除? 保存添加 修改 删除供货商 保存成功? 确认修改? N Y N 删除成功? Y N 保存修改 查找 显示成功 Y 修改成功 显示删除N Y 查找成功 显示失败 显示删除成功 失败 Y N 显示修改成功 显示删除成功 显示查找的供应商信息 供货商管理程序流供货商管理seq

- 59 -

选择操作seq 1:添加供货商seq 输入供货商信息 保存添加 If保存成功 显示成功 Else 显示失败 添加供货商end 2:删除供货商seq 选择供货商 确认删除 删除供货商 If删除成功 显示删除成功 Else 显示删除失败 删除供货商end

3:修改供货商seq 选择供货商 修改 If确认修改 保存修改 If修改成功 显示修改成功 Else 显示修改失败

Else

修改供货商end

4:查找供货商seq 输入查找属性 查找 If查找成功 显示查找的供货商信息 Else 显示失败 查找供货商end 选择操作end 供货商管理end

- 60 -

6.编码实现与测试

这部分实现系统功能,由于实验时间限制,本实验只实现系统部分功能,如下所示:

6.1界面设计

6.1.1系统界面简介

此超市收银系统包括七个功能:进货系统;收银系统;商品管理;营业统计;供货管理;会员管理;用户管理;系统管理;关于系统。登录系统后,进入界面后,点击不同的按钮可进入不同的功能模块。

进货系统是供超级管理员使用,用来登记进货信息,在登录时会受到一些权限的限制,必须输入正确的帐号和密码才可进入对供货信息界面。对商品可进行删除、修改、新增操作。

收银系统主要是供普通的管理员(收银员)使用,点击进入收银界面,在正式开始收银时,先点击“更新”按钮以确保本次收银的正确性,若顾客不是会员点击“非会员”按钮,若是会员点击“查找会员”按钮,输入会员号进行会员登录,再点击“查找商品”按钮并在输入商品号后点击“插入”按钮进行打印,在完成一个顾客的所有交易后,输入所收金额,点击“购买”按钮,即进行交易最后的处理,此时界面显示的就是给用户的小票。

商品管理是供超级管理员使用,登录需要密码,实现功能同进货系统。

会员管理用来记录会员信息,点击进入会员信息界面,可对会员记录信息进行新增、修改、删除操作。会员信息界面也可通过进入收银界面点击“加入会员”按钮来进入。

6.1.2各个界面显示介绍

系统登录界面:

- 61 -

超级管理员登录界面:

修改商品信息界面:

- 62 -

显示全部商品信息:

显示全部会员信息:

添加、查找会员信息:

- 63 -

收银界面:

1)

非会员:

2)会员:

- 64 -

6.2测试

商品信息管理模块测试

1、 编写目的:这份测试计划报告书是为了测试本系统是否可行。当输入商品的信息时,测试其信息能不能被完整的保存在数据库中以备日后的查询用;当输入的数据不符合要求时,看系统能不能给出提示;当价格信息修改后,看修改后的信息能不能被系统接受并保存在数据库中。

2、 任务概述 2.1目标

1、商品添加测试:录入商品信息;

2、商品查询测试:输入商品编号,查询商品信息;

3、收银输入测试:通过输入商品编号,查询数据库中商品信息表,并显示出信息;

4、收银业务测试:对输入商品进行计价,输入所收取金额,并计算出找回金额数。

2.2运行环境:Windows 2000/XP 2.3需求概述

为了确定完全涵盖测试需求构建一个“需求树”,为需求树中的每一个需求话题建立了一个详细的目录,描述每一个需求,给它分配一个优先级,如果需要的话还可以加上附件。这些产生的报告和图表可以帮助分析测试需求,检查需求以确保它们在测试范围内。

2.4条件与限制

条件:有测试总体计划书和书写测试用例及测试手册;

限制:目前我们的测试范围非常狭窄,且本软件是我们的初次版本,如果该软件提高版本,本软件需要大量的修改和更新。

3、 计划 3.1测试方案

说明确定测试方法和选取测试用例的原则。

测试工件分为四个阶段:单元测试、组装测试、确认测试、系统测试。 单元测试:采用白盒法和黑盒法相结合的方法,对于逻辑结构复杂的模块采用白

- 65 -

盒法,对于以输入、输出为主的模块采用黑盒法测试,以提高测试的效率。

组装测试:混合法(对软件结构中较上层使用的自顶向下与对软件结构中较下层使用的自底向上方法相结合)。

确认测试:由用户参与按需求规格说明书验收。 系统测试:采用人工测试方法。 3.2测试项目

在测试过程中,首先需要对各子单元过程进行测试,在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块间的接口,最后对系统进行测试和维护。

3.3测试准备

在文件方面要有测试总体计划书、测试用例、测试手册、测试脚本代码。 3.4测试机构及人员 4、测试项目说明

4.1测试项目名称及测试内容

商品信息管理测试:本测试采用黑盒测试法,主要内容是插入商品信息的测试。 4.2测试用例 <1、商品添加测试 测试用例1(正确输入)

【输入】:条形码:1007 商品名称:可口可乐 价格:2.0 【期望输出】:商品录入成功,加入商品列表 【实际输出】:商品录入成功,加入商品列表

- 66 -

测试用例2(已存在的商品)

【输入】:条形码:1001 商品名称:清风面巾纸 价格:4.2 【期望输出】:提示商品已经存在 【实际输出】:提示商品已经存在

测试用例3(需要录入的商品信息缺少或不合法) 【输入】:条形码:空 商品名称:可口可乐 价格:2.0 【期望输出】:提示缺少信息/不合法,焦点转移 【实际输出】:提示缺少信息/不合法,焦点转移 <2、商品查询测试 测试用例1(正常) 【输入】:条形码:1001

【期望输出】:商品列表框中显示该商品,商品名为清风面巾纸 【实际输出】:商品列表框中显示该商品,商品名为清风面巾纸 测试用例2(无该商品) 【输入】:条形码:1008 【期望输出】:提示无此商品编号 【实际输出】:提示无此商品编号

- 67 -

<3、收银录入测试 测试用例1(正确输入)

【输入】:条形码编号:1001 数量:1 【期望输出】:商品信息显示在购物小票列表中 【实际输出】:商品信息显示在购物小票列表中 测试用例2(正确输入,但该商品不允许销售) 【输入】:条形码编号:1001 数量:1 【期望输出】:提示该商品不允许销售 【实际输出】:提示该商品不允许销售 测试用例3(无该商品)

【输入】:条形码:1001 数量:1 【期望输出】:提示用户不存在该商品 【实际输出】:提示用户不存在该商品 测试用例4(数量错误)

【输入】:条形码:1001 数量:0

【期望输出】:提示请输入购买商品的正确数量

- 68 -

【实际输出】:提示请输入购买商品的正确数量 测试用例5(数量输入非数字) 【输入】:条形码:1001 数量:b 【期望输出】:提示请输入数字 【实际输出】:提示请输入数字 <4、收银业务测试 测试用例1(正确输入) 【输入】:实收:50

【期望输出】:应找钱数显示在标签上 【实际输出】:应找钱数显示在标签上 测试用例2(输入比应收的少) 【输入】:实收:10

【期望输出】:提示实收金额输入错误,请检查 【实际输出】:提示实收金额输入错误,请检查

测试用例3(输入非数字) 【输入】:实收:b

【期望输出】:提示请输入数字 【实际输出】:提示请输入数字

- 69 -

测试用例4(没有输入数字) 【输入】:实收:

【期望输出】:提示实收金额输入错误,请检查 【实际输出】:提示实收金额输入错误,请检查 <6、步骤及操作 制定总体测试计划书 书写测试用例和测试手册 编写测试代码 执行测试代码 进行测试总结

<7、允许偏差:输入的数据允许偏差在0.0005-0.01之间 <8、测试资料:用户信息,商品信息 5、评价

5.1范围:在注册用户时,对输入数据的不符合和错误的格式输入都能做出测试,对价格进行调整时,对输入的不符合数据和错误格式能做出测试,增加商品信息时也能做出正常测试,但是当输入的数据过大或字符长度过长时,可能会使程序发生中断而停止执行。

5.2准则 <1、界面友好

<2、程序运行时如果输入有错误会弹出出错或警告对话框

附件一(代码)

系统实现代码

帐号为:0003,密码为:1234 登录程序代码为:

Private Sub Command1_Click() '判断权限与密码 Dim I, M As Integer

- 70 -

If Text4.Text <> 0 Then

M = MsgBox(\"你的权限不允许!\权限错\") If M = 2 Then Form2.Hide Form1.Show Else

'Text1.Text = \"\" 'Text1.SetFocus Text2.Text = \"\" Text2.SetFocus End If

ElseIf Text2.Text <> Text3.Text Then

I = MsgBox(\"密码错\输入密码\") If I = 2 Then End Else

Text2.Text = \"\" Text2.SetFocus End If Else Form2.Hide Form6.Show End If End Sub

Private Sub Label1_Click() '输入帐号 Dim mno As String

mno = InputBox$(\"输入编号\查找\") Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find \"用户编号=\" & mno

- 71 -

If Adodc1.Recordset.EOF Then MsgBox \"无此用户编号!\提示\" Text2.SetFocus End Sub

商品管理程序代码为:

Private Sub Command3_Click() '添加按钮 Adodc1.Recordset.AddNew End Sub

Private Sub Command4_Click() '删除按钮 Dim ask As Integer

ask = MsgBox(\"删除否?\If ask = 6 Then

Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext

If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Adodc1.Refresh End Sub

Private Sub Command5_Click() '更新按钮 Adodc1.Recordset.Update

MsgBox \"商品录入成功,加入商品列表!\提示\" End Sub

Private Sub Command6_Click() '查找按钮 Dim mno As String

mno = InputBox$(\"输入编号\查找\") Adodc1.Recordset.MoveFirst

- 72 -

Adodc1.Recordset.Find \"商品代号=\" & mno

If Adodc1.Recordset.EOF Then MsgBox \"无此商品编号!\提示\" End Sub

会员管理程序代码为:

Private Sub Command2_Click() '查找会员信息按钮 Dim mnob As String

mnob = InputBox$(\"请输入会员号\查找\") Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find \"会员号=\" & mnob, , , 1

If Adodc1.Recordset.EOF Then MsgBox \"无此会员号!\提示\" End Sub

Private Sub Command3_Click() '新增会员信息按钮 Adodc1.Recordset.AddNew End Sub

Private Sub Command4_Click() '删除会员信息按钮 Dim ask As Integer

ask = MsgBox(\"删除否?\If ask = 6 Then

Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext

If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Adodc1.Refresh

- 73 -

End Sub

Private Sub Command5_Click() '更新会员信息按钮 Adodc1.Recordset.Update End Sub

收银管理程序代码为:

Private Sub Command2_Click() '打印小票 Picture2.Cls

Picture2.Print \"应收金额为:\"; Tab(15); sum; \"元\" mo = Val(Text7) – sum If mo<0 then

MsgBox \"提示实收金额输入错误,请检查!\",,\"提示 \" Picture2.Cls Text7.Setfocus Exit sub Else

Picture2.Print \"实收金额为:\"; Tab(15); Text7; \"元\" Picture2.Print \"找零:\"; Tab(12); Val(Text7) - sum; \"元\"

If Text3 <> \" \" Then Picture2.Print \"您的积分值为:\"; Tab(15); Text6; \"元\" Picture2.Print \"-----------------------------------\" Picture2.Print \" 谢谢惠顾,欢迎下次光临! \" Picture2.Print Tab(5); FormatDateTime(Now) End if End Sub

Private Sub Command3_Click() '打印购买信息 Adodc1.RecordSource = \"商品表\" Adodc1.Refresh

Text8.Text=Text8.Text-Text2(0).Text

Adodc1.Recordset(\"库存量\") = Val(Text8.Text)

- 74 -

Adodc1.Recordset.Update

Adodc1.RecordSource = \"会员表\" Adodc1.Refresh If Text3 = \" \" Then

Picture1.Print Tab(0); \"编号\"; Tab(8); \"商品名\"; Tab(20); \"数量\"; Tab(25); \"单价\" Picture1.Print Text1; Tab(8); Text2(1); Tab(20); Text2(0); Tab(25); Text4; sum = sum + Val(Text4) * Val(Text2(0)) Else

Picture1.Print Tab(0); \"编号\"; Tab(8); \"商品名\"; Tab(20); \"数量\"; Tab(25); \"单价\"; Tab(30); \"会员价\"

Picture1.Print Text1; Tab(8); Text2(1); Tab(20); Text2(0); Tab(25); Text4; Tab(30); Text5 sum = sum + Val(Text5) * Val(Text2(0))

Text6.Text = Int(Val(Text6) + Val(Text5) * Val(Text2(0)))

Adodc1.Recordset(\"积分值\") = Val(Text6.Text) Adodc1.Recordset.Update End If

Picture2.Cls

Picture2.Print \"总价为\"; Tab(12); sum; \"元\" End Sub

Private Sub Command4_Click() Form4.Hide Form7.Show End Sub

Private Sub Command5_Click() '查找商品 Dim mno As String

- 75 -

mno = InputBox$(\"请输入商品编号\查找\") Adodc1.RecordSource = \"商品表\" Adodc1.Refresh

Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find \"商品代号=\" & mno

If Adodc1.Recordset.EOF Then MsgBox \"无此商品编号!\提示\" Text2(0).Text = 1 End Sub

Private Sub Command6_Click() '查找会员信息 Dim mnob As String

mnob = InputBox$(\"请输入会员号\查找\") Adodc1.RecordSource = \"会员表\" Adodc1.Refresh

Text6.DataField = \"积分值\" Text3.DataField = \"会员号\" Adodc1.Refresh

Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find \"会员号=\" & mnob

If Adodc1.Recordset.EOF Then MsgBox \"无此会员号!\提示\" End Sub

If Text3 = \" \" Then

Picture1.Print Tab(0); \"编号\"; Tab(8); \"商品名\"; Tab(20); \"数量\"; Tab(25); \"单价\" Picture1.Print Text1; Tab(8); Text2(1); Tab(20); Text2(0); Tab(25); Text4; sum = sum + Val(Text4) * Val(Text2(0)) Else

Picture1.Print Tab(0); \"编号\"; Tab(8); \"商品名\"; Tab(20); \"数量\"; Tab(25); \"单价\"; Tab(30); \"会员价\"

Picture1.Print Text1; Tab(8); Text2(1); Tab(20); Text2(0); Tab(25); Text4; Tab(30); Text5

- 76 -

sum = sum + Val(Text5) * Val(Text2(0))

Text6.Text = Int(Val(Text6) + Val(Text5) * Val(Text2(0)))

Adodc1.Recordset(\"积分值\") = Val(Text6.Text) Adodc1.Recordset.Update End If

Picture2.Cls

Picture2.Print \"总价为\"; Tab(12); sum; \"元\" End Sub

Private Sub Command4_Click() Form4.Hide Form7.Show End Sub

Private Sub Command5_Click() '查找商品 Dim mno As String

mno = InputBox$(\"请输入商品编号\查找\") Adodc1.RecordSource = \"商品表\" Adodc1.Refresh

Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find \"商品代号=\" & mno

If Adodc1.Recordset.EOF Then MsgBox \"无此商品编号!\提示\" Text2(0).Text = 1 End Sub

Private Sub Command6_Click() '查找会员信息 Dim mnob As String

- 77 -

mnob = InputBox$(\"请输入会员号\查找\") Adodc1.RecordSource = \"会员表\" Adodc1.Refresh

Text6.DataField = \"积分值\" Text3.DataField = \"会员号\" Adodc1.Refresh

Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find \"会员号=\" & mnob

If Adodc1.Recordset.EOF Then MsgBox \"无此会员号!\提示\" End Sub

附件二

参考文献:

张海藩.软件工程导论(第五版).清华大学出版社,2008

王珊,萨师煊.数据库系统概论(第四版).高等教育出版社,2006

龚沛曾,陆慰民,杨志强.Visual Basic程序设计与应用开发教程.高等教育出版社(第一版),2004年

- 78 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- zrrp.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务