計算機軟件及應用第5章類圖及對象圖課件_第1頁
計算機軟件及應用第5章類圖及對象圖課件_第2頁
計算機軟件及應用第5章類圖及對象圖課件_第3頁
計算機軟件及應用第5章類圖及對象圖課件_第4頁
計算機軟件及應用第5章類圖及對象圖課件_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

問題:教學進程1、談談用例圖的作用。2、用例之間存在著(),(),(),()關系??問題:教學進程3、下面幾種用什么符號表示:

用例,關聯(lián),擴展,包含?問題:教學進程4、下面說法錯誤的是:A泛化表示一般和特殊的關系

B用例之間存在泛化關系

C參與者之間存在泛化關系

D參與者和用例之間存在泛化關系?問題:教學進程5、下面說法錯誤的是:A參與者是與所建立系統(tǒng)交互的人或物

B參與者可以是人,也可以是其他系統(tǒng)

C參與者是系統(tǒng)的一部分,是用例圖的重要組成部分

D參與者之間存在泛化關系?類圖及對象圖5.1

類的定義5.2

類的關系5.3

類圖5.4

幾個特殊問題5.5

對象圖5.6

包圖第5章類圖及對象圖5.1.1

類的概念5.1.2

類的屬性5.1.3

類的操作5.1.4

類的類型第5章5.1類的定義5.1.1類的概念

1.類的定義

類(class):

具有相似結(jié)構(gòu)、行為和關系的一組對象。

2.類的表示

類名屬性操作

3.類的其他幾種表示形式

①簡化表示②縮略表示實體類界面類控制類

4.類名

①名詞或名詞短語(動詞或動詞短語表示控制類)②盡可能用明確、簡短,業(yè)務領域中事物的名稱,避免使用抽象、無意義的名詞例如:人,桌子,圖形,匯總③用英文,第1個字母大寫例如:Shape,Person④可分為簡單類名,帶路徑類名例如:

Item

Business::Item例如:帳戶,訂單,事物問題:教學進程1、指出下面命名有問題的的類。?5.1.2類的屬性

1.屬性的含義

屬性(attribute):描述類所表示事物的靜態(tài)性質(zhì)。

2.屬性的格式

[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][=初始值][{特性}]5.1.2類的屬性

1.屬性的含義

屬性(attribute):描述類所表示事物的靜態(tài)性質(zhì)。

2.屬性的格式

第1個英文單詞首字母小寫,其它單詞首字母大寫

contactName

credintLimit

isPrepaid[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][=初始值][{特性}]5.1.2類的屬性

1.屬性的含義

屬性(attribute):描述類所表示事物的靜態(tài)性質(zhì)。

2.屬性的格式

該屬性對外部實體的顯現(xiàn)程度.

可見public:+

受限protected:#

私有private:-[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][=初始值][{特性}]5.1.2類的屬性

1.屬性的含義

屬性(attribute):描述類所表示事物的靜態(tài)性質(zhì)。

2.屬性的格式

屬性的數(shù)據(jù)類型:

字符串:String

日期:Date

布爾:Boolean

整型:Int[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][=初始值][{特性}]5.1.2類的屬性

1.屬性的含義

屬性(attribute):描述類所表示事物的靜態(tài)性質(zhì)。

2.屬性的格式

表示屬性值的取值的多寡,以及有序性:

例如:name:String[0..1]

表示屬性”name”可能無值,也可能僅有一個值.points:Point[2..*ordered]

表示有兩個或多個值,有序[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][=初始值][{特性}]5.1.2類的屬性

1.屬性的含義

屬性(attribute):描述類所表示事物的靜態(tài)性質(zhì)。

2.屬性的格式

表示屬性初始所取的值:

例如:#visibility:Boolean=false

表示屬性”visibility”初始取”false”[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][=初始值][{特性}]5.1.2類的屬性

1.屬性的含義

屬性(attribute):描述類所表示事物的靜態(tài)性質(zhì)。

2.屬性的格式

表示屬性約束說明:

例如:#visibility:Boolean=false{讀寫}

表示屬性”visibility”可讀,寫任何希望添加在屬性定義字符串值但又沒有合適地方可以加入的規(guī)則,都可以放在屬性字符串里。[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][=初始值][{特性}]問題:教學進程1、指出下面屬性名的含義。?+studentName:String=“黎明”#studentBirthDay:Date=1999-10-21-price:float=12.01{R/W}5.1.3類的操作

1.操作的含義

操作(operation):描述類所表示事物的動態(tài)性質(zhì)。

2.操作的格式

[可見性]操作名[(參數(shù)列表):返回類型][{特性}]5.1.3類的操作

1.操作的含義

操作(operation):描述類所表示事物的動態(tài)性質(zhì)。

2.操作的格式

[可見性]操作名[(參數(shù)列表):返回類型][{特性}]第1個英文單詞首字母小寫,其它單詞首字母大寫

close()

creditRecording()5.1.3類的操作

1.操作的含義

操作(operation):描述類所表示事物的動態(tài)性質(zhì)。

2.操作的格式

該操作對外部實體的顯現(xiàn)程度.

可見public:+

受限protected:#

私有private:-[可見性]操作名[(參數(shù)列表):返回類型][{特性}]5.1.3類的操作

1.操作的含義

操作(operation):描述類所表示事物的動態(tài)性質(zhì)。

2.操作的格式

該操作的輸入?yún)?shù),可以為空.

例如:#create()+hide()-ttachXWindow(xwin:Xwindow)[可見性]操作名[(參數(shù)列表):返回類型][{特性}]5.1.3類的操作

1.操作的含義

操作(operation):描述類所表示事物的動態(tài)性質(zhì)。

2.操作的格式

該操作的返回值的類型.

例如:+display():Location[可見性]操作名[(參數(shù)列表):返回類型][{特性}]問題:教學進程1、指出下面操作名的含義。?+setName(String:name)+getName():String+creatbook()5.1.4類的類型

邊界類位于系統(tǒng)與外界的交界處,承擔系統(tǒng)與外界的信息功能.1.邊界類

邊界類處在用例圖中,參與者與用例的關聯(lián)處,可以根據(jù)用例圖發(fā)現(xiàn)邊界類。說明:通過usecase圖可以確定需要的邊界類。每個actor/usecase交互至少要有一個邊界類。但并非每個actor/usecase對要生成唯一邊界類,多個actor啟動同一usecase時,可以用同一個邊界類與系統(tǒng)通信。例如:實體類對應著現(xiàn)實中的客觀實物,用來保存信息,一般對應著數(shù)據(jù)表、文件等。2.實體類

實體類可以從現(xiàn)實中存在的客觀事物,以及需要持久存放的信息兩方面來發(fā)現(xiàn)。說明:通常,每個實體類在數(shù)據(jù)庫中有相應的表,實體類中的屬性對應數(shù)據(jù)庫中表的字段。實體類可以通過事件流和交互圖發(fā)現(xiàn)。實體類通常用領域術語命名??刂祁惓袚聞仗幚?,控制調(diào)控的控制作用。3.控制類

一個用例中最少會有一個控制類,用來控制用例中的事件順序,也可以在多個用例之間協(xié)調(diào)用例之間的聯(lián)系。一個例子:訂貨系統(tǒng)類圖及對象圖5.2.1

關聯(lián)5.2.2

聚集和組合5.2.3

泛化5.2.4

依賴第5章5.2類之間的關系5.2.1關聯(lián)

1.關聯(lián)的定義

●關聯(lián)的通俗含義表示事物之間的一種牽連式的固有聯(lián)系。例如:關聯(lián)5.2.1關聯(lián)

1.關聯(lián)的定義●關聯(lián)的本質(zhì)含義關聯(lián)(association):表示兩個類之間存在某種語義上的聯(lián)系,它是一種結(jié)構(gòu)關系,規(guī)定了一種事物的對象可以和另一種事物的對象相聯(lián)系。關聯(lián)可以分為單向關聯(lián),雙向關聯(lián)。

單向關聯(lián)雙向關聯(lián)例:單向關聯(lián)所生成的Java代碼:(可以選擇是否生成類的缺省構(gòu)造方法)publicclassB{

/***@roseuid3DAFBF0F01A2*/publicB(){

}}publicclassA{publicBtheB;

/***@roseuid3DAFBF0F01FC*/publicA(){

}}

2.關聯(lián)的特性

①關聯(lián)名關聯(lián)名★如果關聯(lián)關系已經(jīng)清楚,就無需關聯(lián)名

2.關聯(lián)的特性

②關聯(lián)的角色★如果關聯(lián)名與角色名相同,則不標出角色名關聯(lián)的角色

2.關聯(lián)的特性

③關聯(lián)的多重性0..1:0或10..n,0..*:0或多11..n:1到多*:0到多關聯(lián)的角色關聯(lián)的多重性

2.關聯(lián)的特性

④關聯(lián)類通過關聯(lián)類描述關聯(lián)的屬性,操作,及其它信息。關聯(lián)類

2.關聯(lián)的特性

⑤關聯(lián)的約束通過約束加強關聯(lián)的含義。例如,“帳戶”不能同時與“人”和“公司”有關聯(lián)。約束

2.關聯(lián)的特性

⑥限定關聯(lián)通過限定符來規(guī)定關聯(lián)的限定關系。例如,“文件目錄”通過“文件名”來與具體的文件對象進行關聯(lián)?!般y行”通過“帳戶”與具體的“人”對象進行關聯(lián)。限定關聯(lián)

3.關聯(lián)的種類

①一元(自返)關聯(lián)②二元關聯(lián)

3.關聯(lián)的種類

③多元關聯(lián)三元關聯(lián)

4.對關聯(lián)須注意的一個問題

關聯(lián)一定指的是類中對象與類中的對象之間的連接對應關系。類圖對象圖問題:教學進程

“教師”和“學生”兩個類之間存在授課關系,一個教師可以教授多個學生,一個學生可以由多個教師授課,標出這兩個類的關系。?問題:教學進程采購員從供貨商處訂貨,雙方需要簽訂訂單,一個采購員可以訂多個供貨商的貨品,一個供貨商也可以給多個采購員供貨。要求:

1.提取這個問題涉及的類;2.定義各個類之間的關系,并畫出類圖。?1.提取本問題的類?類是否提取完全了,還有沒有隱藏的沒有提取的類?1.提取本問題的類2.確定類之間的關系①2.確定類之間的關系②?貨品是由供應商提供,但訂單所訂的貨品怎么樣反映出來?2.確定類之間的關系②5.2.2聚集和組合

1.聚集

聚集(aggregation):表示類之間一種松散的整體與部分的組成關系,是一種特殊的關聯(lián)。表示例子5.2.2聚集和組合

2.組合

組合(composition):表示類之間一種緊密的整體與部分的組成關系,也是一種特殊的關聯(lián)。表示例子5.2.2聚集和組合

3.聚集與組合的區(qū)別

①聚集松散,組合緊密;

●5.2.2聚集和組合

3.聚集與組合的區(qū)別

①聚集松散,組合緊密;②一個部分事物對象可以屬于多個聚集對象,但一個部分事物對象僅能屬于一個組合對象;

●5.2.2聚集和組合

3.聚集與組合的區(qū)別

①聚集松散,組合緊密;②一個部分事物對象可以屬于多個聚集對象,但一個部分事物對象僅能屬于一個組合對象;③聚集的對象生命周期可以不同,但組合對象則是同存同亡?!駟栴}:教學進程舉出一個具有聚合關系的類圖的例子。?5.2.3泛化

1.泛化的含義

泛化(generalization):表示事物之間的一般與特殊的關系。也可以稱為繼承關系。泛化關系除了表示類與類之間的關系之外,還可以表示參與者、用例、包、構(gòu)件、接口等建模元素之間的關系。

5.2.3泛化

2.泛化的表示例子表示例子:5.2.4依賴

1.依賴的含義

依賴(dependency):表示兩個元素X、Y,如果X的變化必然導致Y的變化,則稱Y依賴X。依賴關系不僅限于類,用例、包、構(gòu)件之間都可以存在依賴關系。

5.2.4依賴

2.依賴的表示例子表示在類中,依賴由各種原因引起,如:一個類向另一個類發(fā)消息;一個類是另一個類的數(shù)據(jù)成員類型;一個類是另一個類的某個操作參數(shù)類型。問題:教學進程

下面幾個模型圖中,()能夠正確地表示出“一個雇員只有一個經(jīng)理,經(jīng)理可以管理多個雇員,也可以不管理一個雇員”這樣的意思。?問題:教學進程下面對類之間關系的描述,()是正確的。

A聚集關系中的部分只屬于一個整體;

B組合關系中的部分可能屬于整體;

C關聯(lián)是表示對象之間的關系;

D泛化是表示對象之間的關系。?類圖及對象圖5.3.1

類圖的概念5.3.2

類圖的抽象層次5.3.3

建立類圖第5章5.3類圖5.3.1類圖的概念

類圖(ClassDiagram):是由類,相關建模元素,及其關系構(gòu)成的圖,用來描述類之間的靜態(tài)關系。類圖在系統(tǒng)中處在核心位置。也是UML中最為重要的一種圖。5.3.2類圖的抽象層次在系統(tǒng)的不同開發(fā)階段,類圖可以具有不同的抽象程度。隨著開發(fā)的深入,類圖應該越來越詳細、具體??梢苑譃椋焊拍顚樱壿媽樱瑢崿F(xiàn)層。概念層邏輯層實現(xiàn)層概念層(Conceptual)類圖描述應用領域中的概念,一般地,這些概念和類有很自然的聯(lián)系,但兩者并沒有直接的映射關系。說明層(Specification)類圖描述軟件的接口部分,而不是軟件的實現(xiàn)部分。實現(xiàn)層(Implementation)類圖才真正考慮類的實現(xiàn)問題,揭示實現(xiàn)細節(jié)。不要過早陷入實現(xiàn)細節(jié),根據(jù)項目開發(fā)的不同階段,采用不同層次的類圖。如果處于分析階段,應畫概念層類圖;當開始著手軟件設計時,應畫說明層類圖;當考察某個特定的實現(xiàn)技術時,則應畫實現(xiàn)層類圖。

建立類圖的一般步驟:①研究分析問題領域,確定系統(tǒng)需求;

●5.3.3建立類圖用戶訪問領域知識現(xiàn)實世界經(jīng)驗建立域模型問題描繪書

建立類圖的一般步驟:

①研究分析問題領域,確定系統(tǒng)需求;②確定類,明確類的含義和職責,確定類的屬性和操作;

●5.3.3建立類圖

建立類圖的一般步驟:

①研究分析問題領域,確定系統(tǒng)需求;②確定類,明確類的含義和職責,確定類的屬性和操作;③確定類之間的關系。關聯(lián),泛化,聚集,組合,依賴;

●5.3.3建立類圖如何發(fā)現(xiàn)類和它們之間的關系名詞-動詞分析法找出以上來源中的名詞或名詞短語,作為候選類對候選類進行篩選,去掉冗余的、和系統(tǒng)無關的、以及非獨立的類以動詞為線索確定類之間的關系

建立類圖的一般步驟:

①研究分析問題領域,確定系統(tǒng)需求;②確定類,明確類的含義和職責,確定類的屬性和操作;③確定類之間的關系。關聯(lián),泛化,聚集,組合,依賴;④調(diào)整和細化類及其關系,解決重復和沖突;

●5.3.3建立類圖

建立類圖的一般步驟:

①研究分析問題領域,確定系統(tǒng)需求;②確定類,明確類的含義和職責,確定類的屬性和操作;③確定類之間的關系。關聯(lián),泛化,聚集,組合,依賴;④調(diào)整和細化類及其關系,解決重復和沖突;⑤繪制類圖,并增加相應說明?!?.3.3建立類圖類圖及對象圖5.4.1

對象類和抽象類5.4.2

派生屬性和派生關聯(lián)5.4.3

接口第5章5.4

幾個特殊問題

①對象類

可以實例化為對象的類。我們前面所提的例子都屬于對象類。

②抽象類不能直接產(chǎn)生實例的類。抽象類的類名一般被寫成為斜體。5.4.1

對象類和抽象類

派生屬性和派生關聯(lián)的概念

可以從其它屬性或關聯(lián)計算推演得到的屬性和關聯(lián)。在派生的名字前面加/,以示區(qū)別。派生容易產(chǎn)生不一致,應注意。5.4.2

派生屬性和派生關聯(lián)派生關聯(lián)派生屬性5.4.3接口(Interface)接口是一組用于描述類或構(gòu)件的一個服務的操作。在圖形上,把接口畫為一個圓;其擴展形式是接口表示為一個構(gòu)造型化類。接口接口是版型化的類,版型為<<interface>>的類,如下圖所示:Label形式Decoration形式Icon形式5.5

對象圖

1、對象圖的概念:

對象圖表示一組對象及其它們之間的聯(lián)系。對象是系統(tǒng)的詳細狀態(tài)在某一時刻的快照,通常用來表示復雜類圖的一個實例。

2、說明:①對象圖并不在任何時間必須;②Rose2003不支持對象圖。例:表示網(wǎng)絡間節(jié)點關系的類圖及其一個對象圖的例子。類圖對象圖Rose中對象圖的表示:類圖對象圖類圖和對象圖的區(qū)別

類圖對象圖類具有三個分欄:名稱、屬性和操作對象只有兩個分欄:名稱和屬性在類的名稱分欄中只有類名對象的名稱形式為“對象名:類名類中列出了操作對象圖中不包含操作,因為對于屬于同一個類的對象而言,其操作是相同的類使用關聯(lián)連接,關聯(lián)使用名稱、角色、多重性以及約束等特征定義。類代表的是對對象的分類,所以必須說明可以參與關聯(lián)的對象的數(shù)目對象使用鏈連接,鏈擁有名稱、角色,但是沒有多重性。對象代表的是單獨的實體,所有的鏈都是一對一的,因此不涉及到多重性類的屬性分欄定義了所有屬性的特征對象則只定義了屬性的當前值,以用于測試用例或例子中注意點:教學進程1、類圖是用來描述系統(tǒng)資源和要素相互之間的靜態(tài)結(jié)構(gòu)關系。

區(qū)分類圖和用例圖之間的區(qū)別注意點:教學進程2、類圖可以用于業(yè)務模型,需求模型,邏輯模型和設計模型中。

業(yè)務模型:對業(yè)務資源的關系建模需求模型:系統(tǒng)要素關系建模邏輯模型:系統(tǒng)要素關系建模設計模型:系統(tǒng)要素關系建模注意點:教學進程3、類的類型可以具有三種類型:

界面類:表示外界與系統(tǒng)的交互接口實體類:表示實體型事物控制類:表示控制和協(xié)調(diào)作用的要素注意點:教學進程4、類的關系具有四種:

關聯(lián):表示類中對象之間的鏈接關系組成:表示事物之間的整體和部分關系,(聚合,組合)泛化:表示事物的一般和特殊關系依賴:事物之間的因果關系注意點:教學進程5、類圖的抽象層次:

概念層邏輯層實現(xiàn)層注意點:教學進程6、類可以優(yōu)化,一個復雜類可以分解為多個簡單類。

例如:教學進程注意點:教學進程7、描繪類圖時,應根據(jù)所要表現(xiàn)的應用需要來提取要素,繪制類圖。

例如:教學進程描述公司與個人雇傭關系的類圖。

方法1:方法2:問題為:教學進程提取企業(yè)與個人雇傭關系的類圖。

一個企業(yè)可以雇傭多個人員。企業(yè)的屬性包括名稱、住址、電話、簡況。人員的情況包括姓名、年齡、性別、住址、電話、簡歷等。雇傭的信息包括雇傭的開始日期、截止日期,簡要說明等。雙方要簽訂雇傭合同。雇傭還涉及到人員所從事的工作崗位。方法3:教學進程練習1:教學進程繪制圖書館圖書借閱管理的類圖。

對于圖書館里的每一種圖書,計算機管理目錄中包括:書名、作者、ISBN號、出版社、單價。每一種

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論