在用例图中扩展

Extend in use case diagram

我了解到将一个以上的主要参与者连接到一个用例是不正确的,因此像下图这样的情况是不正确的

所以我这样使用继承

但是该用例有一个扩展用例,它只适用于一个参与者(第二个参与者没有那个扩展用例)。 因此,在我的示例中,经理和 HR 都可以浏览用户,但只有经理可以阻止用户。

我如何在图表中表示它?

UML 规范的最新 (2.5.1) 版本中没有“主要”参与者的概念。您只需将权利actor/s(经理、人力资源或两者)与您的每个用例相关联,而不使用泛化(继承)。

两个(或更多参与者)连接到一个用例意味着所有个参与者都参与了这个用例。如果你想表明,可以涉及 一个 多个参与者,概括是一个很好的可能性。

UML 中未指定“主要”参与者的概念。因此,我在一个用例中谈到了actorinvolved。当然,在用例的描述中你会清楚是哪个参与者发起了使用。这将是主要演员。

您对 «extend» 的所有问题都可以通过简单地省略它来解决。在我看来,«extend» 对更好的模型没有帮助。如果你想说几个用例的描述有重叠,你可以使用 «include»。但实际上,你不应该太担心这些关系。毕竟,您想描述参与者使用该系统的目的。每个参与者目标都是一个自己的用例。

我支持 Axel:远离 «extend»,除非您知道它的含义。我猜你的情况是合法的。因此,您可以做的就是向扩展关系或解释限制的参与者添加约束。只需将其显示为带有约束 { in curly brackts}.

的注释

否则有一种约定,将主要 演员(触发 UC 的演员)放在左边,将相关演员放在右边。您的概括方法很好。演员代表角色(就像在剧本中一样)。识别这些角色是 UC 综合过程中必不可少的部分。

一如既往,我建议阅读 Bittner/Spence 关于用例建模的内容。