




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第9章物理建模19.1物理建模概述9.2組件圖9.3部署圖2本章將向讀者詳細(xì)介紹UML物理建模的基本內(nèi)容。主要包括:物理建模概述、組件圖及其繪制、部署圖及其繪制等。本章的學(xué)習(xí)要點(diǎn)包括:組件圖的功能及組成;繪制組件圖;部署圖的功能及組成;繪制部署圖。39.1物理建模概述49.1物理建模概述5任務(wù)1了解物理建模的基本任務(wù)和主要內(nèi)容。任務(wù)描述
6軟件系統(tǒng)的物理架構(gòu)詳細(xì)描述系統(tǒng)的軟件和硬件組成。其中的硬件結(jié)構(gòu)包括不同的節(jié)點(diǎn)以及節(jié)點(diǎn)間如何連接;軟件結(jié)構(gòu)包括軟件運(yùn)行時(shí),組件、進(jìn)程、線程和對(duì)象的分布。物理架構(gòu)還說明實(shí)現(xiàn)邏輯架構(gòu)中定義的概念的代碼模塊的物理結(jié)構(gòu)和相關(guān)性,通過科學(xué)、合理的物理設(shè)計(jì)有效地利用系統(tǒng)中的軟、硬件資源。進(jìn)行物理建模的主要目的是解決以下問題:類和對(duì)象物理上分布在哪一個(gè)程序或進(jìn)程中?程序和進(jìn)程在哪臺(tái)計(jì)算機(jī)上運(yùn)行?系統(tǒng)中有哪些計(jì)算機(jī)和其他的硬件設(shè)備?它們是如何連接在一起的?不同的代碼文件之間有何關(guān)聯(lián)?如果某一文件被改變,其他的文件是否需要重新編譯?9.1物理建模概述7在建模過程中,將邏輯架構(gòu)映射到物理架構(gòu),邏輯架構(gòu)中的類和對(duì)象被映射到物理架構(gòu)中的組件、進(jìn)程和計(jì)算機(jī)。這種映射允許開發(fā)者根據(jù)邏輯架構(gòu)中的類找到它的物理實(shí)現(xiàn)。反之,也可以跟蹤程序或組件的描述找到它在邏輯架構(gòu)中的設(shè)計(jì)。如前所述,物理架構(gòu)關(guān)心的是實(shí)現(xiàn),因而在軟件系統(tǒng)建模時(shí)可以使用實(shí)現(xiàn)圖。UML中的實(shí)現(xiàn)圖是組件圖和部署圖。其中組件圖包括軟件組件,即代碼單元和真正的文件(源代碼和二進(jìn)制代碼等)的結(jié)構(gòu);部署圖顯示系統(tǒng)運(yùn)行時(shí)的結(jié)構(gòu),包括物理設(shè)備和軟件。9.1物理建模概述8物理架構(gòu)中的硬件概念可以分為以下幾種。1.處理器處理器是指執(zhí)行系統(tǒng)中的程序的計(jì)算機(jī)。處理器可以是任意大小和類型,從嵌入式系統(tǒng)中的微處理器到超級(jí)計(jì)算機(jī),從桌面計(jì)算機(jī)到便攜式計(jì)算機(jī),都稱為處理器。一般來說,需要借助處理器運(yùn)行系統(tǒng)中的軟件。2.設(shè)備設(shè)備指的是目標(biāo)系統(tǒng)所支持的設(shè)備,如打印機(jī)、路由器、讀卡機(jī)等。它們一般被連接到控制它們的處理器上,提供輸入/輸出或網(wǎng)絡(luò)連接功能。3.連接處理器之間有連接,處理器與設(shè)備之間也有連接。連接表示兩個(gè)節(jié)點(diǎn)間的通信機(jī)制,可以用物理媒體(如光纖)和軟件協(xié)議(如TCP/IP)來描述。
9.1.1硬件9.1物理建模概述9在軟件系統(tǒng)的物理架構(gòu)中,一般將軟件定義為:軟件由“部件”組成,這里的“部件”可以是包、模塊、組件、名稱空間或子系統(tǒng)。在架構(gòu)中處理的模塊的公共名字是子系統(tǒng),子系統(tǒng)有一個(gè)接口,可以將其內(nèi)部分解成更詳細(xì)的子系統(tǒng)或類和對(duì)象??梢詫⒆酉到y(tǒng)分派給進(jìn)程執(zhí)行,再將進(jìn)程指派給計(jì)算機(jī)執(zhí)行。在UML中,將子系統(tǒng)抽象為類包。一個(gè)包將許多類組合成一個(gè)邏輯組,但沒有定義語義。在設(shè)計(jì)中,通常定義一個(gè)或多個(gè)組件作為子系統(tǒng)的外觀,外觀組件提供訪問子系統(tǒng)(包)的接口,是系統(tǒng)中的其余部分唯一可見的組件。通過外觀組件的使用,包成為一個(gè)非常模塊化的單元,其內(nèi)部設(shè)計(jì)細(xì)節(jié)被隱藏起來,只有外觀組件與系統(tǒng)中的其他模塊有關(guān)系。在查看包時(shí),對(duì)于那些想利用包提供的服務(wù)的人來說,只對(duì)外觀組件感興趣。有的時(shí)候,在圖中只顯示外觀組件。
9.1.2軟件9.1物理建模概述10描述軟件的主要概念是組件、進(jìn)程、線程和對(duì)象。1.組件在UML中,組件是指“在一組模型元素實(shí)例的物理打包時(shí)可重用的部分”。意思是說,組件是系統(tǒng)功能的物理實(shí)現(xiàn)(如源代碼文件),它實(shí)現(xiàn)類圖或交互圖中定義的邏輯模型元素。組件可以看作開發(fā)的不同階段(編譯時(shí)、鏈接時(shí)和運(yùn)行時(shí))的成果。2.進(jìn)程和線程進(jìn)程表示重量控制流,而線程則代表輕量控制流。它們都被用來描述活動(dòng)類,該活動(dòng)類創(chuàng)建的活動(dòng)對(duì)象被分配給一個(gè)可執(zhí)行的組件執(zhí)行。3.對(duì)象對(duì)象沒有自己的執(zhí)行線程。只有當(dāng)其他東西發(fā)送消息給它們時(shí)(調(diào)用它們的操作)它們才運(yùn)行。它們可被指派給一個(gè)進(jìn)程或線程(一個(gè)可執(zhí)行的對(duì)象)或直接指派給一個(gè)可執(zhí)行的組件。
9.1.2軟件9.1物理建模概述9.2組件圖119.2組件圖12任務(wù)2了解組件圖的基本功能和繪制方法,并繪制WebShop電子商城系統(tǒng)的組件圖。任務(wù)描述
13組件圖(ComponentDiagram)描述軟件組件及組件之間的關(guān)系,顯示代碼的結(jié)構(gòu)。組件是邏輯架構(gòu)中定義的概念和功能(類、對(duì)象及它們之間的關(guān)系、協(xié)作)在物理架構(gòu)中的實(shí)現(xiàn)。也可以理解為:組件就是開發(fā)環(huán)境中的實(shí)現(xiàn)文件。借助組件圖,可以了解各軟件組件(如源代碼文件或動(dòng)態(tài)鏈接庫)之間的編譯器和運(yùn)行時(shí)的依賴關(guān)系,也可以將系統(tǒng)劃分為內(nèi)聚組件并顯示代碼自身的結(jié)構(gòu)。
9.2.1組件圖概述9.2組件圖典型組件圖14組件圖中通常包含的元素有組件、接口和依賴關(guān)系等。每個(gè)組件實(shí)現(xiàn)一些接口,并使用另外的接口。如果組件間的依賴關(guān)系與接口有關(guān),那么可被具有同樣接口的其他組件替代。在UML中,組件符號(hào)用矩形來表示,如“”,右上角標(biāo)注組件圖標(biāo)。組件圖標(biāo)由一個(gè)大矩形和兩個(gè)小矩形組成。組件名放在組件符號(hào)的大矩形內(nèi)。組件間的相關(guān)性連接,用一條帶箭頭的虛線來表示,表示一個(gè)組件只有同另一個(gè)組件在一起才有一個(gè)完整的定義。從源代碼組件A到另一個(gè)組件B的相關(guān)性是指從A到B之間有一個(gè)與語言有關(guān)的相關(guān)性。在編譯化語言中,可能意味著B的改變可能需要重新編譯A,因?yàn)榫幾gA時(shí)需要用到組件B中的定義。如果組件是可執(zhí)行的,相關(guān)性連接可以用來描述一個(gè)可執(zhí)行的程序需要哪些動(dòng)態(tài)鏈接庫才能運(yùn)行。
9.2.1組件圖概述9.2組件圖15
組件圖中的組件是定義了良好接口的物理實(shí)現(xiàn)單元,是系統(tǒng)中可替換的物理部件。組件表示將類、接口等邏輯元素打包而成的物理模塊。如前所述,組件可以是編譯時(shí)的組件、鏈接時(shí)的組件或可執(zhí)行組件。組件使一個(gè)系統(tǒng)更具靈活性、可擴(kuò)展性和可重要性。為了實(shí)現(xiàn)組件的靈活性,它必須符合下列標(biāo)準(zhǔn):組件的內(nèi)部結(jié)構(gòu)必須隱藏,組件的內(nèi)部對(duì)象和外部對(duì)象之間不能有依賴關(guān)系;組件必須提供接口,這樣外部的對(duì)象才能和組件進(jìn)行交互;組件內(nèi)部結(jié)構(gòu)必須獨(dú)立,內(nèi)部的對(duì)象不應(yīng)該知道外部的對(duì)象;組件必須指定需要的接口,這樣它們才能訪問外部的對(duì)象。
9.2.2組件圖組成——1.組件9.2組件圖16
組件圖在繪制組件圖時(shí),需要給出組件的名稱和組件的種類。(1)名稱。每個(gè)組件都必須有一個(gè)不同于其他組件的名稱。組件的名稱是一個(gè)字符串,位于組件圖標(biāo)的內(nèi)部。在實(shí)際應(yīng)用中,組件名稱通常是從現(xiàn)實(shí)的詞匯中抽取出來的短名詞或名詞短語,并根據(jù)目標(biāo)操作系統(tǒng)添加相應(yīng)的擴(kuò)展名。(2)組件的種類。組件通常包括編譯時(shí)的源組件、鏈接時(shí)的二進(jìn)制組件和運(yùn)行時(shí)的可執(zhí)行組件三種類型:源組件:源組件只在編譯時(shí)有意義。通常指實(shí)現(xiàn)一個(gè)或多個(gè)類的源代碼文件。二進(jìn)制組件:通常指對(duì)象代碼,它是源組件的編譯結(jié)果。它應(yīng)該是一個(gè)對(duì)象代碼文件、一個(gè)靜態(tài)庫文件或一個(gè)動(dòng)態(tài)庫文件??蓤?zhí)行組件:可執(zhí)行組件是一個(gè)可執(zhí)行的程序文件,它是鏈接(靜態(tài)鏈接或動(dòng)態(tài)鏈接)所有二進(jìn)制組件所得到的結(jié)果。9.2組件圖
9.2.2組件圖組成——1.組件17工件代表的是軟件系統(tǒng)中的物理實(shí)體,如可執(zhí)行文件、庫、軟件組件、文檔及數(shù)據(jù)庫等。一般來說,工件用在部署圖中,但是也可以用在組件圖中來展示建模元素,如組件或者類,建模元素可以以多種不同的工件來顯示。工件部署在節(jié)點(diǎn)上,并且指定了部署和系統(tǒng)使用的或者提供的操作的物理信息。在工件圖標(biāo)中,展示了它的屬性和操作的一些信息。一個(gè)工件有一個(gè)唯一的名字,它描述了所代表的文件或者軟件組件。Umbrello中表示文件、庫、數(shù)據(jù)表及默認(rèn)情況的工件如圖所示:9.2組件圖
9.2.2組件圖組成——2.工件默認(rèn)工件表示文件/庫的工件表示數(shù)據(jù)表的工件183.接口在組件圖中,組件可以通過其他組件的接口來使用其他組件中定義的操作。通過給接口命名,可以避免在系統(tǒng)中各個(gè)組件之間直接發(fā)生依賴關(guān)系,有利于組件的維護(hù)。組件圖中的接口表示方法與組件類似。組件的接口分為兩種:提供的接口和需要的接口。提供的接口描述了類或組件提供給客戶的服務(wù),需要的接口指定了要調(diào)用這個(gè)類或組件所需要的接口。9.2組件圖
9.2.2組件圖組成4.接口和組件的關(guān)系接口和組件的關(guān)系分為兩種:實(shí)現(xiàn)關(guān)系和依賴關(guān)系。接口和組件之間用實(shí)線連接表示實(shí)現(xiàn)關(guān)系,接口和組件之間用虛線箭頭表示依賴關(guān)系。組件圖中的接口199.2組件圖
9.2.3繪制WebShop電子商城組件圖按鈕按鈕名稱功能Selection選擇工具Note添加注釋Anchor將圖中的元素與注釋相連Label添加文本標(biāo)簽Box繪制盒子,將某些元素框在一起Subsystem繪制子系統(tǒng)Interfacerequired繪制接口需求Component繪制組件Port繪制端口Artifact繪制工件Association繪制雙向關(guān)聯(lián)關(guān)系DirectionalAssociation繪制單向關(guān)聯(lián)關(guān)系Dependency繪制依賴關(guān)系Generalization繪制泛化關(guān)系組件圖工具欄按鈕209.2組件圖
9.2.3繪制WebShop電子商城組件圖繪制WebShop電子商城組件圖。詳見教學(xué)視頻《繪制組件圖》WebShop電子商城前臺(tái)系統(tǒng)的組件圖(1)閱讀右圖所示的C++系統(tǒng)的組件圖,嘗試描述該系統(tǒng)中各組件之間的關(guān)系。
(2)繪制圖書管理系統(tǒng)的組件圖。
1.操作要求
2.操作提示
(1)通過學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)注意組件圖和程序功能模塊圖之間的異同。C++系統(tǒng)的組件圖9.3部署圖22239.3部署圖
9.3.1部署圖部署圖(DeploymentDiagram)描述處理器、設(shè)備、軟件組件在運(yùn)行時(shí)的架構(gòu)。它是系統(tǒng)拓?fù)涞淖罱K的物理描述,即描述硬件單元和運(yùn)行在硬件單元上的軟件的結(jié)構(gòu)。通過部署圖,可以尋找一個(gè)指定的節(jié)點(diǎn),從而了解哪一個(gè)組件正在該節(jié)點(diǎn)上運(yùn)行,哪些邏輯元素(類、對(duì)象和協(xié)作等)是在本組件中實(shí)現(xiàn)的,并且最終可以跟蹤到這些元素在系統(tǒng)的初始需求說明(在需求建模中完成的)中的位置。部署圖可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備以及它們之間的必要連接,也可以顯示連接的類型。此外,部署圖也可以包含包或子系統(tǒng),它們可以將系統(tǒng)中的模型元素組織成較大的模塊。249.3部署圖
9.3.1部署圖
典型的部署圖如下圖所示:UML部署圖也經(jīng)常被認(rèn)為是一個(gè)網(wǎng)絡(luò)圖或技術(shù)架構(gòu)圖,它可以用來描述一個(gè)簡單組織的技術(shù)基礎(chǔ)結(jié)構(gòu),如右圖所示:典型的部署圖簡單組織網(wǎng)絡(luò)結(jié)構(gòu)部署圖259.3部署圖
9.3.2部署圖組成部署圖一般在開發(fā)的實(shí)現(xiàn)階段開始準(zhǔn)備,它展示了在分布式系統(tǒng)中所有的物理節(jié)點(diǎn),在每個(gè)節(jié)點(diǎn)上保存的工件和組件,以及其他元素等。節(jié)點(diǎn)指的是物理設(shè)備,如計(jì)算機(jī)、傳感器、打印機(jī),以及其他支持系統(tǒng)的運(yùn)行環(huán)境。通信路徑和部署關(guān)系對(duì)系統(tǒng)的連接進(jìn)行建模。因?yàn)椴渴饒D關(guān)注的是運(yùn)行時(shí)處理節(jié)點(diǎn)的配置和它們的組件及工件,通過這種圖可以評(píng)估分布式的復(fù)雜性和資源的分配情況。1.節(jié)點(diǎn)節(jié)點(diǎn)是擁有某些計(jì)算資源的物理對(duì)象。這些資源包括:帶處理器的計(jì)算機(jī),外部設(shè)備如打印機(jī)、讀卡機(jī)、通信設(shè)備等。在UML中,節(jié)點(diǎn)用一個(gè)立方體表示。部署圖中節(jié)點(diǎn)示例269.3部署圖
9.3.2部署圖組成2.部署圖中的關(guān)系(1)關(guān)聯(lián)關(guān)系:部署圖節(jié)點(diǎn)間通過通信關(guān)聯(lián)在一起。在UML中,這種通信關(guān)聯(lián)用一條直線表示,說明在節(jié)點(diǎn)間存在某類通信路徑,節(jié)點(diǎn)通過這條通信路徑交換對(duì)象或發(fā)送消息。在UML中,部署圖中的關(guān)聯(lián)關(guān)系的表示方法與類圖中關(guān)聯(lián)關(guān)系的表示方法相同,都是一條直線。節(jié)點(diǎn)間的通信關(guān)聯(lián)(2)依賴關(guān)系:依賴關(guān)系在類圖中已經(jīng)做了詳細(xì)的介紹,可參見類圖中對(duì)依賴關(guān)系的介紹。(3)泛化關(guān)系:泛化關(guān)系在類圖中已經(jīng)做了詳細(xì)的介紹,可參見類圖中對(duì)泛化關(guān)系的介紹。279.3部署圖
9.3.2部署圖組成3.組件在部署圖中,可以將可執(zhí)行組件的實(shí)例包含在節(jié)點(diǎn)實(shí)例符號(hào)中,表示它們處在同一個(gè)節(jié)點(diǎn)實(shí)例上,且在同一個(gè)節(jié)點(diǎn)實(shí)例上執(zhí)行。從節(jié)點(diǎn)類型可以畫一條帶有構(gòu)造型<<support>>的相關(guān)性箭頭線到運(yùn)行時(shí)的組件類型,說明該節(jié)點(diǎn)支持指定組件。當(dāng)一個(gè)節(jié)點(diǎn)類型支持一個(gè)組件類型時(shí),允許在該節(jié)點(diǎn)類型實(shí)例上執(zhí)行它所支持的組件的實(shí)例。289.3部署圖
9.3.3繪制WebShop電子商城部署圖按鈕按鈕名稱功能Selection選擇工具Note添加注釋Anchor將圖中的元素與注釋相連Label添加文本標(biāo)簽Box繪制盒子,將某些元素框在一起Object繪制類對(duì)象Interf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公門安裝合同范例
- 二建水利合同范本
- 2025年臨滄貨運(yùn)從業(yè)資格證模擬考試題庫
- 互惠合同范本
- 農(nóng)藥倉儲(chǔ)配送合同范本
- 兼職中介合同范本
- 傳媒公司投資合同范本
- 勞動(dòng)合同范本 襄陽
- saas服務(wù)合同范本
- 加工維修承攬合同范本
- 數(shù)據(jù)挖掘(第2版)全套教學(xué)課件
- 產(chǎn)學(xué)研融合創(chuàng)新合作機(jī)制
- 分揀員工作管理制度
- 胃早癌-經(jīng)典課件
- 酒店管理概論 課件 第1章 酒店管理概述
- 網(wǎng)絡(luò)分布式系統(tǒng)架構(gòu)
- 幕墻工安全技術(shù)交底
- 集裝箱七點(diǎn)檢查表
- 創(chuàng)傷傷口包扎術(shù)(加壓包扎止血法)技術(shù)操作考核評(píng)分標(biāo)準(zhǔn)
- 籃球場改造工程投標(biāo)方案(技術(shù)方案)
- 茉莉花的生長習(xí)性及栽培管理辦法
評(píng)論
0/150
提交評(píng)論