书店POS机--需求分析-2.1、2.2、2.3

2024-01-18 14:20
文章标签 分析 2.2 需求 2.3 2.1 书店 pos

本文主要是介绍书店POS机--需求分析-2.1、2.2、2.3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

2 需求分析

2.1业务建模

业务建模(Business Modeling)对领域内企业管理和业务对象进行建模。包括业务流程建模和领域建模。业务流程建模描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向。领域建模是从现实的问题域中找到最有代表性的概念对象,抽象成分析类

A. 业务流程建模。

u      使用UML活动图分析目标系统所支持的业务流程

Ø   业务流程 

购物(Shop and Fill Cart):顾客

处理购物车商品(Enter Cart Items)收银员、顾客

计算折扣及税率(Calculate Taxes and Discounts):收银员、经理、支付授权服务方、地方税局

生成单据(Create Receipt):收银员、顾客

Ø   业务规则

业务流程

业务规则

处理购物车商品

1.      购物车内所有商品都要录入系统

2.      无法扫描识别的商品可手动输入商品编码

3.      重复多件的商品可在扫描其中一件商品后手动更改商品数量

计算税率及折扣

1.      实时更新最新商品折扣或顾客优惠(如:书店过刊有固定优惠,书店vip客户有固定折扣)

消费(刷卡或支付现金)

1.      核对银行卡卡号

2.      核对顾客签名

3.      验证钞票真伪

生成单据

1.      每笔交易成功后都应生成一张对应单据

2.      不可随意更改单据内容

3.      书刊若有附带赠刊,需在单据中显示,但价格自动变为0

Ø   使用到的单据:

单据

明细

交易单据

记录商品条目信息,如:名称、数量、优惠折扣、总额等

退换货单据

记录退换货商品信息、退换货日期、经手人及其签名等

发票

记录商品类型、抬头、发票日期、商品金额等

 

        B. 领域建模。

     使用UML类图构建领域模型。

     

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.销售税

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

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

这篇关于书店POS机--需求分析-2.1、2.2、2.3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.