UML 建模] (5) UML 建模的活动图
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。
文章目录
- 活动图的介绍
- 主要元素
- 动作和活动
- 开始和终止
- 控制流
- 判断节点
- 分叉(fork)和汇合(join)
- 泳道
- 发送信号与接收信号
- 活动图的建模技术
- 对业务流程建模
- 对用例交互建模
- 综合例子
- 总结
- 参考
- 粉丝专属福利
活动图的介绍
活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。
活动图的作用是描述一系列具体动态过程的执行逻辑,展现活动和活动之间的转移的控制流,并且它采用了一种着重逻辑过程的方式来叙述。
主要元素
活动图主要动作、活动、动作流、分支与合并、分叉与汇合、泳道和对象流等元素。
动作和活动
一、动作代表一个原子操作,操作可能是任何合法的行为。
动作可以是并且不限于:创建或删除对象、发送消息、调用接口、甚至数学运算以及返回表达式的求值结果。
如下图所示就是各种类型的动作(Action):
- 普通的原子操作(Atomic),
- 调用接口(Call Behavior),
- 调用操作(Call Operation),
- 接受事件(Accept Event),
- 接受时间事件(Accept Time Event),
- 发送信号(Send Signal)
- 输入变量(Write Variable)
- 返回表达式的求值结果(Value Specification)
- 创建对象(Create Object)
- 删除对象(Destroy Object)
- 其他(Other)
- 二、活动节点
活动节点是一系列动作,主要用于实现动作序列的简化和动作图的嵌套。活动节点在图例上的表达方式和动作相同,其图标表示如下图所示:
开始和终止
活动图中的开始和终止是两个标记符号,分别标记了业务流程的起始位置和结束位置。
活动图中有且仅有一个开始标记,一般至少有一个结束标记(死循环的情况下可能没有结束标记)。
- 开始的图标
- 结束的图标
控制流
控制流是活动图中用于标示控制路径的一种符号,它负责当一个动作或活动节点执行完毕后,将执行主体从当前已完毕的节点转移到下一个动作或者活动节点。
控制流从活动图的开始标记开始运行,经过顺序、分支等结构引导者各个动作的连续执行。
判断节点
判断节点是活动图中进行逻辑判断,并创造分支的一种方法。它有一个进入控制流和至少两个导出控制流。
判断节点具有多个导出流,对于每条导出流而言,应当在表示该控制流的箭头上附加控制条件。
分叉(fork)和汇合(join)
分叉节点是从线性流程进入并发过程的过渡节点,它拥有一个进行控制流和多个离开控制流。分叉节点的所有离开流程是并发关系,即分叉节点使执行过程进入多个动作并发的状态。
汇合节点是将多个并发控制流收束回同一流程的节点标记,功能上与合并节点类似。结合节点的各个进入控制流间具有并发关系,它们在系统中同时运行。
泳道
泳道是将活动图中的具体活动按照负责进行该活动的对象进行分区,一条泳道中的所有活动由同一个对象来执行。除了以上的对线性流程进行分区以外,使用泳道表示法还可以更清晰地表示并发。
案例:在线填写请假条,三天以下,直接上级审核即可,三天以上需要总监同意和人事批准,以上情况都通过,即可请假。
发送信号与接收信号
发送信号一种操作,可以将消息或信号发送给另一个活动,或同一活动中的并发线程。消息的类型和内容可以通过操作的标题或其他注释中指定的信息看出。
活动图的建模技术
对业务流程建模
- 选择一个将要描述的重要过程,过程中尽量涉及数量少但是关键的对象或参与者,将无关或关联很小的对象排除在外。
- 在总体业务流程中提取关键的动作或活动节点,并且将他们与对象或者参与者相对应;若发现有些动作无法对应,则考虑动作是否在这个流程中起关键作用,或者是否遗漏了某些对象或参与者。
- 规定初始状态:确定过程可能的结束位置,为活动图添加开始和结束节点。
- 从业务流程的开始节点开始,把过程中发生的动作按事件顺序排列,依次把这些动作添加到活动图中。
- 把局部的过于复杂的动作序列加以总结,绘制成一个活动节点;如果需要,把这个动作序列使用另外的活动图进行建模。
- 找出连接这些动作和活动节点的控制流,并且准确找到过程中的分支、分叉、合并与结合节点。
- 如果业务流程中有一些关键对象的值或状态需要加以描述,使用对象流添加这些对象在某些动作或活动节点前后的状态描述。
对用例交互建模
- 选择概念用例–即从系统对客户提供的各种服务中确定出一个关键业务,这个关键业务可能是在多个相同或者不同的情况下反复出现,或者是系统需要提供的一个关键服务或进行的关键操作。
- 对于当前选择的用例,通过事件流进行顺序叙述,并找出所有的参与者主动动作,把这些动作整理成动作或或活动节点。
- 把参与者和系统划分为两个泳道,如果有除了主参与者以外的其他参与者,也为它们分别划分泳道。
- 把活动节点纵向按照事件发生顺序,横向按照参与角色和系统角色对应填入活动图中。
综合例子
总结
本文详细介绍了UML活动图的信息。
参考
UML之活动图
UML官网
UML 活动图
粉丝专属福利
- 回复【python】:即可获取50G的python学习干货
- 回复【爬虫】:即可免费获取全面完善的爬虫资料
- 回复【数据分析】:即可免费获取全面完善的爬虫资料,超值
- 回复【java】:即可获得java全套资料以及面试题
- 回复【软考】:即可获得软考资料
推荐阅读
-
推荐几个常用在线图工具(支持时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等。同时还支持非 UML 图的甘特图、架构图等)
-
理解工作流:自动化业务流程管理与Activiti实践" **简述** 工作流(Workflow)是一种利用电脑技术自动化管理业务流程的方式,让不同参与者按既定路径执行任务,确保文档、信息或任务在预设规则下顺利传递,最终达成期望的业务目标。 **核心概念** - **工作流自动化**: 计算机驱动业务流程处理与执行,如在参与者间自动传递文档和任务。 - **目标与应用**: 管理工作流程确保按时、由合适的人执行,同时允许人工介入以增强灵活性。 - **工作流框架示例**: Activiti、JBPM、OSWorkflow 和 Workflow,它们背后通常依赖数据库支持。 - **关键组件**: ProcessEngine 在 Activiti 中扮演核心角色,负责流程实例创建、数据管理和流程监控。 **相关领域** - **业务流程管理 (BPM)**: 一种系统性方法论,聚焦于构建并优化端到端卓越业务流程以提升企业业绩,在EMBA、MBA等商业课程中得到关注。 - **业务流程建模与标记语言 (BPMN)**: 用于绘制业务流程图的工具,探讨其在不同场景下的应用精确度、标准化价值以及未来发展愿景。 **辅助术语** - 流对象 (Flow Objects): BPMN 中用于描述流程中活动、决策、序列和其他元素的具体实现单元。
-
UML类图(统一建模语言类图)
-
软件开发学习笔记 UML 活动图的 UML 建模(活动图) 状态图(状态图)的 UML 建模 时序图的 UML 建模(时序图)
-
UML 建模工具 Visual Paradigm(VP-UML)教程:绘制用例图
-
UML 建模] 交互图 -- 时序图 协作图
-
时序图(序列图)的 UML 建模
-
UML 面向对象分析和建模--[5] 交互图
-
什么是统一建模语言 (UML) 图表,如何制作好的图表?
-
UML 建模:绘制和理解类图