细化迭代3:实现收银用例

2024-01-18 14:20

本文主要是介绍细化迭代3:实现收银用例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2.1业务建模

A. 业务流程建模。

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

170640_LHpU_2331679.jpg

u  使用文字对流程中每个活动的涉众、业务规则、使用到的单据进行必要的说明。 使用到的单据有购物清单,在输入食品的同时,向数据库发出请求打折,得到打折后食品价格。

 

 

        B. 领域建模。

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

170816_Fn38_2331679.jpg

 

2.2需求规格说明

用例详述文本。

范围:快餐店POS机应用

级别:用户目标

主要参与者:快餐店收银员

涉众及其关注点:

—收银员:希望能够准确适用该系统完成收银的任务,因为收银错误将导致收银员的工资提成收到影响。

—顾客:希望能够清楚便利地看到所购买套餐的价格,并且快捷不浪费。

—公司:希望该系统准确地记录交易,方便公司记录商品库存,总结月销售额报表之类的。

—经理:希望能进行超控操作,更正系统出现的问题,并管理该系统的权限。

—政府税收管理:希望能从每笔交易中抽取税金。发票完整。

前置条件:收银员必须准确输入自己账号密码并进入系统。

后置条件:存储销售信息,准确计算折扣,更新账务和库存消息。生成票据。

主成功场景:

1.顾客到POS机旁点餐。报出自己想要点的食品。

2.收银员开始一项新的交易。

3.收银员根据顾客的点餐要求,逐条向系统输入商品的条码。

4.POS机准确地记录每条食品,并将价格逐条显示在显示屏上,准确计算出累计额。

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

5.系统显示总金额。

6.收银员告知顾客总额,请顾客付款。

7.顾客付款,系统处理支付。

8.系统记录销售信息,并在数据库后台更新销售信息和库存。

9.系统打印票据。

10.顾客携带票据离开。

扩展:

*a.系统在任意时候失败。

   1.收银员重启系统

   2.经理检查系统是否出现错误。

3a.顾客是VIP并要求打折

   1.收银员在系统上点击打折,并将食品价格转变为打折后的。

4a.系统显示商品价格错误

   1.经理登陆系统并修正食品价格。

5a.系统显示金额错误

   1.收银员重新输入。

   2.收银员重新计算金额

     2a.系统仍然报错

        1.经理检查并恢复系统。

8a.系统不能正确进行数据的更新。

   1.经理登陆系统并检查错误恢复。

特殊需求:

·使用大尺寸显示屏方便观看。

·在访问系统失败时可以恢复系统

 

 

 

 

 

2.3 补充性规格说明

POS收银部分补充性规格说明

简介:本文档记录了POS收银未在用例中描述的需求。

功能性

1.日志和错误处理

在持久性存储中记录所有错误。

2.安全性

在系统使用需要经过用户认证。

可用性

人性因素

顾客将能看到POS屏幕的显示

·应该在1米外轻松看到文本。

·避免使用色盲人群难以辨认的颜色。

快捷的操作系统很重要,不方便的购物使得顾客会有一个不好的购物体验。

可靠性

1.可恢复性

在系统出现任何错误时希望系统能够尽快回复。

可支持性

1.可配置性:

Pos机要求能够在修改价格的能力,比如打折。

接口:

1.重要硬件和接口

·票据打印机

2.软件接口

采取不同的接口接入税金计算器等等外部协作系统。

应用的业务规则:

ID规则可变性来源
规则1
购买者折扣规则。

示例:

顾客:20%折扣额

每个零售商有不同规则
快餐店政策
规则2

销售降价规则

示例:

每周一下午2点到6点超值套餐降至15

每个零售商有不同规则
快餐店政策
规则3产品折扣规则

示例:

鸡腿堡每周二折扣额为10%

每个零售商有不同规则
快餐店政策

所关注领域内的信息

1.销售税

这个的计算可能会十分复杂,并且会根据政府政策有所变更。

4.3 UC1,UC2的相关数据库

E-R模型:

135320_aBab_2331679.jpg

数据库表:

135343_7tNw_2331679.png


转载于:https://my.oschina.net/u/2331679/blog/408915

这篇关于细化迭代3:实现收银用例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

基于SpringBoot实现文件秒传功能

《基于SpringBoot实现文件秒传功能》在开发Web应用时,文件上传是一个常见需求,然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余,此时可以使用文件秒传技术通过识别重复... 目录前言文件秒传原理代码实现1. 创建项目基础结构2. 创建上传存储代码3. 创建Result类4.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分