当前位置: 首页 > article >正文

【UML】- 用例图(结合银行案例解释其中的奥义)

目录

一、相关介绍

作用:

组成:

关系

二、使用具体银行案例解释各组成部分的含义

1、系统

2、参与者

3、用例

4、关联关系

5、扩展关系

6、泛化(继承)关系

三、成品


一、相关介绍

作用:

用例图可以描述一个系统工作的基本流程

组成:

用例图包括四个元素:系统(system)、参与者actors、用例(uer cases)、关系(reletionships)

关系

关联 (Association)

包含(Includ)

扩展(Extend)

泛化 / 继承(Generalization)

二、使用具体银行案例解释各组成部分的含义

1、系统

在这里银行应用就是一个系统:

用一个矩形表示;

系统名称放在矩形顶部;

这个矩形定义的系统的范围。矩形内的任何事都会在银行系统中出现,矩形之外的都不会出现。

2、参与者

参与者分为主要参与者和次要参与者:主要参与者做出动作后,次要参与者才会给予响应

参与者用如下图小人表示:

该系统有两个参与者:

用户(主要参与者):下载并使用银行应用APP

银行(次要参与者):向APP提供相应数据

这些参与者都是APP外部人员,所以放在矩形外,主要参与者在系统左边,次要参与者在系统右边:

3、用例

用于描述系统功能所要用到的元素(银行应用内的动作),用椭圆表示:

将可能有的动作按逻辑顺序排列:

注意:

每个参与者至少与系统中的一个用例进行交互

4、关联关系

用户可以登录APP,可以查看余额,转账,支付等操作,所以用一条直线将用户和用例连接起来:这就是关联关系

以此类推,连出银行参与者的关联关系:

5、包含关系:

(1)、概念:显示基本用例和包含用例之间的依赖关系,每次执行基本用例时,包含关系也会执行。

(2)、使用:当有包含关系时,用虚线箭头指从基本用例指向包含用例,并在线上写出<<include>>。

(3)、在例子中,用户登录是基本用例,验证密码是包含案例,每次登录时,APP都会验证密码是否正确,所以进行包含关系连接:

5、扩展关系

(1)、概念:扩展关系中有基本用例和扩展用例,当基本用例执行时,扩展用例可能执行也可能不执行,扩展用例必须满足一定的条件才会执行,此时就有扩展关系。

(2)、使用:当有扩展关系时,使用一条虚线箭头,从扩展用例指向基本用例,并在线上标注<<extend>>。

(3)、在例子中,用户登录是基本用例,提示密码错误是扩展消息,因为只有密码输入错误才会提示:

注意:

多个基本用例可以指向同一个包含或扩展用例,比如转账和支付两个操作,在执行之前都需要验证资金是否充足(包含关系):

6、泛化(继承)关系

(1)、概念:该关系中有父用例和子用例,子用例拥有父用例的功能,并且子用例还可以额外具有特有的功能,

(2)、使用:当出现泛化关系时,用实线空心箭头从子用例指向父用例连接。

(3)、该例子中支付用例可以细分为支票支付和现金支付,所以存在泛化关系,连接如下:

三、成品


http://www.kler.cn/a/382087.html

相关文章:

  • 03.01、三合一
  • IT运维的365天--021 服务器上的dns设置后不起作用
  • 【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)
  • Debian11 安装MYSQL8 签名错误
  • springboot根据租户id动态指定数据源
  • dockerfile文档编写(3):构建失败后清理缓存(删除容器和镜像相关命令)
  • 蓝桥杯专项---一维前缀/差分巩固题目
  • 【5.9】指针算法-双指针解验证回文字符串 Ⅱ
  • PostgreSQL 学习笔记:PostgreSQL 主从复制
  • 【自用】fastapi教程第三节--响应与响应体
  • 智能化在线考试及数据可视化系统
  • C++ 之类和对象
  • 集智书童 | UniMatch V2 推进半监督语义分割极限,以更低训练成本实现更优的语义分割结果-建议收藏!
  • 【网络】数据链路层
  • 基于Qt的独立线程创建与多线程执行实验Demo
  • JAVA读取doc,docx转PDF通过vue展示
  • 基于Multisim拔河比赛游戏+计分电路(含仿真和报告)
  • 华为 HarmonyOS NEXT 原生应用开发:【封装正则API】在原生鸿蒙中使用正则表达式校验登录注册模块(邮箱、密码、手机号)校验
  • 微积分复习笔记 Calculus Volume 1 - 4.7 Applied Optimization Problems
  • WordPress 中最佳的维护服务:入门级用户指南
  • 【机器学习导引】ch4-决策树
  • copyq禁止访问网络(ubuntu cgroup)
  • 发不了Science?那是因为你不会画Science风格的配图
  • 静态数据区,堆,栈
  • linux动态库与静态库
  • 从底层技术到实际应用:Claude与ChatGPT谁更适合学术写作?