大型架構都會涉及到架構圖,也是大廠經常考察的内容,下面我就給大家詳解UML部署圖@mikechen
本篇已收于mikechen原創超30萬字《阿裡架構師進階專題合集》裡面。
UML部署圖
部署圖,英文名Deployment Diagram,部署圖是描述一個系統運作時的硬體節點。
UML 部署圖,用于表示系統中的節點、節點上的元件、以及它們之間的通信、以及依賴關系。
UML部署圖作用
部署圖用來顯示系統中硬體和軟體的實體架構,從中可以了解到軟體和硬體元件之間的實體拓撲、連接配接關系以及處理節點的分布情況。
一個系統模型通常隻有一個部署圖,它通常用來幫助了解分布式系統。
UML部署圖組成
部署圖中的主要元素有節點(Node)、構件(Artifact)和連接配接(Link)、部署規約(Deployment Specification)等等。
1.節點(Node)
節點代表計算機資源的實體元素,可以是硬體也可以是運作其上的軟體系統。
比如:伺服器主機、Linux作業系統等,一般用立方體表示,如下圖:
2.構件(Artifact)
構件是軟體開發過程中的産物,包括過程模型,比如:用例圖、設計圖、以及源代碼、可執行程式、設計文檔、需求原型、使用者手冊等。
構件表示如下:
構件表示一個軟體部件,節點表示一個硬體部件,這是構件與節點的核心差別。
3.連接配接(Association)
連接配接(Connection)用于表示兩個節點之間的硬體連接配接(實體連接配接)。
連接配接用一條實線段表示,可以通過構造型或限制對連接配接的通信路徑或通信方式進行描述。
如下圖所示:
4.部署圖關系
1)依賴
依賴是節點的物件之間存在互相調用的弱關系,如下圖所示:
2)關聯
節點間的通信方式,跟具體的協定有關,比如TCP/IP, ftp, http, soap, web service等
UML部署圖執行個體
下面是一個 UML 部署圖的基本執行個體:
1、使用者節點(Client Node)
使用者節點:使用者通過浏覽器通路 Web 應用程式。
Client Node,通過網絡連接配接到 Web 伺服器。
2、Web 伺服器(Web Server Node)
Web服務節點,處理用戶端的 HTTP 請求。
3、應用伺服器節點(Application Server Node)
應用節點,包含:業務邏輯、并與資料庫進行互動,一般都是叢集,比如:上圖的應用節點1、應用節點2...等等。
4、資料庫伺服器(Database Server Node)
資料服務節點,負責:存儲、和管理系統中的資料。
本篇已收于mikechen原創超30萬字《阿裡架構師進階專題合集》裡面。