華南理工大學UML-11.組件圖_第1頁
華南理工大學UML-11.組件圖_第2頁
華南理工大學UML-11.組件圖_第3頁
華南理工大學UML-11.組件圖_第4頁
華南理工大學UML-11.組件圖_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件需求分析與建模-組件圖主講:( )2022年8月27日1引言邏輯視圖描述的內(nèi)容靜態(tài)結(jié)構(gòu):類、接口、對象、類圖、交互圖動態(tài)行為用例/用例圖、交互/交互圖、狀態(tài)機/狀態(tài)圖/活動圖描述的是概念空間中的事物軟件系統(tǒng)的設計建造不能只停留于概念空間引言實現(xiàn)視圖軟件系統(tǒng)是存在于物理世界中的運行時刻可執(zhí)行文件程序庫(dll)數(shù)據(jù)文件(數(shù)據(jù)庫、配置文件、求助文件.)建造時刻源程序文件工程文件引言實現(xiàn)視圖從軟件建造的角度考慮必須將概念空間中的軟件事物轉(zhuǎn)換為物理空間中的真實存在所以描述其物理構(gòu)成是必須的尤其是對復雜的軟件系統(tǒng)而言軟件制成品在物理世界中的真實存在在UML中,它們用組件表示組件的特性:存在于物理世界

2、中:形式:計算機文件實現(xiàn)給定的動態(tài)行為建造時刻:源代碼文件: 是設計概念的實現(xiàn)運行時刻:可執(zhí)行文件、運行庫:實現(xiàn)給定的動態(tài)行為,可替代什么是組件組件是什么?組件是系統(tǒng)的一個物理的和可替代的組成部分,該組成部分遵循并實現(xiàn)了一組給定的接口。組件屬于實現(xiàn)視圖組件可以用來運行時刻:運行組件的結(jié)構(gòu),不同結(jié)點上的分布數(shù)據(jù)文件的構(gòu)成、聯(lián)系建造時刻類與源程序的對應源程序之間的編譯依賴組件的表示組件的圖形表示組件的名字簡單名字路徑名字標記值描述版本號等圖形表示簡單情形擴展情形可增加分隔區(qū)-描述詳細內(nèi)容可使用標記值組件的概念組件和類區(qū)別:組件存在于物理空間類存在于概念空間聯(lián)系組件和類都是分類符組件用來實現(xiàn)類的動態(tài)

3、行為組件實現(xiàn)類的結(jié)構(gòu)和動態(tài)行為 圖形表示: UML標準 / ROSE (realize TAB)接口(類的一種變體)規(guī)定組件為外界提供的服務 圖形表示: UML / ROSE .(1)構(gòu)件與類的相同點二者都有名稱;都可以實現(xiàn)一組接口;都可以參與依賴、繼承、關(guān)聯(lián)等關(guān)系和交互;都可以被嵌套;都可以有實例。(2)構(gòu)件與類的顯著不同點抽象的方式不同;抽象的級別不同;訪問方式不同;與包的關(guān)系。構(gòu)件的組織形式和分類組織形式(1)用包來組織構(gòu)件。(2)用構(gòu)件之間的交互關(guān)系來組織構(gòu)件。分類:(1)源代碼構(gòu)件(2)二進制構(gòu)件(3)可執(zhí)行構(gòu)件組件的概念組件和接口接口和組件之間的關(guān)系是一個十分重要的關(guān)系回顧:接口:

4、接口是一系列操作的集合,它指定了一個類或者一個組件所能提供的服務。組件的一個重要特性就是實現(xiàn)了邏輯視圖中為軟件系統(tǒng)規(guī)定的設計詞匯的語義,語義除了靜態(tài)結(jié)構(gòu)之外,即是其規(guī)定的動態(tài)行為從組件外部來看,一個組件區(qū)分于另一個組件的的本質(zhì)特征就是其動態(tài)行為。如果需要強調(diào)組件的動態(tài)行為,即組件為外部世界提供的服務,就可以使用接口組件的概念組件和接口通過將軟件系統(tǒng)的劃分為不同的可執(zhí)行組件,可以實現(xiàn)軟件系統(tǒng)的組件化軟件系統(tǒng)在物理上由不同組件構(gòu)成有些組件向外部提供由接口規(guī)定的服務有些組件使用這些服務組件的概念組件和接口組件化的好處組件是可替換的:邊界清晰便于維護升級組件化的軟件系統(tǒng)可以是分布式的不要求使所有組件都

5、運行于一個結(jié)點組件的概念組件和接口之間的聯(lián)系的描述(圖1)一個組件實現(xiàn)了一個接口實現(xiàn)關(guān)系輸出接口:- 被一個組件實現(xiàn)的接口是該組件的實現(xiàn)接口一個組件使用了另一個組件通過接口提供的服務依賴關(guān)系輸入接口:- 被一個組件調(diào)用的接口是該組件的輸入接口組件接口及其實現(xiàn)關(guān)系的圖形表示圖標形式擴展形式(ROSE不支持)圖運行時刻可替換(Binary Replaceability)基于組件的軟件系統(tǒng)允許通過利用已有的組件構(gòu)造系統(tǒng)組成系統(tǒng)組件的可以隨時更新替換,不必重新構(gòu)造(編譯)整個系統(tǒng)運行時刻可替換(Binary Replaceability)組件和接口是實現(xiàn)這一點的重要保證系統(tǒng)由多個可執(zhí)行組件組成由二進制

6、代碼構(gòu)成的可以直接運行的物理存在組件之間的聯(lián)系由接口定義遵循相同接口的組件可以互相替換只要調(diào)用接口的組件和輸出接口的組件都遵循相應的接口,整個系統(tǒng)便能順利運行必要時,只需替換組件,不需重新編譯整個系統(tǒng)組件的種類組件分為三類:一類存在于開發(fā)時刻開發(fā)用組件(working product component)兩類存在于運行時刻發(fā)布組件(deployment component)運行用組件(execution component)組件的種類開發(fā)用組件(working product component)進行軟件建造時首先將邏輯視圖的內(nèi)容轉(zhuǎn)化為實現(xiàn)源代碼文件源代碼是設計概念的實現(xiàn),是組件:存在于開發(fā)時

7、刻的組件開發(fā)用組件是開發(fā)過程的剩余物(residue)它不參加軟件系統(tǒng)的運行它用來建造軟件系統(tǒng)組件的種類發(fā)布組件(deployment component)用來組成一個完整的運行系統(tǒng)的組件包括:DLLEXE對象模型:- COM+- CORBA- Enterprise Java Bean其他:- 動態(tài)網(wǎng)頁- 數(shù)據(jù)庫文件- 使用給定的通訊機制的可執(zhí)行對象組件的種類運行用組件(execution component)作為一個可執(zhí)行系統(tǒng)的運行結(jié)果而產(chǎn)生的組件例如COM+對象- 它由DLL實例化而來組件的組織模型包組件的標準變體UML的擴充機制也可用于組件典型:標記值- 可用來標記正在發(fā)展中的組件的版本

8、信息五個用于組件的標準變體可執(zhí)行文件(executable)代表一個可以在一個結(jié)點上運行的組件庫文件(library)代表一個靜態(tài)或動態(tài)對象庫數(shù)據(jù)表(table)代表數(shù)據(jù)庫表格文件(file)代表包含源代碼或數(shù)據(jù)的文件文檔(documentation)代表文檔UML沒有為這些標準變體定義標準圖標ROSE中的組件變體(1)組件 Rose中的組件即一般意義上的組件。也可以用構(gòu)造型來指定組件類型(如ActiveX、Applet、Application、DLL和Executable等)。(2)程序規(guī)范(Subprogram Specification) 子程序規(guī)范通常是一組子程序集合名,子程序中不包括

9、類定義。下圖給出了兩種表示子程序規(guī)范的圖標: ROSE中的組件變體(3)子程序體(4)主程序 主程序是包含程序根的文件。ROSE中的組件變體(5)包規(guī)范包是類的實現(xiàn)方法。包規(guī)范(Package Specification)是類的頭文件,包含類中函數(shù)的原型信息。在C+中,包規(guī)范就是.h文件。(6)、包體 包體(Package Body)包含類操作代碼。在C+中,包體就是.cpp文件。 ROSE中的組件變體(7)任務規(guī)范 任務表示具有獨立控制線程的包??蓤?zhí)行文件通常表示為擴展名為.exe的任務規(guī)范。(8)任務體 下圖是兩種表示任務體的圖標。ROSE中的組件變體(9)數(shù)據(jù)庫 數(shù)據(jù)庫可能含有一個或幾個

10、結(jié)構(gòu)。(10)虛包 下圖是兩種表示虛包的圖標。(11)虛子程序 下圖是兩種表示虛子程序的圖標。 用組件為軟件系統(tǒng)建模為可執(zhí)行文件(executable)和庫文件(library)建模對于復雜的可執(zhí)行系統(tǒng),需要用組件為其建模描述可執(zhí)行系統(tǒng)的構(gòu)成對其進行視化說明建造建檔描述版本發(fā)展/配置管理更為重要跟蹤可執(zhí)行系統(tǒng)的開發(fā)進展用組件為軟件系統(tǒng)建模為可執(zhí)行文件(executable)和庫文件(library)建模為可執(zhí)行文件和庫文件建模的一般原則確定組件的劃分對于系統(tǒng)的可執(zhí)行文件和庫文件用組件建模可以使用相應的組件標準變體如果需要描述系統(tǒng)中的接縫將重要的接縫用接口建模根據(jù)交流的目的,適當使用關(guān)系描述組件

11、、接口之間的關(guān)系e.g.: 依賴關(guān)系-用來分析組件的變化對整個系統(tǒng)的影響用組件為軟件系統(tǒng)建模為可執(zhí)行文件(executable)和庫文件(library)建模例子:(圖 2)tagged valuedependency這是一種省略表示組件之間的調(diào)用是對接口的輸入實現(xiàn)的復雜的系統(tǒng)使用模型包使用結(jié)點描述分布式的系統(tǒng)圖 2為數(shù)據(jù)表、文件和文檔建??蓤?zhí)行系統(tǒng)不僅僅由包含可執(zhí)行二進制代碼的可執(zhí)行組件構(gòu)成還包含大量支持性的組件它們對系統(tǒng)的正確運行也是至關(guān)重要的e.g.:數(shù)據(jù)文件幫助文檔教本文件日志文件初始化文件安裝/卸載文件為數(shù)據(jù)表、文件和文檔建模 .支持性的組件 .為它們建模是十分重要的由助于控制軟件系

12、統(tǒng)的配置為數(shù)據(jù)表、文件和文檔建模的一般原則在可執(zhí)行系統(tǒng)中辨識出這些支持性組件用組件建模為它們對于新出現(xiàn)的組件類型,可以引入自定義變體根據(jù)需要,用關(guān)系描述組件之間的聯(lián)系典型地,描述它們之間的依賴關(guān)系- 有助于發(fā)現(xiàn)某一組件的變換對其他組件的影響為數(shù)據(jù)表、文件和文檔建模例子:包含:數(shù)據(jù)表文件文檔用組件為軟件系統(tǒng)建模為應用程序接口(API)建模應用程序接口是由一個或多個組件實現(xiàn)的接口構(gòu)造組件化系統(tǒng)時,必然要用到API對組件化操作系統(tǒng)提供的支持的使用,要通過API如果僅從開發(fā)者的角度考慮 .用組件為軟件系統(tǒng)建模為應用程序接口(API)建模如果僅從開發(fā)者的角度考慮僅需關(guān)心接口本身無需考慮接口的實現(xiàn)總是假定

13、接口是存在的只需為接口及其調(diào)用建模如果從系統(tǒng)配置管理的角度考慮必須保證該系統(tǒng)在運行時刻所依賴的各接口是被實現(xiàn)了的需要為API的實現(xiàn)建模用組件為軟件系統(tǒng)建模為應用程序接口(API)建模為API建模的一般規(guī)則辨識出程序設計時的系統(tǒng)接縫將各接縫用接口建模需要描述接口的細節(jié)只暴露出對問題的表達有重要意義的接口的構(gòu)成其他構(gòu)成只在接口的規(guī)格說明那表達如果對系統(tǒng)的實現(xiàn)配置有意義,就描述接口的實現(xiàn)用組件為軟件系統(tǒng)建模為應用程序接口(API)建模例子:(下圖)animator.exe輸出的API用組件為軟件系統(tǒng)建模為源代碼建模組件的另一個重要用途為開發(fā)過程中使用的物理存在建模開發(fā)用組件e.g.:源代碼文件資源文

14、件工程文件等等描述源代碼文件源代碼文件用于存放類的實現(xiàn)源代碼文件與類的對應通常由開發(fā)工具和配置管理工具決定組件可以用來表達這種對應e.g:ROSE: - 使用規(guī)格說明對話框組件可以表達源代碼之間的關(guān)系e.g.: 源代碼文件之間的編譯依賴- 用組件之間的依賴關(guān)系表示為源代碼建模的一般規(guī)則用組件為實現(xiàn)系統(tǒng)中所有的類的各文件建模同時描述它們之間的編譯依賴如果需要為源代碼的配置管理建模使用標記值描述- 版本- 作者- 檢入/檢出 消息和配置管理工具配合使用 盡可能地使用開發(fā)工具管理文件之間的關(guān)系只使用UML對這些關(guān)系進行視化和建檔例子版本信息編譯依賴UML1.4和2.0中的組件圖UML 2 中,組件的

15、一個高層次的抽象視圖,可以用一個長方形建模,包括組件的名字和組件原型的文字和/或圖標。組件原型的文本是“component”,而組件原型圖標是在左邊有兩個凸出的小長方形的一個大長方形(UML 1.4 中組件的符號元素)。下圖顯示,組件可以用UML 2規(guī)范中的三種不同方法表示。為組件提供/要求接口建模 圖 :這里額外的區(qū)顯示Order組件提供和要求的接口。UML 2 也引入另外一種方法來顯示組件提供并要求的接口。這個方法是建立一個里面有組件名的大長方形,并在長方形的外面放置在 UML 2 規(guī)范中稱為接口符號的東西。這第二種方法在圖 4 中舉例說明。 組件關(guān)系的建模 圖 :顯示Order系統(tǒng)組件如

16、何依賴于其他組件的組件圖顯示組件的內(nèi)部結(jié)構(gòu) 端口和委托連接器委托連接器連接了組件的一個外部端口和它內(nèi)部的一個子組件的一個端口。外部端口接收到的消息被傳送到這個內(nèi)部組件的端口上;從內(nèi)部端口發(fā)出的消息被傳送到外部端口,并隨后發(fā)送給與之相連的組件。 (1)一個結(jié)構(gòu)良好的構(gòu)件應具備的特點 從物理結(jié)構(gòu)上對軟件系統(tǒng)進行抽象;提供一組小的、定義完整的接口實現(xiàn);構(gòu)件應包含與其功能有關(guān)的一組類,以便滿足接口要求;與其它構(gòu)件相對獨立,構(gòu)件之間一般只有依賴和實現(xiàn)的關(guān)系。(2)在UML中繪制一個構(gòu)件時應掌握的技巧 為構(gòu)件標識一個能準確表達其意義的名字;接口一般采用短式圖符表示;只在必須顯示接口的操作(不展示不能清楚描述構(gòu)件的功能)時才用長式表示;只顯示那些對理解構(gòu)件功能有重要影響的接口;構(gòu)件為源代碼或庫時,注意顯示有關(guān)版本標記。構(gòu)件圖建模的方法和技巧(1)一個結(jié)構(gòu)良好的構(gòu)件圖應具備的特點 側(cè)重

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論