活动图讲解

UML建模之活动图介绍(Activity Diagram) 一、活动图的组成元素 Activity Diagram Element 1、活动状态图(Activity) 2、动作状态(Actions) 3、动作状态约束(Action Constraints) 4、动作流(Control Flow) 5、开始节点(Initial Node) 6、终止节点(Final Node) 7、对象(Objects) 8、数据存储对象(DataSto... 阅读详情

一、什么是活动图?

活动图是UML用于对系统的动态行为建模的常用工具,它描述活动的顺序。活动图在本质上是一种流程图,着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

活动图中常用的符号

活动图的一个例子

二、活动图的基本要素?

活动图的主要组成元素包括动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等。

某银行ATM机中的取款活动图:

1、活动(Activity):命令的执行

在UML中,活动的图符如下图表示:

2、起始状态(Start State)与终止状态(End State):表示活动的起点与终结

图符表示如下:

3、状态转移(State Transition):用带箭头的实线表示,表示从一个活动到另一个活动的转移。

4、判断(Decision):也可以理解为分支,对于同一触发事件,可以根据不同的条件转向不同的活动,每一个可能的转移都是一个分支。用菱形框表示:

5、分叉与汇合:表示系统或对象中的并发行为。分叉表示把一个单独的控制流分成两个或多个并发的控制流。汇合表示两个或多个并发控制流的同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行。

分叉节点与结合节点:

分叉节点是从线性流程进入并发过程中的过渡节点,它拥有一个进入控制流和多个离开控制流。不同于判断节点,分叉节点的所有离开流程都是并发关系,即分叉节点使执行过程进入多个动作并发的状态。

6、泳道:将一个活动图中的活动状态分组,每一组表示一个特定的类、人或部门,它们负责完成组内的活动。每个活动都明确属于一个泳道,不可以跨越泳道,但是转移则可以跨越泳道。

三、活动图的作用?

1、描述一个操作的执行过程中所完成的工作或者动作;

2、描述对象内部的工作;

3、显示如何执行一组相关的动作,以及这些动作如何影响周围对象;

4、描述用例的执行;

四、什么情况下使用活动图?

在实际项目中,活动图并不是必须的,一般在以下情况需要使用活动图:

1、描述一个并行的过程或者行为;

2、描述一个算法;

3、描述一个跨越多个用例的活动。

在以下场合中是不使用活动图的:

1、显示对象之间的合作;

2、显示对象在其生命周期内的运作情况。

下面是用Rational Rose 画的机房收费系统的活动图:

带泳道的活动图
泳道表明每个活动是由哪些人或哪些部门负责完成。

每个泳道代表特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于一个泳道,泳道明确的表示了哪些活动是由哪些对象进行的。

每个泳道都有一个与其他泳道不同的名称。

每个泳道可能由一个或者多个类实施,类所执行的动作或拥有的状态按照发生的事件顺序自上而下的排列在泳道内。

在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。

在包含泳道的活动图中每个活动只能明确地属于一个泳道

小明起床的活动图

用户进行网上预约,用户填写预约内容选取预约时间并提交预约

活动图中的“分叉与合并”很像我们平常生活中的两条路径,它描述了软件对象在不同的判断结果下所执行的不同动作。一条是“Yes”的路,一条是“No”的路,就看你的操作是要执行哪条路径,但最后终是会走到终点的

“分叉和汇合”像我们学数据库中“and”的关系,当进入考场后,老师检查证件,学生对号入座,他们同时在做一件事情

系统中“用户登录”的应用
状态图


活动图


分叉和汇合

      分叉

      用于将一个控制流分为两个或多个并发运行的分支。

      汇合

      用于将两个或多个控制流合并到一起形成一个单向的控制流,符号与分叉相同。

      如果一个控制流在其他控制流到达之前到达了连接,它将会等待,知道所有控制流都到达了才会向连接传递控制权。

     实例:销售合同从签订到履约的过程

     销售合同签订后,要进行核对。如果发现错误,则终止履约;如果没有错误,则要核对货物清单确定是否有货,还要核对付款单确定对方是否已经付款,只有这两项都完成,才可以发货。如果无货或对方尚未付款,则终止履约。则活动图如下:

     泳道

     泳道表明每个活动是由哪些人或哪些部门负责完成。

      在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。

      在包含泳道的活动图中每个活动只能明确地属于一个泳道。

     简单模拟卓越网的购物流程

     添加泳道之后:

    

  从左到右:顾客、运输部、财务部   

     对象流

     用活动图描述某个对象时,可以将涉及到的对象放到活动图中,并用一个依赖将其连接到活动或状态上,对象的这种使用方法就构成对象流。

    上面的购物过程的活动图加入对象流之后:妆容

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

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

fork、join节点都是通过一根又黑又粗又长的直线来表示的,如下图:

起床上班活动图

活动图的主要组成元素包括动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等。

例如取款活动图:

【活动图】下图是一个软件项目的活动图,其中顶点表示项目里程碑,链接顶点的便表示包含的活动,边上的数字表示完成该活动所需的天数。求关键路径长度。 下图是一个软件项目的活动图,其中,边上的数字表示完成该活动所需的天数。则关键路径长度为____,若在实际项目进展中,在其他活动都能正常进行的前提下,活动____一旦逾期就会影响项目的进度。1.关键路径是网络活动图中耗时最长的路径在图中,2.关键路径上的任何活动逾期,都会影响关键路径的长度,也就是总工期。所以活动一旦逾期就会影响项目的进度。 阅读详情

相关推荐

UML系列文章(20)基本行为---活动图

UML 活动图

追赶时代的博客 3237

【UML】——活动图

一、活动图概述 1、流程图: 常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判定点、分支和循环 活动图和流程图十分类似,不同之处在于它支持并行活动 活动图的缺点:很难清楚的描述动作与对象之间的关系,没有交互图直接 2、活动图作用 描述一个操作的执行过程中所完成的工作或 者动作 描述对象内部的工作 显示如何执行一组相关的动作,以及这些动作如何影响周围对象 描...

张兴军的博客 6万+

HCLR-Net: 混合对比学习正则化与局部随机扰动用于水下图像增强

独特贡献在于开发了一种处理负样本的新策略,既保留了负样本的统计特性,又防止网络过度剖析这些样本中的特征信息。通过根据每个通道特征的重要性对模型进行加权,我们可以增强富含上下文信息的通道,从而获得更准确、更详细的特征表示。AHA 模块利用垂直方向上的 Avgpool 和水平方向上的 Maxpool 来捕捉远程依赖关系和准确的位置信息,从而有效确定不同方向上的特征退化。对比学习策略通常旨在最小化正样本之间的欧氏距离,使预测图像更接近理想图像,同时最大化负样本与预测图像之间的距离,使它们进一步远离非理想表征。

G-Howe的博客 1456

UML活动图画法详细解析

UML活动图画法详细解析,以及UML活动图知识点详细解析。适合初学者和零基础者。

玄衣手记 6万+

AI基础入门(大模型基础篇)——技术视角:你应该知道的LLM基础知识

本文从技术视角解析了大模型的工作原理,主要介绍了三个核心概念:Token、温度和Embedding。首先,大模型通过逐个添加Token来生成文本,Token数量直接影响上下文窗口大小和计费标准。其次,通过引入温度参数控制随机性,温度越高输出越多样化。最后,解释了字符串如何通过One-Hot编码和神经网络压缩转化为向量形式的Embedding,这是AI处理各类输入的基础。这些概念对理解大模型应用开发至关重要,Token决定处理能力,温度影响输出风格,Embedding则是信息转换的关键步骤。

小志的博客 1503

Unity资源逆向解析:从APK到AssetStudio的完整实战

本文详细介绍了Unity资源逆向解析的全流程,从APK解包到使用AssetStudio深度解析Unity游戏资源。通过实战案例演示如何提取《植物大战僵尸》等游戏的素材,包括贴图、音频和3D模型,帮助开发者掌握Unity游戏逆向工程的核心技术。

weixin_30664051的博客 475

活动图高阶讲解-04

通过令牌的方式来描述控制的规则

rolt的专栏 887

Matlab实战:水声信号DEMON谱分析从入门到精通(附完整源码)

本文详细介绍了使用Matlab进行水声信号DEMON谱分析的完整流程,从基础理论到实战应用,涵盖信号预处理、包络提取、频谱分析等关键步骤,并附完整源码。特别针对水声通信中的低信噪比环境,提供了多种优化方案和性能提升技巧,帮助读者快速掌握这一水下目标检测的核心技术。

gamma的博客 295

活动图高阶讲解-05

这个活动被分配给老师了

rolt的专栏 768

ArduPilot移植到自定义硬件:完整指南

详解如何将ArduPilot成功移植到自定义硬件平台,涵盖环境搭建、代码配置与调试技巧。无论是初学者还是进阶开发者,都能快速掌握ArduPilot在不同硬件上的适配方法,提升开发效率。

weixin_28931449的博客 637

【100%通过率】华为od统一考试B卷【需要打开多少监视器】JAVA&Go 实现

某长方形停车场,每个车位上方都有对应监控器,当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时,监控器才需要打开:给出某一时刻停车场的停车分布,请统计最少需要打开多少个监控器

MISAYAONE的博客 1万+

UML: 活动图的深入讲解及高级符号的使用

活动图是一种行为图,用于展示系统中的动态流程。它类似于流程图,但更强调系统的动态行为。活动图由一系列的活动(Activity)、决策节点(Decision Node)、并行节点(Fork/Join Node)等组成,能够清晰地表示出业务流程中的分支、并行和条件判断等复杂逻辑。活动图是一种强大的工具,能够清晰地展示系统中的业务流程和工作流程。通过使用高级符号,如分支与合并节点、决策节点、结束节点、合并节点、游泳道和闪电符号,我们可以更直观、更准确地描述复杂的业务逻辑。

十年运维开发经验的王义杰在此分享自己的知识和经验 1235

不会路由器叠加多条宽带?看这个就够了,能让你的局域网速度更快!

通常我们在企业网络或实际项目中,随着用户的增加,一条或者几条带宽不能满足正常使用,便可以对带宽进行叠加,便于网络带度更快;通常家里有可能有两条带宽的,联通或移动的,可能都是充话费送的,但网速都不怎么样,不用可惜,用之委屈,那怎么办呢?如在迅雷上开启下载,多个资源同时下载,此时总带宽可以达到120M,也就是WAN口带宽可以叠加。多wan口路由器, 一般是有2个wan口,分别为wan1与wan2。当然也有更多的wan口的。[1] 对整个局域网来说,出口带宽数量多了,相当于总带宽上升,这样是可以起到叠加效果。

qq_43416206的博客 1111

活动图高阶讲解-10

关于参数这个知识点

rolt的专栏 509

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

活动图高阶讲解-15

后针对这个数字来判断,是0,=0

rolt的专栏 763

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

活动图高阶讲解-14

重新收进来,变成这里出去的那个令牌

rolt的专栏 320

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

活动图高阶讲解-01

过去流程图主要是控制

rolt的专栏 827

活动图高阶讲解-03

活动作为块来使用

rolt的专栏 1463

活动图高阶讲解-02

以前这些乱七八糟的造词全部删掉

rolt的专栏 858

活动图高阶讲解-06

把这个调用和定义分开

rolt的专栏 934

活动图高阶讲解-16

这边有令牌过来

rolt的专栏 954

活动图高阶讲解-13

上面的元素来说,这三个图是一样的

rolt的专栏 601

活动图高阶讲解-11

每个出边都要填充一个令牌

rolt的专栏 475

活动图高阶讲解-09

那可以用这个流式来表示

rolt的专栏 813

活动图高阶讲解-07

数据转换的思维

rolt的专栏 569
上一篇: 时序图讲解
下一篇: 六边形架构实现:领域驱动设计 + 端口适配器模式
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值