第11章+構件圖 (1)_第1頁
第11章+構件圖 (1)_第2頁
第11章+構件圖 (1)_第3頁
第11章+構件圖 (1)_第4頁
第11章+構件圖 (1)_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、LOGOUML 統一建模統一建模 第第11章章 構件圖構件圖目錄目錄111 構件的概念構件的概念112 構件圖的概念構件圖的概念113 構件的表示構件的表示114構件間的關系構件間的關系115 構件圖分類構件圖分類116構件圖應用構件圖應用 第第11章章 構件圖構件圖構件是系統的可替代的物理部分,它表示的是實際的事物,構件是定義了良好接口的物理實現單元,它是系統中可以替代的部分,每個構件體現了系統設計中的特定類的實現,良好定義的構件不直接依賴于其它構件,而是依賴于其它構件所支持的接口,在這種情況下,系統中的一個構件可以被支持相同的接口的其它構件所替代。 接口是被軟件或硬件所支持的一個操作集合,

2、每個接口有一個名稱,通過使用命名的接口,可以避免在系統的各個構件之間直接發生依賴關系,有利于新構件的替換。111 構件的概念構件的概念1構件從構件組成上看,每個構件定義了2組接口(一組供給接口,一組需求接口),構件為供給接口提供了功能實現部分,即,構件本身已經實現了供給接口聲明的功能。對于一個構件而言,它包含5個要素:1),接口聲明:每個構件包含兩組接口,一組是供給接口,表明它能提供的服務,一組是需求接口,表明它需要的服務。2),接口實現:構件是一個物理部件,它實現了供給接口聲明的服務。3),構件標準:在創建構件時,每一個構件必須遵從某種構件標準。4),封裝方法:也就是構件遵從的封裝標準。5)

3、,部署方法:一個構件可以有多種部署方法。2構件與類111 構件的概念構件的概念從構件的定義上看,構件和類十分相似,事實也是如此:二者都有名稱,都可以實現一組接口,都可以參與依賴、泛化和關聯關系,都可以被嵌套,都可以有實例,都可以參與交互。但也存在著一些明顯的不同,下面是構件與類的區別:(1)類表示是對實體的抽象,而構件是對存在于計算機中的物理部件的抽象。也就是說,構件是可以部署的,而類不能部署。(2)構件屬于軟件模塊,而非邏輯模塊,與類相比,它們處于不同的抽象級別。甚至可以說,構件就是由一組類通過協作完成的。(3)類可以直接擁有操作和屬性,而構件僅擁有可以通過其接口訪問的操作。111 構件的概

4、念構件的概念3構件分類按照構件在系統中的角色,把構件分為3種類型:配置構件、工作產品構件、執行構件。1),配置構件:組成系統的基礎構件,是執行其它構件的基礎平臺。如,操作系統、java虛擬機(JVM) 、數據庫管理系統都屬于配置構件。2),工作產品構件:這類構件主要是開發過程的中間產物,如,創建構件時的源代碼文件及數據文件都屬于工作產品構件。這些構件并不是直接地參與系統運行。3),執行構件:在運行時創建的構件。例如由DLL實例化形成的COM+對象、Servlets、XML文檔都屬于執行構件。112 構件圖的概念構件圖的概念構件圖主要用于描述各種軟件構件之間的依賴關系,例如,可執行文件和源文件之

5、間的依賴關系,所設計的系統中的構件的表示法及這些構件之間的關系構成了構件圖。構件圖是描述構件及構件關系的圖。與所有UML的其它圖一樣,構件圖可以包括注釋、約束、包。圖11-1是一個典型的構件圖。1.構件圖的作用:圖11-1構件圖。112 構件圖的概念構件圖的概念在構件圖中,系統中的每個物理構件都使用構件符號來表示,通常,構件圖看起來像是構件圖標的集合,這些圖標代表系統中的物理部件,構件圖的基本目的是:使系統人員和開發人員能夠從整體上了解系統的所有物理部件,同時,也使我們知道如何對構件進行打包,以便交付給最終客戶,最后,構件圖顯示了被開發系統所包含的構件之間的依賴關系。構件圖從軟件架構的角度來描

6、述一個系統的主要功能,如系統分成幾個子系統,每個子系統包括哪些類、包和構件,它們之間的關系以及它們分配到哪些節點上等。使用構件圖可以清楚地看出系統的結構和功能。方便項目組的成員制定工作目標和了解工作情況,同時,最重要的一點是有利于軟件的復用。112 構件圖的概念構件圖的概念從宏觀的角度上,構件圖把軟件看作多個獨立構件組裝而成的集合,每個構件可以被實現相同接口的其它構件替換。2.構件圖的組成元素構件圖的組成元素有:構件、關系。關系把多個構件連接在一起,構成一個構件圖。這里的關系指構件間的依賴關系。構件包含兩個部分:接口(供給接口,需求接口)和接口實現部分(實現了供給接口的功能)。表示構件圖標的方

7、法有兩種:第一種方法是,在構件圖標中沒有標識接口,第二種方法是,在構件圖標中標識了接口。113 構件的表示構件的表示1沒有標識接口的構件表示法沒有標識接口的構件的圖形表示方法又分三種,如圖11-2所示:第一種是表示為標有構造型component的矩形;第二種是在矩形的右上角放置一個構件圖標(一個小矩形,并在左側加上兩個突出的更小的矩形);第三種是直接使用構件圖標,但在UML2.0中已經不使用第三種方法了。和類的名稱相近,構件的名稱也是一個正文字符串,它可以是簡單名,也可以是帶路徑的全名。圖11-2 沒有標識接口的構件的圖形的三種表示法113 構件的表示構件的表示2標識接口的構件表示法對于一個構

8、件而言,它有兩類接口:提供(provided)接口和所需(required)的接口。標識接口的構件表示方法也有3種,如圖11-3所示。圖11-3標識接口的構件3種表示方法113 構件的表示構件的表示(1)使用接口分欄表示:也就是將所需的接口和提供的接口直接顯示在矩形的分欄中,將構造型provided和required放在每個接口名之前。(2)使用圖標表示法:將接口的圖標連接到矩形的邊框上,供給接口表示為通過一條實線鏈接到矩形上的圓圈;而需求接口則表示為一條實線鏈接到矩形上的上半圓。(3)顯示表示法:接口也可以用完整的顯示形式表示,構件和其提供的接口之間是實現關系,而構件和其所需的接口之間是使用

9、use關系。114構件間的關系構件間的關系我們知道,構件有兩組接口,供給接口為其它構件提供服務,需求接口使用其它構件提供的服務因此,構件間的關系就是依賴關系我們把提供服務的構件稱為提供者,把使用服務的構件稱為客戶在UML中,構件圖中依賴關系的表示方法與類圖中依賴關系相同,都是一個由客戶指向提供者的虛線箭頭。構件間的依賴關系如圖11-4所示。圖11-4 構件間的依賴關系115 構件圖分類構件圖分類對于一幅簡單的構件圖而言,其內容包括構件、關系和構件的接口。實際上,在UML2.0中,還提供了一種嵌套構件的表示法,這使得構件圖具有了更強的語義模型。因此,構件圖可以分為兩種:簡單構件圖和嵌套構件圖。1

10、151 簡單構件圖我們可以把相互協作的類,組織成一個構件。利用構件圖可以讓軟件開發者知道系統是由哪些可執行的構件組成的,這樣,以構件為單位來看待系統時,讓開發者清楚的看到軟件系統的體系結構。例如,圖11-5所示就是一個“個人圖書管理系統”的構件圖局部。在圖11-5所示的構件圖中,我們以構件為單位,把整個系統分成三層,它們是:“用戶界面”、“業務邏輯”、“數據訪問”。115 構件圖分類構件圖分類(1)用戶界面層:圖11-5左邊的一列構件,都是采用JSP頁面,實現用戶界面。我們通過構造型Java Server page來表示構件。這一部分的構件,主要由邊界類組成。(2)業務邏輯層:圖11-5中間的

11、一列是業務邏輯層,在實現上主要采用了JavaBean技術。我們使用構造型JavaBean來表示這一層的構件。這些構件主要由實體類組合而成。圖11-5 簡單構件圖115 構件圖分類構件圖分類(3)數據訪問層:圖11-5右邊的一列是數據訪問層,該層將所有的數據訪問操作封裝在一個JavaBean中(如果是大型的應用,則可能封裝成為一個EJB),標明了它是JDBC的一個實現。在這個例子中,對可執行程序的體系結構進行了建模,以幫助開發者了解可執行程序模塊之間的關聯關系,從而從宏觀上認識系統。1152 嵌套的構件圖有些時候,我們使用嵌套的構件圖來表示構件的內部結構。例如圖11-6所示的就是一個包含嵌套的構

12、件圖,它描述了一個收銀系統。這張圖描述了構件以及構件之間的接口。收銀機系統通過“銷售管理服務器”提供的接口發送“銷售消息”;銷售管理器通過財務系統提供的接口發送相應的財務數據。115 構件圖分類構件圖分類銷售管理服務器中包含兩個構件:一個是處理收銀機發送來的銷售消息,完成交易處理;另一個是財務接口,負責處理與財務系統的連接,這時交易處理程序就委托財務接口來完成與財務系統的數據傳送。在上圖中,銷售管理服務器所提供的接口和所需的接口與構件連接的點上,都有一個小矩形,它表示的是“端口”。這些端口將通過帶箭頭的實線與具體的子構件連接,表示該接口的提供者或需求者。圖11-6 嵌套構件圖116構件圖應用構

13、件圖應用構件圖描述了軟件的組成和具體結構,表示了系統的靜態部分。它能夠幫助開發人員從總體上認識系統。我們常采用構件圖來描述可執行程序的結構、源代碼、物理數據庫組成和結構。1161 對可執行程序建模通過構件圖,可以清晰地表示出各個可執行文件、鏈接庫、數據庫、幫助文件和資源文件等其它可運行的物理構件之間的關系。在對可執行程序的結構進行建模時,通常應遵從以下原則:1首先標識要建模的構件。116構件圖應用構件圖應用2理解和標識每個構件的類型、接口和作用。3標識構件間的關系。例如,有一個語音呼叫中心程序callcenter.exe,使用了三匯的語音卡的驅動程序shp_a3.dll,以及相應的TTS(文本

14、轉語音)引擎sh_ttsu.dll,現在我們用構件圖來描述這三個構件的關系,如圖11-7所示。圖11-7 代表可執行程序的構件116構件圖應用構件圖應用1162 對源代碼進行建模通過構件圖可以清晰地表示出軟件的所有源文件之間的關系,有了這樣的構件圖,開發者能更好地理解各個源代碼文件之間的依賴關系。在對源程序進行建模時,通常應遵從以下原則:1表示出要重點描述的每個源代碼文件,并把每個源代碼文件標識為構件。2如果系統較大,我們就利用包來對構件進行分組。116構件圖應用構件圖應用3用編譯依賴關系來描述構件間的關系。4在構件圖中,采用約束來表示源代碼的版本號、作者和最后的修改日期等信息。例如:singal.h是一個頭文件,被interp.cpp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論