2016-11-21 54 views
0

我需要制作一个UML图,但我不确定如何实现它的一个特定的东西。假设我有一个license作为对象,它可以是terminalanywhere license。它必须是其中的一个,不能不是它。我认为有license对象连接到anywhere licenseterminal与基数0..1两者。这是正确的吗?我应该有其他的基数还是其他结构?UML-如何使它成为正确的模型?

回答

1

你所描述的听起来更像是一种泛化,其中license是一个抽象类,terminalanywhere license是它的专业化。

但是你可能会想只是在license一个location属性与价值terminalanywhere license作为可能的值。然后使用可用值terminalanywhere license创建枚举LocationEnum。然后加入到'许可”属性:

location:LocationEnum 

那么你location必须有可用值之一LocationEnum

你的问题也可以通过其他方式来理解,但这些是最可能的方法,将是一个合适的解决方案。选择哪一个取决于更多的模型细节。

+0

有没有办法在'license'上没有任何属性? – XtremeBaumer

+0

第一个解决方案(使用泛化)不使​​用任何属性。由于要求不是100%清楚,我试图提供最合理的解决方案。但正如我写的,最好的解决方案将取决于模型的其余部分。 – Ister