第11章包圖-【2017至2018第一學(xué)期】_第1頁
第11章包圖-【2017至2018第一學(xué)期】_第2頁
第11章包圖-【2017至2018第一學(xué)期】_第3頁
第11章包圖-【2017至2018第一學(xué)期】_第4頁
第11章包圖-【2017至2018第一學(xué)期】_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

UML理論與實(shí)踐

第11章包圖本章將對包圖中的根本概念以及它們的使用方法逐一進(jìn)行詳細(xì)介紹。模型的組織是通過包來實(shí)現(xiàn)的包可以把所建立的各種模型組織起來,形成各種功能或用途的模塊,并可以控制包中元素的可見性以及描述包之間的依賴關(guān)系。第11章包圖11.1模型的組織結(jié)構(gòu)11.2包圖的根本概念11.3包圖的創(chuàng)立概述11.4包圖的創(chuàng)立例如11.1模型的組織結(jié)構(gòu)模型需要有自己的內(nèi)部組織結(jié)構(gòu),一方面能夠?qū)⒁粋€大系統(tǒng)進(jìn)行分解,降低系統(tǒng)的復(fù)雜度;另一方面能夠允許多個工程開發(fā)小組同時使用某個模型而不發(fā)生過多的相互牽涉。將系統(tǒng)分層很常用的一種方式是將系統(tǒng)分為三層結(jié)構(gòu),即用戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。模型和模型內(nèi)的各種組成局部不是孤立地建造和使用【大環(huán)境】模型內(nèi)的各個組成局部也通過各種關(guān)系相互連接,表現(xiàn)為層與層之間的關(guān)系、包與包之間的關(guān)系以及類與類之間的關(guān)系如果包得規(guī)劃比較合理,那么它們能夠反映系統(tǒng)的高層架構(gòu)——有關(guān)系統(tǒng)由子系統(tǒng)和它們之間的依賴關(guān)系組合而成。包之間的依賴關(guān)系概述了包的內(nèi)容之間的依賴關(guān)系。第11章包圖11.1模型的組織結(jié)構(gòu)11.2包圖的根本概念11.3包圖的創(chuàng)立概述11.4包圖的創(chuàng)立例如11.2包圖的根本概念1.包圖包圖〔PackageDiagram〕是一種維護(hù)和描述系統(tǒng)總體結(jié)構(gòu)的模型的重要建模工具,通過對圖中各個包以及包之間關(guān)系的描述,展現(xiàn)出系統(tǒng)的模塊與模塊之間的依賴關(guān)系。包是一個可以擁有任何種類的模型元素的通用的命名空間。每個圖必須被惟一確定的包擁有,所以UML模型元素都能用包進(jìn)行組織包是進(jìn)行配置、存儲和訪問控制的根底。表示法包的主要內(nèi)容【要素】包的名稱包擁有的元素這些元素的可見性包的構(gòu)造型包與包之間的關(guān)系包下可以創(chuàng)立類、接口、構(gòu)件、節(jié)點(diǎn)、用例、圖以及其他包等在包圖下允許創(chuàng)立的各種模型元素是根據(jù)各種視圖下所允許的內(nèi)容決定,2.包的根本概念和可見性包對自身所包含的內(nèi)部元素的可見性也有定義,使用關(guān)鍵字private、protected或public來表示。private定義的私有元素對包外部元素完全不可見;protected定義的被保護(hù)的元素只對那些與包含這些元素的包有泛化關(guān)系的包可見;public定義的公共元素對所有引入的包以及它們的后代都可見。模型是從一個視角觀察到的對進(jìn)行系統(tǒng)完全描述的包從一個觀點(diǎn)提供一個系統(tǒng)的封閉描述。它對其他包沒有很強(qiáng)的依賴關(guān)系,只有跟蹤這種弱關(guān)系3.包的構(gòu)造型和子系統(tǒng)系統(tǒng)是組織起來以完成一定目的的連接單元的集合,由一個高級子系統(tǒng)建模,該子系統(tǒng)間接包含共同完成現(xiàn)實(shí)世界目的的模型元素的集合。一個系統(tǒng)通??梢杂靡粋€或多個視點(diǎn)不同的模型描述。系統(tǒng)使用一個帶有構(gòu)造型“system〞的包表示,在RationalRose2003中,內(nèi)部支持的二種系統(tǒng)。4.包的嵌套包可以擁有其他包作為包內(nèi)的元素,子包又可以擁有自己的子包,這樣可以構(gòu)成一個系統(tǒng)的嵌套結(jié)構(gòu),以表達(dá)系統(tǒng)模型元素的靜態(tài)結(jié)構(gòu)關(guān)系。包的嵌套可以清晰的表現(xiàn)系統(tǒng)模型元素之間的關(guān)系,但是在建立模型時包的嵌套不宜過深,包的嵌套的層數(shù)一般以2到3層為宜。5.包的聯(lián)系包之間的關(guān)系總的來講可以概括為依賴關(guān)系和泛化。二個包之間存在著依賴關(guān)系通常是指這二個包所包含的模型元素之間存在著一個和多個依賴。對于由對象類組成的包,如果二個包的任何對象類之間存在著如何一種依賴,那么這二個包之間就存在著依賴。包的依賴聯(lián)系同樣是使用一根虛箭線表示,虛箭線從依賴源指向獨(dú)立目的包。包間依賴關(guān)系的存在表示存在一個自底向上方法〔一個存在聲明〕或存在一個自頂向下的方法〔限制其他任何關(guān)系的約束〕中包圖【非UML】的作用描述需求的高階概況【業(yè)務(wù)需求】描述設(shè)計的高階概況【業(yè)務(wù)設(shè)計】在邏輯上把一個復(fù)雜的系統(tǒng)模塊化組織源代碼第11章包圖11.1模型的組織結(jié)構(gòu)11.2包圖的根本概念11.3包圖的創(chuàng)立概述11.4包圖的創(chuàng)立例如創(chuàng)立包圖添加包中的信息添加類依賴關(guān)系11.3包圖的創(chuàng)立概述1.創(chuàng)立和刪除包圖通過瀏覽器添加包圖的步驟如下:01在瀏覽器中選擇需要添加包圖的目錄,單擊右鍵。02在彈出的快捷菜單中選擇New|Package命令。03輸入包的名稱,如果需要將包添加到類圖中,只需要將該包拖入類圖即可。如果需要在模型中刪除一個包,可以通過以下步驟進(jìn)行:01在瀏覽器中選擇需要刪除的包,單擊右鍵。02在彈出的快捷菜單中選擇Delete命令即可刪除。(1)通過工具欄或菜單欄添加包的步驟如下:在類圖的圖形編輯工具欄中,選擇用于創(chuàng)立包的按鈕,或者在菜單欄中,選擇“Tools〞〔工具〕中“Create〞〔新建〕菜單下的“Package〞選項(xiàng)。此時的光標(biāo)變?yōu)椤?〞符號。(2)單擊類圖的任意一個空白處,系統(tǒng)在該位置創(chuàng)立一個包圖,系統(tǒng)產(chǎn)生的默認(rèn)名稱為“NewPackage〞。(3)將“NewPackage〞重新命名成新的名稱即可。2.添加包中的信息01選中PackageA包的圖標(biāo),單擊右鍵,在彈出的快捷菜單中選擇SelectCompartmentItems命令。02在彈出對話框的左側(cè)顯示了在該包目錄下的所有類,選中類,通過中間的按鈕將ClassA和ClassB添加到右側(cè)的列表框中。03添加完畢后,單擊OK按鈕即可。3.創(chuàng)立包的依賴關(guān)系包與包之間和類與類之間一樣,也可以存在依賴關(guān)系,并且包的依賴關(guān)系也和類的依賴關(guān)系的表示形式一樣,使用依賴關(guān)系的圖標(biāo)進(jìn)行表示。包的依賴關(guān)系例如包的循環(huán)依賴關(guān)系例如第11章包圖11.1模型的組織結(jié)構(gòu)11.2包圖的根本概念11.3包圖的創(chuàng)立概述11.4包圖的創(chuàng)立例如14.1創(chuàng)立包圖的步驟根據(jù)系統(tǒng)的架構(gòu)需求確定包的分類準(zhǔn)那么在系統(tǒng)中創(chuàng)立相關(guān)的包,在包中添加各種文件,確定包之間的依賴關(guān)系11.4包圖的創(chuàng)立例如01根據(jù)系統(tǒng)的架構(gòu)需求確定包的分類準(zhǔn)那么。分析學(xué)生信息管理系統(tǒng),我們采用MVC架構(gòu)進(jìn)行包的劃分??梢栽谶壿嬕晥D下確定三個包,分別為模型包、視圖包和控制包。模型包是對系統(tǒng)應(yīng)用功能的抽象,在包中的各個類封裝了系統(tǒng)的狀態(tài)。視圖包是對系統(tǒng)數(shù)據(jù)表達(dá)的抽象,在包中的各個類對用戶的數(shù)據(jù)進(jìn)行表達(dá),并維護(hù)與模型中的各個類數(shù)據(jù)的一致性。控制包是對用戶與系統(tǒng)交互事件的抽象,它把用戶的操作編程系統(tǒng)的事件,根據(jù)用戶的操作和系統(tǒng)的上下文調(diào)用不同的數(shù)據(jù)。02在系統(tǒng)中創(chuàng)立相關(guān)的包,在包中添加各種文件,確定包之間的依賴關(guān)系。11.4包圖的創(chuàng)立例如11.5本章小結(jié)本章對系統(tǒng)的模型的組織結(jié)構(gòu)—包進(jìn)行介紹。在模型的組織結(jié)構(gòu)中說明了為什么系統(tǒng)需要適當(dāng)?shù)慕M織結(jié)構(gòu),在現(xiàn)代軟件系統(tǒng)的開發(fā)中,即使是一個小系統(tǒng),也會涉及非常多的領(lǐng)域,保證其正確性,需要一種多層方法,每一層都依賴其下的層。常用的結(jié)構(gòu)模型是三層結(jié)構(gòu)模型。通過包的合理規(guī)劃,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論