UML之部署圖(Deployment Diagram)設計與示例

譯者說

一直以來,對UML部署圖并沒有仔細研究其設計理念,直接按照自己的理解畫出能表達內容的樣子就完事了。實際上,UML也在不斷發展和完善,許多UML工具也都提供了良好的支持,有必要了解其設計理念,以達到事半功倍的效果。

概述

部署圖是結構圖的一種,它展示了系統的架構。例如:一個軟件系統的眾多實體(Artifacts)是如何構成部署目標(Node,節點)的。

實體(Artifact)表示在現實世界中具體的元素。實體通常是開發過程的結果,例如:可執行文件、庫、存檔、數據庫schema、配置文件等等。

部署目標(Deployment target):通常用節點(Node)來表示,代表一個硬件設備或某些軟件運行環境。節點可以通過communication paths構成任意復雜度的、網絡連接的系統。

注意:在UML1.x部署圖規范中,組件可以直接部署到節點中。但是在UML2.x規范中,實體可以部署到節點,實體也可以實現組件。組件則可以通過實體間接部署到節點。

譯者說:在UML2.x規范中,組件不能直接部署到節點。

部署圖可以用于描述規范級別的架構,也可以描述實例級別的架構。這與類圖和對象圖有點類似。

規范級別:展示從實體到節點的部署情況。不涉及具體的實體實例或節點實例。

實例級別:展示實體實例到具體的節點實例的部署情況。它可以用于展示不同部署之間的差異。例如,開發和生產環境的部署可以通過具體的名字或ID(這里指的是具體的構建、部署服務器、或設備)加以區分。

譯者說:上文中已經提到,規范級別和實例級別其實就像類圖和對象圖之間的關系。規范級別是抽象的、統一的、不具體的、具有指導性;實例級別是具體的、特殊的、與實際緊密相關的,具有直觀的現實意義。同樣,類是抽象的、只是一種行為和屬性的描述;而對象(也叫實例)是類的實例化結果,是具體的,對應一個有現實意義的事物。

常用的部署圖有如下幾種:

  • 通過實體實現(展現)組件;
  • 規范級別的部署圖;
  • 實例級別的部署圖;
  • 系統網絡架構圖;

譯者說:以下就是逐一介紹四種用法。

通過實體實現組件

組件圖展示了組件及組件之間的關系(包括分類器),而部署圖則展示了實體到節點的部署情況。這里遺失了一個清單圖(manifestation diagram),用于表示如何通過實體實現組件,也可以表示實體的內部結構。

然而,在UML2.4規范中,并未定義清單圖。可以通過組件圖或部署圖來展示清單圖。

樣圖如下:

規范級別的部署圖

部署Web應用到Tomcat JSP服務器以及部署數據庫schema到數據庫系統的樣圖如下:

實例級別的部署圖

部署應用到應用服務器以及部署若干schema到數據庫服務器的樣圖如下:

系統網絡架構圖

部署圖可以用于顯示系統的邏輯或物理網絡架構。它可能不需要實體和部署,也可能只有主要角色。樣圖如下:

網絡架構圖


英文原文


閱讀原文 | 作者官網 | 公眾號 | Feed | 訂閱 | 發私信

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容