資源描述:
《uml建模第五章包圖.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、第5章包圖5.1包圖的概念5.2包的表示5.3包圖中的關(guān)系5.4閱讀包圖5.5創(chuàng)建包圖5.6包圖建模5.1包圖的概念1.包包就像一個“容器”,可用于組織模型中的相關(guān)元素,以便容易理解。將相關(guān)的各種類型的模型元素組織成組的通用機(jī)制。包的實例沒有任何語義。僅在建模時有意義,而不必轉(zhuǎn)換到可執(zhí)行的系統(tǒng)中。5.1包圖的概念2.包圖描述包及其關(guān)系的圖。圖5-1是一個典型的包圖。包圖(PackageDiagram)是維護(hù)和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具。5.1包圖的概念3.包的作用對語義上相關(guān)的元素進(jìn)行分組。提供配置管理單元
2、。提供并行工作的單元。提供封裝的命名空間,同一個包中,其元素的名稱必須唯一。5.1包圖的概念3.包中的元素包中的元素:類、接口、組件、節(jié)點、協(xié)作、用例、圖以及其他包。一個模型元素不能被一個以上的包所擁有。如果包被撤銷,其中的元素也要被撤銷。5.2包的表示1.包的符號表示UML中,用文件夾符號來表示一個包。包由一個矩形表示,它包含2欄。最常見的幾種包的表示法,如圖5-2所示:PackageNamePackageNameClassName-1ClassName-2…..PackageName類名Rose常用表示法包
3、名放在第一欄在第二欄畫出所包含的類圖形表示第二欄列出包含的類名包名放在第二欄5.2包的表示1.包的符號表示嵌套包及其表示一個包可以包含其他的包;嵌套包可以訪問自身的元素;應(yīng)盡量避免使用嵌套包,一般2-3層最好。LibraryUsers嵌套包LibrarianBorrower5.2包的表示1.包的符號表示嵌套包及其表示外部表示法5.2包的表示2.包的名稱每個包必須有一個與其他包相區(qū)別的名稱。兩種形式:簡單名和路徑。System:Web:UISystem.Web.UI5.2包的表示3.包的元素在一個包中可以擁有各種
4、其他元素,這是一種組成關(guān)系。每一個包就意味著一個獨立的命名空間,兩個不同的包,可以具有相同的元素名。在包中表示擁有的元素時,有兩種方法:一種是在第二欄中列出所屬元素名,一種是在第二欄中畫出所屬元素的圖形表示。5.2包的表示4.包的可見性公有的(public)“+”受保護(hù)的(protected)“?!彼接械模╬rivate)“-”5.2包的表示可見性含義前綴符號公有的Public此元素可以被任何引用該包的包中的元素訪問。+受保護(hù)的Protected此元素可被繼承該包的包中的元素訪問。#私有的private此元素只
5、能被同一個包中的元素訪問。-4.包的可見性包內(nèi)元素的可見性控制了包外部元素訪問包內(nèi)部元素的權(quán)限。5.3包圖中的關(guān)系包之間可以有兩種關(guān)系:引用和訪問依賴:在一個包中引入另一個包輸出的元素泛化:說明包的家族5.3包圖中的關(guān)系1.依賴關(guān)系使用關(guān)系《use》:說明客戶包中的元素以某種方式使用提供者包的公共元素。包含關(guān)系《import》:提供者包命名空間的公共元素被添加為客戶包命名空間上的公共元素訪問關(guān)系《access》:提供者包命名空間的公共元素被添加為客戶包命名空間上的私有元素??蛻籼峁┱?.3包圖中的關(guān)系1.依賴關(guān)
6、系④跟蹤關(guān)系《trace》:通常表示一個元素歷史地發(fā)展成為另一個進(jìn)化版本。分析模型是設(shè)計模型的元模型,元模型的元素進(jìn)化為設(shè)計模型,這時指的是模型之間的關(guān)系,不是元素之間的關(guān)系。分析模型設(shè)計模型元模型5.3包圖中的關(guān)系2.泛化關(guān)系包間的泛化關(guān)系與類之間的泛化關(guān)系類似。5.4閱讀包圖閱讀包圖的方法如下:了解每個包的語義及其包含元素語義。理解包間的關(guān)系。找到依賴復(fù)雜的包,從最復(fù)雜的包開始閱讀,然后依次是簡單的包。5.4閱讀包圖例子描述分析系統(tǒng)工作流程:1)通過Internet連接到股票信息服務(wù)器,獲取實時的股票信息,
7、并存入數(shù)據(jù)庫中。2)根據(jù)用戶的輸入和選擇,從數(shù)據(jù)庫中獲取相應(yīng)的信息,展現(xiàn)在屏幕中。3)在數(shù)據(jù)的展現(xiàn)過程中,將需要繪制大量的圖表。舉例舉例根據(jù)功能模塊組織包:包分析與功能.NET支持包SocketClient負(fù)責(zé)連接Internet服務(wù)器,獲取實時股票信息System.Net.SocketsDataAccess負(fù)責(zé)從數(shù)據(jù)庫讀寫實時股票信息System.Data.SqlclientUI負(fù)責(zé)響應(yīng)用戶輸入和選擇,并展現(xiàn)信息System.Windows.FormsGraphicGenerate負(fù)責(zé)根據(jù)數(shù)據(jù)庫的信息生成相應(yīng)
8、的圖表System.Drawing舉例業(yè)務(wù)呈現(xiàn)數(shù)據(jù)設(shè)計包的原則在考慮如何對類進(jìn)行分組并放入不同的包時,主要依據(jù)類之間的依賴關(guān)系進(jìn)行分組。包中的類應(yīng)該是功能相關(guān)的,在建包時,應(yīng)把概念上和語義上相近的模型元素納入一個包。依賴關(guān)系其實是耦合的一種體現(xiàn),如果兩個包中的類之間存在依賴關(guān)系,那么這兩個包之間就有了依賴關(guān)系,也就存在耦合關(guān)系。好的設(shè)計要求體現(xiàn)高內(nèi)聚、低耦合的特性。設(shè)計包的原則設(shè)計包時