術(shù)語匯編 UML部署圖簡介
本節(jié)向大家介紹一下UML部署圖方面的知識,主要包括通用規(guī)則,結(jié)點和組件和依賴和通信關(guān)聯(lián)等內(nèi)容,希望通過本節(jié)的介紹大家對UML部署圖有一定的認識。下面讓我們一起來看一下UML部署圖的詳細介紹吧。
UML建模風格之UML部署圖
一個UML部署圖(對象管理組織2001)描述了一個運行時的硬件結(jié)點,以及在這些結(jié)點上運行的軟件組件的靜態(tài)視圖。部署圖顯示了系統(tǒng)的硬件,安裝在硬件上的軟件,以及用于連接異構(gòu)的機器之間的中間件。創(chuàng)建一個部署模型的目的包括∶探究系統(tǒng)投產(chǎn)的相關(guān)問題。探究你的系統(tǒng)和生產(chǎn)環(huán)境中的其它系統(tǒng)的依賴關(guān)系,這些系統(tǒng)可能是已經(jīng)存在,或是將要引入的。描述一個商業(yè)應用主要的部署結(jié)構(gòu)。設(shè)計一個嵌入系統(tǒng)的硬件和軟件結(jié)構(gòu)。描述一個組織的硬件/網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。
一、通用準則
1.在特定的項目圖上注明軟件組件
圖1是一個大學管理系統(tǒng)的UML部署圖描述.該圖描述了那些包含單一應用程序的主要軟件組件是怎樣配置到生產(chǎn)環(huán)境中的,這使得項目團隊能夠確定他們的部署策略。
圖1.一個特定項目的UML部署圖
2.集中在企業(yè)級圖上的結(jié)點和通信關(guān)聯(lián)
UML部署圖經(jīng)常被認為是一個網(wǎng)絡(luò)圖或技術(shù)架構(gòu)圖,圖2是該風格的一個例子,它描述了一個簡單組織的技術(shù)基礎(chǔ)結(jié)構(gòu)。注意圖2是一個非常簡單的例子,像這樣的圖,許多組織將會有幾十甚至幾百個結(jié)點。
雖然在圖的有限范圍內(nèi)注明組件的部署情況是可以頂用的,例如圖1,但圖很快地就變得笨重起來。圖2則關(guān)注于企業(yè)的那些高階部署,因此配置在硬件結(jié)點之上的軟件組件的精細的、細節(jié)的東西就不需要顯示出來,你可以在你的CASE工具中處理這些信息,但這并不意味著你需要在圖上顯示它們。
圖2.一個組織的UML部署圖
二、結(jié)點和組件
一個結(jié)點,通常描述成一個立體的盒子,表示一個計算設(shè)備,一般是一個單獨的硬件設(shè)備,例如一臺電腦,網(wǎng)絡(luò)路由器,主機,傳感器,或個人數(shù)字助理(PDA)。組件,描述為矩形,左側(cè)面還伸出兩個較小矩形,這和UML組件圖上使用的符號是相同的,它表示軟件的中間產(chǎn)物,例如文件、框架、或領(lǐng)域組件。
1.用描述性術(shù)語命名結(jié)點
在圖1中,你可以看到結(jié)點都有名稱,例如client、ApplicationServer、DatabaseServer、和Mainframe。所有的這些術(shù)語都需要即刻為組織內(nèi)的開發(fā)人員所認可,因為這些條款都是他們?nèi)粘J褂玫?。保持它的簡單性?/p>
2.僅僅建模重要的軟件組件
雖然圖1包含軟件組件,但它沒有描述每一個軟件組件。例如,客戶機上很可能還安裝有其他的軟件組件,如操作系統(tǒng)和應用軟件,但那些組件沒有顯示出來,因為它們已經(jīng)離題了。事實是每個結(jié)點也許有幾十甚至幾百的軟件組件配置于其上,你的目標并不是描述所有的軟件組件,而是只需要描述那些對系統(tǒng)的列節(jié)至關(guān)重要的組件。如果你需要探究軟件組件間的關(guān)系,你應該創(chuàng)建一個UML組件圖作為替代,遵循敏捷建模(AM)(Ambler2002)的應用"合適的Artifact"的實踐。
3.為組件一致地應用一致版型
在UML部署圖上為組件應用和UML組件圖中的相同的版型。
4.把可視化的版型應用到結(jié)點
圖2使用可視化的版型來描述結(jié)點描述結(jié)點,例如mobilePC是顯示為一個筆記本,而databases則使用傳統(tǒng)的數(shù)據(jù)庫的圓筒符號來表示。為UML部署圖上應用可視化版型制定標準是不可能的,一般的經(jīng)驗法則是使用你看得到的適當?shù)募糍N畫?! ?/p>
三、依賴和通信關(guān)聯(lián)
通信關(guān)聯(lián),經(jīng)常稱為連接,被描述為連接結(jié)點間的線條。組件間的依賴則被建模成虛線箭頭,這和其他UML圖上使用的符號是一樣的。
1.用版型來注明通信協(xié)議
通信關(guān)聯(lián)支持一個或多個通信協(xié)議,每一個都應該使用一個UML版型來描述。圖1中你可以看到HTTP、JDBC、和webservices協(xié)議,他們就是使用了這個方法。表1提供了一個典型的通信關(guān)聯(lián)的版型列表,你的組織也許會想開發(fā)自己的特定標準。
表1.通用的版型為通信關(guān)聯(lián)
版型 含意
異步 一個異步連接,也許經(jīng)由一個消息總線或消息隊列。
HTTP 超文本傳輸協(xié)議,一個網(wǎng)際協(xié)議。
JDBC Java數(shù)據(jù)庫連接,一套為數(shù)據(jù)庫存取編寫的JavaAPI。
ODBC 開放式數(shù)據(jù)庫連接,一套微軟的數(shù)據(jù)庫存取應用編程接口。
RMI 遠程方法調(diào)用,一個Java的通信協(xié)議。
RPC 經(jīng)由遠程過程調(diào)用的通信。
同步 一個同步連接,發(fā)送器等待從接收器回來的反應。
webservices 經(jīng)由諸如SOAP和UDDI的WebServices協(xié)議的通信。
2.僅僅建模組件間的關(guān)鍵性依賴
圖1中配置在應用服務(wù)器上的領(lǐng)域組件間的依賴并沒有被建模出來,因為它們和圖并沒有什么關(guān)系(而且它們***是在UML組件圖上建模具體的細節(jié))。然而,在數(shù)據(jù)庫服務(wù)器上的組件間的依賴則被建模出來,因為它有助于展示數(shù)據(jù)庫的訪問。領(lǐng)域組件對數(shù)據(jù)庫的方位是間接的,他們需要通過一個持久性框架,這是通用的架構(gòu)***實踐(Ambler2001)。遵循AM的實踐,簡單的描述建模。僅僅建模和手頭的任務(wù)相關(guān)的信息。本節(jié)關(guān)于UML部署圖的相關(guān)內(nèi)容介紹到這里。
【編輯推薦】