书店POS机--细化迭代2:2.2+2.3+4.2.1

2024-01-18 14:20
文章标签 2.2 4.2 迭代 2.3 书店 细化 pos

本文主要是介绍书店POS机--细化迭代2:2.2+2.3+4.2.1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

2.2需求规格说明

A.    系统用例图

B. 用例详述文本。

处理销售

范围:书店收银处——POS机应用

级别:用户目标

主要参与者:收银员

涉众及其关注点:

-收银员:希望能够精准、快速地输入。希望能够自动地计算用户及商品所持折扣,且无支付错误

-顾客:希望以最小代价完成购物活动并得到快速服务。希望能自动识别顾客类型,享受相应优惠 。

          希望便捷、清晰地看到所输入的商品项目和价格。希望得到购物票据,以便退货

-经理:希望能够实时快速地实行超控操作,以便及时纠正收银员的不当操作

-政府税收代理:希望能及时收取每笔交易应收的税金

-书店:希望准确地记录交易,满足顾客需求。希望能够自动、快速地更新账务和库存信息。

前置条件:收银员必须经过确认和认证

成功保证:建立新的销售单,准确输入商品信息,准确计算税金,准确计算商品总价。

主成功场景:

1.顾客携带所购商品到收银台通过POS机付款

2.收银员开始一次新的销售交易

3.收银员输入商品条码

4.系统逐条记录出售的商品,并显示该商品的描述、价格和累计额

收银员重复3~4步,直到输入结束

5.收银员选择客户可享受的折扣

6.系统显示总价

7.系统打印票据

扩展(或替代流程):

*a.经理在任意时刻要求进行超控操作:

1.   系统进入经理授权模式

2.   经理执行经理模式的操作。如,回复其他登录者中断的销售交易,取消销售交易等

3.   系统回复到收银员授权模式

 *b.系统在任意时刻失败:

1.   收银员重启系统,登录,请求恢复上次状态

2.   系统重建上次状态

2a.系统在恢复过程中检测到异常:

1.   系统向收银员提示错误,记录此错误,并进入一个初始状态

2.   收银员开始一次新的销售交易

1a.客户或经理需要恢复一个中断的销售交易

1.   收银员执行恢复操作,并且输入ID以提取对应的销售记录

2.   系统显示被恢复的销售交易状态及其小计

2a.未发现对应的销售记录

1.  系统向收银员提示错误

2.  收银员可能会开始一个新销售交易,并重新输入所有商品

3.   收银员继续该次销售交易

3a.无效商品ID:

1.  系统提示错误并拒绝输入该ID

2.  收银员响应该错误

2a.商品ID可读(例如通用产品代码):

1.  收银员手工输入商品ID

2.  系统显示商品项目的描述和价格

2a.无效商品ID:系统提示错误。收银员尝试其他方法

2b.系统内不存在该商品ID,但是该商品附有价签:

1.  收银员请求经理执行超控操作

2.  经理执行相应的超控操作

3.  收银员选择手工输入价格,输入价签上的价格,并且请求对该价目进行标准计税

2c.收银员通过执行寻找产品帮助以获取正确的商品ID及其价格

2d.收银员可向其他员工询问商品ID或价格,然后手工输入ID或价格

3b.当有多个商品项目属于同一类别的时候(如2件相同的上衣),不必记录每个商品项目的唯一标识:

1.  收银员可以输入类别的标识和商品的数量。

3-6a.顾客要求收银员从所购商品中去掉一项:

1.      收银员输入商品ID并将其删除

2.      系统删除该项目并显示更新后的累计额

3-6b.顾客要求收银员取消销售交易

1.  收银员在系统中取消销售交易

3-6c.收银员延迟销售交易

1.      系统记录销售交易信息,使其能够在任何POS登录中恢复操作

2.      系统显示用来恢复销售交易的“延迟票据”,其中包含商品项目和销售交易ID

5a.顾客符合打折条件:

1.      顾客是会员:

2.      输入顾客会员卡号

3.      系统按照打折规则显示折扣总计

处理退货

范围:书店收银处——POS机应用

级别:用户目标

主要参与者:收银员

涉众及其关注点:

-仓库管理人员:希望能够方便快捷管理仓库存储。希望能清楚跟进商品入库、出库情况。

-收银员:希望能够精准、快速地输入。希望能够快速处理退货流程,且退货无误。

-顾客:希望以最小代价完成退货活动。希望便捷地取回退款。希望得到退货凭证。

-经理:希望能够实时快速地实行超控操作,以便及时纠正收银员的不当操作。

-书店:希望准确地记录交易,满足顾客需求。希望能够自动、快速地更新账务和库存信息

前置条件:收银员必须经过确认和认证

成功保证:建立新的销售单,准确输入商品信息,准确计算税金,准确计算商品总价。

主成功场景:

1.   顾客携带所购商品到收银台通过POS机进行退货

2.   收银员确认商品是否可进行退货处理

3.   收银员登录售后服务界面,选择售后服务具体项目:退货

4.   收银员输入商品条码

5.   系统逐条记录需退商品信息,并显示该商品的描述、价格和累计额

6.   收银员重复5~6步,直到输入结束

7.   收银员确定

8.   系统显示总价

9.   收银员退回相应金额

10.  系统记录退货信息,打印凭证

扩展(或替代流程):

*a.经理在任意时刻要求进行超控操作:

1.   系统进入经理授权模式

2.   经理执行经理模式的操作。如,回复其他登录者中断的退货流程,取消退货等。

3.   系统回复到收银员授权模式。

 *b.系统在任意时刻失败:

1.   收银员重启系统,登录,请求恢复上次状态。

2.   系统重建上次状态

2a.系统在恢复过程中检测到异常:

1.   系统向收银员提示错误,记录此错误,并进入一个初始状态。

2.   收银员开始一次新的销售交易。

1a.客户或经理需要恢复一个中断的销售交易。

1.   收银员执行恢复操作,并且输入ID以提取对应的销售记录。

2.   系统显示被恢复的销售交易状态及其小计。

2a.未发现对应的销售记录。

1.  系统向收银员提示错误

2.  收银员可能会开始一个新销售交易,并重新输入所有商品。

3.   收银员继续该次销售交易。

2a.不可进行退货操作

1.      超过退货期限,系统不予退货

2.      货品售出后不允许退货

4a.无效商品ID:

1.  系统提示错误并拒绝输入该ID

2.  收银员响应该错误

2a.商品ID可读(例如通用产品代码):

1.  收银员手工输入商品ID

2.  系统显示商品项目的描述和价格

2a.无效商品ID:系统提示错误。收银员尝试其他方法

2b.系统内不存在该商品ID,但是该商品附有价签:

1.  收银员请求经理执行超控操作

2.  经理执行相应的超控操作

3.  收银员选择手工输入价格,输入价签上的价格,并且请求对该价目进行标准计税

2c.收银员通过执行寻找产品帮助以获取正确的商品ID及其价格

2d.收银员可向其他员工询问商品ID或价格,然后手工输入ID或价格

3b.当有多个商品项目属于同一类别的时候(如2件相同的上衣),不必记录每个商品项目的唯一标识

1.  收银员可以输入类别的标识和商品的数量

3-6a.顾客要求收银员从所购商品中去掉一项:

3.      收银员输入商品ID并将其删除

4.      系统删除该项目并显示更新后的累计额。

3-6b.顾客要求收银员取消销售交易

1.  收银员在系统中取消销售交易。

9a.系统退款受阻

1.存钱抽屉现金不足,请求经理超控操作1a.

10a.打印凭证受阻

1.缺少纸张,补充纸张

管理库存

范围:书店仓库——POS机应用

级别:用户目标

主要参与者:仓库管理人员

涉众及其关注点:

-仓库管理人员:希望能够方便快捷管理仓库存储。希望能清楚跟进商品入库、出库情况。

-经理:希望能够实时快速地实行超控操作,以便及时纠正仓库管理人员的不当操作。

-书店:希望准确地记录商品的出库入库,满足书店日常运营需求。希望能够自动、快速地更新账务和库存信息

前置条件:仓库管理人员必须经过确认和认证

成功保证:建立新的入/出库单据,准确记录商品信息,准确计算账款,详细记录每件入库商品的后续操作步骤及商品价格

主成功场景:

1.      仓库管理人员登录POS机仓储管理界面

2.      系统提示选择管理项目:入库,库内管理,出库

3.      仓库管理人员选择管理项目:A1选择入库   A2:仓库商品管理   A3:选择出库

4.       系统做出相关处理

A1选择入库:

1.      仓库管理人员录入入库商品信息(商品ID等)

2.      仓库管理人员输入入库商品存放地点

3.      系统更新相关入库商品的库内商品信息

4.      仓库管理人员重复1~3步,直到输入结束

5.      系统打印商品入库报表

A2:仓库商品管理

1.      仓库管理人员选择管理项目:仓库商品管理

2.      仓库管理人员录入库内管理商品条目

3.      仓库管理人员输入库内管理具体项目(商品ID等)

4.      系统更新相应库内商品信息

5.      仓库管理人员重复1~4步,直到输入结束

6.      系统打印商品库内管理报表

A3:选择出库

1.      仓库管理人员选择管理项目:选择出库S

2.      仓库管理人员录入出库商品信息(商品ID等)

3.      系统显示出库商品存放地点

4.      系统更新相关出库商品的库内商品信息

5.      仓库管理人员重复1~4步,直到输入结束

6.      系统打印商品出库报表

扩展(或替代流程):

*a.经理在任意时刻要求进行超控操作:

1.   系统进入经理授权模式

2.   经理执行经理模式的操作。如,查看并清点库存情况

3.   系统回复到仓库管理人员授权模式。

 *b.系统在任意时刻失败:

1.   收银员重启系统,登录,请求恢复上次状态。

2.   系统重建上次状态

2a.系统在恢复过程中检测到异常:

1.   系统向仓库管理人员提示错误,记录此错误,并进入一个初始状态。

2. 仓库管理人员开始一次新的销售交易。

2a.不可进行退货操作

3.      超过退货期限,系统不予退货

4.      货品售出后不允许退货

2a.无效商品ID:

1.  系统提示错误并拒绝输入该ID

1a. 修改ID为正确ID

2.  该商品暂无ID号

2a. 为此商品新建ID号,录入商品信息,保存新ID号

3b.当有多个商品项目属于同一类别的时候(如2件相同的上衣),不必记录每个商品项目的唯一标识

1.  仓库管理人员可以输入类别的标识和商品的数量

特殊需求:

1.         使用大尺寸平面显示器触摸屏UI。文本信息可见距离为1米

2.         在访问远程服务失败的情况下具有比较强的恢复功能

3.         支持文本显示的语言国际化

技术与数据变元表:

*a.店长超控需要刷卡(由读卡器读取超控卡)或在键盘上输入授权码。

3a.商品ID可以用条码扫描器或键盘输入。

发生频率:可能会不断地发生。

2.3 补充性规格说明

功能性

1.可插拔规则

在几个用例的不同场景点执行任意一组规则,以支持对系统功能的定制。

2.安全性

任何使用都需要经过用户认证。

可用性

1.店员能够看到POS屏幕显示器的显示:

l  在1米外能够轻松的看到显示器上的文本。

l  避免使用一般色盲人群难以辨认的颜色。

2.快捷、准确的销售交易处理及其重要,因为购买者希望快速结束支付过程,否则会给他们的购买体验带来负面影响。

3.店员的视线通常停留在顾客或商品,而不是计算机显示器上,因此,提示和告警应该通过声音传递而不仅仅是通过图像传递。

4. POS机扫描能在较远距离扫描物品,尽量避免需拆封包装或书本翻页才能扫描到商品条码。

可靠性

1.可恢复性

如果在使用外部服务(支付授权、账务系统等)时出现错误,为了完成销售交易,需要尝试才用本地方案(如存储和转发)加以解决。

2.   自动备份

每笔交易或每次操作后系统自动记录上一次交易明细,便于经理或收银员回看某笔交易或定期的操作检查

3.性能

购买者希望非常快速的完成销售处理过程,因此,外部的支付授权是瓶颈之一,我们的目标是:90%的情况下,能够在1分钟之内完成授权。

购买构件

税金计算器,必须支持用于不同国家的可插拔计算器。

接口

1.  重要硬件和接口

l  显示屏(显示POS系统)。

l  条形码激光扫描仪(通常附加在一种特殊键盘上,扫描输入在软件中视为键盘输入)。

l  票据打印机

l  信用卡、借记卡读卡器

2.  软件接口

由于存在众多外部协作系统,如税金计算器,账务,库存等,我们需要采用不同的接口,接入不同的系统。

所关注领域内的信息

1.信用卡和借记卡支付处理

当支付授权服务批准了信用卡或借记卡支付后,将由支付授权服务而不是买方来负责对卖方的支付。因此,对于每笔支付,卖方都需要将授权服务的未付金额记录于其应收账户下。通常,授权服务在每晚执行电子转账操作,将卖方当天的应收总额转入其账户下,同时对每笔交易扣除(少量的)服务费。

2.销售税

对税金计算采用税金计算器计算。

4.2.1 输入设计

(1)输入商品编号后,通过ajax来加载商品的信息,更新总的价格

(2)结算时填写用户编号后通过ajax验证用户信息,如果此用户存在的话提交订单,否则提示系统不存在此用户,要求重新输入

(3)提交订单后系统提示订单是否保存成功,等待支付

转载于:https://my.oschina.net/iamchenli/blog/402700

这篇关于书店POS机--细化迭代2:2.2+2.3+4.2.1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/619278

相关文章

迭代器模式iterator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/iterator 不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素

多线程篇(阻塞队列- LinkedBlockingDeque)(持续更新迭代)

目录 一、LinkedBlockingDeque是什么 二、核心属性详解 三、核心方法详解 addFirst(E e) offerFirst(E e) putFirst(E e) removeFirst() pollFirst() takeFirst() 其他 四、总结 一、LinkedBlockingDeque是什么 首先queue是一种数据结构,一个集合中

【CSS in Depth 2 精译_024】4.2 弹性子元素的大小

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

2.3多任务编程示例1

1.CUBEMAX配置  2.CODE void StartTask1(void const * argument){/* USER CODE BEGIN StartTask1 */TickType_t pxPreviousWakeTime=xTaskGetTickCount();/* Infinite loop */for(;;){LED1_Turn();// vTaskDelay

多线程篇(阻塞队列- LinkedBlockingQueue)(持续更新迭代)

目录 一、基本概要 1. 构造函数 2. 内部成员 二、非阻塞式添加元素:add、offer方法原理 offer的实现 enqueue入队操作 signalNotEmpty唤醒 删除线程(如消费者线程) 为什么要判断if (c == 0)时才去唤醒消费线程呢? 三、阻塞式添加元素:put 方法原理 图解:put线程的阻塞过程 四、非阻塞式移除:poll方法原理 dequ

六、我们应当怎样做需求调研:迭代

前面我一直在反复强调这样一个观点,需求分析不是一蹴而就的,是一个反复迭代的过程。它将从第一次需求分析开始,一直持续到整个项目生命周期。为什么这样说呢?让我们一起来分析分析。  在第一次的需求分析阶段,我们在一段时期内需要与客户进行反复地讨论,这个过程往往是这样一个反复循环的过程:需求捕获->需求整理->需求验证->再需求捕获••••••  需求捕获,就是我们与客户在一起开研讨会

多线程篇(阻塞队列- ArrayBlockingQueue)(持续更新迭代)

目录 一、源码分析 1. 先看个关系图 2. 构造方法 3. 核心属性 4. 核心功能 入队(放入数据) 出队(取出数据) 5. 总结 一、源码分析 1. 先看个关系图 PS:先看个关系图 ArrayBlockingQueue是最典型的有界阻塞队列,其内部是用数组存储元素的, 初始化时需要指定容量大小利用 ReentrantLock 实现线程安全。 在生产者

多线程篇(并发相关类- 原子操作类)(持续更新迭代)

目录 前言 一、原子变量操作类(AtomicLong为例) 1. 前言 2. 实例 二、JDK 8新增的原子操作类LongAdder 三、LongAccumulator类原理探究 前言 JUC包提供了一系列的原子性操作类,这些类都是使用非阻塞算法CAS实现的,相比使用锁实现原子性操作这在性能上有很大提高。 由于原子性操作类的原理都大致相同,这里讲解最简单的AtomicLo

PMP–一、二、三模–分类–14.敏捷–技巧–帮助团队交付价值的执行实践迭代和增量如何帮助交付工作产品

文章目录 技巧一模14.敏捷--实践--帮助团队交付价值的执行实践--持续集成--在不同层面测试、验收测试驱动开发 (ATDD) 、测试驱动开发和行为驱动开发、刺探 。90、 [单选] 敏捷项目的第一次迭代即将开始。发起人召集团队、Scrum主管、产品负责人和其他项目干系人参加启动会议。发起人强调需要在项目尽可能早的时候以最小的成本识别和应对项目风险。与会者实现发起人要求的最佳方式是什么?

设计模式-行为型模式-迭代器模式

1.迭代器模式的定义         迭代器模式提供一种对容器对象中的各个元素进行访问的方法,而不需要暴露该对象的内部细节;         在软件系统中,容器对象有两个职责:一是存储数据,二是遍历数据;从依赖性上看,前者是基本职责,而后者是可以变化的,又是可以分离的,因此可以将遍历数据的行为从容器中抽取出来,封装到迭代器对象中,由迭代器来提供遍历数据的行为,这将简化聚合对象的设计,更加符合单