2016-11-21 53 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