UML 活动图 (Activity Diagram) 使用案例

UML 活动图使用案例

UML 活动图 (Activity Diagram) 使用案例

活动图是UML中用于描述业务流程或系统工作流程的行为图,特别适合展示活动之间的控制流和数据流。

活动图的主要元素

  1. 初始节点(Initial Node)

    • 黑色实心圆,表示流程的开始
  2. 活动节点(Action Node)

    • 圆角矩形,表示一个具体的活动或操作
  3. 控制流(Control Flow)

    • 带箭头的实线,表示活动之间的转移
  4. 决策节点(Decision Node)

    • 菱形,表示流程中的分支选择
    • 通常带有监护条件(guard conditions)
  5. 合并节点(Merge Node)

    • 菱形,用于合并多个流程路径
  6. 分叉节点(Fork Node)

    • 粗水平线,表示并行流程的开始
  7. 汇合节点(Join Node)

    • 粗水平线,表示并行流程的结束
  8. 终止节点(Final Node)

    • 黑色实心圆外加大圆,表示流程结束

典型使用案例

1. 用户登录流程

复制代码
开始 → 输入用户名密码 → [验证] → 验证成功? → 是 → 进入系统 → 结束
                     ↓
                     否 → 显示错误信息 → 重新输入

2. 在线购物流程

复制代码
开始 → 浏览商品 → 加入购物车 → [决策:继续购物?]
    ↓是                             ↓否
    ←←←←←←←←←←←←←←←←←←←
                             ↓
                         结算 → 选择支付方式 → 支付 → [支付成功?] → 是 → 生成订单 → 结束
                                                    ↓
                                                    否 → 返回支付方式选择

3. 订单处理系统

复制代码
开始 → 接收订单 → [分叉]
              ├→ 验证订单 → 更新库存
              └→ 处理支付 → 生成发票
              [汇合] → 发货 → 结束

4. 文件审批流程

复制代码
开始 → 提交文件 → [分叉]
              ├→ 部门审批 → [决策:通过?] → 是 → 总经理审批
              │             ↓
              │             否 → 返回修改
              └→ 并行技术审核
              [汇合] → 归档 → 结束

活动图的优势

  1. 可视化复杂流程:清晰地展示多个活动间的逻辑关系
  2. 并行行为建模:能很好地表示并发和同步活动
  3. 业务分析:帮助理解业务流程,发现优化点
  4. 系统设计:辅助设计系统的动态行为

何时使用活动图

  • 需要描述业务工作流程时
  • 需要展示并行活动时
  • 需要分析复杂过程时
  • 需要文档化系统行为时

活动图特别适合用于业务流程建模、系统功能流程描述以及复杂算法的可视化表示。

相关推荐
未可知7771 天前
软件设计师(下午题2)、UML与设计模式
算法·设计模式·职场和发展·uml
my烂笔头2 天前
vscode\cursor集成plantuml方法
ide·vscode·编辑器·uml
未可知7773 天前
软件设计师(上午题4)、面向对象、uml、设计模式
设计模式·职场和发展·uml
rolt20 天前
[pdf、epub]350道《软件方法》强化自测题业务建模需求分析共298页(202511更新)
产品经理·架构师·uml
一个不知名程序员www25 天前
软考中级软件设计师(下午题)--- UML建模
软考·uml·软件设计师
yours_Gabriel1 个月前
【设计模式】UML和设计原则
java·设计模式·uml
又见野草1 个月前
软件设计师知识点总结:面向对象技术(面向对象基础+UML)
uml
lapiii3581 个月前
14天极限复习软考-day5 软件工程 、UML
软件工程·uml
CappuccinoRose1 个月前
UML学习文档(二)
uml·类图·序列图·状态图·类的关系
静心观复1 个月前
drawio画java的uml的类图时,class和interface的区别是什么
java·uml·draw.io