0
我需要制作一个UML图,但我不确定如何实现它的一个特定的东西。假设我有一个license
作为对象,它可以是terminal
或anywhere license
。它必须是其中的一个,不能不是它。我认为有license
对象连接到anywhere license
和terminal
与基数0..1两者。这是正确的吗?我应该有其他的基数还是其他结构?UML-如何使它成为正确的模型?
我需要制作一个UML图,但我不确定如何实现它的一个特定的东西。假设我有一个license
作为对象,它可以是terminal
或anywhere license
。它必须是其中的一个,不能不是它。我认为有license
对象连接到anywhere license
和terminal
与基数0..1两者。这是正确的吗?我应该有其他的基数还是其他结构?UML-如何使它成为正确的模型?
你所描述的听起来更像是一种泛化,其中license
是一个抽象类,terminal
和anywhere license
是它的专业化。
但是你可能会想只是在license
一个location
属性与价值terminal
和anywhere license
作为可能的值。然后使用可用值terminal
和anywhere license
创建枚举LocationEnum
。然后加入到'许可”属性:
location:LocationEnum
那么你location
必须有可用值之一LocationEnum
。
你的问题也可以通过其他方式来理解,但这些是最可能的方法,将是一个合适的解决方案。选择哪一个取决于更多的模型细节。
有没有办法在'license'上没有任何属性? – XtremeBaumer
第一个解决方案(使用泛化)不使用任何属性。由于要求不是100%清楚,我试图提供最合理的解决方案。但正如我写的,最好的解决方案将取决于模型的其余部分。 – Ister