UML 構件圖(組件圖)
轉自http://www.cnblogs.com/finehappy/archive/2009/11/24/1609352.html
什麼是構件
構件和構件的要素
構件是系統中可替換的物理部分,它包裝了實現而且遵從並提供一組接口的實現
規格說明:對於構件,必須有一個它所提供服務的抽象描述。通俗地說,每個構件都必須提供特定的服務
一個或多個實現:構件是一種物理概念,必須被一個或多個實現所支持,當然這些實現都必需符合規格說明
受約束的構件標準:每一個構件,在實現時必須遵從某種構件標準
封裝方法:也就是構件遵從的封裝標準
部署方法:當件要運行時,首先要部署它
構件的類型
實施構件:這類構件是構成一個可執行系統必要和充分的構件,例如動態鏈接庫(dll)、可執行文件(exe),另外還包括如COM+、CORBA及企業級Java Beans、動態Web頁面也屬於實施構件的一部分
工作產品構件:這類構件主要是開發過程的產物,包括創建實施構件的源代碼文件及數據文件。這些構件並不是直接地參與可執行系統,而是用來產生可執行系統的中間工作產品
執行構件:作爲一個正在執行的系統的結果而被創建的,例如由DLL實例化形成的COM+對象
構件及構件接口表示法
提供和請求(使用或者稱爲依賴)的3種表示法
組件圖的組成
組件圖由,組件,接口,實現和依賴四部分組成
組件
描述了系統的一個可執行程序,一個庫,一個Web程序等,如上面圖中的方框圖型都是組件的表示形式。
接口
接口是組件所提供服務,可以理解爲一個方法,一個WebService,一個WCF,或者一個UI界面,接口可以有多個,但至少有一個,在UML中表示爲一個圓形,可以在類圖中對其進一步描述
這個接口代表一種交互方式,而在.Net 中對於接口有另一種解讀,就是一個精確的協議,用來指定一組操作或者屬性定義
實現
實現就是,組件與接口元之間的連線,代表誰實現了這個接口
依賴
就是指組件使用了另一個組件的接口,依賴於另一個接口的存在。
如何閱讀構件圖
閱讀基本構件圖
閱讀嵌套構件圖
上圖描述
1.銷售管理服務器包括兩個組件,交易處理程序和財務接口
2.財務接口需要財務系統的支持,可以說財務接口依賴財務系統的存在,交易處理程序,使用財務接口,依賴財務接口,併爲收銀機系統提供銷售信息。
如何繪製構件圖
確定子系統對外的接口
將整個“在線酒店預訂子系統”作爲一個構件,考慮其對外接口。顯然它首先需要提供用戶界面;其次還需要與加盟的酒店系統連接,完成預訂工作
就是提供了,接入和輸出接口
確定子構件和接口
顯然要有一個構件來實現用戶界面,一個構件來完成與酒店系統的連接和預訂,另外還應該有一個負責將用戶的需求與酒店的供給進行匹配的“調度程序”
構件圖應用說明
對可執行程序的結構建模(都有哪些項目)
首先識別你想建模的構件集合
考慮集合中各構件的不同類型
對這個集合中的每個構件,分析它們之的關係
上面的exe,依賴兩個dll庫
對源代碼建模(都有哪些代碼文件)
識別出感興趣的相關源代碼文件的集合,並把它們建模爲構件;
對於較大的系統,利用包(文件夾)來進行分組;
通過約束來表示源代碼的版本號、作者和最後修改日期等信息;
用依賴關係來表示這些文件間編譯的依賴關係 ,箭頭指向爲誰依賴誰
本章小結
首先介紹了構件的定義以及構件的五要素
在瞭解了構件基礎知識之後,分別結合實例說明了基本構件圖和嵌套構件圖的閱讀技巧,然後再闡述了嵌套構件圖的繪製步驟
在本章的最後,還對構件圖的適用領域進行了說明,並對最爲常見的兩種場景進行了舉例說明:可執行程序結構建模、源代碼建模