2013-10-10 74 views
0

如果我在Year類的UML Object Diagram(也稱爲「實例圖」)中建模,該類的字段爲Month的列表,那麼我是否應該明確地爲List實例創建一個框?對我來說,似乎就像如果我畫的Year實例直接連接到12個Month實例線,那麼我希望看到Year 12場像month1month2在UML對象圖中如何通過列表/集合表示關係?

如果做連接他們直接,那麼你如何在圖表中明確表示關係不是直接的,而是通過一個列表?或者,這張圖更具概念性,這些關係的確切性質不明確?

tl; dr:在UML對象圖中,像列表這樣的集合是否有自己的模型框,通過它們連接模型?如果沒有,如何表示呢?

回答

2

事實上,你應該首先確定你的類圖。然後一個對象圖將自然推導出來。

我會代表的類圖是這樣的:

diagram1

而與此類圖,你說自己的對象圖什麼是正確的(繪製連接年度的實例線到12個月實例),因爲每個連接線本身就是類圖中箭頭的一個實例。 (在UML術語中,鏈接是關聯的實例)

diagram2

當然,如果你的類圖,而不是僅僅公開一個屬性months : List,答案是不同的。但它似乎並不合適。

注意1:你在我的類圖中看到,沒有提示它實際上是一個List。這是因爲在我看來,它只是一個實現細節。例如,它也可以是一個數組,但重要的一點是多重性12,這意味着它是一個多重值。注意2:不要擔心你說的卡卡斯年中的12個字段,事實並非如此。在一個對象圖,字段值直接表示的類的實例,就像在類圖的屬性

編輯:

如果你想區分絕對清晰,你可以命名箭尖months對於每個月的實例,因此聲明所有對應於唯一相同的月份字段。在另一種情況下,它們將被命名爲month1,month2。同樣的,你也可以在類圖中命名箭頭。

+0

嗯,我並不擔心陳述具體是一個列表,而是他們在收集與個別領域。這個區別是我認爲很重要的(我的實際情況是權限和角色不是幾個月,而是相同的結構)。 – ArtB

+0

如果你想明確區分,你可以爲每個月的實例命名箭頭提示'months',從而表明所有對應於一個唯一的'months'字段。他們將被命名爲'month1','month2',...在另一種情況下。同樣的,你也可以在類圖中命名箭頭。 – Steph

+0

想要添加到您的答案,我會接受嗎? (我喜歡完整的答案而不需要通過評論) – ArtB

相關問題