今天,本號帶領大家來學習一下UML中的部署圖。
部署圖很簡單,簡單到沒必要大張旗鼓的進行介紹,但是本文還是詳細的介紹一下相關知識。
部署圖(Deployment Diagram)用於描述系統硬體的物理拓撲結構以及在相關節點上執行的軟體工件(artifacts)。
工件是系統開發過程產生的具體的元素,如可執行檔案、庫、檔案檔案、資料庫模式、配置檔案等。
部署圖與上篇文章介紹的元件圖都是對系統物理方面進行建模。
構成的
部署圖的元素主要包括節點(node)和節點之間的關係(relationship)
。
節點
節
點是
系統部署的目標物件,其通常是硬體或軟體的執行環境。
每個節點都有自己的名稱,如“Web伺服器”,“資料庫伺服器”等。
也可以在節點上進行其他資訊的描述,如硬體的配置情況,軟體環境的版本資訊等。
(1)UML1.x中的節點
在UML1。x中,節點被分為兩類:
處理器(processor)和裝置(device)
。
處理器
是具有計算能力的節點,且一般可以執行軟體,如伺服器。
裝置
指的是一些不具有計算能力的節點,它們可能作為一些輸入輸出裝置或者本身是處理器的外部連線裝置,如顯示器、印表機、讀卡器等。
在UML中,兩種節點分別使用下面的圖形來表示:
(2)UML2.x中的節點
而在UML2。x中,
節點被分為裝置和執行環境兩種
。
裝置
是一個具有處理能力的物理計算資源的節點,可以在該節點上部署執行構件(artifacts)。
裝置使用帶有
<
構造型的正方體或長方體來表示,如下圖所示:
上圖是UML2。x中表示一個裝置節點,其名稱是“Application Server”(應用伺服器)。
在UML中沒有為裝置節點提供標準的構造型,使用者可以根據實際情況選擇一些非規範性的構造型,如:
<
<
<
<
裝置節點也可使用使用者自定義的圖示,配置資訊、構造型和標記值等可以新增到自定義圖示和屬性資訊中。如下圖是使用使用者自定義圖標表示裝置節點的一個例子:
上圖中使用了構造型
<
來給出裝置的類別,並配以文字說明裝置的名稱和型號資訊。
下圖使用註釋的方式給出裝置節點的相關資訊:
下圖使用另外一種圖示來表示資料庫伺服器的情形:
上圖使用構造型
<
來描述節點,並使用文字給出裝置名稱和品牌。
下面使用使用者自定義圖示來表示智慧手機的情形:
裝置也可能很複雜,如裝置可能包含其它裝置。
執行環境
是一種軟體節點,它為以可執行工件(artifacts)的形式部署在該節點上特定型別的元件提供一個可執行環境。
在UML2。x中,執行環境節點以標準的構造型
<
來指定。
但這個構造型的名稱有些冗長,UML也未提供其它標準構造型,在實際中可以使用一些非規範的構造型來表示實際的可執行環境,如:
<
<
<
<
<
<
如下面兩個例子:
Linux作業系統執行環境
Oracle 10g DBMS執行環境
節點之間的關係
節點之間的關係也稱之為節點間的通訊路徑
,其表示兩個部署目標之間的關聯關係,節點之間使用這種路徑可以交換訊號和訊息。
下圖給出了兩個裝置節點之間的關聯關係。
當部署目標為物理裝置時,通訊路徑通常表示兩個節點之間的物理連線
。
下圖顯示兩個節點支架使用千兆乙太網作為應用程式伺服器和資料庫伺服器之間的通訊路徑。
當兩個部署目標是執行環境節點時,通訊路徑通常是一些協議
。
下圖表示了部署在兩個裝置節點中執行環境節點的關聯關係。兩個節點透過TCP/IP協議進行通訊。
同
時,上圖也表示出一個執行環境部署到一個裝置節點上的情況。
在UML中,也可以使用文字列表的形式來表示在該節點上部署的工件(artifacts)。
下圖顯示了執行環境。NET Framework 4。7中部署的工件情況:
部署情況也可以使用左上角帶一個小分隔倉的矩形框架來表示,在分隔倉中標註dep(deployment的縮寫形式)和部署的名稱:
上圖中使用虛線箭頭表示工件(artifacts)“Borrow。dll”部署到節點“。NET Framework 4。7”伺服器上的
,並在虛線箭頭上標註<
Rose中繪製部署圖
在Rose中只支援UML1。x中的節點繪製方法,而且只支援繪製一個部署圖。
具體繪製方法如下:
(1)在Rose左側瀏覽器中,雙擊“Deployment View”節點,則會開啟部署圖繪製介面;
(2)在Rose中,部署圖的工具欄主要有三種工具:
帶陰影的正方形圖標表示建立一個處理器節點;
不帶陰影的正方形圖標表示建立一個裝置節點;
實線表示節點之間的連線。
(3)根據需要點選相應的圖示後,並在繪圖區點選一下就會建立一個節點,在建立的同時,可以給節點命名。
(4)雙擊節點,或右擊節點後選擇“Open Specification。。。”,可以開啟節點詳述對話方塊,下圖為處理器節點的詳述對話方塊:
在上圖中的“Name”處可以設定處理器節點的名稱,在“Stereotype”中可以輸入該節點的構造型,在“Documentation”中可以輸入該節點的其它說明資訊。
處理器節點詳述“Detail”選項卡的資訊如下:
在“Characteristic”可以給出處理器的特徵,如型號,配置等資訊。
在“Processes”中可以定義該節點中處理的程序和優先順序。
在“Scheduling”可以指定排程資訊:
Preemptive:搶佔式;Non Preemptive:非搶佔式;Cyclic:週期的;Executive:可執行的;Manual:手動的。
一般情況下,部署圖僅顯示各個節點的連線情況,這些資訊可以不用設定。
下圖顯示的是裝置節點的詳述對話方塊:
該對話方塊中的內容與處理器節點相同。
在裝置節點詳述對話方塊的“Detail”選項卡中僅有“Characteristic”項,可以給出裝置的型號等資訊。
(5)建立連線
在工具欄中選擇“Connection”連線線,然後在要連線的一個節點上點選滑鼠後按住滑鼠左鍵拖動到第二個節點上,並鬆開滑鼠,這時就會建立了兩個節點之間的連線。
雙擊連線線,或右擊連線線後選擇“Open Specification。。。”,可以開啟連線線詳述對話方塊,如下圖所示:
在這個對話方塊中可以指定連線的名稱以及連線的構造型。
如在“Name”裡輸入“1000 Base-T”,在“Stereotype”裡輸入“ethernet”,則會顯示如下圖所示的情形。
部署圖的一個例子
下面給出Rose中一個部署圖的例子。
而關於UML2。x中的部署圖可以使用Visio、StarUML、draw。io等工具進行繪製。
● 參考資料 ●
本文寫作過程中參考了以下網站中的內容:
www。uml-diagrams。org
往期內容推薦
這就是UML!——系列內容第12講:元件圖
這就是UML!——系列內容第11講:包圖
這就是UML!——系列內容第10講:活動圖
這就是UML!——系列內容第9講:狀態機圖
這就是UML!——系列內容第8講:協作圖
——
==
——
==
——
==
——
==
——
==
——
==
——
==
——
轉發
推
評論
你的默默支援
,本號
前進的
最大
動力