2013-11-28 129 views
2

關聯定義了分類器之間的semantic relationship。關聯的實例是set of tuples relating instances of the classifiers。每個tuple value may appear at most once。該協會在分類器的實例中代表set of connections。一個協會的一個實例是一個鏈接,這是從相應的量詞繪製的tuple of InstancesUML規範中的關聯定義

我不知道是否有一個人幫助我理解了關聯定義特別突出顯示的內容的每一個字?因爲我是從不同的資源,瞭解它但他們都說着同樣的話,但我想更詳盡的定義

回答

2

語義關係

這意味着有被關聯,從問題空間出現的事物之間的結構關係。例如:關聯Person owns Dog。在狗牌許可申請中,這種關係是中心概念;該應用程序用於管理人與狗之間的鏈接。這是一種「語義」關係,因爲它具有源於問題空間的意義。

集有關的分類

元組是「的有序集的元素的」(wikipedia)的實例的元組。狗所有權協會的一個例子可以是("Fido", "Fred"),其中「Fido」代表狗和「Fred」人。一個關聯可以表示爲一組元組,其中每個Dog的組合都有一個元組,這個關係可以持有這個元組;例如

[("Fido", "Fred"), ("Angel", "Chuck Norris"), ("Boatswain", "Lord Byron")]

注有用於對沒有的元組關係保持;例如("Fido", "Lord Byron")

每個元組值可能最多隻能出現一次

這是不可能的設置爲包含重複的,因爲這也只是兩次說同樣的事情。所以沒有必要再將("Fido", "Fred")添加到上面的列表中;我們已經知道Fred擁有Fido。

協會代表的量詞

的實例中的一組連接這只是另一種方式去思考的關係。對於集合中的每個元組,都可以考慮相關對象之間的鏈接或連接。

一個關聯的一個實例是一個鏈接,這是實例的元組

見上文。每個元組代表一對鏈接的對象。鏈接指向關聯,因爲對象是類。類有很多對象;協會有很多鏈接。

從根本上說,存在的關聯表明事物系統地與其他事物相聯繫。元組和集合是思考和/或表示這些鏈接事物的一種方式。 (事實上​​,我對你的OP中的定義有所質疑:關聯中的鏈接可以表示爲作爲一組元素:但這不是他們的,它們是如何建模的。信息可同樣由一個圖形,其中每個對象是由頂點(節點)表示,並且每個關聯來建模的邊緣

HTH

編輯:。

響應您的問題外觀。就像你理解得很好;一些觀察。

首先,這裏我將如何模型,可以:

enter image description here

我們每個點:

名稱:是的關聯關係的名稱(可選項,你可以給它一個名字或不)

我喜歡基於動詞短語的命名,因爲它帶出了關係的含義。我的模型可以直接讀作:

  • 每個人擁有許多狗(其中「多」是指0或更多)
  • 每條狗正好由一個人

這樣做會刪除所擁有的需要明確命名關聯,儘管如果你願意,你仍然可以這樣做。

知名度(我不關心它,至少現在,我直到現在才意識到它的重要性)。

我同意。就我個人而言,我從來沒有用可見度來標註模型。

名稱:(這裏是MemberEnd的名稱),這樣,我的截圖

留下了它的默認名稱有關上述關聯命名見註釋。我更喜歡基於角色的基於動詞的命名:'擁有'在描述關係的目的方面明顯要比命名關聯結束'狗'或'狗'更明確。

memberEnd的所有者[...]

個人:我不使用這個。關於這個問題還有其他一些討論,我不認爲在大多數情況下都會產生重大影響。

通航[...]

再次我不親自使用此。實際上,導航能力應該來自潛在的行爲。它是否需要單向/雙向導航?然後相應地設置導航。然而,有些人喜歡明確地指定它,在此基礎上它使得實現更加清晰(如果只能以一種方式導航,則只能在一個類中使用引用來實現;如果雙向它需要雙向引用 - 伴隨邏輯保持一致)。

多重

我同意你的選擇。

希望有所幫助。

+0

嗨@ sfinnie!我很幸運地得到這樣的答案.I've花了過去三小時 左右只是吸收每一個字,我真不知道怎麼感謝你 不夠。 我已經建立了「人擁有狗」的關聯。我希望你 對我的嘗試發表評論,確認我正在嘗試做的是否正確,並且 在UML中有效。 這是一個類圖:http://postimg.org/image/cjn6js2ex/這是關聯的相應'屬性視圖' 關係類圖(編輯其屬性) http://postimg.org/image/llblttv5d/ – Carlos

+0

這是我對關聯關係的理解: #Name:是關係的名稱(可選,你可以給它 它的名字與否) #visibility(我不關心它,至少目前爲止,我還沒有意識到它的重要性,直到現在)#Name:(這裏是MemberEnd的名字),所以,我在 的屏幕上留下了它的默認名稱,但它是類類型的實例我們的e xample 這是菲多 – Carlos

+0

memberEnd的#the主人:我有兩個選擇要麼協會或 分類[我的理解,我應該爲兩端 指定的分類,因爲我覺得是菲式'狗class'和弗雷德是'Person 類'],但我不知道在哪些情況下AssociationEnds應該是 由協會擁有,不屬於分類器? – Carlos