我需要制作一个UML图,但我不确定如何在其中实现一个特定的东西。我们假设我有一个license
作为对象,可以是terminal
或anywhere license
。它必须是其中之一,不可能不是它。我想将license
对象连接到anywhere license
和terminal
,其基数为0..1。这是正确的吗?我应该有其他基数还是完全其他结构?
答案 0 :(得分:1)
您所描述的内容听起来更像是一种概括,其中license
是一个抽象类,terminal
和anywhere license
是其专业化。
但是,您可能希望在license
location
属性中包含值terminal
和anywhere license
作为可能的值。然后使用可用值LocationEnum
和terminal
创建枚举anywhere license
。然后添加到'license'属性:
location:LocationEnum
然后,您的location
必须在LocationEnum
中提供一个值。
您的问题也可以通过其他方式理解,但这些是最合适的解决方案。选择哪一个取决于更多的模型细节。