您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center 汽车系统工程   模型库  
会员   
   
嵌入式软件测试方法&实践
3月20日 线上
需求分析与管理
4月21-22日 北京+线上
SysML和EA进行系统设计建模
4月23-24日 北京+线上
     
   
 订阅
统一建模语言 (UML) |活动图
 
作者:Ankit Jain
 
  3119   次浏览      37 次
2022-11-18
 
编辑推荐:
本文主要介绍了什么是UML,UML的好处,UML的类型,以及如何设计和使用UML的类图。
本文来自于geeksforgeeks.org,由Alice编辑、推荐。

我们使用 活动图 来说明系统中的控制流,并参考执行用例所涉及的步骤。我们使用活动图对顺序和并发活动进行建模。因此,我们基本上使用活动图直观地描绘工作流。活动图侧重于流动的条件及其发生的顺序。我们使用活动图描述或描述导致特定事件的原因。UML模型基本上有三种类型的图,即结构图,交互图和行为图。活动图是一种 行为图 ,即它描述了系统的行为。活动图描绘了从起点到终点的控制流,显示了执行活动时存在的各种决策路径。我们可以使用活动图来描述活动的顺序处理和并发处理。它们用于业务和流程建模,其中它们的主要用途是描述系统的动态方面。活动图 与流程图非常相似 。因此,让我们了解活动图或流程图是否有任何不同:

活动图和流程图之间的区别 –

流程图通常比活动图更早发明。非程序员使用流程图对工作流进行建模。例如:制造商使用流程图来解释和说明特定产品的制造方式。我们可以将流程图称为活动图的原始版本。涉及决策的业务流程使用流程图表示。因此,程序员使用活动图(流程图的高级版本)来描述工作流程。 开发人员使用 活动图来了解程序的流程。它还使他们能够找出导致特定事件的约束和条件。如果做出复杂的决策,流程图会收敛为活动图。简洁是机智的灵魂。我们需要清晰地传达大量信息,并确保它简短。因此,活动图可以帮助双方的人(即商人和开发人员)进行交互和理解系统。一个问题出现了: 我们是否需要同时使用图表和文本文档? 不同的人有不同的偏好,他们理解某事。例如:要理解一个概念,有些人可能更喜欢带有图像的书面教程,而另一些人则更喜欢视频讲座。因此,我们通常同时使用图表和文本文档来使我们的系统描述尽可能清晰。我们还需要对我们有时迎合的观众的需求保持敏感。 用例图和活动图之间的区别 活动图用于对描述条件、约束、顺序和并发活动的工作流进行建模。另一方面,用例的目的是描述功能,即系统做什么而不是如何完成。因此,简单来说,活动图显示“如何”,而用例显示特定系统的“内容”。两者的抽象级别也各不相同。活动图可用于将业务流程(高级实现)与独立算法(底层实现)进行说明。但是,用例的抽象级别较低。它们仅用于显示 高水平的 实现。

图 – 基于情感的音乐播放器的活动图

上图描绘了基于情感的音乐播放器的活动 图 ,也可用于更改壁纸。下面解释了图表中使用的各种组件和标准符号。

活动图符号 –

初始状态 – 活动发生之前的开始状态使用初始状态进行描述。

图 – 表示初始状态或开始状态

一个进程只能有一个初始状态,除非我们描述的是嵌套的活动。我们使用黑色填充圆圈来描述系统的初始状态。对于对象,这是实例化它们时的状态。UML 活动图中的“初始状态”标记入口点和初始活动状态。例如 – 这里的初始状态是打开应用程序之前系统的状态。

图 – 正在使用的初始状态符号

操作或活动状态 – 活动表示对对象或对象执行操作。我们使用带有圆角的矩形来表示活动。基本上,发生的任何操作或事件都使用活动表示。

图 – 活动状态的表示法

例如 – 考虑前面打开应用程序的示例 打开应用程序是活动图中的活动状态。

操作流或控制流 – 操作流或控制流也称为路径和边。它们用于显示从一个活动状态到另一个活动状态的转换。

图 – 控制流的表示法

活动状态可以有多个传入和传出操作流。我们使用带有箭头的线来描述控制流。如果在进行过渡时要遵守约束,则会在箭头上提及。考虑这个例子 – 在这里,两个状态都使用操作流符号(即箭头)过渡到一个最终状态。

决策节点和分支 – 当我们需要在决定控制流之前做出决策时,我们使用决策节点。

图 – 决策节点的表示法

决策节点的传出箭头可以使用条件或保护表达式进行标记。它始终包含两个或多个输出箭头。

图 –使用决策节点的活动 图

警卫– 守卫是指写在箭头上的决策节点旁边的语句,有时在方括号内。

图 – 在决策节点旁边使用的防护

该语句必须为 true,控件才能沿特定方向移动。防护装置帮助我们了解决定过程流程的约束和条件。

叉– 分叉节点用于支持并发活动。

图 – fork 表示法

当我们使用 fork 节点时,两个活动同时执行,即在将活动分成两部分之前没有做出任何决定。在 fork 语句的情况下,这两个部分都需要执行。我们使用圆角实心矩形条来表示 Fork 表示法,其中包含来自父活动状态的传入箭头和朝向新创建活动的传出箭头。例如:在下面的示例中,煮咖啡的活动可以分为两个并发的活动,因此我们使用分叉符号。

图 – 使用叉子的图表

加入– 联接节点用于支持并发活动收敛为一个节点。对于连接符号,我们有两个或多个传入边和一个传出边。

图 –连接符号

例如 – 当蒸牛奶和添加咖啡这两个活动都完成时,我们将它们融合到最后一个活动中。

图 – 使用连接表示法的图表

合并 或合并事件 – 当必须合并未同时执行的活动时,会出现这种情况。对于这种情况,我们使用合并表示法。如果控件继续执行下一个活动,则无论选择的路径如何,我们都可以将两个或多个活动合并为一个。

图 –合并符号

例如 – 在下图中:我们不能让双方同时执行,但它们最终合并为一个。一个数字不能既是奇数又是偶数。

图 –使用合并符号的活动 图

泳道 – 我们使用泳道将相关活动分组到一列中。泳道将相关活动分组到一列或一行中。泳道可以是垂直的,也可以是水平的。泳道用于向活动图添加模块化。使用泳道不是强制性的。它们通常会使活动图更加清晰。这类似于在程序中创建函数。这不是强制性的,但这是推荐的做法。

图 – 泳道符号

我们使用矩形列来表示泳道,如上 图 所示。例如 – 这里根据数字是奇数还是偶数执行不同的活动集。这些活动被分组到泳道中。

图 – 利用泳道的活动 图

时间事件 –

图 – 时间事件表示法

我们可以有一个场景,即事件需要一些时间才能完成。我们使用沙漏来表示时间事件。例如,让我们假设图像的处理需要花费大量时间。然后可以表示如下。

图 –使用时间事件的活动 图

最终状态或结束状态 – 系统在特定流程或活动结束时达到的状态称为最终状态或结束状态。我们使用圆圈符号中的填充圆来表示状态机图中的最终状态。一个系统或一个进程可以有多个最终状态。

图 – 表示最终状态

如何绘制活动图 –

1.确定初始状态和最终状态。

2.确定从初始状态达到最终状态所需的中间活动。

3.确定导致系统更改控制流的条件或约束。

4.使用适当的符号绘制图表。

图 – 活动图

如果数字是奇数,则上 图 打印数字,否则从数字中减去 1 并显示它。

活动图的用途 –

1.系统或过程的动态建模。

2.说明 UML 用例中涉及的各种步骤。

3.对方法、操作和功能等软件元素进行建模。

4.我们可以使用活动图来轻松描述并发活动。

5.显示算法背后的约束、条件和逻辑。

 

UML系列

1.统一建模语言 (UML) | 简介

2.统一建模语言 (UML) | 类图

3.统一建模语言 (UML) | 对象图

4.统一建模语言 (UML) | 活动图

 

   
3119   次浏览       37 次
 
相关工具

文档生成器(DocGenerator)
代码工程师 Code Engineer
模型检查器 Checker
WebEA
自动建模器(AutoModeler)
 
相关文章

ASPICE 4.0 过程指南
采用SysML对FPGA逻辑单元进行建模(对应到VHDL代码)
DoDAF建模图例(EA+UPDM)
EA集成第三方工具:Polarion、JIRA、AzureDevOps
UML建模指南(建模工具iSpace)
 
相关课程

ASPICE4.0核心开发过程指南
使用NML进行系统分析与建模
基于UML和EA进行系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模

最新活动计划
嵌入式软件测试方法&实践 3-20[在线]
MBSE理论方法到工作实践 3-28[北京]
需求分析与管理 4-21[在线]
基于LLM的Agent应用开发 4-18[北京]
SysML和EA系统设计建模 4-23[北京]
基于本体的体系架构设计 4-24[北京]
认证课:OCSMP-MU 周末班[在线]
 
 
最新文章
SysML图解
UAF 过程指南
代码逆向模型:QT插件Demo
基于企业架构的企业数字化指南
采用SysML对FPGA逻辑单元进行建模
DoDAF建模图例(EA+UPDM)
硬件模型:智驾域控制器(建模工具EA)
UML建模指南(建模工具iSpace)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
某汽车整车企业 MBSE工具链和咨询服务
航天三院某研究所 建模工具、模型库和咨询
零跑汽车 建模工具EA及服务
赛力斯 MBSE工具链和培训服务
高合汽车研发部门 建模工具EA、WebEA、
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、
国汽智联 建模工具EA、模型库、WebEA
更多...