首页 > 其他分享 >UML行为图-活动图

UML行为图-活动图

时间:2024-06-07 13:59:07浏览次数:37  
标签:触发 转换 动作 泳道 事件 UML 活动 行为

概述

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

一、活动图的基本模型

一项操作可以描述为一系列相关的活动。活动仅有一个起始点,但可以有多个结束点。一个活动可以顺序地跟在另一个活动之后,这是简单的顺序关系。如果在活动图中使用一个菱形的判断标志,则可以表达条件关系,判断标志可以有多个输入和输出转移,但在活动的运作中仅触发其中的一个输出转移。

UML的活动图中包含的图形元素有活动、转换、分支与合并、分叉与汇合、泳道。在 UML中,活动图表示成圆角矩形,一个简单的状态图如图6-1所示。

在这里插入图片描述
该图中包含了活动、转换、分支与合并、分叉与汇合。其中活动的开始和结束图元素与状态图中的相同。

二、活动的表示法

活动是指不可中断的动作,并在此动作完成后能够转向另一个状态。活动有如下特点:

  • 活动是原子的,它是构造活动图的最小单位。
  • 活动是不可中断的。
  • 活动是瞬时的行为。
  • 活动可以有入转换,入转换既可以是动作流,也可以是对象流。活动至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。
  • 活动与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
  • 在一张活动图中,活动允许多处出现。

与状态图中的状态类似,活动内部也可以包含如下的4种动作:

  • entry动作:表示进入该状态时执行的动作,采用“entry/动作名称”格式。
  • exit动作:表示退出该状态时执行的动作,采用“exit/动作名称”格式。
  • do动作:表示该状态下执行某一动作,采用“do/动作名称”格式。
  • on动作:表示该状态发生某事件时所执行的动作,采用“on事件名称(事件参数)[执行条件]/动作名称”格式。

一个活动也可以包含多个内部动作,这种内部活动又称为内部转换,即有一个源活动但没有目标活动,它转换后的活动仍是它本身。内部转换用于对不改变活动的插入动作建立模型,例如建立帮助信息。如图6-3所示,其中包含了3个内部动作。

在这里插入图片描述

三、转换的表示法

与状态图不同,活动图的转换一般都不需要特定事件的触发。与状态图的转换相同,活动图的转换也用带箭头的直线表示,箭头的方向指向转入的方向。

一个转换一般包括5部分的信息:源活动、目标状态、触发事件、监护条件和动作。

  • 触发事件是能引起活动转换的事件。触发事件可以是信号、调用和时间段等。
  • 监护条件是触发转换必须满足的条件,它是一个布尔表达式。当事件被触发时,监护条件被赋值。如果布尔表达式为真,那么转换被触发;否则不会引起转换。监护条件只能在发事件发生时被赋值一次。从一个状态引出的多个转换可以有同样的触发器事件,但是每个转换必须具有不同的监护条件。
  • 动作是一组可执行语句或计算处理过程。动作可以包括发送消息给另一个对象、操作调用设置返回值、创建和销毁对象等。动作是原子的,不可中断的。整个系统可以在同一时间执行多个动作。动作在它的控制线程中是原子性的,一旦开始执行就必须执行到底并且不能与同时处于活动状态的动作发生交互作用。

转换用带箭头的直线表示,分别连接源活动和目标活动。当源活动接收到一个事件,并且监扩条件得到满足时,则执行相应的动作,同时从源活动转换到目标活动。如果转换上没有标注触发转换的事件,则表示此转换为自动进行。

四、分支与合并的表示法

分支表示根据条件选择走哪一条支路,表示只有一条支路可走。合并则是将多条支路合并为一条支路。在 UML中分支与合并用空心的小菱形表示,如图6-5所示。
在这里插入图片描述

五、分叉与汇合的表示法

对象在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。分叉没有任何条件,如图6-6所示。

如果转换的流向是横向的,还可以使用竖向的分叉与汇合元素来表示,如图6-7所示。
在这里插入图片描述

六、泳道的表示法

泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

泳道是用垂直实线绘出的,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。

我们将图6-1使用两个泳道来表示,如图6-8所示。
在这里插入图片描述
添加了泳道的活动图,能够明确哪些活动属于哪个泳道,而泳道则代表了活动对象的执行者。

标签:触发,转换,动作,泳道,事件,UML,活动,行为
From: https://blog.csdn.net/qq_35885952/article/details/139503279

相关文章

  • 每日AIGC最新进展(21):清华大学提出从人体运动和视频中理解人类行为MotionLLM、武汉大
    DiffusionModels专栏文章汇总:入门与实战MotionLLM:UnderstandingHumanBehaviorsfromHumanMotionsandVideos本研究提出了一种名为MotionLLM的新型框架,旨在通过结合视频和运动序列(如SMPL序列)的多模态数据,利用大型语言模型(LLMs)的能力来理解人类行为。与以往只针对视......
  • 活动预热丨在 AGI Playground 2024 遇见一群 RTE+AI 的 Builders
    6月22、23日,北京。 AGIPlayground2024,这个夏日最火热的AGI盛会。 王小川、杨植麟等AGI创业者悉数参加。 RTE开发者社区的builders和RTEOpenDay也将在现场! 我们将为大家呈现两大板块:01实时开发挑战WorkshopRTE开发者社区将联合「零一万物」发起w......
  • 《UML基础、案例与应用》习题记录-第5章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。第5章聚集、组成、接口和实现5.8.2习题1.组成结构图Magazine  2.类图 3.类图 4.类图 ......
  • 《UML基础、案例与应用》习题记录-第4章
    部分习题,使用visio或plantuml,非正确答案,仅供参考,欢迎评论,谢绝转载。第4章关系4.10.2习题1.类图 2.类图 3.类图4.类图 5.类图 6.类图 ......
  • 再谈23种设计模式(3):行为型模式(学习笔记)
    23种设计模式的分类表范围\目的创建型模式结构型模式行为型模式类模式工厂方法(类)适配器模板方法、解释器对象模式单例原型抽象工厂建造者代理装饰桥接(对象)适配器外观享元组合策略职责链状态观察者中介者迭代器访问者备忘录命令结构型模式VS行为型模......
  • 基于粒子群算法优化Kmeans聚类的居民用电行为分析研究(Matlb代码实现)
     ......
  • Java转UML类图实现方法
    一、maven依赖<dependency><groupId>com.github.javaparser</groupId><artifactId>javaparser-core</artifactId><version>3.26.0</version></dependency>二、解析Java文件类关系importcom.github.javaparser.Java......
  • 研学活动注意事项十项,简单易懂!
    随着信息化教学的发展,学校在组织研学活动时越来越倾向于采用数字化工具来简化流程,提高效率。一些表单类工具过于繁琐,直到我发现易查分小程序这款工具,它不仅能够轻松制作研学活动的报名系统,还可以让家长在线签名,提交报名信息后自动获得报名号,整个报名过程变得简单而高效。研学......
  • 湖南(广告效果测评)源点调研 广告对消费者行为的影响效果
    湖南(市场调研)源点咨询认为:调查在市场中是一个万万不可忽视的环节。产品在问世之前要认真地调查,广告在投放之前也要认真地调查。由于广告实质是商家和消费者沟通的一个过程,所以在广告投放前,商家就应该与消费者互动交流。如果耗费巨资投放广告却没收到期望的效果,那么这投进广告......
  • 活动回顾丨AI 原生应用架构专场·北京站 PPT 下载
    AI驱动的应用程序开发、部署和运维,给应用带来了新的生命力和想象空间。5月24日,飞天技术沙龙首个AI原生应用架构专场在北京举办。《AI原生应用框架发展趋势》、《通义灵码技术解析,打造AI原生开发新范式》、《应用容器化托管及工程实践》、《云消息队列的成本治理实践》......