UML 图多重性表示法

问题描述 投票:0回答:1

我对我的 UML 图有疑问。我制作了一个由“User”父类和两个继承自“User”的子类组成的系统。现在我的问题是如何显示它们之间的多重符号,就像“预订”和“客户”之间显示的多重符号一样,更多的客户每个只能有一个预订,并且符号将是多对一的。

问题是:

  • 我们系统中的用户只能是从业者或客户,不能同时是两者 --> 因此,表示法为 1 到 1

  • 有更多的用户,不同的用户可以是从业者或客户 --> 因此符号将是 1..n 到 1..n

正确的写法是什么?类继承时写重数表示法是错误的吗?请帮助我花了大约 2 个小时来解决这个问题。

UML DIAGRAM PICTURE

inheritance uml diagram class-diagram multiplicity
1个回答
5
投票

你不知道。 UML 中的泛化不存在多重性。

您的

User
Cient
Practitioner
的事实可以通过设置您的
User
abstract 来表达。抽象类的表示法是将名称设置为斜体。这样你就不能直接实例化
User
实例,但你必须使用具体子类之一。

第二个短语并没有真正限制任何东西,所以你根本不必提及它。

备注:在 UML 中保留了 guillemets «» 来表示构造型和关键字。现在你的

User
类实际上是一个具有构造型 «User»

的未命名类
© www.soinside.com 2019 - 2024. All rights reserved.