正如我们 上周已确定的那样,UML 活动图记录单个操作或方法的逻辑、单个用例或商业过程的逻辑流程。在很多方面,活动图是结构化开发中流程图和数据流程图 (DFD)的面向对象等同体。 本周的提示改编自 The Object Primer 2nd Edition的第 6 章。
图 1
中的活动图描述了大学新生第一次将如何办理入学的商业逻辑。
- 实心圆表示活动图的起点,实际上是一个占位符,带边框的实心圆表示终点。
- 圆角矩形表示执行的过程或活动。在该图中,虽然您会注意到“登记研习班”用例将多次调用“登记研习班”活动,但这些活动却相当紧密地映射到用例。活动可以细致得多,特别在选择记录方法逻辑,而不是高级商业过程时。
- 菱形表示判定点,虽然在此示例中判定点只有两种可能结果;但即使有更多可能结果,它也同样容易。
- 箭头表示活动之间的转换,各种活动之间的流动次序。
- 箭头上的文字表示继续转换所必须满足的条件,总是使用格式“[条件]”来描述。我猜想,在 UML 的将来版本中,我们将会看到使用 UML约束表示法(如“{condition}”)记录的条件。
- 粗线条表示可能会并行进行的过程的开始和结束;在大学里成功入学后,必须参加指定的概况介绍,还要至少登记一个研习班并交付一部分的学费。
退出活动可能有几种方法,如您看到的“填写入学表”活动的那样。如果正确填写了表格,那么可以继续进行大学的入学手续。但是,如果表格不正确,那么必须获得帮助(可能从注册员获得帮助)以正确填写它们。
图 1. 第一次入学的 UML活动图
这个活动图非常有趣,因为它省掉了 图 2中标识的几个用例的逻辑。用例模型没有很好地表达处理的顺序是件好事。例如,虽然 图 2中显示的用例图为您清楚地描述了该系统所执行的功能类型,但是它没有明确地表达这些用例可能发生的顺序。 但是, 图 1的活动图做到了这一点。总之,不同模型的优缺点各有不同。
图 2.大学的用例图
参考资料
关于作者