我必须使用以下要求对用例图进行建模:
我们有3个演员(Actor1,Actor2,Actor3)。 所有演员都可以查看列表。 必须根据actor自动过滤列表。 因此,对于Actor1,Filter1自动应用于列表,对于Actor2应用了Filter2,并且应用了Actor3 Filter3。
我不确定使用用例图对此方案进行建模的最佳做法是什么。
答案 0 :(得分:0)
你基本上有两个选择。
使用一个UC最终不同的场景(在我看来是首选)。在这种情况下,您只有1个UC和所有演员连接到它。由于每个演员都有特殊条件,因此只需为每个演员制作3个不同的场景,并根据演员决定使用哪个场景。您还可以仅使用1个方案并涵盖其中的所有规则。如果差异相对较小且易于构建并在场景中的单个点中定义,那么这是更好的选择。
使用不同的UC 。您可以替代使用主UC,然后派生3个特殊用例。每个演员都得到“他自己的”用例。主要UC定义了主要场景,它的geenric部分(可能只是squeleton)和3个子用例定义了它们自己的特殊要求。
还有第三种选择,一种混合,与包含关系的应用(注意,它不是扩展)。我发现虽然有点误导而且太复杂(4个用例,关系)。
出于同样的原因,我建议第一种选择。它发现了用例(视图列表)的主要观点以及所有3个actor都可以使用它的事实。另一方面,它将详细规则压缩到元素的内部描述。很好地使用抽象,主要的建模原理。
这两张图: