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