UML 用例规约

UML 用例规约用例规约用例图是骨架 而用例规约则是其内在的肉用例文档的核心 而用例图作为用例文档的总图 nbsp 1 前置条件 把它们看做是看门人 它阻止参与者触发该用例直到满足所有条件 说明在用例触发之前什么必须为真 nbsp 2 后置条件 对于有多个事件流的用例 则应该有多个后置条件 用例执行后什么必须为真 nbsp 3 事件流描述要点 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 3 0 成功场

用例规约

  1. 用例图是骨架,而用例规约则是其内在的肉
  2. 用例文档的核心,而用例图作为用例文档的总图

 1.前置条件:把它们看做是看门人,它阻止参与者触发该用例直到满足所有条件(说明在用例触发之前什么必须为真)

 2.后置条件:对于有多个事件流的用例,则应该有多个后置条件(用例执行后什么必须为真)

 3.事件流描述要点:

 

               UML 用例规约

 

    3.0 成功场景(正常事件流的描述)

                        
扩展场景(备选事件流)
                          
UML 用例规约
 

3.1.只书写“可观测”的

UML 用例规约

 

3.2.使用主动语句 

UML 用例规约

 

3.3.句子必须以参与者或系统作为主语

UML 用例规约

 

3.4.不要涉及界面细节(下面是反例)

UML 用例规约

 

3.5.分支和循环 

UML 用例规约

 

 

 

用例规约文档参考模版

用例规约文档参考模板如下:(也可参考其他模板,红色表示必须填写的部分)

 

用例名称

处理销售

用例编号

POS001

执行者

收银员

用例简述

该用例规定了收银员如何利用系统进行销售过程的处理。

涉众及兴趣

收银员:希望能够准确、快速的输入,而且没有支付错误,因为收银员如果少收了钱,就要从他的薪水中扣除相应的金额。

顾客:希望购买过程能够省力,并得到快速的服务,希望得到购买证明,以便退货。

公司:希望准确地记录交易,并满足顾客的要求。希望保证支付授权服务的信息被记录。希望有一定的容错性,即使某些服务暂时不可用(如远程信用卡验证)也能允许收款。希望能够自动、快速的更新帐目和库存信息。

支付授权服务:希望按照正确的格式和协议收到数字授权的请求,希望准确计算给商店的应付款。

前置条件

收银员必须已经被正确识别和授权。

后置条件

存储销售信息,更新帐目和库存信息,生成收据,记录支付授权服务的许可。

基本流程

1.顾客携带购买的商品或服务达到POS机收费口。

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

3.收银员输入商品标识。

4.系统记录单件商品,并显示该商品的描述、价格和累加值。价格可以根据一套定价规则来计算。收银员重复3-4步,直到结束。

5.系统显示总值。

6.收银员请顾客付款。

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

8.系统记录完整的销售信息,并将销售和付款信息发送到外部的记帐系统(进行记帐)和库存系统(更新库存)。

9.系统打印收据。

10.顾客带着商品和收据离开。

扩展流程

1a 任何时刻,发生以下状况,系统将失败:为了支持恢复操作和正确的记帐,要保证所有交易的敏感状态和事件都能够从场景中的任何一步中完全恢复。

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

2.系统重建之前的状态。

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

1.系统向收银员指示错误,记录此错误,并进入一个清空状态。

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

3a. 非法标识:

1.  系统指示错误并拒绝输入。

 

4a. 系统生成的商品价格不是顾客想要的价格(顾客抱怨太贵,要求减价):

1.收银员重写价格。

2.系统显示新的价格。

 5a. 顾客声称他们符合打折条件(例如:VIP顾客):

 1.收银员发出打折请求。

2.收银员输入顾客的个人身份信息。

3.系统按照打折条款给出折扣价值。

5c. 顾客要求使用信用卡结帐:

 1.收银员发出信用卡结帐的请求。

 2.收银员输入顾客的个人身份信息。

 3.系统从信用卡上扣除贷款。

6a. 顾客想用现金付款,但随身现金不足:

 1a. 顾客使用替代的支付手段。

1b. 顾客告诉收银员,他要取消此销售,收银员在系统上取消此销售。 7a.现金支付:

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

2.系统给出应找的金额,并弹出现金抽屉。

 3.收银员放入收取的现金,并拿出应找的余额给顾客。

 4.系统记录现金支付。

7b. 信用卡支付:

1.顾客输入信用卡帐号。

2.系统向外部的信用卡授权服务系统发送支付授权请求,并请求批准此支付。

非功能需求

1、使用大型平面显示器,交易过程中的信息要能够在1米之外看清楚。

2 90%的信用卡授权机构的响应应该在30秒内收到。

3、支持多种语言显示。

4、在步骤3和步骤7中可以插入新的业务规则。

业务规则

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

3b. 商品标识可以是各种不同的编码方式。

7a. 信用卡帐号信息可以使用读卡器或键盘输入。

7b. 记录在纸面收据上的信用卡支付签名。

发生频率

可能会持续发生。

设计约束

系统中断后的自动恢复问题,怎样保存先前的交易记录? 

 

 

 

 

 

        2)用例名

        3)用例描述

        4)参与者

        5)前置条件

        6)后置条件

        7)基本路径

                (1)。。。

                (2)。。。

                (3)。。。

        8)扩展点

                (2)a。。。

                        (2)a-1。。。

        9)特殊需求

        9)补充说明

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221845.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:09
下一篇 2026年3月17日 下午5:09


相关推荐

  • 联盟链初识以及Fabric环境搭建流程

    联盟链初识以及Fabric环境搭建流程

    2021年6月17日
    113
  • 折半插入排序算法

    折半插入排序算法折半插入排序 BinaryInsert 是对插入排序算法的一种改进 所谓插入排序 就是不断的依次将元素插入前面已排好序的序列中 由于前半部分为已排好序的数列 这样我们不用按顺序依次寻找插入点 可以采用折半查找的方法来加快寻找插入点的速度 具体操作 在将一个新元素插入已排好序的数组的过程中 寻找插入点时 将待插入区域的首元素设置为 a low 末元素设置为 a high 将待插入元素与 a mid 其中 mid low high low 2 相比较 如果比参考元素小 则选择 a

    2026年3月19日
    1
  • Linux 中的 renice 命令详解及C/C++代码实现

    Linux 中的 renice 命令详解及C/C++代码实现Linux 中的 nice 命令有助于执行具有修改的调度优先级的程序 进程 它启动具有用户定义的调度优先级的进程 如果我们给一个进程更高的优先级 那么内核会为这个进程分配更多的 CPU 时间 而 renice 命令允许您更改和修改已运行进程的调度优先级 什么是进程简而言之 进程是 Linux 用来承担运行程序角色的命名约定 进程是规则的集合 任何特定程序通过这些规则使用分配的处理器时间 内存和 I O 资源 Linux 系统上运行的每个进程都有自己的进程 ID PID 通过它可以对其进行监视和管

    2026年3月17日
    2
  • windowsAPI之OpenProcessToken,AdjustTokenPrivileges 和LookupPrivilegeValue

    windowsAPI之OpenProcessToken,AdjustTokenPrivileges 和LookupPrivilegeValue这三个函数主要用来提升进程的权限1OpenProcessToken()函数:获取进程的令牌句柄OpenProcessToken的原型.BOOLWINAPIOpenProcessToken(__inHANDLEProcessHandle,__inDWORDDesiredAccess,__outPHA

    2022年6月25日
    32
  • elastic search数据库集群部署「建议收藏」

    elastic search数据库集群部署「建议收藏」ES数据库安装elasticasearchelasticsearch的概念:是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎ApacheLucene基础上的搜索引擎,使用Java语言编写。1、elasticsearch和MongoDB/redis/memcache一样,是非关系性数据库是一个接近实时的搜索平台,从所索引这个文档到能够被搜索到只有一个轻微的延迟,企业应用定位:采用restfullapi标准的可扩展和高可用的实时数据分析

    2022年6月9日
    45
  • android开机动画 制作工具,android开机动画制作

    android开机动画 制作工具,android开机动画制作本帖最后由nihao200823于2017-1-1220:38编辑android开机动画制作与播放原理简介谁都想拥有一个华丽漂亮的开机动画,这让人心情舒畅,android是怎么来实现的?怎么制作一个自己的开机动画?这里揭开android开机动画的神秘面纱。1、制作开关机动画1.1开机动画的位置system/media/bootanimation.zip,要修改开机动画就是修改boota…

    2022年5月14日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号