uml建模第五章 包圖_第1頁
uml建模第五章 包圖_第2頁
uml建模第五章 包圖_第3頁
uml建模第五章 包圖_第4頁
uml建模第五章 包圖_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第5章章 包圖包圖5 .1 包圖的概念包圖的概念5.2 包的表示包的表示5.3 包圖中的關系包圖中的關系5.4 閱讀包圖閱讀包圖5.5 創(chuàng)建包圖創(chuàng)建包圖5.6 包圖建模包圖建模51 包圖的概念包圖的概念1包包n包就像一個包就像一個“容器容器”,可用于組織模型中,可用于組織模型中的相關元素,以便容易理解。的相關元素,以便容易理解。n將相關的各種類型的模型元素組織成組的將相關的各種類型的模型元素組織成組的通用機制。通用機制。n包的實例沒有任何語義。包的實例沒有任何語義。 n僅在建模時有意義,而不必轉(zhuǎn)換到可執(zhí)行僅在建模時有意義,而不必轉(zhuǎn)換到可執(zhí)行的系統(tǒng)中。的系統(tǒng)中。51 包圖的概念包圖的概念2包圖

2、包圖n描述包及其關系的圖描述包及其關系的圖。圖。圖5-1是一個典型的包圖。是一個典型的包圖。n包圖包圖(Package Diagram) 是維護和控制系統(tǒng)總是維護和控制系統(tǒng)總體結構的重要建模工具。體結構的重要建模工具。51 包圖的概念包圖的概念3包的作用包的作用n對語義上相關的元素進行分組。對語義上相關的元素進行分組。n提供配置管理單元。提供配置管理單元。n提供并行工作的單元。提供并行工作的單元。n提供封裝的命名空間,同一個包中,其元素的名提供封裝的命名空間,同一個包中,其元素的名稱必須唯一。稱必須唯一。51 包圖的概念包圖的概念3包中的元素包中的元素n包中的元素:包中的元素:類、接口、組件、

3、節(jié)點、協(xié)作、用類、接口、組件、節(jié)點、協(xié)作、用例、圖例、圖以及以及其他包其他包。 n一個模型元素不能被一個以上的包所擁有。一個模型元素不能被一個以上的包所擁有。n如果包被撤銷,其中的元素也要被撤銷。如果包被撤銷,其中的元素也要被撤銷。52 包的表示包的表示1包的符號表示包的符號表示nUML中,用中,用文件夾符號文件夾符號來表示一個包。包由一個矩形表來表示一個包。包由一個矩形表示,它包含示,它包含2欄。欄。n最常見的幾種包的表示法,如圖最常見的幾種包的表示法,如圖5-2所示:所示:PackageNamePackageNameClassName-1ClassName-2.PackageName類名類

4、名Rose常用表示法常用表示法包名放在第一欄包名放在第一欄在第二欄畫出所在第二欄畫出所包含的類圖形表示包含的類圖形表示第二欄列出第二欄列出包含的類名包含的類名包名放在第二欄包名放在第二欄52 包的表示包的表示1包的符號表示包的符號表示n嵌套包及其表示嵌套包及其表示一個包可以包含其他一個包可以包含其他的包;的包;嵌套包可以訪問自身嵌套包可以訪問自身的元素;的元素;應盡量避免使用嵌套應盡量避免使用嵌套包,一般包,一般2-3層最好。層最好。LibraryUsers嵌套包嵌套包LibrarianBorrower52 包的表示包的表示1包的符號表示包的符號表示n 嵌套包及其表示嵌套包及其表示外部表示法外

5、部表示法52 包的表示包的表示2包的名稱包的名稱n每個包必須有一個與其他包相區(qū)別的名稱。每個包必須有一個與其他包相區(qū)別的名稱。n兩種形式:簡單名和路徑。兩種形式:簡單名和路徑。System:Web:UISystem.Web.UI52 包的表示包的表示3包的元素包的元素n在一個包中可以在一個包中可以擁有擁有各種其他元素,這是一種組各種其他元素,這是一種組成關系。成關系。n每一個包就意味著一個獨立的命名空間,兩個不每一個包就意味著一個獨立的命名空間,兩個不同的包,可以具有相同的元素名。同的包,可以具有相同的元素名。n在包中表示擁有的元素時,有兩種方法:在包中表示擁有的元素時,有兩種方法:一種是一種

6、是在第二欄中列出所屬元素名,一種是在第二欄中在第二欄中列出所屬元素名,一種是在第二欄中畫出所屬元素的圖形表示畫出所屬元素的圖形表示。52 包的表示包的表示4包的可見性包的可見性公有的(公有的(public) “”受保護的(受保護的(protected) “”私有的(私有的(private)“”52 包的表示包的表示可見性可見性含義含義前綴符號前綴符號公有的公有的Public此元素可以被任何引用該此元素可以被任何引用該包的包中的元素訪問。包的包中的元素訪問。+受保護的受保護的Protected此元素可被繼承該包的包此元素可被繼承該包的包中的元素訪問。中的元素訪問。#私有的私有的private此元

7、素只能被同一個包中此元素只能被同一個包中的元素訪問。的元素訪問。-4包的可見性包的可見性 包內(nèi)元素的可見性控制了包外部元素訪問包內(nèi)包內(nèi)元素的可見性控制了包外部元素訪問包內(nèi)部元素的權限。部元素的權限。53 包圖中的關系包圖中的關系包之間可以有兩種關系:包之間可以有兩種關系: 引用和訪問依賴引用和訪問依賴:在一個包中引入另一個包輸:在一個包中引入另一個包輸出的元素出的元素 泛化泛化:說明包的家族:說明包的家族 53 包圖中的關系包圖中的關系1依賴關系依賴關系使用關系使用關系use:說明客戶包中的元素以某種方式使用:說明客戶包中的元素以某種方式使用提供者包的公共元素。提供者包的公共元素。包含關系包含

8、關系import:提供者包命名空間的公共元素被:提供者包命名空間的公共元素被添加為客戶包命名空間上的公共元素添加為客戶包命名空間上的公共元素訪問關系訪問關系access:提供者包命名空間的公共元素被:提供者包命名空間的公共元素被添加為客戶包命名空間上的私有元素。添加為客戶包命名空間上的私有元素??蛻艨蛻籼峁┱咛峁┱?3 包圖中的關系包圖中的關系1依賴關系依賴關系 跟蹤關系跟蹤關系trace:通常表示一個元素歷史地:通常表示一個元素歷史地發(fā)展成為另一個進化版本。發(fā)展成為另一個進化版本。 分析模型是設計模型的元模型,元模型的元分析模型是設計模型的元模型,元模型的元素進化為設計模型,這時指的是模型之

9、間的關素進化為設計模型,這時指的是模型之間的關系,不是元素之間的關系。系,不是元素之間的關系。分析模型分析模型設計模型設計模型元模型元模型53 包圖中的關系包圖中的關系2泛化關系泛化關系包間的泛化關系與類之間的泛化關系類似。包間的泛化關系與類之間的泛化關系類似。54 閱讀包圖閱讀包圖閱讀包圖的方法如下:閱讀包圖的方法如下:了解每個包的語義及其包含元素語義。了解每個包的語義及其包含元素語義。理解包間的關系。理解包間的關系。找到依賴復雜的包,從最復雜的包開始閱讀,找到依賴復雜的包,從最復雜的包開始閱讀,然后依次是簡單的包。然后依次是簡單的包。54 閱讀包圖閱讀包圖例子描述例子描述n分析系統(tǒng)工作流程

10、: 1)通過Internet連接到股票信息服務器,獲取實時的股票信息,并存入數(shù)據(jù)庫中。 2)根據(jù)用戶的輸入和選擇,從數(shù)據(jù)庫中獲取相應的信息,展現(xiàn)在屏幕中。 3)在數(shù)據(jù)的展現(xiàn)過程中,將需要繪制大量的圖表。 舉例舉例舉例舉例根據(jù)功能模塊組織包:根據(jù)功能模塊組織包: 包分析與功能.NET支持包SocketClient負責連接Internet服務器,獲取實時股票信息System.Net.SocketsDataAccess負責從數(shù)據(jù)庫讀寫實時股票信息System.Data.SqlclientUI負責響應用戶輸入和選擇,并展現(xiàn)信息System.Windows.FormsGraphicGenerate負責根

11、據(jù)數(shù)據(jù)庫的信息生成相應的圖表System.Drawing舉舉例例業(yè)務 呈現(xiàn) 數(shù)據(jù) 設計包的原則設計包的原則 在考慮如何對類進行分組并放入不同的包時,在考慮如何對類進行分組并放入不同的包時,主要依據(jù)類之間的依賴關系進行分組。包中的類主要依據(jù)類之間的依賴關系進行分組。包中的類應該是功能相關的,在建包時,應把概念上和語應該是功能相關的,在建包時,應把概念上和語義上相近的模型元素納入一個包。依賴關系其實義上相近的模型元素納入一個包。依賴關系其實是耦合的一種體現(xiàn),如果兩個包中的類之間存在是耦合的一種體現(xiàn),如果兩個包中的類之間存在依賴關系,那么這兩個包之間就有了依賴關系,依賴關系,那么這兩個包之間就有了依

12、賴關系,也就存在耦合關系。也就存在耦合關系。好的設計要求體現(xiàn)高內(nèi)聚、好的設計要求體現(xiàn)高內(nèi)聚、低耦合的特性。低耦合的特性。設計包的原則設計包的原則設計包時,應遵循以下原則:設計包時,應遵循以下原則:重用等價原則重用等價原則共同閉包原則共同閉包原則共同重用原則共同重用原則非循環(huán)依賴原則非循環(huán)依賴原則設計包的原則設計包的原則重用等價原則重用等價原則 把類放入包中時,應考慮把包作為可重用的把類放入包中時,應考慮把包作為可重用的單元。單元。共同閉包原則共同閉包原則 把那些需要同時改變的類放在同一個包中。把那些需要同時改變的類放在同一個包中。p若一個類的行為或結構的改變要求另一個類做相應的若一個類的行為或

13、結構的改變要求另一個類做相應的改變;改變;p刪除了一個類后,另一個類成多余的;刪除了一個類后,另一個類成多余的;p兩個類之間有大量的消息發(fā)送。兩個類之間有大量的消息發(fā)送。設計包的原則設計包的原則共同重用原則共同重用原則 把不會一起使用的類不要放在同一個包中。把不會一起使用的類不要放在同一個包中。非循環(huán)依賴原則非循環(huán)依賴原則 包之間的依賴關系不要形成循環(huán)。包之間的依賴關系不要形成循環(huán)。設計包的原則設計包的原則 合并合并 分解分解 消除循環(huán)依賴的示例消除循環(huán)依賴的示例AB54 創(chuàng)建包圖創(chuàng)建包圖繪制包圖的基本步驟如下:繪制包圖的基本步驟如下: 分析系統(tǒng)的模型元素(通常是對象類),把概念分析系統(tǒng)的模型元素(通常是對象類),把概念上或語義上相近的模型元素歸入同一個包。上或語義上相近的模型元素歸入同一個包。 對于每一個包,標出其模型元素的可視性,確定對于每一個包,標出其模型元素的可視性,確定包內(nèi)每個元素的訪問屬性,是公共、保護或私有。包內(nèi)每個元素的訪問屬性,是公共、保護或私有。 確定包與包之間的依賴聯(lián)系,特別是確定包與包之間的依賴聯(lián)系,特別是“引入引入”關關系。系。 確定包與包之間的泛化關系。確定包與包之間的泛化關系。 繪制包圖。繪制包圖。 對結果進行精化和細化。對結果進行精化和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論