UML總結----六種關係和九種圖的作用

已經學習了UML,應該對UML有一個大概的認識,下面一張圖是我畫的一個思維導圖。

從圖上可以看出UML可以大致分爲視圖、事物、關係以及它的9種圖。

視圖

在邏輯視圖中:邏輯視圖通常由類圖、對象圖以及包圖表示,組件圖通常由組件圖表示,併發圖通常由狀態圖、活動圖、時序圖、協作圖表示,配置圖通常由配置圖表示,用例圖通常由用例圖表示。

結構事物也分爲了類、接口、用例、協作、活動類、組件和節點

類:類是由具有相同屬性、相同方法、相同語義和相同關係的一組對象的集合。一個類可以實現一個或多個接口。在UML圖中,類用包括類名、屬性、方法的矩形表示。

接口:接口是指類或組件所提供的、可以完成特定功能的一組操作的集合。即:接口描述了類或組件的對外的、可見動作,通常一個類實現一個或多個接口。

用例:用例定義了系統的一組操作,對特定的用戶產生可以觀察的結果。

協作:協作定義了交互的操作,表示一些角色和其他元素一起工作,提供一些合作的動作。一個給定的類可能是幾個協作的組成部分,這些協作代表構成系統的模式的實現。在UML中,協作通常用一個虛線橢圓表示。

活動類:指類對象有一個或多個線程或進程的類。活動類和類相似,只是它的對象代表的元素的行爲和其他元素同時存在。在UML中活動類的表示方法和普通類的表示方法相似,也是使用一個矩形,只是最外面的邊框用粗線。

組件:組件是物理上可替換的,實現了一個或多個皆苦的系統元素。

節點:節點是一個物理元素,它在運行時存在,代表一個可計算的資源,在UML中,節點使用一個立方體來表示。

關係

關聯關係:關聯關係是一種結構化關係,指一種對象和另一種對象有關聯是一種擁有關係,使一個類知道另一個類的屬性和方法,如:老師與學生、丈夫與妻子。關聯關係可以有方向,表示該關聯在某方向被使用。只在一個方向上存在的關聯,稱爲單向關聯,在兩個方向是國內都存在的叫做雙向關聯。關聯關係用一條實線表示。雙向關聯可以有兩個或沒有箭頭,單向關聯有一個箭頭。

老師和學生是雙向關聯,老師可以有多名學生,學生也可以有多名老師,但學生與課程之間是單向關聯,一名學生可以有多門課程,課程不擁有學生。

聚合:是關聯的特例,聚合表示類與類之間關係時整體與部分的關係聚合是整體與部分的關係,部分可以離開整體而單獨存在,如果在聚集關係中儲運部分方的對象可同時參與多個處於整體方對象的構成,則該聚集稱爲共享聚合。 在IUML中聚合關係用一段帶有空心小菱形的直線表示,菱形端連接表示整體事物的模型元素,另一端連接的是部分事物的模型元素。

例如:一個評委可以參加多個比賽,表示歌唱大賽由評委等對象組成

組合關係:組合關係時再聚合關係之上的更緊密的耦合關係,描述元素之間部分與整體的關係部分類需要整體類才能存在,當整體類背銷燬,部分類將同時被銷燬。組合關係用一端帶有實心小菱形的直線表示菱形端連接表示整體事物的模型元素,另一端連接表示部分事物的模型元素。

依賴:依賴關係描述兩個模型元素(類、用例)之間的語義關係是一種使用關係。其中一個模型元素是獨立的,另一個模型元素不是獨立的,它依賴於獨立的模型元素,如果獨立的模型元素改變,將影響依賴於它的元素。箭頭指向爲被指用者。

泛化是一種繼承關係,表示一般與特殊的關係,指定了子類如何特化父類的所有特徵和行爲。泛化可分爲普通泛化以及受限泛化。普通泛化就是沒有給泛化添加約束。普通泛化關係用一條帶有空心箭頭的實線表示,箭頭指向父類。受限泛化可以給泛化關係附加約束條件,說明該泛化關係的使用方法或擴充方法。

實現:是一種類與接口的關係,表示類是接口的所有特徵和行爲的實現。再UML中用帶三角的虛線表示,箭頭指向接口。

各種關係強弱順序:泛化=實現>組合>聚合>關聯>依賴

下圖描述了各類的關係:

另外:用例圖分爲用例圖;靜態圖分爲:類圖、對象圖、包圖;交互圖:時序圖、協作圖

在需求階段:採用用例圖描述需求

分析階段:用類圖描述靜態結構

設計階段:採用類圖、包圖對類的接口進行設計

實現階段:將類用某個面向對象的語言實現

集成交付階段:構件圖、包圖、部署圖

測試階段:單元測試用類圖和類的規格說明書,集成測試階段用類圖、包圖、構件圖和合作圖,系統測試階段用用例圖來測試系統功能。

用例圖:描述角色以及角色與用例直接按的連接關係。說明誰要使用系統,以及他們使用該系統可以做什麼

類圖:描述系統的靜態結構,以及各個類之間的關係的靜態視圖。

對象圖:描述系統在某個時刻的靜態靜態結構。它是類圖的實例,對象圖i西安市類的多個對象實例,而不是實例的類。

活動圖:描述用例要求所要進行的活動,以及活動間的約束關係。

狀態圖:描述類的對象所有可能的狀態,以及事件發生時狀態的轉移條件。

序列圖:按事件順序描述系統元素間的交互,用來顯示你的參與者如何以一系列順序的步驟與系統的對象交互的模型。

協作圖:顯示對象間的活動合作狀態,可以看成時類圖和順序圖的交集,按時間、空間順序描述系統元素間的交互,和他們之間的關係。

構件圖(組件圖):描述代碼構件的物理結構以及各種構建直接按的額依賴關係。實現系統的元素的組織。

部署圖:用來建模系統的物理部署。例如計算機和設備,以及他們之間是如何連接的,部署的使用者是開發人員。系統集成人員和測試人員。

 

以上是對UML的總結,如有不足指出,歡迎指正!

https://blog.csdn.net/dragonpeng2008/article/details/6836448

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章