【UML】第16篇 活动图

目录

一、什么是活动图

二、应用场景:

三、绘图符号的说明:

四、语法:

五、例图

六、建模的流程

[6.1 对业务流程建模时](#6.1 对业务流程建模时)

[6.2 对用例进行活动图建模时](#6.2 对用例进行活动图建模时)


一、什么是活动图

活动图**(Activity Diagram)**是UML中用于描述工作流程或操作执行流程的一种行为图。它展示了操作的流程,包括决策、并行处理、循环等,以及这些流程中涉及的各个活动或动作。

二、应用场景

  1. 业务流程建模:活动图非常适合描述复杂的业务流程,因为它可以清晰地展示流程中的各个步骤、决策点、并行流程等。
  2. 软件需求分析:在软件需求分析阶段,活动图可以帮助分析人员更好地理解系统的功能需求,特别是那些涉及多个用户、多个系统或并行处理的功能。
  3. 系统设计:活动图可以作为系统设计的一部分,描述系统或组件在执行特定功能时的行为。
  4. 工作流建模:对于需要明确指定任务执行顺序的系统,如生产流程控制系统或项目管理系统,活动图可以用来描述工作流。

三、绘图符号的说明

  • 动作/活动(Action/Activity):表示流程中的一个步骤或动作,用矩形表示。
  • 起始节点(Initial Node):表示流程的开始,用实心小黑圆点表示。
  • 活动终点(Activity Final Node):表示流程的正常结束,用带有内圆圈的空心圆表示。
  • 流控制(Flow Control):表示流程的方向,用带箭头的线连接各个活动或节点。
  • 决策/分支(Decision/Branch):表示基于某个条件的决策点,用菱形表示,菱形内通常包含决策条件。
  • 合并(Merge):表示多个分支合并为一个流程的点,也用菱形表示,但通常没有条件。
  • 分叉(Fork)和汇合(Join):表示流程的并行处理,分叉用一条线分为多条线表示,汇合则用多条线合并为一条线表示。
  • 对象流(Object Flow):表示对象在活动之间的流动,用带有标签的虚线箭头表示。

四、语法

在UML中,活动图的语法并不是像编程语言那样的严格规则集合,而是指如何使用上述绘图符号来构建图表。活动图的构建通常遵循以下原则:

  1. 起始节点表示流程的开始。
  2. 活动表示需要执行的任务或步骤。
  3. 决策节点用于根据条件选择不同的流程路径。
  4. 分叉和汇合用于表示并行处理。
  5. 活动终点表示流程的正常结束。
  6. 流控制箭头指示流程的方向。
  7. 对象流表示对象如何在活动之间传递。

活动图通常是通过UML建模工具以图形方式创建的,但也可以用文本或伪代码来描述,特别是在早期的需求分析阶段。然而,对于复杂的系统或流程,图形表示通常更加直观和易于理解。

五、例图

也可以是泳道图来对用例或者对象建模。

六、建模的流程

在建模时,通常选择对业务流程建模或对用例的交互进行建模。

6.1 对业务流程建模时

  1. 选择要描述的业务过程,找出业务过程中的关键对象或参与者,将重要的对象或参与者从左到右依次排开;
  2. 为反应动作状态的执行者,为这些对象或参与者添加泳道;
  3. 找出业务的关键动作状态或活动节点,在对应的泳道中添加动作状态或活动;
  4. 确定业务的起始点及结束状态,为活动图添加初始状态和结束状态;
  5. 从起始状态开始,按照动作的发生次序,依次添加到活动图中;
  6. 连接动作状态,并根据业务情况,添加分叉与汇合、分支与合并等节点;
  7. 如需描述对象的情况,使用对象流来补充活动图。
  8. 审查活动图中是否有遗漏或需要进一步说明的地方,是否需要使用另外一个活动图进一步描述某些活动。

6.2 对用例进行活动图建模时

  1. 选定要建模的用例,确定用例执行的基本流程;
  2. 通过用例的事件流找出参与者的主动动作,把这些动作整理为活动图中的动作状态或活动状态;
  3. 为参与到用例基本流程的参与者和系统添加泳道;
  4. 把动作状态和活动状态添加到对应的泳道中;
  5. 使用分叉与汇合、分支与合并来描述用例执行中的并发动作和特殊事件的备选动作;
  6. 审查活动图是否符合实际情况,是否有遗漏,以及是否需要借助另外一个活动图来描述活动的情况。

(未来会做更详细的探讨,敬请关注)

相关推荐
rolt1 天前
长得像用例图的类图-《软件方法》8.2.3.4
软件工程·uml·面向对象
成工小白2 天前
【UML】- 用例图(结合银行案例解释其中的奥义)
uml·用例图
ftswsfb2 天前
【系统架构设计师】六、UML建模与架构文档化
系统架构·uml
rolt6 天前
[pdf,epub]105页《分析模式》漫谈合集01
ddd·架构师·uml·领域驱动设计·分析模式
奶味少女酱~11 天前
uml类图
uml
犬余12 天前
UML之用例图详解
笔记·学习·uml
许个小愿望12 天前
软件设计师----UML
uml
找了一圈尾巴12 天前
UML 总结(基于《标准建模语言UML教程》)
系统架构·uml
Gavynlee14 天前
设计模式总结
uml