引言
UML(统一建模语言)活动图是建模系统动态行为的重要工具。它们以图形化方式展示逐步活动和操作的工作流程,使复杂过程更易于理解和沟通。本指南将带你了解UML活动图的基本知识,使用PlantUML提供实用示例,并强调通过示例学习的优势。
核心概念
1. 活动与动作
- 活动:这是活动图的主要组成部分,表示流程中的各个步骤或操作。
- 动作:这些是不可再分解的原子活动。
2. 控制流
- 控制流:表示活动的执行顺序,通过连接活动的箭头来展示执行顺序。
3. 初始节点和终止节点
- 初始节点:标记工作流的起点,用实心圆表示。
- 终止节点:标记工作流的终点,用靶心符号(一个圆内套一个圆)表示。
4. 决策节点和合并节点
- 决策节点:根据条件决定流程分支的点,用菱形表示。
- 合并节点:多个流程汇聚回单一流程的点,同样用菱形表示。
5. 游泳道
- 游泳道:用于将活动分组,通常代表不同的角色或职责。它们以垂直或水平的通道形式呈现。
通过示例学习的优势
通过示例学习具有多个优势:
- 实践理解:观察实际应用有助于更有效地掌握概念。
- 视觉学习: 图表提供视觉表示,使复杂过程更容易理解。
- 立即应用: 示例可直接应用于类似情境,提升解决问题的能力。
- 参与度: 示例使学习过程更加吸引人和互动。
- 情境化学习: 示例提供上下文,有助于理解不同概念在现实世界中的相互关联。
示例
示例 1:简单订单处理

说明:
- 该过程始于客户下单。
- 订单系统接收订单,处理付款,并确认订单。
- 随后,仓库打包并发货。
- 最后,客户收到订单。
示例 2:ATM取款流程

说明:
- 客户插入卡片并输入密码。
- ATM验证密码。如果正确,客户选择金额,ATM发放现金;如果错误,ATM显示错误信息。
- 客户领取现金。
示例 3:图书馆借书

说明:
- 学生查找书籍并提出借阅请求。
- 图书管理员核实书籍是否可借。如果可借,图书管理员发放书籍;否则,图书管理员通知学生。
- 学生领取书籍。
示例 4:在线购物

说明:
- 顾客浏览产品,将其加入购物车,然后进入结账流程。
- 支付系统处理付款。如果成功,订单将被确认;如果失败,顾客将收到失败通知。
- 仓库准备并发货订单。
- 顾客收到订单。
示例5:酒店预订

说明:
- 顾客搜索酒店,选择房间,并完成预订。
- 预订系统验证房间的可用性。如果房间可用,预订将被确认;否则,顾客将收到通知。
- 顾客收到确认信息。
解读UML活动图
- 活动流程:跟随箭头以理解活动的顺序。每个箭头表示从一个活动到下一个活动的控制流。
- 决策点:在决策节点处,评估条件以确定应遵循的分支。这有助于根据条件理解不同的情景。
- 泳道:识别每个泳道所关联的角色或职责。这有助于理解每个活动由谁负责。
- 初始节点和最终节点:初始节点表示流程的起点,而最终节点表示流程的终点。
- 并发:寻找分叉和汇合以理解并行活动。分叉将流程拆分为并发活动,而汇合则将它们重新同步为单一流程。
结论
UML活动图是一种多功能工具,用于建模和理解复杂流程。通过使用这些图表,您可以轻松创建和可视化工作流程,从而更简单地沟通和分析流程。无论您是在设计新系统还是记录现有流程,活动图都能提供一种清晰且结构化的方式来表示动态行为。通过示例学习可以增强您对这些图表的理解和应用,使您在实际场景中更熟练地使用它们。
参考文献
- 活动图,UML图表示例:泳道
- 泳道活动图指南
- 如何绘制活动图?
- 活动图,UML 图表示例:泳道提案流程
- 如何在 UML 中绘制活动图?
- 活动图教程
- 什么是活动图?
- 带泳道的活动图 2
- 活动图,UML 图表示例:订单履行泳道
- 带泳道的 ATM 活动图