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