【问题标题】:How to show different roles given to different users in Use case diagram?如何在用例图中显示赋予不同用户的不同角色?
【发布时间】:2016-04-12 10:16:46
【问题描述】:

假设我有不同的功能/角色,管理员可以为他们选择的用户提供不同的功能/角色,因此不存在“如果用户可以做到这一点,他们就不能那样做”。 示例:我的角色:读取、添加、删除和编辑。管理员可以将这些角色分配给他/她的用户,假设是随机的(因为没有更好的词)。 这可以在用例图中说明,还是我应该只使用一个演员并给他所有这些动作?如果可以做到,那怎么做?而且我不熟悉所有 UML 图,但如果有人知道更好的图来更好地说明这一点,我将不胜感激!

【问题讨论】:

    标签: uml use-case


    【解决方案1】:

    首先,通常最好为角色命名而不是动词。只是让事情更清楚。所以阅读er,添加er等。

    就用例而言,我会说为“将角色分配给用户”创建一个用例,以管理员作为参与者。除非添加不同角色所涉及的过程彼此完全不同,否则您可能不需要四个单独的用例。

    然后,分别用 reader 和 adder 作为 actor 创建“read stuff”、“add stuff”等。

    在您对阅读器和加法器参与者的描述中,请明确说明这些用户是被分配了各自角色的用户。如果您愿意,他们可以从更通用的“用户”演员继承,但在您的情况下,这是否是出于动机,我无法仅从这个问题中判断。

    这就是你需要做的,真的。

    【讨论】:

    • 嗯,谢谢你的回答,我明白了!如果我想通过这种方式为每个角色添加演员(读者,加法器..),我知道我不能展示演员之间的泛化关系,对吗?因为例如“编辑器”可以同时是“加法器”!
    • 如果你愿意,你可以,但 Reader 和 Adder 不会是彼此的概括(尽管可能是第三个参与者,用户)。您只需将 Reader 描述为“具有读取权限的用户”,将 Adder 描述为“具有添加权限的用户”。无需解释拥有两种权限的 person 可以在两个用例中都处于活动状态,这就是使用 roles 作为参与者的美妙之处。
    【解决方案2】:

    用例图在您的情况下似乎是一个好主意,但您必须了解更多关于它们的信息...... 这是一个简单的示例,其中用户能够阅读,而管理员能够阅读(因为他也是用户)和写作。

    再次尝试查找有关 UML/用例图的更多信息

    【讨论】:

    • 您应该将模糊的用例命名为Read somethingWrite something,使其更加具体。仅仅一个动词是不够的。
    • 嗯,我不确定你是否明白我的问题,我不是在谈论演员之间的泛化关系!正如我所说,我想要一种正确的方式来展示分配给不同演员的角色,当我不知道哪个演员可以扮演什么角色时!
    • 演员就是角色。这个答案正在解决这个问题。就像在剧院里演员扮演的角色一样。
    • 我想当我试图给出一个简单的例子时,我最终给出了一个模棱两可的例子:/但无论如何我明白了你的意思!谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 2021-08-09
    • 2011-03-10
    相关资源
    最近更新 更多