uml 9種圖之構件圖和部署圖
構件圖(Component diagram)是面向物件系統從物理方面建模時用到的圖之一,顯示一組構件之間的組織和依賴關係。使用構件圖的思想是複用。就像是我們蓋房子,當房子的大體框架建好之後,剩下的門和窗戶傢俱之類的直接拿來安裝上即可,不需要再從新制作,直接拿來複用的思想。這些門和窗戶就相當於一個個的構件。
前面的類圖用例圖定義了系統的問題域詞彙和系統期望的行為,序列圖和狀態圖描述了問題域中事物是如何共同協作來完成這個行為的。前面做的都只是一些邏輯的藍圖,而構件圖就是要把這些藍圖轉化為存在於位元事件中的事物,是真實的物理的可觸控的事物,用構件圖來視覺化這些物理構件的靜態方面以及它們之間的關係。
一些概念:
1、構件:(Component)是系統中遵從同一組介面且提供其實現的物理的、可替換的部分。每個構件能實現一定的功能為其他構件提供使用介面、方便軟體的複用。例如物件庫、可執行體、COM+、企業級Java Bean。
2、構件型別:
原始碼構件:原始碼檔案
二進位制構件:目標碼檔案,靜態連結庫、動態連結庫
可執行構件:可執行程式
資料檔案或文件
3、構件圖的組成:
構件圖中包括構件、介面和四種關係,還可以包含註釋和約束,以及一些包或者子系統。
4、舉例:
要想構造出良好的構件圖必須滿足的幾個要求:
1、側重於描述系統的一個層面而不是全域性
2、要包含對於理解這一方面哪些是必要的模型元素,只抓主體而不是次要的
3、圖形不能過於簡化,以至於讀者不會產生誤解
4、為構件圖要取一個能表明意圖的名稱
5、空間擺放上要合理組織元素,使得語義上接近的事物的物理位置比較接近
6、謹慎採用構造型化元素,為你的專案或者組織選擇儘量少用的通用圖示,使得他們保持一致
構件圖是我在9種圖中理解比較費勁的一個圖,看過視訊之後沒有對構件圖產生什麼印象。所以理解的還很不到位。構件圖能夠很好的對系統的靜態實現檢視進行建模,用來支援系統部件的配置管理。達到複用的效果,節省了一些不必要的人力。
部署圖(Deployment Diagram)也叫做實施圖,描述的是系統執行時的結構,展示了硬體的配置及其軟體如何部署到網路結構中。可以瞭解軟體和硬體的物理關係以及處理節點的元件分佈情況,傳達了構成應用程式的硬體和軟體元素的配置和部署方式。一個部署圖描述了一個執行時的硬體節點,以及在這些節點上執行的軟體元件的靜態檢視。
一些概念:
1、節點(Node):
節點是一個物理元素,在執行時存在,代表一個可計算的資源,通常佔用一些記憶體,可以是硬體也可以是執行其上的軟體系統,比如64主機、Windows server 2008作業系統、防火牆等。
2、部署圖例子:
部署圖和構件圖的區別和聯絡:
構件圖主要目標是集中在描述系統中有哪些構件,以及構件的組成和之間的依賴關係。部署圖描述的是靠節點完成,描述軟體是如何在硬體上對映的以及網路的拓撲結構。
在構件圖中關係可以是四種,即關聯、依賴、實現和泛化。而在部署圖中各節點之間的關係只有關聯和依賴。