【UML建模】活动图(Activity Diagram)

article/2025/9/22 4:01:24

文章目录

  • 1.概述
  • 2.常用的节点图例
    • 2.1.开始、结束、动作节点
    • 2.2.决策、合并节点
    • 2.3.fork、join 节点
    • 2.4.泳道
  • 3.总结

1.概述

有经验的同学一定看到过产品经理给的业务流程图,UML的活动图和流程图画法是很相似的,只是相对于流程图来说,活动图有更丰富的图标可以表达更加丰富的语义。此外,在与uml的用例图对比中,如果说用例图是表达了参与者与系统功能之间的关系,那么活动图就是对用例中系统功能更详细的描述

简单的说,活动图描述的就是用例中的功能流程实现细节,例如:从哪里开始到哪里结束,中间有什么判断条件,有没有异步处理,哪里可以做存储等等。活动图是对业务功能流程细节的分析,能够为代码开发提供指导作用,适用的人群一般是研发同学。


在我的另一篇文章《用例图(Use Case Diagram)》中讲述了用例图特点及其画法,不熟悉用例图的同学又有兴趣了解的同学,可以去看一看。

2.常用的节点图例

2.1.开始、结束、动作节点

开始、结束是通过圆形的图标来表示,其中开始是实心圆,结束是一个空心圆中包含了一个小一点的实心圆,动作则是通过一个圆角方框来表示,他们之间的执行流程通过实现箭头来表示,箭头的方向就是流程运行的方向。

活动图表达的是业务流程,所有的业务流程都是有始有终的,如下图:
在这里插入图片描述

动作(action)节点表示的是需要执行的任务,它是当前活动流程中的一个原子性步骤,通过动词来进行描述,下面是一个极简版的商品购买流程:
在这里插入图片描述

2.2.决策、合并节点

我们在实际的流程一般不会这么简单,在流程中往往会存在一些条件分支,通过不同的条件来执行不同的子流程,这样的条件分支在代码中体现为if/else这样的代码块,而在活动图当中是通过决策节点来描述的。

决策节点可以通过一个空心菱形来表示,在指向子流程的箭线上可以写上条件,意思是满足xxx条件后,会进入这个分支,如下图所示:
在这里插入图片描述
空心菱形除了可以表示决策节点外,还可以表示合并节点。所谓的合并节点就是不同的条件中分支子流程执行后,最终都会在某个节点上进行合并,执行同一个后续流程。对于上图中的后续动作,有时候会看到如下图的表示方式:
在这里插入图片描述


我们在选购商品的过程中,有两种下单的方式,一种是立即购买,另一种是先加入购物车等逛得差不多了以后,再统一进行结算。所以我们就可以在选购商品后加入决策节点,并在生成订单之后加入一个合并节点。上面的活动图修改过后的图示如下:
在这里插入图片描述

2.3.fork、join 节点

fork、join节点与上面的决策、合并节点类似,都是将一个流程分叉成多个子流程链路,最终再合并到一起,不同的是,fork节点分叉出的子流程是并行执行的,也就是异步操作。join节点也很好理解,就是在某个位置等待所有异步执行的流程都执行完毕后,再合并成同一个流程运行。

fork、join节点都是通过一根又黑又粗又长的直线来表示的,如下图:
在这里插入图片描述


在购买商品的流程中,用户支付成功之后需要修改支付订单的状态为成功,同时需要生产快递单以进行配送,这两个动作可以并行执行,则可以表示为:
在这里插入图片描述

2.4.泳道

在上面的商城下单支付业务活动图中,已经可以看到大致业务流程,相信大家已经注意到了,图中不同的动作节点应该属于不同的角色来触发的,但是现在所有的节点都试混杂在一起的,不容易理解,为了避免这样的情况,我们可以将同一种类型的动作按照角色、流程阶段等维度进行分组。

在活动图中提供分组功能的图例就是接下来要说的泳道,由多个并列的长矩形框组成,由酷似泳池中的泳道而得名,如下图:
在这里插入图片描述


通过泳道,可以将上面的商品购买流程东西表示的更加精确,不仅仅展示了流程的运行方向,也展示了流程中不同角色之间的交互关系,例如添加购物车、立即购买这样的东西应该时由用户触发,生成订单、支付、支付结果更新这样的动作应该属于支付服务,而快递单、配送订单等应该属于快递服务。

我们将流程节点进行分组并放置到不同的泳道之后,展示的信息如下:
在这里插入图片描述
可以看到的使,加入了泳道之后流程的信息表达的更加丰富、也更加准确了。

3.总结

本篇主要是讲述了活动图以及活动图中的常用节点图例,活动图是用例图细节的补充,我们在活动中可以表达的是一个完整的功能流程,通过决策、fork/join等节点展示出条件分支、异步功能特点,并指导研发人员进行代码开发。

我们在梳理一条完整的功能链路的时候,使用泳道对活动节点进行分组的方式更佳,但泳道使信息变得丰满的同时,也会增加画图的复杂度以及耗时,所以在画一些相对简单的流程时,可以选择不使用泳道。

最后再总结一下本篇文章中需要注意的一些细节点:

  • 动作节点:表达的是一个具有原子性的动作,描述的文字一定是动词
  • 决策/合并节点:都是通过空心菱形来表示,合并节点不是必须存在的。
  • fork/join节点:join节点只有在多个异步流程会重新聚合成一个同步流程的时候才需要画出来。

图例重其意而不重其形,在标准图例的基础上可以适当的做一些修改,只要整个团队中都能够理解其含义即可。


http://chatgpt.dhexx.cn/article/um6p4LC2.shtml

相关文章

UML--活动图详解

活动图 活动图是状态机的一个特殊例子,它强调计算过程中的顺序和并发步骤。活动图所有或多数状态都是活动状态或动作状态,所有或大部分的转换都由原状态中完成的活动触发。 活动图的含义 活动图是一种用于描述系统行为的模型视图,它可用来…

UML 活动图

UML 概述 UML 全称 Unified Modeling Language,又称统一建模语言或标准建模语言,是始于1997年一个 OMG 标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。 UML是一种定义良好、…

UML图之四——活动图

点击打开链接活动图是一种流程图,用来描述活动的序列,从一个活动到另一个活动的控制流。 活动图的作用:描述用例,描述类的操作。 活动图的构成 必要组成元素: 1、活动:命令的执行,活动的进行…

EA绘制活动图

目录 创建一个project新建一个包添加图创建泳道更改泳道方向添加活动 创建一个project 新建一个包 添加图 创建泳道 更改泳道方向 添加活动 画折线可以鼠标放在线处,按shift 按ctrl鼠标滚轮可以缩放视图

活动图的制作非常简单,只需5个步骤即可完成精美互动图!

“需求分析”,就是活动图的核心思想。 它合理的利用图像表达方式,对某个案例的执行工作及实现过程进行直观的分析呈现,当一副完整的图形展示出来的时候,会比复杂的文字描述表现更加直观且通俗易懂,可以使对方一目了然看懂该项案例的功能。并且,还可以同时说明案例分工以…

【UML】活动图(Activity Diagram)

目录: 1、什么是活动图 2、活动图的构成 (1)起点 (2)重点 (3)活动名称 (4)判断条件 (5)同步条 (6)接收信号 &…

【图形设计】手把手教你画活动图,再无难搞的流程分析

编辑导语:在工作中,每当遇到复杂多变的业务,流程冗长时,可以借助活动图来分解流程。作者从四个方面分析如何画活动图,搞定流程分析。 上次介绍了《用例图这样画,3步让你做需求分析有理有据》,这…

UML图:活动图详细介绍

活动图简介 什么是活动图(Activity Diagram) 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流,活动图在本质上是一种流程图;活动图着重表现从一个活动到另一个活动的…

活动图、类图、顺序图、状态图

目录 1. 活动图1.1 活动图的开始、结束、对象1.2 活动节点1.3 分支1.4 分岔和汇合( Forking and Joining)1.5 泳道(Swimlanes)1.6 活动图小结 2. 类图2.1 类图定义2.2 类图中常用的UML元素2.3 UML中类的表示2.4 类元素的命名2.5 关…

【UML】——活动图

一、活动图概述 1、流程图: 常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判定点、分支和循环 活动图和流程图十分类似,不同之处在于它支持并行活动 活动图的缺点:很难清楚的描述动作与对象之间的关系&…

活动图与流程图区别以及各自画法

* 定义 一、流程图是流经一个系统的信息流、观点流或部件流的图形代表。在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。 二、活动图(activity diagram,动态图)是阐明了业务…

UML——活动图

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan 在没有接触UML图的时候我们最常画的图就是流程图,通过画机房收费系统的活动图发现活动图的本质上是一种流程图,它包括的要素有开始状态、活动、判断节点、除此之外和流程…

UML--活动图

一、 概述 活动图(Activity Diagram)是描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。它对于系统的功能建模特别重要,强调对象间的控制流程,活动图在本质上是一种流程图 二、特点 -描述一个操作执行过程中所完成的…

用例图、类图、状态图、活动图、顺序图、协作图

实验二 UML建模工具 1.实验目的 (1)熟悉StarUML等工具软件的特色及工作环境; (2)熟悉各种UML图的含义及用途;掌握利用starUML等工具绘制各种UML图的方法。 2.实验内容 (1)上网…

UML活动图

面向对象的软件开发方法的第一步&#xff1a;业务建模<--使用活动图 转载&#xff1a;https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html 活动图概述 •活动图和交互图是UML中对系统动态方面建模的两种主要形式 •交互图强调的是对象到对象的控制流&#xff0c;而…

UML图绘制(三)-----活动图的画法 一

一.什么是活动图 活动图&#xff08;activity diagram&#xff09;是阐明了业务用例实现的工作流程。 业务工作流程说明了业务为向所服务的业务主角提供其所需要的价值而必须完成的工作&#xff0c; 业务用例由一系列活动组成&#xff0c;他们共同为业务主角生成某些工件。 …

最标准的UML(活动图)画法

本人在查阅网上相关资料后&#xff0c;感觉标准都不统一&#xff0c;画什么的都有&#xff0c;所以查阅了UML参考手册&#xff0c;希望可以帮助到学习活动图的小伙伴 下述内容参考来源为《UML参考手册》 1、活动图的图标示例&#xff0c;开始节点为黑色实心圆&#xff0c;而不…

UML活动图画法详细解析

活动图基本概念 活动图是UML中一种重要的用于表达系统动态特性的图。 活动图的作用是描述一系列具体动态过程的执行逻辑&#xff0c;展现活动和活动之间转移的控制流&#xff0c;并且它采用一种着重逻辑过程的方式来叙述。 例如起床上班活动图&#xff1a; 活动图的主要组成…

使用Visio画各种可视化的流程图之活动图和状态图

一、活动图 活动图:描述了业务实现用例的工作流程。 步骤如下: 1.点击新建->类别-软件和数据库-UML活动-创建。 2.添加初始节点。 3.添加动作、判定、节点、注释等形状。 4.连接各个节点&#xff0c;并添加最后一个节点。 二、状态图 状态图:是描述状态到状态控制流&…

一张图阐述UML活动图的画法【软件工程】

文章目录 I.介绍活动图II.一图搞定活动图画法 I.介绍活动图 活动图是软件工程UML图的一个重要的种类&#xff0c;是状态图的一个变体&#xff0c;显示了系统从一个活动到另一个活动的流程&#xff0c;阐明了业务用例实现的工作流程。 活动图显示了一些活动,强调的是对象之间的…