UML软件工程组织

漂亮的示例: 何时使用 UML 活动图

Scott W. Ambler

 

UML 活动图记录单个操作或方法的逻辑、单个用例或商业过程的逻辑流程。在很多方面,活动图是结构化开发中流程图和数据流程图 (DFD) 的面向对象等同体。本提示改编自 The Object Primer 2nd Edition 的第 6 章。

 

图 1 中的活动图描述了大学新生第一次将如何办理入学的商业逻辑。

  • 实心圆表示活动图的起点,实际上是一个占位符,带边框的实心圆表示终点。
  • 圆角矩形表示执行的过程或活动。在该图中,虽然您会注意到“登记研习班”用例将多次调用“登记研习班”活动,但这些活动却相当紧密地映射到用例。活动可以细致得多,特别在选择记录方法逻辑,而不是高级商业过程时。
  • 菱形表示判定点,虽然在此示例中判定点只有两种可能结果;但即使有更多可能结果,它也同样容易。
  • 箭头表示活动之间的转换,各种活动之间的流动次序。
  • 箭头上的文字表示继续转换所必须满足的条件,总是使用格式“[条件]”来描述。我猜想,在 UML 的将来版本中,我们将会看到使用 UML 约束表示法(如“{condition}”)记录的条件。
  • 粗线条表示可能会并行进行的过程的开始和结束;在大学里成功入学后,必须参加指定的概况介绍,还要至少登记一个研习班并交付一部分的学费。

 

退出活动可能有几种方法,如您看到的“填写入学表”活动的那样。如果正确填写了表格,那么可以继续进行大学的入学手续。但是,如果表格不正确,那么必须获得帮助(可能从注册员获得帮助)以正确填写它们。

图 1. 第一次入学的 UML 活动图

这个活动图非常有趣,因为它省掉了图 2 中标识的几个用例的逻辑。用例模型没有很好地表达处理的顺序是件好事。例如,虽然图 2 中显示的用例图为您清楚地描述了该系统所执行的功能类型,但是它没有明确地表达这些用例可能发生的顺序。但是,图 1 的活动图做到了这一点。总之,不同模型的优缺点各有不同。

图 2. 大学的用例图

参考资料
有关 UML 活动图的详细信息,请参阅:

关于作者
Scott W. Ambler 是
Ronin International 的总裁,该公司是一家专门提供面向对象过程指导、体系结构建模和 Enterprise JavaBean (EJB) 开发的咨询企业。他自己著作并与其他人合著了几本有关面向对象开发的书籍,包括最近出版的 The Object Primer 2nd Edition,该书详细介绍了本文所概述的主题。可以通过 scott.ambler@ronin-intl.com 和他的网站与他联系,他的网站位于 http://www.ambysoft.com/