41 组细化迭代2文档(2.2、2.3)

2024-01-18 14:20
文章标签 文档 41 2.2 迭代 2.3 细化

本文主要是介绍41 组细化迭代2文档(2.2、2.3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2.2 需求规格说明

A.系统用例图

183407_e4Ak_2330512.jpg

B.用例详述文本

用例UC1:处理销售

主要参与者:收银员

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

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

主成功场景:

1.顾客携带所需购买的商品到收银台结账。

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

3.收银员逐条输入商品的条码。

4.系统逐条记录出售的商品,并显示该商品的描述、价格等信息以及购买的数量和累计金额。

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

5.系统显示购物总价和折扣额。

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

7.顾客选择支付方式并进行付款,系统处理支付。

8.系统记录销售信息,并更新账务和库存。

9. 系统打印票据。

10.顾客携带商品和票据离开。

扩展:

a. 系统管理员在任意时刻要求进行超控操作:

    1.系统进入系统管理员授权模式。

    2.管理员执行某一项管理员模式的操作。例如:更改商品价格等。

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

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

    为了支持恢复和更正账务处理,要保证所有交易的敏感状态和事件都能够从场景的任何一步中完全恢复。

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

   2.系统恢复初始状态。

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

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

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

1a.管理员需要中断一个销售交易:

    1.收银员恢复操作,系统提示错误。

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

2-4a.顾客向收银员出示会员卡或者报上手机号码:

    1.收银员输入卡号或手机号进行核实。

    2.系统记录该状况编码(最后计算折扣时使用)。

3a. 无效商品条码:

    1.系统无法输入该条码。

    2.收银员响应该错误。

2a.商品条码可读:

   1.收银员手工输入商品条码。

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

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

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

               2.管理员执行相应的超控操作。

               3.收银员选择手工输入价格,输入价签上的价格。

3b.当有多个商品属于同一类别时,不必记录每个商品的条码:

    1.收银员可以直接输入商品数量。

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

    1.收银员选择商品并将其删除。

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

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

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

4a.系统定义的商品价格不是顾客预期的价格(顾客对此产生抱怨并要求降价):

    1.收银员请求管理员批准。

    2.管理员执行超控操作。

    3.管理员手工输入超控后的价格。

    4.系统显示新价格。

6a.顾客要求现金支付,但所携现金不足:

    1.顾客要求使用其他支付方式。

  1a.顾客要求取消此次销售交易,收银员在系统上取消该销售交易。

7a.现金支付:

    1.收银员输入收取的现金额。

    2.系统显示找零金额并弹出现金抽屉。

    3.收银员放入收取的现金并给顾客找零。

    4.系统记录该销售交易。

7b.刷卡支付:

    1.收银员刷卡。

    2.系统显示其支付信息以备确认。

    3.收银员确认。

3a.收银员取消付款步骤。

      1.系统回复到“商品输入”模式。

    4.系统向外部支付授权服务系统发送支付授权请求,并请求批准该支付。

7c.收银员取消支付步骤:

    1.系统回复到“商品输入”模式。

9a. 打印票据:

    1.如果系统检测到错误,给出提示。

    2.收银员更换纸张。

    3.收银员请求打印其他票据。

 

用例UC2:处理退货

主要参与者:收银员

前置条件:收银员必须经过确认和认证。购物票据和所购商品必须得到确认。

后置条件:存储退货信息。准确计算退货总价。更新账务和退货信息。生成退货票据。

主成功场景:

    1.顾客携带商品和小票到收银台通过POS机退货。

    2.收银员确认符合退货规定。

    3.收银员开始一次新的退货交易。

    4.收银员输入退货票据号,系统显示相关信息。

    5.顾客告知所需退货商品,收银员一一记录并输入系统。

    6.系统显示退货总额,收银员告知顾客。

    7.顾客确认,收银员打印退货票据并退款。

    8.收银员请顾客核实退货金额,以免纠纷。

    9.顾客携带现金和票据离开。

扩展:

a.系统管理员在任意时刻要求进行超控操作:

    1.系统进入系统管理员授权模式。

    2.管理员执行某一项管理员模式的操作。例如:更改商品价格等。

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

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

    为了支持恢复和更正账务处理,要保证所有交易的敏感状态和事件都能够从场景的任何一步中完全恢复。

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

    2.系统重建初始状态。

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

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

    2.收银员开始一次新的退货处理。

1-4a.票据时间超出退货期限:

    1.收银员告知顾客商品无法退回。

            1a.顾客不接受,收银员解释退货规则,若仍不接受,请示上级。

    2.顾客取消退货,离开。

1-4b.票据号无法识别:

    1.收银员通过查询购买日期寻找票据信息。

            1a.若扔无法找到销售信息,告知顾客。

                1.顾客取消退货,离开

                2.顾客不接受,收银员解释退货规则,若仍不接受,请示上级。

1-4c.商品类别或使用情况等不符合退货规则:

    1.收银员告知顾客商品无法退回。

            1a.顾客不接受,收银员解释退货规则,若仍不接受,请示上级。

    2.顾客取消退货,离开。

7a.顾客对退货数量存在异议:

    1.收银员核实顾客要求,把商品从退货表中去掉。

    2.系统显示处理后的退货累计额。

7b.顾客要求收银员取消退货:

    1.收银员在系统中取消退货。

7c.打印票据:

    1.系统提示纸张不足。

    2.收银员更换纸张。

 

2.3 补充性规格说明

1.功能性

        a.日志,记录交易数据以及错误处理

        b.提供每月定时报表以及任意时限报表

2.可靠性

        a.系统必须保证稳定敏捷(如购买商品过多或当月报表数据量过大)

        b.系统可恢复(若发生上述情况,不幸系统崩溃)

3.可用性

        a.如1米外轻松看到文本

        b.避免使用色盲人群难以辨别的颜色

4.安全性

        a.每次交易都必须通过简单的用户验证

5.数据备份

        a.每天备份数据以便系统恢复

6.数据导入导出

        a.每月或每周导出数据,保持系统稳定敏捷

7.接口和重要硬件(支持网银、信用卡支付接口)

        a.触摸屏

        b.信用卡和签名读取机

        c.激光扫描仪(二维码,条形码)

        d.票据打印机

转载于:https://my.oschina.net/u/2330512/blog/402878

这篇关于41 组细化迭代2文档(2.2、2.3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

迭代器模式iterator

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

Python脚本:TXT文档行数统计

count = 0 #计数变量file_dirs = input('请输入您要统计的文件根路径:')filename = open(file_dirs,'r') #以只读方式打开文件file_contents = filename.read() #读取文档内容到file_contentsfor file_content in file_contents:

bcolz文档

原文:http://bcolz.blosc.org/en/latest/reference.html First level variables bcolz.__version__'''bcolz包的版本。''' bcolz.dask_here'''是否检测到dask的最低版本。''' bcolz.min_dask_version'''需要dask的最低版本(dask是可选

WordPress开发中常用的工具或api文档

http://php.net/ http://httpd.apache.org/ https://wordpress.org/ https://cn.wordpress.org/ https://core.svn.wordpress.org/ zh-cn:开发者文档: https://codex.wordpress.org/zh-cn:%E5%BC%80%E5%8F%91%E8%80%

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

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

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

Python知识点:使用Python进行PDF文档处理

使用 Python 进行 PDF 文档处理可以通过多种库来实现,包括 PyPDF2、pdfplumber、reportlab、pdfminer 等。这些库可以处理不同的 PDF 任务,例如 提取文本、拆分合并 PDF、修改 PDF、生成 PDF 等。以下是几种常见操作及对应的库和代码示例。 1. 安装常用库 首先,安装常用的 PDF 处理库: pip install PyPDF2 pdfpl