資源描述:
《第3章-類圖、對象圖與包圖.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第3章類圖、對象圖和包圖使用面向?qū)ο蟮乃枷朊枋鱿到y(tǒng),能夠把復(fù)雜的系統(tǒng)簡單化、直觀化,這有利于用面向?qū)ο蟮某绦蛟O(shè)計語言實現(xiàn)系統(tǒng),并有利于未來對系統(tǒng)的維護(hù)。構(gòu)成面向?qū)ο竽P偷幕驹赜蓄?、對象和類與類之間的關(guān)系等。類圖和對象圖合稱為結(jié)構(gòu)模型視圖或者靜態(tài)視圖,用于描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征。其中,類圖用來描述系統(tǒng)中的類以及類與類之間的靜態(tài)關(guān)系等;對象用來描述特定時刻實際存在的若干對象以及它們之間的關(guān)系。一個系統(tǒng)的模型中可以包含多個對象圖,每個對象圖描述了系統(tǒng)在某個特定時刻的狀態(tài)。1本章學(xué)習(xí)要點:理解類圖的
2、基本概念為系統(tǒng)建模類建模類之間的關(guān)聯(lián)關(guān)系理解并建模泛化關(guān)系了解依賴關(guān)系和實現(xiàn)關(guān)系了解對象圖和包圖的概念構(gòu)造類圖23.1類圖構(gòu)建面向?qū)ο竽P偷幕A(chǔ)是類、對象以及它們之間的關(guān)系??梢栽诓煌愋偷南到y(tǒng)(例如,商務(wù)軟件、嵌入式系統(tǒng)、分布式系統(tǒng)等)中應(yīng)用面向?qū)ο蠹夹g(shù),在不同的系統(tǒng)中描述的類可以是各種各樣的。例如,在某個商務(wù)信息系統(tǒng)中,包含的類可以是顧客、協(xié)議書、發(fā)票、債務(wù)等;在某個工程技術(shù)系統(tǒng)中,包含的類可以有傳感器、顯示器、I/O卡、發(fā)動機(jī)等。在面向?qū)ο蟮奶幚碇校悎D處于核心地位,它提供了用于定義和使用對
3、象的主要規(guī)則,同時,類圖是正向工程(將模型轉(zhuǎn)化為代碼)的主要資源,是逆向工程(將代碼轉(zhuǎn)化為模型)的生成物。因此,類圖是任何面向?qū)ο笙到y(tǒng)的核心,類圖隨之也成了最常用的UML圖。33.1.1概述類圖是描述類、接口以及它們之間關(guān)系的圖,它顯示了系統(tǒng)中各個類的靜態(tài)結(jié)構(gòu),是一種靜態(tài)模型。類圖根據(jù)系統(tǒng)中的類以及各個類的關(guān)系描述系統(tǒng)的靜態(tài)視圖??梢杂媚撤N面向?qū)ο蟮恼Z言實現(xiàn)類圖中的類。類圖是面向?qū)ο笙到y(tǒng)建模中最常用和最基本的圖之一,其他許多圖,如狀態(tài)圖、協(xié)作圖、組件圖和配置圖等都是在類圖的基礎(chǔ)上進(jìn)一步描述了系統(tǒng)其
4、他方面的特性。類圖中可以包含了7個模型元素,它們分別是:類、接口、依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系和實現(xiàn)關(guān)系等模型元素。在類圖中也可以包含注釋、約束、包或子系統(tǒng)。43.1.2類及類的表示類是構(gòu)成類圖的基礎(chǔ),也是面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。要使用類圖,需要了解類和對象之間的區(qū)別。類是對資源的定義,它所包含的信息主要用來描述某種類型實體的特征以及對該類型實體的使用方法。對象是具體的實體,它遵守類制定的規(guī)則。從軟件的角度看,程序通常包含的是類的集合以及類所定義的行為,而實際創(chuàng)建信息和管理信息的是遵守類的規(guī)則
5、的對象。類定義了一組具有狀態(tài)和行為的對象,這些對象具有相同的屬性、操作、關(guān)系和語義。其中,屬性和關(guān)聯(lián)用來描述狀態(tài)。屬性通常用沒有身份的數(shù)據(jù)值表示,如數(shù)字和字符串。關(guān)聯(lián)則用有身份的對象之間的關(guān)系來表示。行為由操作來描述,方法是操作的實現(xiàn)。5屬性類名操作類名類名屬性類名操作1、名稱類名采用黑體字書定名稱分欄的中部。給類命名時最好能夠反映類所代表的問題域中的概念,并且要清楚準(zhǔn)確,不能含糊不清;類名通常表示為一個名詞,既不帶前綴,也不帶后綴。類名可分為簡單名稱和路徑名稱。簡單名稱只有類名沒有前綴;路徑名稱
6、中可以包含由類所在的包的名稱表示的前綴。屬性Employe操作屬性Person::Employee操作2、屬性類的屬性,也稱為特性,描述了類在軟件系統(tǒng)中代表的事物(即對象)的特性,這些特性是該類的所有對象所共有的。對象可能有很多屬性,在系統(tǒng)建模時,只抽取那些對系統(tǒng)有用的特性作為類的屬性,通過這些屬性可以識別類的對象。在UML中,描述類屬性的語法格式如下表示:[可見性]屬性名[:類型][=初始值][{屬性字符串}]最常用的可見性類型有3種,分別為:公有(Public)、私有(Private)和被保護(hù)
7、(Protected)類型。3、操作屬性僅僅描述了要處理的數(shù)據(jù),而操作則描述了處理數(shù)據(jù)的具體方法。類的操作是對其所屬對象的行為的抽象,相當(dāng)于一個服務(wù)的實現(xiàn),且該服務(wù)可以由類的任何對象請求以影響其行為。屬性是描述對象特征的值,操作用于操縱屬性或執(zhí)行其他動作。操作可以看作是類的接口,通過該接口可以實現(xiàn)內(nèi)、外信息的交互,操作的具體實現(xiàn)稱為方法。[可見性]操作名[(參數(shù)表)][:返回類型][{屬性字符串}]最常用的可見性類型有3種,分別為:公有(Public)、私有(Private)和被保護(hù)(Protec
8、ted)類型。在為系統(tǒng)建模時,操作名通常使用能夠描述類的行為的動詞或者動詞短語,操作名的第一個字母通常使用小寫形式,當(dāng)操作名包含多個單詞時,要合并起來,從第二個單詞起,所有單詞的首字母都是大寫形式。4、職責(zé)可以在類標(biāo)記中操作分欄的下面另加一個分欄,用于說明類的職責(zé)。所謂職責(zé)是指類或其他元素的契約或者義務(wù)。在創(chuàng)建一個類時,聲明該類的所有對象具有相同的狀態(tài)和相同的行為,這些屬性和操作正是要完成類的職責(zé)。描述類的職責(zé)可以使用一個短語、一個句子或若干句子。5、約束在類的標(biāo)記中說明類的職責(zé)是