設計模式——UML建模之精選核心知識用例圖、構件圖、部署圖、對象圖的小結(一)

引言

UML(Unified Modeling Language)是一種統一建模語言,爲面向對象開發系統的產品進行說明、可視化、和編制文檔的一種標準語言。隨着你職業生涯的進步,你會越來越發現原來曾經被你輕視的UML建模原來那麼重要(尤其是你的公司是屬於正規軍,有規範嚴格的流程時),系列文章鏈接:

一、UML 的核心圖概述

UML圖的核心體系從變化角度來看,主要分爲兩大類:靜態視圖動態視圖
在這裏插入圖片描述
UML是用來描述模型的,用模型來描述系統的機構或靜態特徵,以及行爲或動態特徵。從不同的視角爲系統構架建模,形成系統的不同視圖。

  • 用戶模型視圖(Use Case View)——強調從用戶的角度看到的或需要的系統功能,是被稱爲參與者的外部用戶所能觀察到的系統功能的模型圖。由專門描述最終用戶、分析人員和測試人員看到的系統行爲的用例組成,是從用戶角度來描述系統應該具有的功能(不關心實現細節),系統實現的最終目標是提供用戶模型視圖中所描述的功能。

  • 結構模型視圖(Structural Model View)————展現系統的靜態或結構組成及特徵,又稱邏輯視圖(Logical View)。

  • 行爲模型視圖(Behavioral Model View)——體現了系統的動態或行爲特徵,又稱併發視圖(Concurrent View)或動態視圖(Dynamic View)。

  • 實現模型視圖(Implementation Model View)——體現了系統實現的結構和行爲特徵,又稱組件視圖(Component View)。

  • 環境模型視圖(Environment Model View)——體現了系統實現環境的結構和行爲特徵,又稱配置視圖(Deployment View)或物理視圖(Physical View)。

而視圖是由圖組成的,UML提供9種不同的圖:

  • 用例圖(Use Case Diagram)——描述系統功能。

  • 類圖(Class Diagram)——描述系統的靜態結構。

  • 對象圖(Object Diagram)——描述系統在某個時刻的靜態結構。

  • 組件圖(Component Diagram)——描述了實現系統的元素的組織。

  • 配置圖(Deployment Diagram)——描述了環境元素的配置,並把實現系統的元素映射到配置上。

  • 狀態圖(State Diagram)——描述了系統元素的狀態條件和響應。

  • 時序圖(Sequence Diagram)——按時間順序描述系統元素間的交互。

  • 協作圖(Collaboration Diagram)——按照時間和空間順序描述系統元素間的交互和它們之間的關係。

  • 活動圖(Activity Diagram)——描述了系統元素的活動。

二、用例圖

1、用例圖概述

用例圖主要用來描述“用戶、需求、系統功能單元”之間的關係,展示了一個外部用戶能夠觀察到的系統功能模型圖,同時可以幫助開發團隊以一種可視化的方式理解系統的功能需求,基本上軟件系統的每一個功能模塊對應一個用例。通俗來說,用例圖主要考慮兩個問題:

  • 使用這個軟件系統時,用戶的角色有哪些?
  • 軟件系統向用戶提供哪些功能模塊?

2、用例圖的核心元素

用例圖的核心元素有:參與者(Actor)、用例(Use Case)、容器、用例圖內的關係。
在這裏插入圖片描述

2.1、參與者

表示與您的應用程序或系統進行交互的用戶、組織或外部系統,用一個小人表示
在這裏插入圖片描述

2.2、用例

用例就是外部可見的系統功能模塊,對系統提供的服務進行描述,用橢圓(內部通過文字標名功能)表示。
在這裏插入圖片描述

2.3、容器

使用一個圓角矩形代表着一個軟件(子)系統。

2.4、用例圖內的關係

用例圖內的關係的關係有:關聯、泛化、包含、擴展

  • 關聯(Association)——表示參與者與用例之間的通信,任何一方都可發送或接受消息。箭頭指向指向消息接收方

  • 泛化(Inheritance)——即繼承關係,子用例和父用例相似,但表現出更特別的行爲,子用例將繼承父用例的所有結構、行爲和關係。子用例可以使用父用例的一段行爲,也可以重載它(父用例通常是抽象的),箭頭指向指向父用例。

  • 包含(Include)——包含關係用來把一個較複雜用例所表示的功能分解成較小的步驟,箭頭指向分解出來的功能用例

  • 擴展(Extend)——擴展關係是指用例功能的延伸,相當於爲基礎用例提供一個附加功能,箭頭指向基礎用例

  • 依賴(Dependency)——以上4種關係,是UML定義的標準關係。但VS2010起的用例模型圖中,添加了依賴關係,用帶箭頭的虛線表示,表示源用例依賴於目標用例,箭頭指向被依賴項。

三、組件圖

組件圖(構件圖)是用於描述一組構件之間的組織和依賴關係,用於建模系統的靜態實現視圖,組件可以是可執行程序集、庫、表、文件和文檔等,也可以是代碼的物理模塊
在這裏插入圖片描述

四、部署圖

部署圖描述系統運行的硬件的物理拓撲結構以及在此結構上執行的軟件,可以顯示計算節點的拓撲結構和通信路徑、結點上運行的軟件組件、軟件組件包含的邏輯單元(對象、類)等。可以幫助理解分佈式系統,部署圖主要用於來描述系統硬件的擴普結構。
在這裏插入圖片描述

五、對象圖

對象圖顯示了在某一時刻上一組對象以及它們之間的關係的圖,可以被看做是類圖在系統某一時刻的實例。對象圖中的建模元素主要有對象和鏈,其中對象是類的實例,鏈是類之間的關聯關係的實例。對象圖用於描述交互的靜態部分,它由參與協作的有關對象組成,但不包括在對象之間傳遞的任何消息。當然在創建對象圖時,建模人員並不需要用單個的對象圖來描述系統中的每一個對象。因爲絕大多數系統中都會包含成百上千的對象,所以用對象來描述系統的所有對象以及它們之間的關係一般是不太現實的。因此,建模人員可以選擇所感興趣的對象極其之間的關係來描述。對象圖中所使用的符號和類圖中使用的符號幾乎完全相同,區別僅在於對象圖的對象名帶有下劃線,而且類與類之間關係的所有的實例都要畫出來。對象圖的建模步驟:

  • 確定對象及對象狀態(從類圖中來)

  • 建立鏈(從類圖中來)

未完待續…

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