資源描述:
《《類圖對(duì)象圖和包圖》PPT課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、面向?qū)ο蠼<夹g(shù)軟件工程系林琳2第3章類圖、對(duì)象圖和包圖類圖和對(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)。3本章學(xué)習(xí)要點(diǎn):理解類圖的基本概念為系統(tǒng)建模類建模類之間的關(guān)聯(lián)關(guān)系理解并建模泛化關(guān)系了解依賴關(guān)系和實(shí)現(xiàn)關(guān)系了解對(duì)象圖和包圖的概念構(gòu)造類圖43.1類圖構(gòu)建面向?qū)ο竽P偷幕A(chǔ)是類、對(duì)象以及它們之間的關(guān)系。在不同的系統(tǒng)中描述的類可以是各種各樣的。在面向?qū)ο蟮奶幚碇?,類圖處于核心地位,它
2、提供了用于定義和使用對(duì)象的主要規(guī)則,同時(shí),類圖是正向工程(將模型轉(zhuǎn)化為代碼)的主要資源,是逆向工程(將代碼轉(zhuǎn)化為模型)的生成物。類圖是任何面向?qū)ο笙到y(tǒng)的核心。53.1.1概述類圖是描述類、接口以及它們之間關(guān)系的圖,它顯示了系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu)??梢杂媚撤N面向?qū)ο蟮恼Z(yǔ)言實(shí)現(xiàn)類圖中的類。建模對(duì)象對(duì)系統(tǒng)的詞匯建模對(duì)協(xié)作建模對(duì)數(shù)據(jù)庫(kù)模式建模類圖的元素:類(Class)接口(Interface)協(xié)作(Collaboration)依賴關(guān)系(Dependency)泛化關(guān)系(Generalization)關(guān)聯(lián)關(guān)系(Association)實(shí)現(xiàn)關(guān)系(Realization)3.1.1概述一個(gè)例子3.1.2
3、類及類的表示類是對(duì)資源的定義,它所包含的信息主要用來(lái)描述某種類型實(shí)體的特征以及對(duì)該類型實(shí)體的使用方法。對(duì)象是具體的實(shí)體,它遵守類制定的規(guī)則。類定義了一組具有狀態(tài)和行為的對(duì)象,這些對(duì)象具有相同的屬性、操作、關(guān)系和語(yǔ)義。類包括名稱部分(Name)、屬性部分(Attribute)和操作部分(Operation),名稱必須有,屬性和操作部分可以省略。8名稱屬性操作名稱名稱屬性名稱操作1名稱2屬性3操作4職責(zé)5約束6注釋3.1.2類及類的表示1名稱應(yīng)該來(lái)自系統(tǒng)的問(wèn)題域。應(yīng)該是一個(gè)名詞,且不應(yīng)該有前綴或后綴。分為簡(jiǎn)單名稱和路徑名稱。2屬性描述了類在軟件系統(tǒng)中代表的事物(即對(duì)象)所具備的特性。類可以有任
4、意數(shù)目的屬性,也可以沒(méi)有屬性。在UML中,類屬性的語(yǔ)法為:2屬性1.可見(jiàn)性2.屬性名3.類型4.初始值5.屬性字符串(1)可見(jiàn)性類型:公有(Public)“+”私有(Private)“-”被保護(hù)(Protected)“?!盪ML中沒(méi)有默認(rèn)可見(jiàn)性類型(2)屬性名每個(gè)屬性都必須有一個(gè)名字以區(qū)別于類中的其他屬性。屬性名由描述所屬類的特性的名詞或名詞短語(yǔ)組成。單字屬性名小寫(xiě),如果屬性名包含了多個(gè)單詞,這些單詞要合并,且除了第一個(gè)單詞外其余單詞的首字母要大寫(xiě)。(3)類型應(yīng)為屬性指定所屬的數(shù)據(jù)類型整型布爾型實(shí)型枚舉類型系統(tǒng)中的其他類用戶自定義的數(shù)據(jù)類型(4)初始值目的:保護(hù)系統(tǒng)的完整性,防止漏掉取值或
5、被非法的值破壞系統(tǒng)的完整性。為用戶提供易用性。(5)屬性字符串指定關(guān)于屬性的其他信息。任何希望添加在屬性定義字符串值但又沒(méi)有合適地方可以加入的規(guī)則,都可以放在屬性字符串里。特殊類型的屬性類的作用域?qū)傩裕簩傩韵录酉聞澗€對(duì)象屬性:用數(shù)組表示3操作對(duì)類的對(duì)象所能做的事務(wù)的抽象。一個(gè)類可以有任意數(shù)量的操作或者根本沒(méi)有操作。由返回值類型、名稱和參數(shù)表描述。在UML中,類操作的語(yǔ)法為:3操作(1)可見(jiàn)性(2)操作名(3)參數(shù)表(4)返回類型(1)可見(jiàn)性類型:公有(Public)“+”私有(Private)“-”受保護(hù)(Protected)“?!卑鼉?nèi)公有(Package)“~”(2)操作名用來(lái)描述所屬類
6、的行為的動(dòng)詞或動(dòng)詞短語(yǔ)。單字操作名小寫(xiě),如果操作名包含了多個(gè)單詞,這些單詞要合并,并且除了第一個(gè)單詞外其余單詞的首字母要大寫(xiě)。(3)參數(shù)表一些按順序排列的屬性定義了操作的輸入。是可選的,即操作不一定必須有參數(shù)才行。定義方式:“名稱:類型”。若存在多個(gè)參數(shù),將各個(gè)參數(shù)用逗號(hào)隔開(kāi)。參數(shù)可以具有默認(rèn)值。(4)返回類型是可選的,即操作不一定必須有返回類型。絕大部分編程語(yǔ)言只支持一個(gè)返回值。具體的編程語(yǔ)言一般要加一個(gè)關(guān)鍵字void來(lái)表示無(wú)返回值。4職責(zé)類或其他元素的契約或義務(wù)。自由形式的文本。非形式化的方法。5約束指定了類所要滿足的一個(gè)或多個(gè)規(guī)則。形式化的方法。6注釋注釋可以包含圖形也可以包含文本。
7、3.1.3定義類實(shí)體抽象成類將系統(tǒng)要處理的數(shù)據(jù)抽象為類的屬性處理數(shù)據(jù)的方法抽象成類的操作要對(duì)問(wèn)題域有透徹的理解依據(jù):需求規(guī)格說(shuō)明書(shū)類之間的關(guān)系關(guān)聯(lián)關(guān)系(Association)泛化關(guān)系(Generalization)依賴關(guān)系(Dependency)實(shí)現(xiàn)關(guān)系(Realization)對(duì)象之間的通信手段,包括:二元關(guān)聯(lián)關(guān)聯(lián)類或關(guān)聯(lián)與反身關(guān)聯(lián)聚合(Aggregation)組成(Composition)3.2關(guān)聯(lián)關(guān)系3.2.1二