【问题标题】:Should an actor be secondary when used "asynchronously"?当“异步”使用时,演员应该是次要的吗?
【发布时间】:2020-10-28 10:55:52
【问题描述】:

在 UML 用例图中,考虑名为 A 和 B 的两个参与者,以及一个名为“组织事件”的用例。

我们想对 A 可以使用建模系统启用“组织活动”这一事实进行建模,但 B 需要批准该组织才能进行。然而,事实证明,B 可能会在一周后给予其批准,即,这很好。相当异步。

在这种情况下:

  • B 应该是 UC 的次要演员吗?但是,UC 的“激活时间”可能与 B 批准所需的时间一样长,这并不奇怪,例如。几个星期?
  • 或者是否应该有第二个名为“批准组织”的 UC,以 B 作为主要参与者?但是图表并没有清楚地表明 B 确实参与了 A 的“组织事件”?

【问题讨论】:

  • 我认为选项 2 是最好的。可能会有人想详细解释为什么这是最好的选择。

标签: uml use-case use-case-diagram


【解决方案1】:

您使用单独的 UC Approve event 为演员 B 建模。 UC Organize event 只是将一些事件放在日程表中。但只有获得批准,才能进行诸如Cater event 之类的 UC。为此,您将附加一个读取为{ UC Approve event for this event must have been performed } 或类似名称的约束。

Organize eventApprove event 之间的“包含”关系意味着后一个 UC 只能在第一个完成后才能完成。这与所需的异步相矛盾。

【讨论】:

    【解决方案2】:

    如果是组织的批准部分,那么您属于情况 1。次要参与者参与到该 UC 但不是“异步”,谈论 (a) 是否同步是没有意义的。为了使 UC 清晰,文本定义必须描述两个参与者的角色,以及组织可能需要很长时间的事实


    但是有 2 个 UC 将创建和(非)认可分开似乎更清楚。在那种情况下,没有UC“组织事件”,“组织事件”是主题。当然“创建事件”的执行是“批准事件”的前提

    【讨论】:

      猜你喜欢
      • 2021-07-14
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 2014-08-13
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多