部署圖簡介
一個UML部署圖(對象管理組織2001)描述了一個運行時的硬體結點,以及在這些結點上運行的軟體組件的靜態視圖。 部署圖顯示了系統的硬體,安裝在硬體上的軟體,以及用於連線異構的機器之間的中間件。
創建目的
· 探究系統投產的相關問題.
· 探究你的系統和生產環境中的其它系統的依賴關係,這些系統可能是已經存在,或是將要引入的。
· 描述一個商業套用主要的部署結構。
· 設計一個嵌入系統的硬體和軟體結構。
· 描述一個組織的硬體/網路基礎結構。
指南
簡介
在特定的項目圖上註明軟體組件;集中在企業級圖上的結點和通信關聯
結點和組件
用描述性術語命名結點;僅僅建模重要的軟體組件;為組件一致地套用一致版型;把可視化的版型套用到結點
依賴和通信關聯
用版型來註明通信協定;僅僅建模組件間的關鍵性依賴
通用準則
在特定的項目圖上註明軟體組件圖1是一個大學管理系統的UML部署圖描述. 該圖描述了那些包含單一應用程式的主要軟體組件是怎樣配置到生產環境中的,這使得項目團隊能夠確定他們的部署策略。2.集中在企業級圖上的結點和通信關聯
UML部署圖經常被認為是一個網路圖或技術架構圖,圖2是該風格的一個例子,它描述了一個簡單組織的技術基礎結構。 注意圖2是一個非常簡單的例子,像這樣的圖,許多組織將會有幾十甚至幾百個結點。
雖然在圖的有限範圍內註明組件的部署情況是可以顯示它的作用的,例如圖1,但圖很快地就變得笨重起來。 圖2則關注於企業的那些高階部署,因此配置在硬體結點之上的軟體組件的精細的、細節的東西就不需要顯示出來,你可以在你的CASE工具中處理這些信息,但這並不意味著你需要在圖上顯示它們。
結點組件
簡介
一個結點,通常描述成一個立體的盒子,表示一個計算設備,一般是一個單獨的硬體設備,例如一台電腦,網路路由器,主機,感測器,或個人數字助理(PDA)。 組件,描述為矩形,左側面還伸出兩個較小矩形,這和UML組件圖上使用的符號是相同的,它表示軟體的中間產物,例如檔案、框架、或領域組件。
術語命名結
在圖1中,你可以看到結點都有名稱,例如client、Application Server、Database Server、和Mainframe。 所有的這些術語都需要即刻為組織內的開發人員所認可,因為這些條款都是他們日常使用的。 保持它的簡單性。
軟體組件
雖然圖1包含軟體組件,但它沒有描述每一個軟體組件。 例如,客戶機上很可能還安裝有其他的軟體組件,如作業系統和套用軟體,但那些組件沒有顯示出來,因為它們已經離題了。 事實是每個結點也許有幾十甚至幾百的軟體組件配置於其上,你的目標並不是描述所有的軟體組件,而是只需要描述那些對系統的列節至關重要的組件。如果你需要探究軟體組件間的關係,你應該創建一個UML組件圖作為替代,遵循敏捷建模( AM) ( Ambler 2002)的套用"合適的Artifact"的實踐。
一致版型
在UML部署圖上為組件套用和UML組件圖中的相同的版型。
把可視化的版型套用到結點
圖2使用可視化的版型來描述結點描述結點,例如mobile PC是顯示為一個筆記本,而databases則使用傳統的資料庫的圓筒符號來表示。 為UML部署圖上套用可視化版型制定標準是不可能的,一般的經驗法則是使用你看得到的適當的剪貼畫。
通信關聯
簡介
通信關聯,經常稱為連線,被描述為連線結點間的線條。組件間的依賴則被建模成虛線箭頭,這和其他UML圖上使用的符號是一樣的。
用版型來註明通信協定
通信關聯支持一個或多個通信協定,每一個都應該使用一個UML版型來描述。 圖1中你可以看到HTTP、JDBC、和web services協定,他們就是使用了這個方法。
表1提供了一個典型的通信關聯的版型列表,你的組織也許會想開發自己的特定標準。
表1.通用的版型為通信關聯
版型 含意。
異步 一個異步連線,也許經由一個訊息匯流排或訊息佇列。
HTTP 超文本傳輸協定,一個網際協定。
JDBC Java資料庫連線,一套為資料庫存取編寫的Java API。
ODBC開放式資料庫連線,一套微軟的資料庫存取套用編程接口。
RMI 遠程方法調用,一個Java的通信協定。
RPC 經由遠程過程調用的通信。
同步 一個同步連線,傳送器等待從接收器回來的反應。
web services 經由諸如SOAP和UDDI的Web Services協定的通信。
僅僅建模組件間的關鍵性依賴
圖1中配置在??來,因為它們和圖並沒有什麼關係(而且它們最好是在UML組件圖上建模具體的細節)。 然而,在資料庫伺服器上的組件間的依賴則被建模出來,因為它有助於展示資料庫的訪問。領域組件對資料庫的方位是間接的,他們需要通過一個持久性框架,這是通用的架構最佳實踐( Ambler 2001)。 遵循AM的實踐,簡單的描述建模。僅僅建模和手頭的任務相關的信息。