版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第5章章 包圖包圖5 .1 包圖的概念包圖的概念5.2 包的表示包的表示5.3 包圖中的關(guān)系包圖中的關(guān)系5.4 閱讀包圖閱讀包圖5.5 創(chuàng)建包圖創(chuàng)建包圖5.6 包圖建模包圖建模51 包圖的概念包圖的概念1包包n包就像一個(gè)包就像一個(gè)“容器容器”,可用于組織模型中,可用于組織模型中的相關(guān)元素,以便容易理解。的相關(guān)元素,以便容易理解。n將相關(guān)的各種類型的模型元素組織成組的將相關(guān)的各種類型的模型元素組織成組的通用機(jī)制。通用機(jī)制。n包的實(shí)例沒有任何語義。包的實(shí)例沒有任何語義。 n僅在建模時(shí)有意義,而不必轉(zhuǎn)換到可執(zhí)行僅在建模時(shí)有意義,而不必轉(zhuǎn)換到可執(zhí)行的系統(tǒng)中。的系統(tǒng)中。51 包圖的概念包圖的概念2包圖
2、包圖n描述包及其關(guān)系的圖描述包及其關(guān)系的圖。圖。圖5-1是一個(gè)典型的包圖。是一個(gè)典型的包圖。n包圖包圖(Package Diagram) 是維護(hù)和控制系統(tǒng)總是維護(hù)和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具。體結(jié)構(gòu)的重要建模工具。51 包圖的概念包圖的概念3包的作用包的作用n對(duì)語義上相關(guān)的元素進(jìn)行分組。對(duì)語義上相關(guān)的元素進(jìn)行分組。n提供配置管理單元。提供配置管理單元。n提供并行工作的單元。提供并行工作的單元。n提供封裝的命名空間,同一個(gè)包中,其元素的名提供封裝的命名空間,同一個(gè)包中,其元素的名稱必須唯一。稱必須唯一。51 包圖的概念包圖的概念3包中的元素包中的元素n包中的元素:包中的元素:類、接口、組件、
3、節(jié)點(diǎn)、協(xié)作、用類、接口、組件、節(jié)點(diǎn)、協(xié)作、用例、圖例、圖以及以及其他包其他包。 n一個(gè)模型元素不能被一個(gè)以上的包所擁有。一個(gè)模型元素不能被一個(gè)以上的包所擁有。n如果包被撤銷,其中的元素也要被撤銷。如果包被撤銷,其中的元素也要被撤銷。52 包的表示包的表示1包的符號(hào)表示包的符號(hào)表示nUML中,用中,用文件夾符號(hào)文件夾符號(hào)來表示一個(gè)包。包由一個(gè)矩形表來表示一個(gè)包。包由一個(gè)矩形表示,它包含示,它包含2欄。欄。n最常見的幾種包的表示法,如圖最常見的幾種包的表示法,如圖5-2所示:所示:PackageNamePackageNameClassName-1ClassName-2.PackageName類名類
4、名Rose常用表示法常用表示法包名放在第一欄包名放在第一欄在第二欄畫出所在第二欄畫出所包含的類圖形表示包含的類圖形表示第二欄列出第二欄列出包含的類名包含的類名包名放在第二欄包名放在第二欄52 包的表示包的表示1包的符號(hào)表示包的符號(hào)表示n嵌套包及其表示嵌套包及其表示一個(gè)包可以包含其他一個(gè)包可以包含其他的包;的包;嵌套包可以訪問自身嵌套包可以訪問自身的元素;的元素;應(yīng)盡量避免使用嵌套應(yīng)盡量避免使用嵌套包,一般包,一般2-3層最好。層最好。LibraryUsers嵌套包嵌套包LibrarianBorrower52 包的表示包的表示1包的符號(hào)表示包的符號(hào)表示n 嵌套包及其表示嵌套包及其表示外部表示法外
5、部表示法52 包的表示包的表示2包的名稱包的名稱n每個(gè)包必須有一個(gè)與其他包相區(qū)別的名稱。每個(gè)包必須有一個(gè)與其他包相區(qū)別的名稱。n兩種形式:簡(jiǎn)單名和路徑。兩種形式:簡(jiǎn)單名和路徑。System:Web:UISystem.Web.UI52 包的表示包的表示3包的元素包的元素n在一個(gè)包中可以在一個(gè)包中可以擁有擁有各種其他元素,這是一種組各種其他元素,這是一種組成關(guān)系。成關(guān)系。n每一個(gè)包就意味著一個(gè)獨(dú)立的命名空間,兩個(gè)不每一個(gè)包就意味著一個(gè)獨(dú)立的命名空間,兩個(gè)不同的包,可以具有相同的元素名。同的包,可以具有相同的元素名。n在包中表示擁有的元素時(shí),有兩種方法:在包中表示擁有的元素時(shí),有兩種方法:一種是一種
6、是在第二欄中列出所屬元素名,一種是在第二欄中在第二欄中列出所屬元素名,一種是在第二欄中畫出所屬元素的圖形表示畫出所屬元素的圖形表示。52 包的表示包的表示4包的可見性包的可見性公有的(公有的(public) “”受保護(hù)的(受保護(hù)的(protected) “”私有的(私有的(private)“”52 包的表示包的表示可見性可見性含義含義前綴符號(hào)前綴符號(hào)公有的公有的Public此元素可以被任何引用該此元素可以被任何引用該包的包中的元素訪問。包的包中的元素訪問。+受保護(hù)的受保護(hù)的Protected此元素可被繼承該包的包此元素可被繼承該包的包中的元素訪問。中的元素訪問。#私有的私有的private此元
7、素只能被同一個(gè)包中此元素只能被同一個(gè)包中的元素訪問。的元素訪問。-4包的可見性包的可見性 包內(nèi)元素的可見性控制了包外部元素訪問包內(nèi)包內(nèi)元素的可見性控制了包外部元素訪問包內(nèi)部元素的權(quán)限。部元素的權(quán)限。53 包圖中的關(guān)系包圖中的關(guān)系包之間可以有兩種關(guān)系:包之間可以有兩種關(guān)系: 引用和訪問依賴引用和訪問依賴:在一個(gè)包中引入另一個(gè)包輸:在一個(gè)包中引入另一個(gè)包輸出的元素出的元素 泛化泛化:說明包的家族:說明包的家族 53 包圖中的關(guān)系包圖中的關(guān)系1依賴關(guān)系依賴關(guān)系使用關(guān)系使用關(guān)系use:說明客戶包中的元素以某種方式使用:說明客戶包中的元素以某種方式使用提供者包的公共元素。提供者包的公共元素。包含關(guān)系包含
8、關(guān)系import:提供者包命名空間的公共元素被:提供者包命名空間的公共元素被添加為客戶包命名空間上的公共元素添加為客戶包命名空間上的公共元素訪問關(guān)系訪問關(guān)系access:提供者包命名空間的公共元素被:提供者包命名空間的公共元素被添加為客戶包命名空間上的私有元素。添加為客戶包命名空間上的私有元素。客戶客戶提供者提供者53 包圖中的關(guān)系包圖中的關(guān)系1依賴關(guān)系依賴關(guān)系 跟蹤關(guān)系跟蹤關(guān)系trace:通常表示一個(gè)元素歷史地:通常表示一個(gè)元素歷史地發(fā)展成為另一個(gè)進(jìn)化版本。發(fā)展成為另一個(gè)進(jìn)化版本。 分析模型是設(shè)計(jì)模型的元模型,元模型的元分析模型是設(shè)計(jì)模型的元模型,元模型的元素進(jìn)化為設(shè)計(jì)模型,這時(shí)指的是模型之
9、間的關(guān)素進(jìn)化為設(shè)計(jì)模型,這時(shí)指的是模型之間的關(guān)系,不是元素之間的關(guān)系。系,不是元素之間的關(guān)系。分析模型分析模型設(shè)計(jì)模型設(shè)計(jì)模型元模型元模型53 包圖中的關(guān)系包圖中的關(guān)系2泛化關(guān)系泛化關(guān)系包間的泛化關(guān)系與類之間的泛化關(guān)系類似。包間的泛化關(guān)系與類之間的泛化關(guān)系類似。54 閱讀包圖閱讀包圖閱讀包圖的方法如下:閱讀包圖的方法如下:了解每個(gè)包的語義及其包含元素語義。了解每個(gè)包的語義及其包含元素語義。理解包間的關(guān)系。理解包間的關(guān)系。找到依賴復(fù)雜的包,從最復(fù)雜的包開始閱讀,找到依賴復(fù)雜的包,從最復(fù)雜的包開始閱讀,然后依次是簡(jiǎn)單的包。然后依次是簡(jiǎn)單的包。54 閱讀包圖閱讀包圖例子描述例子描述n分析系統(tǒng)工作流程
10、: 1)通過Internet連接到股票信息服務(wù)器,獲取實(shí)時(shí)的股票信息,并存入數(shù)據(jù)庫(kù)中。 2)根據(jù)用戶的輸入和選擇,從數(shù)據(jù)庫(kù)中獲取相應(yīng)的信息,展現(xiàn)在屏幕中。 3)在數(shù)據(jù)的展現(xiàn)過程中,將需要繪制大量的圖表。 舉例舉例舉例舉例根據(jù)功能模塊組織包:根據(jù)功能模塊組織包: 包分析與功能.NET支持包SocketClient負(fù)責(zé)連接Internet服務(wù)器,獲取實(shí)時(shí)股票信息System.Net.SocketsDataAccess負(fù)責(zé)從數(shù)據(jù)庫(kù)讀寫實(shí)時(shí)股票信息System.Data.SqlclientUI負(fù)責(zé)響應(yīng)用戶輸入和選擇,并展現(xiàn)信息System.Windows.FormsGraphicGenerate負(fù)責(zé)根
11、據(jù)數(shù)據(jù)庫(kù)的信息生成相應(yīng)的圖表System.Drawing舉舉例例業(yè)務(wù) 呈現(xiàn) 數(shù)據(jù) 設(shè)計(jì)包的原則設(shè)計(jì)包的原則 在考慮如何對(duì)類進(jìn)行分組并放入不同的包時(shí),在考慮如何對(duì)類進(jìn)行分組并放入不同的包時(shí),主要依據(jù)類之間的依賴關(guān)系進(jìn)行分組。包中的類主要依據(jù)類之間的依賴關(guān)系進(jìn)行分組。包中的類應(yīng)該是功能相關(guān)的,在建包時(shí),應(yīng)把概念上和語應(yīng)該是功能相關(guān)的,在建包時(shí),應(yīng)把概念上和語義上相近的模型元素納入一個(gè)包。依賴關(guān)系其實(shí)義上相近的模型元素納入一個(gè)包。依賴關(guān)系其實(shí)是耦合的一種體現(xiàn),如果兩個(gè)包中的類之間存在是耦合的一種體現(xiàn),如果兩個(gè)包中的類之間存在依賴關(guān)系,那么這兩個(gè)包之間就有了依賴關(guān)系,依賴關(guān)系,那么這兩個(gè)包之間就有了依
12、賴關(guān)系,也就存在耦合關(guān)系。也就存在耦合關(guān)系。好的設(shè)計(jì)要求體現(xiàn)高內(nèi)聚、好的設(shè)計(jì)要求體現(xiàn)高內(nèi)聚、低耦合的特性。低耦合的特性。設(shè)計(jì)包的原則設(shè)計(jì)包的原則設(shè)計(jì)包時(shí),應(yīng)遵循以下原則:設(shè)計(jì)包時(shí),應(yīng)遵循以下原則:重用等價(jià)原則重用等價(jià)原則共同閉包原則共同閉包原則共同重用原則共同重用原則非循環(huán)依賴原則非循環(huán)依賴原則設(shè)計(jì)包的原則設(shè)計(jì)包的原則重用等價(jià)原則重用等價(jià)原則 把類放入包中時(shí),應(yīng)考慮把包作為可重用的把類放入包中時(shí),應(yīng)考慮把包作為可重用的單元。單元。共同閉包原則共同閉包原則 把那些需要同時(shí)改變的類放在同一個(gè)包中。把那些需要同時(shí)改變的類放在同一個(gè)包中。p若一個(gè)類的行為或結(jié)構(gòu)的改變要求另一個(gè)類做相應(yīng)的若一個(gè)類的行為或
13、結(jié)構(gòu)的改變要求另一個(gè)類做相應(yīng)的改變;改變;p刪除了一個(gè)類后,另一個(gè)類成多余的;刪除了一個(gè)類后,另一個(gè)類成多余的;p兩個(gè)類之間有大量的消息發(fā)送。兩個(gè)類之間有大量的消息發(fā)送。設(shè)計(jì)包的原則設(shè)計(jì)包的原則共同重用原則共同重用原則 把不會(huì)一起使用的類不要放在同一個(gè)包中。把不會(huì)一起使用的類不要放在同一個(gè)包中。非循環(huán)依賴原則非循環(huán)依賴原則 包之間的依賴關(guān)系不要形成循環(huán)。包之間的依賴關(guān)系不要形成循環(huán)。設(shè)計(jì)包的原則設(shè)計(jì)包的原則 合并合并 分解分解 消除循環(huán)依賴的示例消除循環(huán)依賴的示例AB54 創(chuàng)建包圖創(chuàng)建包圖繪制包圖的基本步驟如下:繪制包圖的基本步驟如下: 分析系統(tǒng)的模型元素(通常是對(duì)象類),把概念分析系統(tǒng)的模型元素(通常是對(duì)象類),把概念上或語義上相近的模型元素歸入同一個(gè)包。上或語義上相近的模型元素歸入同一個(gè)包。 對(duì)于每一個(gè)包,標(biāo)出其模型元素的可視性,確定對(duì)于每一個(gè)包,標(biāo)出其模型元素的可視性,確定包內(nèi)每個(gè)元素的訪問屬性,是公共、保護(hù)或私有。包內(nèi)每個(gè)元素的訪問屬性,是公共、保護(hù)或私有。 確定包與包之間的依賴聯(lián)系,特別是確定包與包之間的依賴聯(lián)系,特別是“引入引入”關(guān)關(guān)系。系。 確定包與包之間的泛化關(guān)系。確定包與包之間的泛化關(guān)系。 繪制包圖。繪制包圖。 對(duì)結(jié)果進(jìn)行精化和細(xì)化。對(duì)結(jié)果進(jìn)行精化和
溫馨提示
- 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. 人人文庫(kù)網(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年KTV特色主題活動(dòng)策劃與執(zhí)行合同3篇
- 2025版攤鋪機(jī)租賃及施工質(zhì)量保障合同范本6篇
- 個(gè)人健身教練合同:2024版專業(yè)輔導(dǎo)合同書
- 2025年度臨時(shí)用工勞務(wù)合同編制指南范本2篇
- 二零二五年度光伏電站運(yùn)維人工勞務(wù)合同范本3篇
- 2025年木材市場(chǎng)分析與預(yù)測(cè)合作合同范本
- 二零二五版木門行業(yè)展會(huì)參展與推廣服務(wù)合同4篇
- 二零二五年度數(shù)字貨幣技術(shù)研發(fā)與應(yīng)用合同集2篇
- 2025年戶外健身路徑欄桿設(shè)施采購(gòu)合同3篇
- 2025年度獵頭服務(wù)人才引進(jìn)與培養(yǎng)合作協(xié)議5篇
- 《電影之創(chuàng)戰(zhàn)紀(jì)》課件
- 社區(qū)醫(yī)療抗菌藥物分級(jí)管理方案
- 開題報(bào)告-鑄牢中華民族共同體意識(shí)的學(xué)校教育研究
- 《醫(yī)院標(biāo)識(shí)牌規(guī)劃設(shè)計(jì)方案》
- 公司2025年會(huì)暨員工團(tuán)隊(duì)頒獎(jiǎng)盛典攜手同行共創(chuàng)未來模板
- 夜市運(yùn)營(yíng)投標(biāo)方案(技術(shù)方案)
- 電接點(diǎn) 水位計(jì)工作原理及故障處理
- 國(guó)家職業(yè)大典
- 2024版房產(chǎn)代持協(xié)議書樣本
- 公眾號(hào)運(yùn)營(yíng)實(shí)戰(zhàn)手冊(cè)
- 科研倫理與學(xué)術(shù)規(guī)范(研究生)期末試題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論