【UML】第6篇 用例图

目录

一、什么是用例图

二、参与者

2.1 什么是参与者

2.2 如何识别参与者

2.3 参与者之间的关系


从今天开始,就到了最干的各种的图的梳理和学习了,未来AI就能编码了,把业务建模和设计的基本功打好,也许能和AI和平相处呢。

一、什么是用例图

UML中的用例图是一种描述系统功能的动态视图,它由参与者(Actor)、用例(Use Case)以及它们之间的关系构成。这种图主要用于对系统、子系统或类的功能行为进行建模,并展示用例之间以及同用例参与者之间是怎样相互联系的。用例图定义了系统的功能需求,是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。它是需求分析中的产物,主要作用是描述参与者和用例之间的关系,帮助开发人员可视化的了解系统的功能。

用例图主要多用于需求分析阶段。

二、参与者

2.1 什么是参与者

参与者(Actor)是与主体系统交互的外部实体。每个参与者实际上是一个角色集。在UML中,参与者使用使用人形的图形表示,并给这个参与者赋予一个名字。如下图中的“管理员”即是图书馆借阅系统中的一个参与者。

但是一定要注意:参与者不一定是人。

在UML的用例图中,“参与者”(Actor)是一个重要的元素,指的是与系统进行交互的外部实体。这些实体可以是用户、其他系统、组织或任何与所建模系统有交互行为的对象。参与者的主要特点是,它们不是系统的一部分,但是会与系统进行交互,从而触发系统的某些功能或行为。

简而言之,参与者是与系统发生交互作用的人或事物,它们通过用例与系统交换信息,并期望系统能够提供某种服务或功能。在用例图中,参与者通常用人形图标表示,以突出其与系统之间的交互关系。

2.2 如何识别参与者

识别用例图中的参与者是一个涉及多个维度的过程,需要综合考虑系统的各种交互场景和可能的利益相关者。以下是一些常用的方法来识别和确定参与者:

1.定义系统边界:

  • 明确系统范围和边界。
  • 识别系统的主要功能和服务。

2.识别用户角色:

  • 列出与系统交互的所有人或组织。
  • 考虑不同用户角色的权限和职责。

3.考虑其他系统或设备:

  • 识别与其他系统或设备的交互。
  • 注意非人类参与者的接口或功能。

4.分析业务场景和用例:

  • 深入研究系统的业务场景和用例。
  • 识别在特定情境下与系统交互的实体。

5.考虑信息的来源和目的地:

  • 分析系统中的信息流。
  • 确定信息的起点和终点。

6.检查现有文档和资料:

  • 查看用户需求、业务需求、市场分析报告等。
  • 获取关于潜在参与者的线索。

7.进行访谈和调研:

  • 与潜在用户、利益相关者或领域专家进行访谈。
  • 识别可能被忽略的参与者或特殊场景。

8.使用原型和模拟:

  • 使用原型或模拟来验证和细化对参与者的理解。
  • 观察和理解参与者的行为和需求。

9.持续更新和调整:

  • 随着对系统的理解加深,更新和调整参与者定义。
  • 保持识别和定义的灵活性。

10.注意特殊情况和异常:

  • 不要忽视特殊情况或异常场景下的参与者。
  • 考虑故障恢复、系统维护或灾难恢复等情况下的参与者。

此外,还有一些有用的思考维度,可以帮助你找到系统的参与者:

  • 系统的使用者。比如电商平台的消费者。
  • 系统的管理员,维护者。比如电商平台的运营人员、客服、超级管理员。
  • 外部接口相关的实体,或者设备。比如开放平台,外部接口和设备。
  • 子系统。比如你需要对接的SAP、财务系统等。
  • 时间相关的自动触发的事件,比如定时任务,自动提醒。
  • 自动化的一些事件。这个比较难以界定,我们可以认为,触发条件,也是一种参与者。

再次注意:参与者可能是其它子系统、其它系统、时间、温度等其它因素。

  • 参与者位于系统的外部,而不是系统的一部分;
  • 参与者通过系统边界与系统进行交互;
  • 参与者的图标虽然使用人形图标来表示,但参与者不一定是人。

2.3 参与者之间的关系

在用例图中,参与者之间的关系主要是描述它们之间的相似性或差异性。其中,泛化关系是参与者之间最常见的一种关系。

泛化关系(Generalization):

  • 泛化关系表示一个更一般的参与者(父参与者)与一个或多个更具体的参与者(子参与者)之间的关系。
  • 父参与者通常代表一组共同的特性和行为,而子参与者则继承这些特性,并可能添加一些自己的特性。
  • 在图形表示中,使用带空心箭头的实线连接子参与者和父参与者,箭头指向父参与者。

这里稍微有些“别扭”,就是泛化这个词,我们很容易直觉理解为,是从一般到具体。但是箭头,却是从具体指向一般。可以说,UML中,泛化关系的箭头方向可能初看起来有些反直觉!这种表示方法有助于强调子类是父类的一种特殊情况或具体实现。

记忆这个规则的一个方法是将其与继承的概念联系起来。在面向对象编程中,子类继承父类的属性和方法。因此,可以将箭头从子类指向父类理解为“子类继承了父类的特性”。这样,当看到箭头指向一个更一般的参与者或类时,就可以联想到“继承”和“特化”的概念,从而帮助记忆泛化关系的表示方法。

除了泛化关系外,参与者之间还可以存在其他关系,但这些关系在用例图中并不常见。例如,在某些情况下,参与者之间可能存在关联关系,表示它们之间的某种联系或交互模式。但这些关系通常不直接在用例图中表示,而是通过用例之间的交互来描述。

(未完,下次来讲用例。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UART协议——FPGA代码篇

一.串口(UART)协议简介 UART 串口通信有几个重要的参数,分别是波特率、起始位、数据位、停止位和奇偶检验位,对于两个使用UART 串口通信的端口,这些参数必须匹配,否则通 起始位:表示数据传输的开…

科技云报道:至简至强,新一代服务器的算力美学

科技云报道原创。 在这个时代,数据和计算的边界正在迅速扩张。 随着云计算、物联网和人工智能的日益成熟,对算力的需求已经突破了传统的限制,进入了一个全新的阶段。在这个阶段,不仅是算力的量级发生了变化,其性质和…

2-以太坊虚拟机

以太坊虚拟机,简称EVM,是用来执行以太坊上的交易的。业务流程如下图: 输入一笔交易,内部会转换成一个Message对象,传入EVM执行。 如果是一笔普通转账交易,那么直接修改StateDB中对应的账户余额即可。如果…

数据结构:树(Tree)

树型结构 树的概念 树是一种非线性结构,他是由n(n>0)个有限结点组成的一个具有层次关系的集合。 当n0时,该树为空树。 在任意一个非空树中都满足以下条件: 1、有一个特殊的结点,称为根结点&#xff0c…

GaussDB数据库表创建行访问控制策略

目录 一、前言 二、GaussDB中的行访问控制 1、CREATE ROW LEVEL SECURITY POLICY语法 2、ALTER ROW LEVEL SECURITY POLICY语法 3、ROW LEVEL SECURITY策略与适配SQL语法关系 三、GaussDB中的行访问控制策略示例 1、实现GaussDB行访问控制的一般步骤 2、行访问控制策略…

关于#c语言#的问题:分析递归调用的过程◇画出调用过程各语句执行过程

关于#c语言#的问题&#xff1a;分析递归调用的过程◇画出调用过程各语句执行过程 当涉及到递归调用的过程时&#xff0c;可以通过绘制函数调用栈来分析和理解递归的执行过程。下面是一个示例的C语言递归函数和相应的调用过程&#xff1a; #include <stdio.h>void recurs…

详解 Jeecg-boot 框架如何配置 elasticsearch

目录 一、下载安装 Elasticsearch 1、 地址&#xff1a;https://www.elastic.co/cn/downloads/elasticsearch 2、下载完成后&#xff0c;解压缩&#xff0c;进入config目录更改配置文件 3、 修改配置完成后&#xff0c;前往bin目录启动el 4、访问&#xff1a;localhost:92…

【Stm32-F407】全速DAP仿真器下载程序

文章内容如下: 1) 全速DAP仿真器简介2) 全速DAP仿真器下载程序流程 1) 全速DAP仿真器简介 1&#xff09;全速DAP仿真器简介 DAP全称 Data Acquisition Processor&#xff0c;是一种用于数据采集和实时控制的设备。本文使用的全速DAP仿真器遵循ARM公司的CMSIS-DAP标准&#xff…

采购oled屏幕,应注意什么

在采购OLED屏幕时&#xff0c;应注意以下几点&#xff1a; 规格和参数&#xff1a;了解OLED屏幕的规格和参数&#xff0c;包括尺寸、分辨率、亮度、对比度、响应时间等。确保所采购的屏幕符合项目的需求和预期效果。 品质和可靠性&#xff1a;选择具有可靠品质和稳定性的OLED屏…

Docker单点部署[8.11.3] Elasticsearch + Kibana + ik分词器

文章目录 一、Elasticsearch二、Kibana三、访问四、其他五、ik分词器第一种&#xff1a;在线安装第二种&#xff1a;离线安装 Elasticsearch 和 Kibana 版本一般需要保持一致才能一起使用&#xff0c;但是从 8.x.x开始&#xff0c;安全验证不断加强&#xff0c;甚至8.x.x之间…

geemap学习笔记029:使用Earth Engine数据--几何(Geometry)数据

前言 从本节开始将会分类别的进行学习&#xff0c;例如使用Earth Engine数据、使用本地地理数据、可视化地理数据、分析地理数据等&#xff0c;当然前面介绍过的&#xff0c;就不再赘述。 1 导入库并显示地图 import ee import geemapee.Initialize()2 创建几何对象-1 Map …

电子商务网站知识|搭建自己的电子商务网站需要注意什么|搭建电商独立站的注意事项

电子商务网站建设步骤包括什么呢? 电子商务网站建设第一步&#xff0c;网站的规划与设计 电子商务网站算是一个比较复杂的系统&#xff0c;电商网站建设前就要想好需要有的功能。电子商务网站的规划也是建所有网站都需要做的事情&#xff0c;在规划设计中需要对网站进行整体…

【计算机网络】TCP协议——1.报文格式详解

前言 上篇讲解了UDP报文格式。TCP和UDP是同层协议&#xff0c;都属于传输层&#xff0c;数据来源于上层——应用层 目录 一. TCP协议概述 二. TCP报文格式 1. 两个问题 2. 确认号和序列号 3. 标志位字段 4. 窗口大小 5. 校验和字段 6. 紧急指针与紧急数据 7. 选项字…

【uniapp小程序-上拉加载】

在需要上拉加载的页面的page.json上添加红框框里面的 onReachBottom() {if(this.commentCurrent<this.commentTotal){this.commentCurrent 1; this.commentList();this.status loading;}else{this.status ;} }, methods:{commentList(){let params {courseid:this.cour…

QUIC在零信任解决方案的落地实践

一 前言 ZTNA为以“网络为中心”的传统企业体系架构向以“身份为中心”的新型企业安全体系架构转变&#xff0c;提供解决方案。随着传统网络边界不断弱化&#xff0c;企业SaaS规模化日益增多&#xff0c;给终端安全访问接入创造了多元化的空间。其中BYOD办公方式尤为突出&#…

统一日志管理方案:Spring项目logback日志与logstash和Elasticsearch整合

原创/朱季谦 最近在做一个将分布式系统的日志数据通过logstash传到kafka的功能&#xff0c;做完之后决定业余搭一个ELK日志分析系统&#xff0c;将logstash采集到的日志传给Elasticsearch。经过一番捣鼓&#xff0c;也把这个过程给走通了&#xff0c;于是写了这篇总结&#xff…

Linux发行版比较:Ubuntu、CentOS、Red Hat与其他系统的优劣分析

导言 Linux作为开源操作系统&#xff0c;有众多不同的发行版&#xff0c;每个发行版都有其独特的特性和适用场景。本文将聚焦于比较Ubuntu、CentOS、Red Hat和其他系统&#xff0c;深入分析它们的优势、用途以及在不同领域的应用。Linux操作系统的生态系统中&#xff0c;Ubuntu…

SpringCloudAliBaba篇之Seata:分布式事务组件理论与实践

1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中&#xff0c;一个事务由一组SQL语句组成&#xff0c;事务具有4个属性&#xff1a;原子性、一致性、隔离性、持久性。这四个属性通常称为ACID原则。 原子性(atomici…

【AI提示词专栏】提示词思维导图帮助

提示词重要作用 提示词&#xff0c;就像是我们生活中的“小助手”或者“贴心小棉袄”&#xff0c;总是在关键时刻给我们提供帮助和指引。它们就像那些无处不在的小标签&#xff0c;时刻提醒我们该做什么、不该做什么&#xff0c;或者给我们一些有趣的启示。 比如&#xff0c;在…

HarmonyOS4.0从零开始的开发教程19HarmonyOS应用/元服务上架

HarmonyOS&#xff08;十七&#xff09;HarmonyOS应用/元服务上架 概述 当您开发、调试完HarmonyOS应用/元服务&#xff0c;就可以前往AppGallery Connect申请上架&#xff0c;华为审核通过后&#xff0c;用户即可在华为应用市场获取您的HarmonyOS应用/元服务。 HarmonyOS会…