【问题标题】:How do I depict this situation in a use-case diagram?如何在用例图中描述这种情况?
【发布时间】:2022-01-17 10:57:39
【问题描述】:

考虑这样一个场景:
大学 ABC 为一门课程分配 2 名讲师(一名主讲师和一名代课讲师)。代课讲师的工作是在主讲师不能出席时进行授课。因此,两位讲师不需要同时在场进行讲座。

如何显示主讲师或代课讲师同时提供讲座?

我画的:


然而,场景中描述的想法在这里并不一致,因为同时两位讲师都有可能提供讲座。
我该如何纠正这个问题?

【问题讨论】:

  • 无法仅使用图表来描述您的场景。您必须添加您的假设以使其清楚。
  • 普通讲师是主讲师还是副讲师?
  • 您可以始终使用约束(纯文本或包含在{} 中的OCL)来描述此类条件。

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


【解决方案1】:

您是将两个不同的讲师与用例关联还是将一位讲师与多重性为 2 关联在这里没有区别。 UML 规范允许完全未指定多个参与者的情况:

UML 2.5.1,第 640 页(突出显示是我的):

当 UseCase 与具有多重性的 Actor 关联时Actor 端大于 1,表示 UseCase 中涉及多个 Actor 实例。 多个Actor参与UseCase的方式取决于手头的具体情况,在本规范中没有定义。例如,一个特定的 UseCase 可能需要两个单独的 Actor 同时(并发)动作(例如,发射核导弹),或者它可能需要 Actor 的互补和连续动作(例如,一个 Actor 启动某事,另一个 Actor 停止它)。

这里有一些可能的解决方案来优化您的模型:

  • 在两个讲师关联之间显示{xor} 约束。
  • 添加一个注释框,锚定到您以纯文本形式解释的用例。
  • 保持图表不变,并在文本用例描述中描述需求。

其他 cmets,与您的问题无关:

  • 如果学生人数没有上限,请使用* 而不是M。如果在文本中指定,请使用数字。
  • 主讲师和代课讲师都是全职讲师,选择只看空位,不是吗?

【讨论】:

    【解决方案2】:

    正如评论的那样,我总是会扮演实际的角色。我手头没有好名字,但在你的情况下,它会是Lecture offerer。那就是与Offer lecture 用例相关联的那个。

    现在您展示的其他 3 个演员可以简单地通过泛化从上面的那个演员继承。

    关于并发访问的任何约束都最好保存在需求、约束和最终描述出现的许多场景的事件流中。要求和约束不应使简单的 UC 图表混乱。相反,您创建不同的图表来处理它们。 UC图的主要重点是显示附加值。

    我一如既往地推荐阅读 Bittner/Spence 关于用例建模的文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-09
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多