天天看點

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

    關于UML的視訊内容看了也有一段時間了,對其大概的内容也有了初步的了解,大概内容把主要講軟體設計過程中用到的九種模組化圖形以及在每種圖用到的一些關系。對于這個視訊内容,感覺挺糾結的雖然隻有四大關系,可以模模糊糊的總是分不清楚,痛苦啊!話說到底有哪四種關系?

一、關聯關系(association)

UML類圖關系中關聯即時發生關系,一個類A關聯類B,說明類A中的字段中含有類B中的執行個體連接配接。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

關聯關系中又分為兩種關系

1、聚合關系(Aggregate)

是一種強關聯關系。聚合關系就是整體和部分之間的關系(可分割)。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

2、  組合關系(Composition)

相比于聚合關系是一種更強的關聯關系,也稱為強聚合。雖然它同樣表示整體和部分的關系,但是此時整體與部分是不可分割的。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

二、依賴關系(Dependency)

依賴關系是一種使用關系,特定事物的改變有可能會影響到使用該事物的其他事物,在需要表示一個事物使用另一個事物時使用依賴關系。

例如我使用水杯喝水,喝水這個動作依賴于水杯,如果水杯損壞,會影響到我的方法——喝水。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

三、泛化關系(Generalization)

泛化關系也就是繼承關系,泛化關系用于描述父類與子類之間的關系,父類又稱為作基類或超類,子類又稱為派生類。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

四、實作關系(Implementation)

用來規定接口和實踐接口的類或建構結構的關系,接口是操作的集合,而這些操作就用于規定類或者建構的一種服務。

接口之間也可以有與類之間關系類似的繼承關系和依賴關系,但是接口和類之間還存在一種實作關系,在這種關系中,類實作了接口,類中的操作實作了接口中所聲明的操作。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

UML類關系中實作關系還有一種省略的表示方法,即接口表示一個小圓圈,并和實作接口的類用一條線段連接配接。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

在用例圖中還額外涉及到兩種關系——擴充VS包含

包含關系:一個用例可以包含其他用例中的具有的行為,并把它所包含的用例行為作為自身包含的一部分。

例如下面無論是添加、删除、修改使用者資訊,都需要更新資料資訊,更新資料庫資訊作為一個公共的功能子產品,故可以用包含關系。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

擴充關系:和包含關系極為相似,如果完成某項功能的時候偶爾會使用另一項功能。

例如下面的例子:老師登記完成成績後,如果學生的成績低于60分,則列印成績成績單,否則就不列印。故是否列印成績單功能隻是偶爾的使用,根據此判斷相對儲存成績來說隻是擴充關系。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

整理上面幾種關系的強弱:

泛化=實作>組合>聚合>關聯>依賴

各種關系的連接配接符号

因為每種關系都有一種獨立的連接配接符号,為了差別,故總結一下。

【UML】——四種關系一、關聯關系(association)二、依賴關系(Dependency)四、實作關系(Implementation)在用例圖中還額外涉及到兩種關系——擴充VS包含

【總結】

關于UML視訊中的内容比較多,主要是涉及到每個圖之間的聯系,以及圖本身的一些聯系,涉及到關系感覺種類很像,是以有點模糊,對後面的畫圖也有很大的影響。先總結着,給畫圖做個鋪墊。看視訊的過程中出現不知道總結該寫什麼内容,和師傅說了好久,發現了自己為什麼不能做好總結,以及自己的思維導圖為什麼畫的很爛,缺少一種全局觀,看完視訊後,不能跳出視訊的内容,對全局有一個整體的概括,也造成了學習效率很低。關于這個問題,先從自考畫導圖開始,鍛煉對自己全局觀的把控能力!

本人菜鳥一個,上述内容如有不對的地方,歡迎各位大神及時指出,不勝感激!

繼續閱讀