第5章 活动图知识点全解析与实践应用指南

1,157 阅读6分钟

本文概述了UML活动图的基本概念、主要组成部分及其在系统需求设计中的应用。活动图是用于描述系统行为的一种图表,适合展示业务流程和操作序列。通过示例,如网上购物和餐馆订餐系统,详细描述了用户下单、支付处理、订单监控等核心流程。本文旨在帮助读者理解活动图的功能与作用,以提升系统设计的可视化和逻辑性。

活动图概述

UML活动图(Unified Modeling Language活动图)是统一建模语言(UML)中用于描述系统行为的一种图表,特别适用于展示业务流程或操作序列。活动图主要用于描述对象如何通过一系列活动相互协作以完成某种目标或业务流程。它以图形化的方式展示系统的动态行为,帮助开发者、工程师和业务分析师更好地理解系统的操作流程和内部逻辑。

活动图的主要组成部分包括:

  • 活动:表示系统执行的操作或任务,通常用椭圆形(或圆角矩形)表示的表示。

image.png

  • 动作状态:表示活动图中的一个瞬间行为,动作状态可以看作是活动的简化版,通常用一个圆圈内嵌一个圆点来表示。 image.png

  • 泳道:用于将活动图中的活动分组,以显示它们在不同的对象或参与者之间是如何分布的,通常用垂直线表示。泳道表明每个活动是由哪些人或哪些部门负责完成。在活动图中泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中每个活动只能明确地属于一个泳道。

  • 分支(Branching) 分支用于表示在特定条件下选择不同的流程路径。这通常是在决策节点处发生的,当系统遇到条件时,根据不同的条件结果执行不同的活动。通常用菱形表示。 image.png

  • 合并(Merging):用于表示多个流程路径合并为一个路径的点,通常用菱形表示。 在一个审批流程中,可能有多个审批者审核同一个申请。如果所有审批者都完成了审批(无论结果如何),就可以汇聚到“生成最终报告”的活动。 image.png

  • 分叉(Fork):分叉用于表示在某个活动后,流程将进入并行的多个子流程。它允许多个活动同时进行。 分叉通常用一条垂直的线来表示,线的上方是单个活动,线的下方是多条并行的控制流。

  • 在一个在线购物流程,当用户成功下单后,系统可以同时执行多个操作,如:

    • 发送确认邮件
    • 更新库存
    • 生成发货单
  • 汇合(Join):汇合用于表示多个并行活动的结束,标志着这些活动都已完成后,流程将继续进行后续活动。汇合也用一条垂直的线表示,来自多个并行活动的控制流将汇聚到一条控制流。

  • 在一个项目管理流程中,不同团队可能同时工作在多个任务上。在所有任务(活动)完成后,所有的控制流将汇聚到一个汇合节点,继续进行“项目评审”的活动。

  • 开始节点:表示活动图的起点,通常用一个小圆圈表示。

  • 结束节点:表示活动图的终点,通常用两个嵌套的圆圈表示。 image.png

  • 对象节点:表示活动执行时使用的对象或数据存储,通常用圆角矩形表示。

  • 控制流:表示活动的执行顺序,通常用带箭头的线条表示。 活动图本质上是一种流程图,它描述活动的序列,即系统从一个活动到另一个活动的控制流。

活动图作用

活动图是一种表述过程基理、业务过程以及工作流的技术。 它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模,另外还可以用来描述算法

活动图基本符号

image.png

任务描述

网上购物活动图

需求说明:

  • 提供完整的订单管理流程,确保客户体验流畅。
  • 确保支付过程的有效性与安全性。
  • 支持供应商的货物发送操作,确保物流及时跟进。
  • 实现对订单状态的准确管理和更新,提升系统的可靠性。
  1. 订单管理

    • 客户能够通过系统下订单。
    • 系统允许客户选择不同的支付方式。
  2. 支付处理

    • 系统需检测客户是否在规定时间内完成支付。
    • 客户可以主动取消订单或者在超时情况下自动取消。
  3. 货物处理

    • 在支付成功的情况下,系统将生成发送货单。
    • 供应商负责根据货单安排货物的发送。
  4. 订单状态监控

    • 系统需实时监测所有订单项的发送状态。
    • 订单完成的条件是所有订单项均已成功发送。
  5. 订单状态更新

    • 如果所有订单项已完成发送,系统将更新订单状态为“完成”。
    • 若存在未完成的订单项,系统需更新这些项的发送状态。

任务实施

image.png

实验实训

实验一 餐馆订餐系统

主要功能:

用户可以浏览菜单、下订单、选择取餐方式、处理支付,以及查看订单状态。

活动图需求描述

  1. 用户登录/注册

    • 用户可以选择登录到已有账户,或注册新账户。
  2. 浏览菜单

    • 用户查看餐馆的菜品菜单,包括菜品名称、价格和描述。
  3. 选择菜品

    • 用户选择想要订购的菜品,并指定数量。
  4. 添加到订单

    • 用户将选定的菜品添加到订单列表中。
  5. 查看订单

    • 用户查看当前的订单,包括菜品和总价。
  6. 选择取餐方式

    • 用户选择取餐方式(如到店自取、外送)。
  7. 选择支付方式

    • 用户选择支付方式(如信用卡、移动支付等)。
  8. 支付处理

    • 系统处理支付请求并确认支付状态。
    • 支付成功:生成订单并发送订单确认。
    • 支付失败:提示用户重新尝试支付或选择其他支付方式。
  9. 订单状态监控

    • 系统跟踪订单处理情况,通知用户订单的准备状态。
  10. 取餐/送餐

    • 用户在指定时间内取餐或等待外卖送达。
  11. 订单完成

-   用户在取餐后确认订单完成,并可以选择评价及反馈。

主要活动步骤

  1. 用户登录或注册。
  2. 浏览菜单并选择菜品。
  3. 添加菜品到订单。
  4. 查看订单并选择取餐方式。
  5. 选择支付方式并处理支付。
  6. 跟踪订单状态并完成取餐或送餐。