資源描述:
《第8章 組件圖和部署圖.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、第8章組件圖和部署圖8.1組件圖組件圖是面向對象系統(tǒng)的物理方面建模時使用的圖,是表示組件類型的組織以及各種組件之間依賴關系的圖。組件圖通過對組件間依賴關系的描述來估計對系統(tǒng)組件的修改給系統(tǒng)可能帶來的影響。組件圖用于描述系統(tǒng)中軟件的構成,但沒有描述系統(tǒng)中與硬件有關的構成情況。8.1.1組件圖概述組件圖是對面向對象系統(tǒng)的物理方面建模時使用的兩種圖之一(另一種圖是部署圖),用于描述軟件組件以及組件之間的組織和依賴關系。軟件組件是軟件系統(tǒng)的一個物理單元。作為一個或多個類的軟件實現,組件駐留在計算機中。組件提供和其他組件之間的接口。在UML1
2、.x中,數據文件、表格、可執(zhí)行文件、文檔和動態(tài)鏈接庫等都被定義為組件。實際上,建模者習慣把這些東西劃分為部署組件(deploymentcomponent)、工作產品組件(workproductcomponent)和執(zhí)行組件(executioncomponent)。UML2.0則統(tǒng)稱它們?yōu)楣ぜ╝rtifact),也就是系統(tǒng)使用或產生的一段信息。組件定義了一個系統(tǒng)的功能。就好像一個組件是一個或多個類的實現一樣,工件(如果它是可執(zhí)行的話)是一個組件的實現。組件圖有利于:⑴幫助客戶理解最終的系統(tǒng)結構。⑵使開發(fā)工作有一個明確的目標。⑶幫助開
3、發(fā)組的其他人員理解系統(tǒng)。⑷復用軟件組件。8.1.2組件(Component)1.組件的基本概念和圖形表示組件是系統(tǒng)中遵從一組接口且提供實現的一個物理部件,通常指開發(fā)和運行時類的物理實現。組件常用于對可分配的物理單元建模,這些物理單元包含模型元素,并具有身份標識和明確定義的接口,它具有很廣泛的定義,以下的一些內容都可以被認為是組件:程序源代碼、子系統(tǒng)、動態(tài)鏈接庫等。組件的圖形表示法是把組件畫成帶有兩個標簽的矩形。每一個組件都必須有一個唯一的名稱(name)。組件圖的主圖標是一個左側附有兩個小矩形的大矩形框。組件的名字位于組件圖標的中央
4、,名字本身是一個文本字符串。如圖所示。8.1.2組件(Component)2.組件的類型組件可以分為以下三種類型:(1)實施組件(DeploymentComponent):實施組件是構成一個可執(zhí)行系統(tǒng)必要和充分的組件,如動態(tài)鏈接庫(DLL)、二進制可執(zhí)行體(EXE)、ActiveX控件和JavaBean組件等(2)工作產品組件(WorkProductComponent):這類組件主要是開發(fā)過程的產物,包括創(chuàng)建實施組件的源代碼文件及數據文件,這些組件并不是直接地參加可執(zhí)行系統(tǒng),而開發(fā)過程中的工作產品,用于產生可執(zhí)行系統(tǒng)。(3)執(zhí)行組件
5、(ExecutionComponent):這類組件是作為一個正在執(zhí)行的系統(tǒng)的結果而被創(chuàng)建的,如由DLL實例化形成的COM+對象。8.1.2組件(Component)3.組件與類的異同一般來說組件在許多方面都與類相同:二者都有名稱;都可以實現一組接口;都可以參與依賴、泛化和關聯關系;都可以被嵌套;都可以有實例;都可以參與交互。但是組件和類之間也有一些顯著的差別:(1)類表示邏輯抽象,而組件表示存在于計算機中的物理抽象。簡言之,組件是可以存在于可實際的運行的計算機上的,而類不可以。(2)組件表示的是物理模塊而不是邏輯模塊,與類處于不同的
6、抽象級別。組件是一組其他邏輯元素的物理實現(如類及其協作關系),而類僅僅只是邏輯上的概念。(3)類可以直接擁有屬性和操作;而一般情況下,組件僅擁有只能通過其接口訪問的操作。這表明雖然組件和類都可以實現一個接口,但是組件的服務一般只能通過其接口來訪問。8.1.3接口(Interface)接口是一組用于描述類或組件的一個服務的操作,它是一個被命名的操作的集合,與類不同,它不描述任何結構(因此不包含任何屬性),也不描述任何實現(因此不包括任何實現操作的方法)。每個接口都有一個唯一的名稱。組件的接口可以分為兩種類型。(1)導出接口(expe
7、rtinterface):即為其他組件提供服務的接口,一個組件可以有多個導出接口。(2)導入接口(importinterface):在組件中所用到的其他組件所提供的接口,稱為導入接口,一個組件可以使用多個導入接口。8.1.4關系(relationship)關系是事物之間的聯系,在面向對象的建模中,最重要的關系是依賴、泛化、關聯和實現,但組件圖中使用最多的是依賴和實現關系。依賴關系是指組件依賴外部提供的服務(由組件到接口)。組件圖中的依賴關系使用虛線箭頭表示。如圖所示。實現關系是指組件向外提供的服務。實現關系使用實線表示。實現關系多用
8、于組件和接口之間。組件可以實現接口。如圖所示。8.1.5使用組件圖對系統(tǒng)建模及應用1.組件圖建模及繪圖的步驟使用組件圖建模的步驟可按照下列步驟進行:對系統(tǒng)中的組件建模;定義相關組件提供的接口;對它們間的關系建模;對建模的結果進行精化和