




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、LOGOUML 統(tǒng)一建模統(tǒng)一建模 第第11章章 構(gòu)件圖構(gòu)件圖目錄目錄111 構(gòu)件的概念構(gòu)件的概念112 構(gòu)件圖的概念構(gòu)件圖的概念113 構(gòu)件的表示構(gòu)件的表示114構(gòu)件間的關(guān)系構(gòu)件間的關(guān)系115 構(gòu)件圖分類構(gòu)件圖分類116構(gòu)件圖應(yīng)用構(gòu)件圖應(yīng)用 第第11章章 構(gòu)件圖構(gòu)件圖構(gòu)件是系統(tǒng)的可替代的物理部分,它表示的是實際的事物,構(gòu)件是定義了良好接口的物理實現(xiàn)單元,它是系統(tǒng)中可以替代的部分,每個構(gòu)件體現(xiàn)了系統(tǒng)設(shè)計中的特定類的實現(xiàn),良好定義的構(gòu)件不直接依賴于其它構(gòu)件,而是依賴于其它構(gòu)件所支持的接口,在這種情況下,系統(tǒng)中的一個構(gòu)件可以被支持相同的接口的其它構(gòu)件所替代。 接口是被軟件或硬件所支持的一個操作集合,
2、每個接口有一個名稱,通過使用命名的接口,可以避免在系統(tǒng)的各個構(gòu)件之間直接發(fā)生依賴關(guān)系,有利于新構(gòu)件的替換。111 構(gòu)件的概念構(gòu)件的概念1構(gòu)件從構(gòu)件組成上看,每個構(gòu)件定義了2組接口(一組供給接口,一組需求接口),構(gòu)件為供給接口提供了功能實現(xiàn)部分,即,構(gòu)件本身已經(jīng)實現(xiàn)了供給接口聲明的功能。對于一個構(gòu)件而言,它包含5個要素:1),接口聲明:每個構(gòu)件包含兩組接口,一組是供給接口,表明它能提供的服務(wù),一組是需求接口,表明它需要的服務(wù)。2),接口實現(xiàn):構(gòu)件是一個物理部件,它實現(xiàn)了供給接口聲明的服務(wù)。3),構(gòu)件標準:在創(chuàng)建構(gòu)件時,每一個構(gòu)件必須遵從某種構(gòu)件標準。4),封裝方法:也就是構(gòu)件遵從的封裝標準。5)
3、,部署方法:一個構(gòu)件可以有多種部署方法。2構(gòu)件與類111 構(gòu)件的概念構(gòu)件的概念從構(gòu)件的定義上看,構(gòu)件和類十分相似,事實也是如此:二者都有名稱,都可以實現(xiàn)一組接口,都可以參與依賴、泛化和關(guān)聯(lián)關(guān)系,都可以被嵌套,都可以有實例,都可以參與交互。但也存在著一些明顯的不同,下面是構(gòu)件與類的區(qū)別:(1)類表示是對實體的抽象,而構(gòu)件是對存在于計算機中的物理部件的抽象。也就是說,構(gòu)件是可以部署的,而類不能部署。(2)構(gòu)件屬于軟件模塊,而非邏輯模塊,與類相比,它們處于不同的抽象級別。甚至可以說,構(gòu)件就是由一組類通過協(xié)作完成的。(3)類可以直接擁有操作和屬性,而構(gòu)件僅擁有可以通過其接口訪問的操作。111 構(gòu)件的概
4、念構(gòu)件的概念3構(gòu)件分類按照構(gòu)件在系統(tǒng)中的角色,把構(gòu)件分為3種類型:配置構(gòu)件、工作產(chǎn)品構(gòu)件、執(zhí)行構(gòu)件。1),配置構(gòu)件:組成系統(tǒng)的基礎(chǔ)構(gòu)件,是執(zhí)行其它構(gòu)件的基礎(chǔ)平臺。如,操作系統(tǒng)、java虛擬機(JVM) 、數(shù)據(jù)庫管理系統(tǒng)都屬于配置構(gòu)件。2),工作產(chǎn)品構(gòu)件:這類構(gòu)件主要是開發(fā)過程的中間產(chǎn)物,如,創(chuàng)建構(gòu)件時的源代碼文件及數(shù)據(jù)文件都屬于工作產(chǎn)品構(gòu)件。這些構(gòu)件并不是直接地參與系統(tǒng)運行。3),執(zhí)行構(gòu)件:在運行時創(chuàng)建的構(gòu)件。例如由DLL實例化形成的COM+對象、Servlets、XML文檔都屬于執(zhí)行構(gòu)件。112 構(gòu)件圖的概念構(gòu)件圖的概念構(gòu)件圖主要用于描述各種軟件構(gòu)件之間的依賴關(guān)系,例如,可執(zhí)行文件和源文件之
5、間的依賴關(guān)系,所設(shè)計的系統(tǒng)中的構(gòu)件的表示法及這些構(gòu)件之間的關(guān)系構(gòu)成了構(gòu)件圖。構(gòu)件圖是描述構(gòu)件及構(gòu)件關(guān)系的圖。與所有UML的其它圖一樣,構(gòu)件圖可以包括注釋、約束、包。圖11-1是一個典型的構(gòu)件圖。1.構(gòu)件圖的作用:圖11-1構(gòu)件圖。112 構(gòu)件圖的概念構(gòu)件圖的概念在構(gòu)件圖中,系統(tǒng)中的每個物理構(gòu)件都使用構(gòu)件符號來表示,通常,構(gòu)件圖看起來像是構(gòu)件圖標的集合,這些圖標代表系統(tǒng)中的物理部件,構(gòu)件圖的基本目的是:使系統(tǒng)人員和開發(fā)人員能夠從整體上了解系統(tǒng)的所有物理部件,同時,也使我們知道如何對構(gòu)件進行打包,以便交付給最終客戶,最后,構(gòu)件圖顯示了被開發(fā)系統(tǒng)所包含的構(gòu)件之間的依賴關(guān)系。構(gòu)件圖從軟件架構(gòu)的角度來描
6、述一個系統(tǒng)的主要功能,如系統(tǒng)分成幾個子系統(tǒng),每個子系統(tǒng)包括哪些類、包和構(gòu)件,它們之間的關(guān)系以及它們分配到哪些節(jié)點上等。使用構(gòu)件圖可以清楚地看出系統(tǒng)的結(jié)構(gòu)和功能。方便項目組的成員制定工作目標和了解工作情況,同時,最重要的一點是有利于軟件的復(fù)用。112 構(gòu)件圖的概念構(gòu)件圖的概念從宏觀的角度上,構(gòu)件圖把軟件看作多個獨立構(gòu)件組裝而成的集合,每個構(gòu)件可以被實現(xiàn)相同接口的其它構(gòu)件替換。2.構(gòu)件圖的組成元素構(gòu)件圖的組成元素有:構(gòu)件、關(guān)系。關(guān)系把多個構(gòu)件連接在一起,構(gòu)成一個構(gòu)件圖。這里的關(guān)系指構(gòu)件間的依賴關(guān)系。構(gòu)件包含兩個部分:接口(供給接口,需求接口)和接口實現(xiàn)部分(實現(xiàn)了供給接口的功能)。表示構(gòu)件圖標的方
7、法有兩種:第一種方法是,在構(gòu)件圖標中沒有標識接口,第二種方法是,在構(gòu)件圖標中標識了接口。113 構(gòu)件的表示構(gòu)件的表示1沒有標識接口的構(gòu)件表示法沒有標識接口的構(gòu)件的圖形表示方法又分三種,如圖11-2所示:第一種是表示為標有構(gòu)造型component的矩形;第二種是在矩形的右上角放置一個構(gòu)件圖標(一個小矩形,并在左側(cè)加上兩個突出的更小的矩形);第三種是直接使用構(gòu)件圖標,但在UML2.0中已經(jīng)不使用第三種方法了。和類的名稱相近,構(gòu)件的名稱也是一個正文字符串,它可以是簡單名,也可以是帶路徑的全名。圖11-2 沒有標識接口的構(gòu)件的圖形的三種表示法113 構(gòu)件的表示構(gòu)件的表示2標識接口的構(gòu)件表示法對于一個構(gòu)
8、件而言,它有兩類接口:提供(provided)接口和所需(required)的接口。標識接口的構(gòu)件表示方法也有3種,如圖11-3所示。圖11-3標識接口的構(gòu)件3種表示方法113 構(gòu)件的表示構(gòu)件的表示(1)使用接口分欄表示:也就是將所需的接口和提供的接口直接顯示在矩形的分欄中,將構(gòu)造型provided和required放在每個接口名之前。(2)使用圖標表示法:將接口的圖標連接到矩形的邊框上,供給接口表示為通過一條實線鏈接到矩形上的圓圈;而需求接口則表示為一條實線鏈接到矩形上的上半圓。(3)顯示表示法:接口也可以用完整的顯示形式表示,構(gòu)件和其提供的接口之間是實現(xiàn)關(guān)系,而構(gòu)件和其所需的接口之間是使用
9、use關(guān)系。114構(gòu)件間的關(guān)系構(gòu)件間的關(guān)系我們知道,構(gòu)件有兩組接口,供給接口為其它構(gòu)件提供服務(wù),需求接口使用其它構(gòu)件提供的服務(wù)因此,構(gòu)件間的關(guān)系就是依賴關(guān)系我們把提供服務(wù)的構(gòu)件稱為提供者,把使用服務(wù)的構(gòu)件稱為客戶在UML中,構(gòu)件圖中依賴關(guān)系的表示方法與類圖中依賴關(guān)系相同,都是一個由客戶指向提供者的虛線箭頭。構(gòu)件間的依賴關(guān)系如圖11-4所示。圖11-4 構(gòu)件間的依賴關(guān)系115 構(gòu)件圖分類構(gòu)件圖分類對于一幅簡單的構(gòu)件圖而言,其內(nèi)容包括構(gòu)件、關(guān)系和構(gòu)件的接口。實際上,在UML2.0中,還提供了一種嵌套構(gòu)件的表示法,這使得構(gòu)件圖具有了更強的語義模型。因此,構(gòu)件圖可以分為兩種:簡單構(gòu)件圖和嵌套構(gòu)件圖。1
10、151 簡單構(gòu)件圖我們可以把相互協(xié)作的類,組織成一個構(gòu)件。利用構(gòu)件圖可以讓軟件開發(fā)者知道系統(tǒng)是由哪些可執(zhí)行的構(gòu)件組成的,這樣,以構(gòu)件為單位來看待系統(tǒng)時,讓開發(fā)者清楚的看到軟件系統(tǒng)的體系結(jié)構(gòu)。例如,圖11-5所示就是一個“個人圖書管理系統(tǒng)”的構(gòu)件圖局部。在圖11-5所示的構(gòu)件圖中,我們以構(gòu)件為單位,把整個系統(tǒng)分成三層,它們是:“用戶界面”、“業(yè)務(wù)邏輯”、“數(shù)據(jù)訪問”。115 構(gòu)件圖分類構(gòu)件圖分類(1)用戶界面層:圖11-5左邊的一列構(gòu)件,都是采用JSP頁面,實現(xiàn)用戶界面。我們通過構(gòu)造型Java Server page來表示構(gòu)件。這一部分的構(gòu)件,主要由邊界類組成。(2)業(yè)務(wù)邏輯層:圖11-5中間的
11、一列是業(yè)務(wù)邏輯層,在實現(xiàn)上主要采用了JavaBean技術(shù)。我們使用構(gòu)造型JavaBean來表示這一層的構(gòu)件。這些構(gòu)件主要由實體類組合而成。圖11-5 簡單構(gòu)件圖115 構(gòu)件圖分類構(gòu)件圖分類(3)數(shù)據(jù)訪問層:圖11-5右邊的一列是數(shù)據(jù)訪問層,該層將所有的數(shù)據(jù)訪問操作封裝在一個JavaBean中(如果是大型的應(yīng)用,則可能封裝成為一個EJB),標明了它是JDBC的一個實現(xiàn)。在這個例子中,對可執(zhí)行程序的體系結(jié)構(gòu)進行了建模,以幫助開發(fā)者了解可執(zhí)行程序模塊之間的關(guān)聯(lián)關(guān)系,從而從宏觀上認識系統(tǒng)。1152 嵌套的構(gòu)件圖有些時候,我們使用嵌套的構(gòu)件圖來表示構(gòu)件的內(nèi)部結(jié)構(gòu)。例如圖11-6所示的就是一個包含嵌套的構(gòu)
12、件圖,它描述了一個收銀系統(tǒng)。這張圖描述了構(gòu)件以及構(gòu)件之間的接口。收銀機系統(tǒng)通過“銷售管理服務(wù)器”提供的接口發(fā)送“銷售消息”;銷售管理器通過財務(wù)系統(tǒng)提供的接口發(fā)送相應(yīng)的財務(wù)數(shù)據(jù)。115 構(gòu)件圖分類構(gòu)件圖分類銷售管理服務(wù)器中包含兩個構(gòu)件:一個是處理收銀機發(fā)送來的銷售消息,完成交易處理;另一個是財務(wù)接口,負責處理與財務(wù)系統(tǒng)的連接,這時交易處理程序就委托財務(wù)接口來完成與財務(wù)系統(tǒng)的數(shù)據(jù)傳送。在上圖中,銷售管理服務(wù)器所提供的接口和所需的接口與構(gòu)件連接的點上,都有一個小矩形,它表示的是“端口”。這些端口將通過帶箭頭的實線與具體的子構(gòu)件連接,表示該接口的提供者或需求者。圖11-6 嵌套構(gòu)件圖116構(gòu)件圖應(yīng)用構(gòu)
13、件圖應(yīng)用構(gòu)件圖描述了軟件的組成和具體結(jié)構(gòu),表示了系統(tǒng)的靜態(tài)部分。它能夠幫助開發(fā)人員從總體上認識系統(tǒng)。我們常采用構(gòu)件圖來描述可執(zhí)行程序的結(jié)構(gòu)、源代碼、物理數(shù)據(jù)庫組成和結(jié)構(gòu)。1161 對可執(zhí)行程序建模通過構(gòu)件圖,可以清晰地表示出各個可執(zhí)行文件、鏈接庫、數(shù)據(jù)庫、幫助文件和資源文件等其它可運行的物理構(gòu)件之間的關(guān)系。在對可執(zhí)行程序的結(jié)構(gòu)進行建模時,通常應(yīng)遵從以下原則:1首先標識要建模的構(gòu)件。116構(gòu)件圖應(yīng)用構(gòu)件圖應(yīng)用2理解和標識每個構(gòu)件的類型、接口和作用。3標識構(gòu)件間的關(guān)系。例如,有一個語音呼叫中心程序callcenter.exe,使用了三匯的語音卡的驅(qū)動程序shp_a3.dll,以及相應(yīng)的TTS(文本
14、轉(zhuǎn)語音)引擎sh_ttsu.dll,現(xiàn)在我們用構(gòu)件圖來描述這三個構(gòu)件的關(guān)系,如圖11-7所示。圖11-7 代表可執(zhí)行程序的構(gòu)件116構(gòu)件圖應(yīng)用構(gòu)件圖應(yīng)用1162 對源代碼進行建模通過構(gòu)件圖可以清晰地表示出軟件的所有源文件之間的關(guān)系,有了這樣的構(gòu)件圖,開發(fā)者能更好地理解各個源代碼文件之間的依賴關(guān)系。在對源程序進行建模時,通常應(yīng)遵從以下原則:1表示出要重點描述的每個源代碼文件,并把每個源代碼文件標識為構(gòu)件。2如果系統(tǒng)較大,我們就利用包來對構(gòu)件進行分組。116構(gòu)件圖應(yīng)用構(gòu)件圖應(yīng)用3用編譯依賴關(guān)系來描述構(gòu)件間的關(guān)系。4在構(gòu)件圖中,采用約束來表示源代碼的版本號、作者和最后的修改日期等信息。例如:singal.h是一個頭文件,被interp.cpp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招生團隊安全協(xié)議書
- 開發(fā)房產(chǎn)合同協(xié)議書
- 房產(chǎn)分配公證協(xié)議書
- 平臺會員代理協(xié)議書
- 政企套餐轉(zhuǎn)讓協(xié)議書
- 拍賣代理郵寄協(xié)議書
- 房屋兌換使用協(xié)議書
- 施工承包合同與施工承包合同
- 房屋托管分租協(xié)議書
- 戶外品牌轉(zhuǎn)讓協(xié)議書
- ICD-10第4章:內(nèi)分泌、營養(yǎng)和代謝疾病
- 機械加工生產(chǎn)流程
- 第三章 第一節(jié) 世界的海陸分布說課稿-2024-2025學年湘教版初中地理七年級上冊
- 病退委托書范本
- 如何預(yù)防夏季胃腸道疾病
- 公益性崗位申請書四篇
- 2025新人教版七年級下冊英語Unit6知識點梳理及語法講義(學生版)
- 《保利公司簡介》課件
- 風電建設(shè)安全課件
- 電網(wǎng)項目技術(shù)報告范文
- 跟著音樂游中國(廣州大學)知到智慧樹章節(jié)答案
評論
0/150
提交評論