【问题标题】:How to model in UML a concept that is both an entity object and an actor?如何在 UML 中建模既是实体对象又是参与者的概念?
【发布时间】:2013-02-28 14:29:57
【问题描述】:

您将如何在 UML 中对以下情况建模:

服务员使用餐厅管理系统来跟踪 上桌。它还用于跟踪哪些服务员 服务哪些表。

这意味着服务员的概念既是演员(如 服务员是系统的用户)和一个实体对象(因为 系统会跟踪哪个服务员为哪些桌子服务)。

然而,根据 UML,一个概念不能既是实体又是 演员,因为根据定义“演员是与系统交互的外部实体。”

我总是可以使用不同的名称来区分这些概念,但是 似乎是人造的。

你怎么看?

【问题讨论】:

    标签: uml


    【解决方案1】:

    代表服务员的系统实体与作为系统外部代理的实际服务员不同。

    要么使用不同的名称,要么将参与者和实体放在不同的命名空间或模型中。

    【讨论】:

    • 是的,我同意,这就是我所做的(演员使用“餐桌服务员”,实体对象使用“服务员”)。
    【解决方案2】:

    仅仅因为服务员使用系统并不会强迫您将那个演员命名为“服务员”。想想其他可能以相同方式使用系统的员工,例如主人/女主人或值班经理。

    使用该系统的演员通常扮演一个可以在不同演员之间共享的角色。你必须概括演员所扮演的角色。如果任何员工可以参与该用例,则角色可能是“员工”。

    即使您没有采用这种方法,您仍然可以使用其他同义词来区分实体和演员。演员可能是“服务员”,实体可能是“服务员”。值得花时间想出好名字,尤其是常用术语。如果归根结底,请忘记 UML 关于使用不同名称的“说法”。自从UML问世以来,人们就一直在使用它,如果你决定重用一个名字,没有人会让你失望。

    我想说的是,UML 试图给你一些好的建议,如果你使用相同的名字,它会在以后引起问题,也表明故事还有更多。

    【讨论】:

    • 确实,但角色是服务/出席餐桌,这只是服务员的另一个名称。所以我认为在这种情况下最好使用不同的同义词来区分演员和实体。
    猜你喜欢
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多