




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、江蘇大學(xué)計(jì)算機(jī)工程系 面向?qū)ο蠹夹g(shù) 第第3講講 類(lèi)與對(duì)象關(guān)系建模類(lèi)與對(duì)象關(guān)系建模 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 內(nèi)容提要 概念數(shù)據(jù)建模概述概念數(shù)據(jù)建模概述 類(lèi)圖與對(duì)象圖類(lèi)圖與對(duì)象圖 類(lèi)的確定類(lèi)的確定 類(lèi)間關(guān)系確定類(lèi)間關(guān)系確定 建模方法與實(shí)例建模方法與實(shí)例 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 在完成用例建模之后,便可以進(jìn)行其他系在完成用例建模之后,便可以進(jìn)行其他系 統(tǒng)分析活動(dòng),而概念數(shù)據(jù)建模是最重要的統(tǒng)分析活動(dòng),而概念數(shù)據(jù)建模是最重要的 分析活動(dòng)之一。分析活動(dòng)之一。 概念數(shù)據(jù)建模是對(duì)組織數(shù)據(jù)的描繪,它以概念數(shù)據(jù)建模是對(duì)組織數(shù)據(jù)的描繪,它以 一種獨(dú)立于實(shí)現(xiàn)的方式說(shuō)明了數(shù)據(jù)的
2、結(jié)構(gòu)一種獨(dú)立于實(shí)現(xiàn)的方式說(shuō)明了數(shù)據(jù)的結(jié)構(gòu) 和數(shù)據(jù)之間的相互關(guān)系,為后續(xù)的分析設(shè)和數(shù)據(jù)之間的相互關(guān)系,為后續(xù)的分析設(shè) 計(jì)提供了基礎(chǔ)。計(jì)提供了基礎(chǔ)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 概念數(shù)據(jù)建模的過(guò)程概念數(shù)據(jù)建模的過(guò)程 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 概念數(shù)據(jù)建模在系統(tǒng)分析中的作用概念數(shù)據(jù)建模在系統(tǒng)分析中的作用 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 如何進(jìn)行概念數(shù)據(jù)建模?如何進(jìn)行概念數(shù)據(jù)建模? n必須包括以數(shù)據(jù)為中心的問(wèn)題和調(diào)查,而不是必須包括以數(shù)據(jù)為中心的問(wèn)題和調(diào)查,而不是 以過(guò)程、邏輯或用戶界面為中心,從對(duì)業(yè)務(wù)性以過(guò)程、邏輯或用戶界面
3、為中心,從對(duì)業(yè)務(wù)性 質(zhì)的透徹理解導(dǎo)出數(shù)據(jù)模型,也可以通過(guò)審查質(zhì)的透徹理解導(dǎo)出數(shù)據(jù)模型,也可以通過(guò)審查 系統(tǒng)內(nèi)部處理的特定業(yè)務(wù)文檔系統(tǒng)內(nèi)部處理的特定業(yè)務(wù)文檔計(jì)算機(jī)顯示、計(jì)算機(jī)顯示、 報(bào)表和業(yè)務(wù)表單來(lái)收集。報(bào)表和業(yè)務(wù)表單來(lái)收集。 n開(kāi)發(fā)準(zhǔn)確而完整的數(shù)據(jù)模型要考慮的問(wèn)題開(kāi)發(fā)準(zhǔn)確而完整的數(shù)據(jù)模型要考慮的問(wèn)題 w類(lèi):業(yè)務(wù)的主題類(lèi):業(yè)務(wù)的主題/客體是什么?什么類(lèi)型的人、地客體是什么?什么類(lèi)型的人、地 點(diǎn)、事物和材料被用于這個(gè)業(yè)務(wù)或者和這個(gè)業(yè)務(wù)交點(diǎn)、事物和材料被用于這個(gè)業(yè)務(wù)或者和這個(gè)業(yè)務(wù)交 互?每個(gè)對(duì)象可能存在多少實(shí)例?互?每個(gè)對(duì)象可能存在多少實(shí)例? 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 如
4、何進(jìn)行概念數(shù)據(jù)建模?如何進(jìn)行概念數(shù)據(jù)建模? n開(kāi)發(fā)準(zhǔn)確而完整的數(shù)據(jù)模型要考慮的問(wèn)題(續(xù))開(kāi)發(fā)準(zhǔn)確而完整的數(shù)據(jù)模型要考慮的問(wèn)題(續(xù)) w屬性:需要維護(hù)關(guān)于對(duì)象的什么數(shù)據(jù)?什么特征描述各個(gè)對(duì)屬性:需要維護(hù)關(guān)于對(duì)象的什么數(shù)據(jù)?什么特征描述各個(gè)對(duì) 象?對(duì)象在什么基礎(chǔ)上被引用、選擇、限定、整理和分類(lèi)?象?對(duì)象在什么基礎(chǔ)上被引用、選擇、限定、整理和分類(lèi)? 對(duì)象的一個(gè)特性能有多少個(gè)值?對(duì)給定的一個(gè)對(duì)象,特性是對(duì)象的一個(gè)特性能有多少個(gè)值?對(duì)給定的一個(gè)對(duì)象,特性是 必須的還是可選的?必須的還是可選的? w標(biāo)識(shí)符:什么獨(dú)有特性區(qū)分相同類(lèi)型的各個(gè)對(duì)象?這個(gè)區(qū)別標(biāo)識(shí)符:什么獨(dú)有特性區(qū)分相同類(lèi)型的各個(gè)對(duì)象?這個(gè)區(qū)別 特
5、性是隨著時(shí)間變化還是持久的?即使在我們知道一個(gè)對(duì)象特性是隨著時(shí)間變化還是持久的?即使在我們知道一個(gè)對(duì)象 存在的時(shí)候,該對(duì)象的這個(gè)特性可以缺少嗎?對(duì)象可以通過(guò)存在的時(shí)候,該對(duì)象的這個(gè)特性可以缺少嗎?對(duì)象可以通過(guò) 一個(gè)數(shù)字序列標(biāo)識(shí)嗎?一個(gè)數(shù)字序列標(biāo)識(shí)嗎? w關(guān)聯(lián)、聚合和組合:對(duì)象之間存在什么關(guān)系?一個(gè)關(guān)系是部關(guān)聯(lián)、聚合和組合:對(duì)象之間存在什么關(guān)系?一個(gè)關(guān)系是部 分整體的那種嗎?如果是,一個(gè)對(duì)象可以在沒(méi)有另一個(gè)時(shí)存分整體的那種嗎?如果是,一個(gè)對(duì)象可以在沒(méi)有另一個(gè)時(shí)存 在嗎?一個(gè)關(guān)系中涉及了多個(gè)對(duì)象嗎?關(guān)系是同類(lèi)對(duì)象之間在嗎?一個(gè)關(guān)系中涉及了多個(gè)對(duì)象嗎?關(guān)系是同類(lèi)對(duì)象之間 的嗎?參與一個(gè)關(guān)系的對(duì)象的基
6、數(shù)是什么?的嗎?參與一個(gè)關(guān)系的對(duì)象的基數(shù)是什么? 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 如何進(jìn)行概念數(shù)據(jù)建模?如何進(jìn)行概念數(shù)據(jù)建模? n開(kāi)發(fā)準(zhǔn)確而完整的數(shù)據(jù)模型要考慮的問(wèn)題(續(xù))開(kāi)發(fā)準(zhǔn)確而完整的數(shù)據(jù)模型要考慮的問(wèn)題(續(xù)) w泛化:一個(gè)對(duì)象是泛化:一個(gè)對(duì)象是“一種一種”或另一個(gè)對(duì)象的或另一個(gè)對(duì)象的“一種一種” 嗎?對(duì)象形成一個(gè)比較一般到比較特殊的層次嗎?嗎?對(duì)象形成一個(gè)比較一般到比較特殊的層次嗎? 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件設(shè)計(jì) n加熱器,開(kāi)關(guān)加熱器,開(kāi)關(guān) n保溫盤(pán),開(kāi)關(guān)保溫盤(pán),開(kāi)關(guān) n保溫盤(pán)傳感器保溫盤(pán)傳感器
7、n加熱傳感器加熱傳感器 n沖煮按鈕沖煮按鈕 n減壓閥門(mén)減壓閥門(mén) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件設(shè)計(jì) n基本接口基本接口 namespace CoffeeMaker public enum WarmerPlateStatus /保溫盤(pán) WARMER_EMPTY,POT_EMPTY,POT_NOT_EMPTY public enum BoilerStatus /加熱器 EMPTY,NOT_EMPTY public enum BrewButtonStatus /沖煮按鈕 PUSHED,NOT_PUSHED public enum War
8、merState /保溫 ON,OFF public enum IndicatorState /指示燈 ON,OFF public enum ReliefValveState /減壓閥 OPEN,CLOSED 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件設(shè)計(jì) n基本接口基本接口 namespace CoffeeMaker public interface CoffeeMakerAPI WarmerPlateStatus GetWarmerPlateStatus(); BoilerStatus GetBoilerStatus(); BrewBut
9、tonStatus GetBrewButtonStatus(); void SetBoilerState(BoilerState s); void SetWarmerState(WarmerState s); void SetIndicatorState(IndicatorState s); void SetReliefValvelState(ReliefValvelState s); 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件設(shè)計(jì) n類(lèi)設(shè)計(jì)類(lèi)設(shè)計(jì) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件
10、設(shè)計(jì) n存在問(wèn)題存在問(wèn)題 w如何實(shí)現(xiàn)這些類(lèi),只是一個(gè)函數(shù)調(diào)用的轉(zhuǎn)換器,水蒸氣類(lèi)如何實(shí)現(xiàn)這些類(lèi),只是一個(gè)函數(shù)調(diào)用的轉(zhuǎn)換器,水蒸氣類(lèi) public class Light public void On() CoffeeMaker.api.SetIndicatorState(IndicatorState.ON); public void Off() CoffeeMaker.api.SetIndicatorState(IndicatorState.OFF); 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件設(shè)計(jì) n存在問(wèn)題存在問(wèn)題 w虛構(gòu)的抽象虛構(gòu)的抽象
11、public interface Heater void TurnOn(); void TurnOff(); public interface Sensor int Sensor(); 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件設(shè)計(jì) n如何改進(jìn)如何改進(jìn):根據(jù)功能抽象根據(jù)功能抽象 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 概念數(shù)據(jù)建模概述 Mark咖啡機(jī)控制軟件設(shè)計(jì)咖啡機(jī)控制軟件設(shè)計(jì) n如何改進(jìn)如何改進(jìn):追加用戶界面追加用戶界面 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)圖的概念 對(duì)象是指與應(yīng)用問(wèn)題有一定關(guān)聯(lián)的某個(gè)事對(duì)象是指與應(yīng)用問(wèn)題有一定關(guān)聯(lián)的某個(gè)事
12、物,或者說(shuō)是對(duì)某個(gè)事物的抽象描述。物,或者說(shuō)是對(duì)某個(gè)事物的抽象描述。 類(lèi)是對(duì)一類(lèi)具有相同特性的對(duì)象的描述類(lèi)是對(duì)一類(lèi)具有相同特性的對(duì)象的描述, 或者說(shuō)是類(lèi)屬事物或系統(tǒng)的表示形式。類(lèi)或者說(shuō)是類(lèi)屬事物或系統(tǒng)的表示形式。類(lèi) 可以具有狀態(tài)(通過(guò)使用自己的特性數(shù)據(jù)可以具有狀態(tài)(通過(guò)使用自己的特性數(shù)據(jù) 來(lái)描述),并且可以提供功能(通過(guò)使用來(lái)描述),并且可以提供功能(通過(guò)使用 其操作或方法來(lái)表示)其操作或方法來(lái)表示) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)圖的概念 類(lèi)圖描述類(lèi)、接口、協(xié)作及它們之間關(guān)系類(lèi)圖描述類(lèi)、接口、協(xié)作及它們之間關(guān)系 的圖。的圖。 類(lèi)圖顯示系統(tǒng)中各個(gè)類(lèi)的靜態(tài)結(jié)構(gòu)。類(lèi)圖顯示系統(tǒng)中各個(gè)類(lèi)的靜態(tài)
13、結(jié)構(gòu)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)圖的概念 類(lèi)圖中的圖示元素:類(lèi)圖中的圖示元素: n類(lèi)(類(lèi)(Class) n接口(接口(Interface) n協(xié)作(協(xié)作(Collaboration) n依賴(lài)關(guān)系(依賴(lài)關(guān)系(Dependency) n泛化關(guān)系(泛化關(guān)系(Generalization) n關(guān)聯(lián)關(guān)系(關(guān)聯(lián)關(guān)系(Association) n實(shí)現(xiàn)關(guān)系(實(shí)現(xiàn)關(guān)系(Realization) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。 對(duì)一組具有相同屬性、操作、關(guān)系和語(yǔ)義對(duì)一組具有相同屬性、操作、關(guān)系和語(yǔ)義 的對(duì)象的抽象。的對(duì)象的抽象。 包括
14、名稱(chēng)部分、屬性部分和操作部分。包括名稱(chēng)部分、屬性部分和操作部分。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) Dialer類(lèi)類(lèi) Public class Dialer private string digits; private int nDigits; public void Digit(int n); protected bool RecordDigit(int n); 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 類(lèi)的名稱(chēng)類(lèi)的名稱(chēng) n應(yīng)該來(lái)自系統(tǒng)的問(wèn)題域。應(yīng)該來(lái)自系統(tǒng)的問(wèn)題域。 n應(yīng)該是一個(gè)名詞,且不應(yīng)該有前綴或后綴。應(yīng)該是一個(gè)名詞,且不應(yīng)該有前綴或后綴。 n分為簡(jiǎn)單名稱(chēng)和路徑名稱(chēng)。分為簡(jiǎn)單名稱(chēng)和
15、路徑名稱(chēng)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 屬性屬性 n描述了類(lèi)在軟件系統(tǒng)中代表的事物(即對(duì)象)描述了類(lèi)在軟件系統(tǒng)中代表的事物(即對(duì)象) 所具備的特性。所具備的特性。 n類(lèi)可以有任意數(shù)目的屬性,也可以沒(méi)有屬性。類(lèi)可以有任意數(shù)目的屬性,也可以沒(méi)有屬性。 n在在UML中,類(lèi)屬性的語(yǔ)法為:中,類(lèi)屬性的語(yǔ)法為: 可見(jiàn)性可見(jiàn)性 屬性名屬性名 :類(lèi)型類(lèi)型 =初始值初始值 屬屬 性字符串性字符串 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 屬性屬性 n可見(jiàn)性可見(jiàn)性 w公有(公有(Public) “” w私有(私有(Private)“” w受保護(hù)(受保護(hù)(Protected)“” 面面 向向 對(duì)對(duì) 象象
16、技技 術(shù)術(shù) 類(lèi) 屬性屬性 n屬性名屬性名 w每個(gè)屬性都必須有一個(gè)名字以區(qū)別于類(lèi)中的其他屬每個(gè)屬性都必須有一個(gè)名字以區(qū)別于類(lèi)中的其他屬 性。性。 w屬性名由描述所屬類(lèi)的特性的名詞或名詞短語(yǔ)組成。屬性名由描述所屬類(lèi)的特性的名詞或名詞短語(yǔ)組成。 w單字屬性名小寫(xiě),如果屬性名包含了多個(gè)單詞,這單字屬性名小寫(xiě),如果屬性名包含了多個(gè)單詞,這 些單詞要合并,且除了第一個(gè)單詞外其余單詞的首些單詞要合并,且除了第一個(gè)單詞外其余單詞的首 字母要大寫(xiě)。字母要大寫(xiě)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 屬性屬性 n類(lèi)型類(lèi)型 w簡(jiǎn)單類(lèi)型:簡(jiǎn)單類(lèi)型: n整型整型 n布爾型布爾型 n實(shí)型實(shí)型 n枚舉類(lèi)型枚舉類(lèi)型 w系統(tǒng)
17、中的其他類(lèi)系統(tǒng)中的其他類(lèi) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 屬性屬性 n初始值初始值 w目的:目的: n保護(hù)系統(tǒng)的完整性,防止漏掉取值或被非法的值破壞系統(tǒng)保護(hù)系統(tǒng)的完整性,防止漏掉取值或被非法的值破壞系統(tǒng) 的完整性。的完整性。 n為用戶提供易用性。為用戶提供易用性。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 屬性屬性 n屬性字符串屬性字符串 w指定關(guān)于屬性的其他信息,往往是約束條件。指定關(guān)于屬性的其他信息,往往是約束條件。 w任何希望添加在屬性定義字符串值但又沒(méi)有合適地任何希望添加在屬性定義字符串值但又沒(méi)有合適地 方可以加入的規(guī)則,都可以放在屬性字符串里。方可以加入的規(guī)則,都可以放在屬性字
18、符串里。 n實(shí)例實(shí)例 Name:string readonly 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 操作操作 n對(duì)類(lèi)的對(duì)象所能做的事務(wù)的抽象。對(duì)類(lèi)的對(duì)象所能做的事務(wù)的抽象。 n一個(gè)類(lèi)可以有任意數(shù)量的操作或者根本沒(méi)有操一個(gè)類(lèi)可以有任意數(shù)量的操作或者根本沒(méi)有操 作。作。 n返回類(lèi)型、名稱(chēng)和參數(shù)一起被稱(chēng)為操作簽名。返回類(lèi)型、名稱(chēng)和參數(shù)一起被稱(chēng)為操作簽名。 n在在UML中,類(lèi)操作的語(yǔ)法為:中,類(lèi)操作的語(yǔ)法為: 可見(jiàn)性可見(jiàn)性 操作名操作名 (參數(shù)表參數(shù)表) :返回類(lèi)型返回類(lèi)型 屬性字符串屬性字符串 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 操作操作 n可見(jiàn)性可見(jiàn)性 w公有(公有(Public) “”
19、w私有(私有(Private) “” w受保護(hù)(受保護(hù)(Protected) “” w包內(nèi)公有(包內(nèi)公有(Package) “” 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 操作操作 n操作名操作名 w用來(lái)描述所屬類(lèi)的行為的動(dòng)詞或動(dòng)詞短語(yǔ)。用來(lái)描述所屬類(lèi)的行為的動(dòng)詞或動(dòng)詞短語(yǔ)。 w單字操作名小寫(xiě),如果操作名包含了多個(gè)單詞,這單字操作名小寫(xiě),如果操作名包含了多個(gè)單詞,這 些單詞要合并,并且除了第一個(gè)單詞外其余單詞的些單詞要合并,并且除了第一個(gè)單詞外其余單詞的 首字母要大寫(xiě)。首字母要大寫(xiě)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 操作操作 n參數(shù)表參數(shù)表 w一些按順序排列的屬性定義了操作的輸入。一些按
20、順序排列的屬性定義了操作的輸入。 w是可選的,即操作不一定必須有參數(shù)才行。是可選的,即操作不一定必須有參數(shù)才行。 w定義方式:定義方式:“方向方向 名稱(chēng):類(lèi)型默認(rèn)值名稱(chēng):類(lèi)型默認(rèn)值”。 w若存在多個(gè)參數(shù),將各個(gè)參數(shù)用逗號(hào)隔開(kāi)。若存在多個(gè)參數(shù),將各個(gè)參數(shù)用逗號(hào)隔開(kāi)。 w參數(shù)可以具有默認(rèn)值。參數(shù)可以具有默認(rèn)值。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 操作操作 n返回類(lèi)型返回類(lèi)型 w是可選的,即操作不一定必須有返回類(lèi)型。是可選的,即操作不一定必須有返回類(lèi)型。 w絕大部分編程語(yǔ)言只支持一個(gè)返回值。絕大部分編程語(yǔ)言只支持一個(gè)返回值。 w具體的編程語(yǔ)言一般要加一個(gè)關(guān)鍵字具體的編程語(yǔ)言一般要加一個(gè)關(guān)鍵字v
21、oid來(lái)表示無(wú)來(lái)表示無(wú) 返回值。返回值。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 操作操作 n屬性字符串屬性字符串 w在操作的定義中加入一些除了預(yù)定義元素之外的信在操作的定義中加入一些除了預(yù)定義元素之外的信 息。息。 w往往也是定義約束往往也是定義約束 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 職責(zé)職責(zé) n類(lèi)或其他元素的契約或義務(wù)。類(lèi)或其他元素的契約或義務(wù)。 n以自由形式的文本形式存在,即非形式化的方以自由形式的文本形式存在,即非形式化的方 法來(lái)描述。法來(lái)描述。 職責(zé)內(nèi)容職責(zé)內(nèi)容 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 約束約束 n指定了類(lèi)所要滿足的一個(gè)或多個(gè)規(guī)則。指定了類(lèi)所要滿足的一個(gè)或多個(gè)規(guī)
22、則。 n形式化的方法。形式化的方法。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 注釋注釋 n注釋可以包含圖形也可以包含文本。注釋可以包含圖形也可以包含文本。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 范例范例 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 接口與抽象類(lèi) 接口接口 n在沒(méi)有給出對(duì)象的實(shí)現(xiàn)和狀態(tài)的情況下對(duì)對(duì)象在沒(méi)有給出對(duì)象的實(shí)現(xiàn)和狀態(tài)的情況下對(duì)對(duì)象 行為的描述。行為的描述。 n包含操作但不包含屬性包含操作但不包含屬性。 n一個(gè)類(lèi)可以實(shí)現(xiàn)一個(gè)或多個(gè)接口一個(gè)類(lèi)可以實(shí)現(xiàn)一個(gè)或多個(gè)接口。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 接口與抽象類(lèi) 接口類(lèi):接口類(lèi): 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 接口與抽象類(lèi)
23、 抽象類(lèi)抽象類(lèi) n是一種不能夠被直接實(shí)例化的類(lèi),也就是說(shuō)不能夠創(chuàng)是一種不能夠被直接實(shí)例化的類(lèi),也就是說(shuō)不能夠創(chuàng) 建一個(gè)屬于抽象類(lèi)的對(duì)象建一個(gè)屬于抽象類(lèi)的對(duì)象 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 接口與抽象類(lèi) 抽象類(lèi)抽象類(lèi) n實(shí)例實(shí)例 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 依賴(lài)關(guān)系依賴(lài)關(guān)系 泛化關(guān)系泛化關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 實(shí)現(xiàn)關(guān)系實(shí)現(xiàn)關(guān)系 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 依賴(lài)關(guān)系依賴(lài)關(guān)系 n表示兩個(gè)或多個(gè)模型元素之間語(yǔ)義上的關(guān)系。表示兩個(gè)或多個(gè)模型元素之間語(yǔ)義上的關(guān)系。 n客戶以某種形式依賴(lài)于提供者??蛻粢阅撤N形式依賴(lài)于提供者。 n關(guān)聯(lián)、實(shí)現(xiàn)和泛化都是依賴(lài)關(guān)系。
24、關(guān)聯(lián)、實(shí)現(xiàn)和泛化都是依賴(lài)關(guān)系。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 依賴(lài)關(guān)系依賴(lài)關(guān)系 n如果兩個(gè)類(lèi)的對(duì)象之間存在著下面的情形,且兩個(gè)類(lèi)如果兩個(gè)類(lèi)的對(duì)象之間存在著下面的情形,且兩個(gè)類(lèi) 之間不存在結(jié)構(gòu)方面的聯(lián)系(例如:供應(yīng)類(lèi)以成員變之間不存在結(jié)構(gòu)方面的聯(lián)系(例如:供應(yīng)類(lèi)以成員變 量的形式作為客戶類(lèi)的一部分),就可以建模成為具量的形式作為客戶類(lèi)的一部分),就可以建模成為具 有依賴(lài)關(guān)系,這些情形是:有依賴(lài)關(guān)系,這些情形是: (1)客戶類(lèi)訪問(wèn)定義在供應(yīng)類(lèi)內(nèi)部的值)客戶類(lèi)訪問(wèn)定義在供應(yīng)類(lèi)內(nèi)部的值(常量或常量或 變量變量)。 (2)客戶類(lèi)的操作啟動(dòng)了定義在供應(yīng)類(lèi)內(nèi)的操作。)客戶類(lèi)的操作啟動(dòng)了定
25、義在供應(yīng)類(lèi)內(nèi)的操作。 (3)客戶類(lèi)的返回類(lèi)或參數(shù)是供應(yīng)類(lèi)的實(shí)例。)客戶類(lèi)的返回類(lèi)或參數(shù)是供應(yīng)類(lèi)的實(shí)例。 n序列圖中的兩個(gè)對(duì)象,如果存在著消息的發(fā)送。且它序列圖中的兩個(gè)對(duì)象,如果存在著消息的發(fā)送。且它 們之間又沒(méi)有結(jié)構(gòu)方面的連接,就可以在類(lèi)圖上用依們之間又沒(méi)有結(jié)構(gòu)方面的連接,就可以在類(lèi)圖上用依 賴(lài)關(guān)系對(duì)它們建模。賴(lài)關(guān)系對(duì)它們建模。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 泛化關(guān)系泛化關(guān)系 n存在于一般元素和特殊元素間的分類(lèi)關(guān)系。存在于一般元素和特殊元素間的分類(lèi)關(guān)系。 n可以用于類(lèi)、用例以及其他模型元素??梢杂糜陬?lèi)、用例以及其他模型元素。 n描述了一種描述了一種“is a kind of
26、” 的關(guān)系。的關(guān)系。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 泛化關(guān)系泛化關(guān)系 n范例范例 public class Employee public class SalariedEmployee: Employee 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 泛化關(guān)系泛化關(guān)系 n泛化主要用途:泛化主要用途: w多態(tài)多態(tài) :后代的實(shí)例可以用于任何祖先被聲明使用的:后代的實(shí)例可以用于任何祖先被聲明使用的 地方,從而使多態(tài)操作成為可能,即操作的實(shí)現(xiàn)方地方,從而使多態(tài)操作成為可能,即操作的實(shí)現(xiàn)方 法由實(shí)際對(duì)象的類(lèi)來(lái)確定法由實(shí)際對(duì)象的類(lèi)來(lái)確定 w繼承繼承 :共享祖先描述,并允許對(duì)元素進(jìn)行
27、增量描述:共享祖先描述,并允許對(duì)元素進(jìn)行增量描述 n單繼承單繼承 n多重繼承多重繼承 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 泛化關(guān)系泛化關(guān)系 n泛化主要用途:泛化主要用途: 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 泛化關(guān)系泛化關(guān)系 n泛化主要用途:泛化主要用途: 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 泛化關(guān)系泛化關(guān)系 n泛化主要用途:泛化主要用途: 基類(lèi) Shape origin move() resize() display() Rectangle corner : Point Circle radius : Float Polygon points : L
28、ist display() Square 泛化關(guān)系 葉子類(lèi) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n一種結(jié)構(gòu)關(guān)系。一種結(jié)構(gòu)關(guān)系。 n指明事物的對(duì)象之間的聯(lián)系。指明事物的對(duì)象之間的聯(lián)系。 n最普通的關(guān)聯(lián)是二元關(guān)聯(lián)。最普通的關(guān)聯(lián)是二元關(guān)聯(lián)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n范例范例 public class phone private Button itsButtons15 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n關(guān)聯(lián)關(guān)系并不是僅僅一個(gè)抽象的概念,它在實(shí)關(guān)聯(lián)關(guān)系并不是僅僅一個(gè)抽象的概念,它在實(shí) 現(xiàn)為程
29、序設(shè)計(jì)語(yǔ)言源代碼時(shí),會(huì)有對(duì)應(yīng)的映射?,F(xiàn)為程序設(shè)計(jì)語(yǔ)言源代碼時(shí),會(huì)有對(duì)應(yīng)的映射。 n通常,當(dāng)把兩個(gè)有關(guān)聯(lián)關(guān)系的類(lèi)映射為特定的通常,當(dāng)把兩個(gè)有關(guān)聯(lián)關(guān)系的類(lèi)映射為特定的 程序設(shè)計(jì)語(yǔ)言代碼時(shí),每一個(gè)類(lèi)都會(huì)被定義為程序設(shè)計(jì)語(yǔ)言代碼時(shí),每一個(gè)類(lèi)都會(huì)被定義為 一個(gè)可以引用對(duì)方的類(lèi)的對(duì)象的成員變量,這一個(gè)可以引用對(duì)方的類(lèi)的對(duì)象的成員變量,這 個(gè)成員變量視對(duì)關(guān)聯(lián)關(guān)系的修飾的不同,可能個(gè)成員變量視對(duì)關(guān)聯(lián)關(guān)系的修飾的不同,可能 會(huì)采取不同的形式,如:它可以指向?qū)Ψ降念?lèi)會(huì)采取不同的形式,如:它可以指向?qū)Ψ降念?lèi) 的指針,也可能是對(duì)方類(lèi)的對(duì)象。的指針,也可能是對(duì)方類(lèi)的對(duì)象。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)
30、系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n名稱(chēng)(名稱(chēng)(Name) n角色(角色(Role) n多重性(多重性(Multiplicity) n聚合關(guān)系(聚合關(guān)系(Aggregation) n組合關(guān)系(組合關(guān)系(Composition) n導(dǎo)航性(導(dǎo)航性(Navigation) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n名稱(chēng)(名稱(chēng)(Name) w使用一個(gè)動(dòng)詞或動(dòng)詞短語(yǔ)來(lái)命名關(guān)聯(lián)。使用一個(gè)動(dòng)詞或動(dòng)詞短語(yǔ)來(lái)命名關(guān)聯(lián)。 w清晰而簡(jiǎn)潔地說(shuō)明對(duì)象間關(guān)系。清晰而簡(jiǎn)潔地說(shuō)明對(duì)象間關(guān)系。 w關(guān)聯(lián)的名稱(chēng)并不是必需的。關(guān)聯(lián)的名稱(chēng)并不是必需的
31、。 w可以前綴或后綴一個(gè)指引閱讀方向的方向指示符,可以前綴或后綴一個(gè)指引閱讀方向的方向指示符, 以消除歧義。以消除歧義。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n角色(角色(Role) w關(guān)聯(lián)關(guān)系中一個(gè)類(lèi)對(duì)另一個(gè)類(lèi)所表現(xiàn)出來(lái)的職責(zé)。關(guān)聯(lián)關(guān)系中一個(gè)類(lèi)對(duì)另一個(gè)類(lèi)所表現(xiàn)出來(lái)的職責(zé)。 w角色的名稱(chēng)應(yīng)該是名詞或名詞短語(yǔ),以解釋對(duì)象是角色的名稱(chēng)應(yīng)該是名詞或名詞短語(yǔ),以解釋對(duì)象是 如何參與關(guān)系的。如何參與關(guān)系的。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n多重性(多重性(Multiplicity) w指有多少對(duì)象可以參與該關(guān)聯(lián)。指有多少對(duì)象可以參與該
32、關(guān)聯(lián)。 w可以表達(dá)一個(gè)取值范圍、特定值、無(wú)限定的范圍或可以表達(dá)一個(gè)取值范圍、特定值、無(wú)限定的范圍或 一組離散值。一組離散值。 w格式:格式:“minimum.maximum” (均為(均為Int型)。型)。 w賦給一個(gè)端點(diǎn)的多重性表示該端點(diǎn)可以有多少個(gè)對(duì)賦給一個(gè)端點(diǎn)的多重性表示該端點(diǎn)可以有多少個(gè)對(duì) 象與另一個(gè)端點(diǎn)的一個(gè)對(duì)象關(guān)聯(lián)。象與另一個(gè)端點(diǎn)的一個(gè)對(duì)象關(guān)聯(lián)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n聚合關(guān)系(聚合關(guān)系(Aggregation) w一種特殊類(lèi)型的關(guān)聯(lián)。一種特殊類(lèi)型的關(guān)聯(lián)。 w表示整體與部分關(guān)系的關(guān)聯(lián)。表示整體與部分關(guān)系的關(guān)聯(lián)。 w描述了描述了“has
33、 a”的關(guān)系。的關(guān)系。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n組合關(guān)系(組合關(guān)系(Composition) w聚合關(guān)系中的一種特殊情況,是更強(qiáng)形式的聚合,聚合關(guān)系中的一種特殊情況,是更強(qiáng)形式的聚合, 又稱(chēng)強(qiáng)聚合。又稱(chēng)強(qiáng)聚合。 w成員對(duì)象的生命周期取決于聚合的生命周期。成員對(duì)象的生命周期取決于聚合的生命周期。 w聚合不僅控制著成員對(duì)象的行為,而且控制著成員聚合不僅控制著成員對(duì)象的行為,而且控制著成員 對(duì)象的創(chuàng)建和解構(gòu)。對(duì)象的創(chuàng)建和解構(gòu)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n導(dǎo)航性(導(dǎo)航性(Navigation) w描述一個(gè)對(duì)象通過(guò)
34、鏈進(jìn)行導(dǎo)航訪問(wèn)另一個(gè)對(duì)象。描述一個(gè)對(duì)象通過(guò)鏈進(jìn)行導(dǎo)航訪問(wèn)另一個(gè)對(duì)象。 w使用導(dǎo)航性可以降低類(lèi)間的耦合度。使用導(dǎo)航性可以降低類(lèi)間的耦合度。 w包括:?jiǎn)蜗蜿P(guān)聯(lián)和雙向關(guān)聯(lián)。包括:?jiǎn)蜗蜿P(guān)聯(lián)和雙向關(guān)聯(lián)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 inventory partproduct 0.* 11 0.* flywheel cog afterburner sticker manufacture repair assembler repairman FCC inventoryclerk 2.*1 1.3 1
35、maintained by built by repaired by 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n關(guān)聯(lián)類(lèi)關(guān)聯(lián)類(lèi):在有些問(wèn)題中,關(guān)聯(lián)關(guān)系不僅需要一個(gè)在有些問(wèn)題中,關(guān)聯(lián)關(guān)系不僅需要一個(gè) 名稱(chēng)、需要定義相關(guān)對(duì)象的角色及其參與這些名稱(chēng)、需要定義相關(guān)對(duì)象的角色及其參與這些 角色的對(duì)象數(shù)量(多重性),而且還需要設(shè)置角色的對(duì)象數(shù)量(多重性),而且還需要設(shè)置 一些屬性、操作以及其它特性,此時(shí)一般需要一些屬性、操作以及其它特性,此時(shí)一般需要 引入關(guān)聯(lián)類(lèi)。引入關(guān)聯(lián)類(lèi)。 人公司 雇用 Period:dataRange * 0.1 雇主 關(guān)聯(lián)類(lèi) 面面 向向 對(duì)對(duì) 象象 技技
36、術(shù)術(shù) 類(lèi)之間的關(guān)系 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 n關(guān)聯(lián)類(lèi)關(guān)聯(lián)類(lèi) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)之間的關(guān)系 實(shí)現(xiàn)關(guān)系實(shí)現(xiàn)關(guān)系 n規(guī)格說(shuō)明和其實(shí)現(xiàn)之間的關(guān)系。規(guī)格說(shuō)明和其實(shí)現(xiàn)之間的關(guān)系。 n客戶必須至少支持提供者的所有操作??蛻舯仨氈辽僦С痔峁┱叩乃胁僮?。 n泛化和實(shí)現(xiàn)都可以將一般描述與具體描述聯(lián)系泛化和實(shí)現(xiàn)都可以將一般描述與具體描述聯(lián)系 起來(lái):起來(lái): w泛化將同一語(yǔ)義層上的元素連接起來(lái),并且通常在泛化將同一語(yǔ)義層上的元素連接起來(lái),并且通常在 同一模型內(nèi)。同一模型內(nèi)。 w實(shí)現(xiàn)將不同語(yǔ)義層內(nèi)的元素連接起來(lái),并且通常建實(shí)現(xiàn)將不同語(yǔ)義層內(nèi)的元素連接起來(lái),并且通常建 立在不同的模型內(nèi)。立在不同的模型內(nèi)。
37、面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 類(lèi)圖實(shí)例類(lèi)圖實(shí)例 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 類(lèi)圖說(shuō)明類(lèi)圖說(shuō)明 n標(biāo)識(shí)符:是一個(gè)屬性或?qū)傩越M合,它被選擇用標(biāo)識(shí)符:是一個(gè)屬性或?qū)傩越M合,它被選擇用 作一個(gè)類(lèi)的唯一特征。作一個(gè)類(lèi)的唯一特征。 n多值屬性:可以具有多于一個(gè)的值,在概念設(shè)多值屬性:可以具有多于一個(gè)的值,在概念設(shè) 計(jì)期間處理多值屬性有兩種方法:多值構(gòu)造型;計(jì)期間處理多值屬性有兩種方法:多值構(gòu)造型; 為多值屬性創(chuàng)建一個(gè)類(lèi);為多值屬性創(chuàng)建一個(gè)類(lèi); n組合屬性:具有多個(gè)子屬性的屬性,例如地址組合屬性:具有多個(gè)子屬性的屬性,例如地址 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi) 類(lèi)圖說(shuō)明類(lèi)圖說(shuō)明
38、面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 如何發(fā)現(xiàn)類(lèi)如何發(fā)現(xiàn)類(lèi) n類(lèi)的種類(lèi):類(lèi)的種類(lèi): w實(shí)體類(lèi)實(shí)體類(lèi) w邊界類(lèi)邊界類(lèi) w控制類(lèi)控制類(lèi) n實(shí)體類(lèi):實(shí)體類(lèi)的判別特征是它的對(duì)象持有應(yīng)實(shí)體類(lèi):實(shí)體類(lèi)的判別特征是它的對(duì)象持有應(yīng) 用的大部分?jǐn)?shù)據(jù),一般實(shí)體類(lèi)的對(duì)象是持久的,用的大部分?jǐn)?shù)據(jù),一般實(shí)體類(lèi)的對(duì)象是持久的, 也就是說(shuō)它們的存在超過(guò)一個(gè)會(huì)話的生命期,也就是說(shuō)它們的存在超過(guò)一個(gè)會(huì)話的生命期, 或者有時(shí)存在于系統(tǒng)的整個(gè)生命期間。或者有時(shí)存在于系統(tǒng)的整個(gè)生命期間。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 如何發(fā)現(xiàn)類(lèi)如何發(fā)現(xiàn)類(lèi) n邊界類(lèi):參與者用邊界類(lèi)的對(duì)象與系統(tǒng)交互,邊界類(lèi):參與者用邊界類(lèi)的對(duì)象與系
39、統(tǒng)交互, 例如表單、對(duì)話框、菜單和其他交互屏幕等,例如表單、對(duì)話框、菜單和其他交互屏幕等, 邊界類(lèi)還可以用于建立與另一個(gè)系統(tǒng)的通信,邊界類(lèi)還可以用于建立與另一個(gè)系統(tǒng)的通信, 例如遺留系統(tǒng)。因此邊界類(lèi)將系統(tǒng)與系統(tǒng)外部例如遺留系統(tǒng)。因此邊界類(lèi)將系統(tǒng)與系統(tǒng)外部 的變化隔離開(kāi)。的變化隔離開(kāi)。 n控制類(lèi):協(xié)調(diào)任務(wù)并捕捉用例中的主要應(yīng)用邏控制類(lèi):協(xié)調(diào)任務(wù)并捕捉用例中的主要應(yīng)用邏 輯。輯。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 如何發(fā)現(xiàn)類(lèi)如何發(fā)現(xiàn)類(lèi) n通過(guò)事件流尋找類(lèi)(名詞動(dòng)詞分析法)通過(guò)事件流尋找類(lèi)(名詞動(dòng)詞分析法) w分析事件流中的名詞,將性質(zhì)相同的歸為一類(lèi);分析事件流中的名詞,將性質(zhì)相同的歸為一
40、類(lèi); w去除不恰當(dāng)?shù)幕蚝?,去除?yīng)歸為屬性的項(xiàng)目。去除不恰當(dāng)?shù)幕蚝?,去除?yīng)歸為屬性的項(xiàng)目。 w命名所獲取的類(lèi)。命名所獲取的類(lèi)。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 如何發(fā)現(xiàn)類(lèi)如何發(fā)現(xiàn)類(lèi) n如何確定屬性如何確定屬性 w注意需求中的名詞;注意需求中的名詞; w注意用例模型或需求文檔中的名詞,數(shù)據(jù)表。注意用例模型或需求文檔中的名詞,數(shù)據(jù)表。 n如何確定方法如何確定方法 w實(shí)現(xiàn):實(shí)現(xiàn)業(yè)務(wù)功能,通過(guò)事件流中的動(dòng)詞分析進(jìn)實(shí)現(xiàn):實(shí)現(xiàn)業(yè)務(wù)功能,通過(guò)事件流中的動(dòng)詞分析進(jìn) 行捕捉;行捕捉; w管理:管理對(duì)象的創(chuàng)建或構(gòu)造;管理:管理對(duì)象的創(chuàng)建或構(gòu)造; w訪問(wèn):查詢(xún)或修改每個(gè)類(lèi)的屬性;訪問(wèn):查詢(xún)或修改每
41、個(gè)類(lèi)的屬性; w幫助:說(shuō)明類(lèi)完成任務(wù)所需要的操作。幫助:說(shuō)明類(lèi)完成任務(wù)所需要的操作。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 需求描述需求描述 n小王是一個(gè)愛(ài)書(shū)之人,家里各類(lèi)書(shū)籍已過(guò)千冊(cè),小王是一個(gè)愛(ài)書(shū)之人,家里各類(lèi)書(shū)籍已過(guò)千冊(cè), 而平時(shí)又時(shí)常有朋友外借,因此需要一個(gè)個(gè)人而平時(shí)又時(shí)常有朋友外借,因此需要一個(gè)個(gè)人 圖書(shū)管理系統(tǒng)。該系統(tǒng)應(yīng)該能夠?qū)?shū)籍的基本圖書(shū)管理系統(tǒng)。該系統(tǒng)應(yīng)該能夠?qū)?shū)籍的基本 信息按計(jì)算機(jī)類(lèi)、非計(jì)算機(jī)類(lèi)分別建檔,實(shí)現(xiàn)信息按計(jì)算機(jī)類(lèi)、非計(jì)算機(jī)類(lèi)分別建檔,實(shí)現(xiàn) 按書(shū)名、作者、類(lèi)別、出版社等關(guān)鍵字的組合按書(shū)名、作者、類(lèi)別、出版社等關(guān)鍵字的組合 查詢(xún)功能。在使用該系統(tǒng)錄入新書(shū)籍時(shí)系
42、統(tǒng)會(huì)查詢(xún)功能。在使用該系統(tǒng)錄入新書(shū)籍時(shí)系統(tǒng)會(huì) 自動(dòng)按規(guī)則生成書(shū)號(hào),可以修改信息,但一經(jīng)自動(dòng)按規(guī)則生成書(shū)號(hào),可以修改信息,但一經(jīng) 創(chuàng)建就不允許刪除。該系統(tǒng)還應(yīng)該能夠?qū)?shū)籍創(chuàng)建就不允許刪除。該系統(tǒng)還應(yīng)該能夠?qū)?shū)籍 的外借情況進(jìn)行記錄,可對(duì)外借情況列表打印。的外借情況進(jìn)行記錄,可對(duì)外借情況列表打印。 另外,還希望能夠?qū)?shū)籍的購(gòu)買(mǎi)金額、冊(cè)數(shù)按另外,還希望能夠?qū)?shū)籍的購(gòu)買(mǎi)金額、冊(cè)數(shù)按 特定時(shí)間周期進(jìn)行統(tǒng)計(jì)特定時(shí)間周期進(jìn)行統(tǒng)計(jì) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 發(fā)現(xiàn)類(lèi)發(fā)現(xiàn)類(lèi) 小王小王是一個(gè)愛(ài)書(shū)之是一個(gè)愛(ài)書(shū)之人人,家里家里各類(lèi)各類(lèi)書(shū)籍書(shū)籍已過(guò)千冊(cè),而平已過(guò)千冊(cè),而平 時(shí)又時(shí)常有時(shí)又時(shí)常有朋友朋友外
43、借,因此需要一個(gè)外借,因此需要一個(gè)個(gè)人圖書(shū)管理系個(gè)人圖書(shū)管理系 統(tǒng)統(tǒng)。該系統(tǒng)應(yīng)該能夠?qū)?shū)籍的。該系統(tǒng)應(yīng)該能夠?qū)?shū)籍的基本信息基本信息按按計(jì)算機(jī)類(lèi)計(jì)算機(jī)類(lèi)、 非計(jì)算機(jī)類(lèi)非計(jì)算機(jī)類(lèi)分別建檔,實(shí)現(xiàn)按分別建檔,實(shí)現(xiàn)按書(shū)名書(shū)名、作者作者、類(lèi)別類(lèi)別、出出 版社版社等等關(guān)鍵字關(guān)鍵字的組合查詢(xún)的組合查詢(xún)功能功能。在使用該系統(tǒng)錄入。在使用該系統(tǒng)錄入新新 書(shū)籍書(shū)籍時(shí)時(shí)系統(tǒng)系統(tǒng)會(huì)自動(dòng)按會(huì)自動(dòng)按規(guī)則規(guī)則生成生成書(shū)號(hào)書(shū)號(hào),可以修改,可以修改信息信息, 但一經(jīng)創(chuàng)建就不允許刪除。該系統(tǒng)還應(yīng)該能夠?qū)?shū)籍但一經(jīng)創(chuàng)建就不允許刪除。該系統(tǒng)還應(yīng)該能夠?qū)?shū)籍 的外借情況進(jìn)行的外借情況進(jìn)行記錄記錄,可對(duì),可對(duì)外借情況列表外借情況列表打印
44、。另外,打印。另外, 還希望能夠?qū)?shū)籍的還希望能夠?qū)?shū)籍的購(gòu)買(mǎi)金額購(gòu)買(mǎi)金額、冊(cè)數(shù)冊(cè)數(shù)按按特定時(shí)間周期特定時(shí)間周期 進(jìn)行統(tǒng)計(jì)進(jìn)行統(tǒng)計(jì) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 篩選備選類(lèi)篩選備選類(lèi) n“小王小王”、“人人”、“家里家里”很明顯是系統(tǒng)外的概念,無(wú)須對(duì)其很明顯是系統(tǒng)外的概念,無(wú)須對(duì)其 建模;建模; n而而“個(gè)人圖書(shū)管理系統(tǒng)個(gè)人圖書(shū)管理系統(tǒng)”、“系統(tǒng)系統(tǒng)”指的就是將要開(kāi)發(fā)的系統(tǒng),指的就是將要開(kāi)發(fā)的系統(tǒng), 即系統(tǒng)本身,也無(wú)須對(duì)其進(jìn)行建模;即系統(tǒng)本身,也無(wú)須對(duì)其進(jìn)行建模; n很明顯很明顯“書(shū)籍書(shū)籍”是一個(gè)很重要的類(lèi),而是一個(gè)很重要的類(lèi),而“書(shū)名書(shū)名”、“作者作者”、 “類(lèi)別類(lèi)別”、“出版
45、社出版社”、“書(shū)號(hào)書(shū)號(hào)”則都是用來(lái)描述書(shū)籍的基本信則都是用來(lái)描述書(shū)籍的基本信 息的,因此應(yīng)該作為息的,因此應(yīng)該作為“書(shū)籍書(shū)籍”類(lèi)的屬性處理,而類(lèi)的屬性處理,而“規(guī)則規(guī)則”是指書(shū)是指書(shū) 號(hào)的生成規(guī)則,而書(shū)號(hào)則是書(shū)籍的一個(gè)屬性,因此號(hào)的生成規(guī)則,而書(shū)號(hào)則是書(shū)籍的一個(gè)屬性,因此“規(guī)則規(guī)則”可以可以 作為編寫(xiě)作為編寫(xiě)“書(shū)籍書(shū)籍”類(lèi)構(gòu)造函數(shù)的指南。類(lèi)構(gòu)造函數(shù)的指南。 n“基本信息基本信息”則是書(shū)名、作者、類(lèi)別等描述書(shū)籍的基本信息統(tǒng)稱(chēng),則是書(shū)名、作者、類(lèi)別等描述書(shū)籍的基本信息統(tǒng)稱(chēng), “關(guān)鍵字關(guān)鍵字”則是代表其中之一,因此無(wú)需對(duì)其建模;則是代表其中之一,因此無(wú)需對(duì)其建模; n“功能功能”、“新書(shū)籍新書(shū)籍”、
46、“信息信息”、“記錄記錄”都是在描述需求時(shí)都是在描述需求時(shí) 使用到的一些相關(guān)詞語(yǔ),并不是問(wèn)題域的本質(zhì),因此先可以將其使用到的一些相關(guān)詞語(yǔ),并不是問(wèn)題域的本質(zhì),因此先可以將其 淘汰掉;淘汰掉; 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 篩選備選類(lèi)篩選備選類(lèi) n“計(jì)算機(jī)類(lèi)計(jì)算機(jī)類(lèi)”、“非計(jì)算機(jī)類(lèi)非計(jì)算機(jī)類(lèi)”是該系統(tǒng)中圖書(shū)的兩大分類(lèi),因是該系統(tǒng)中圖書(shū)的兩大分類(lèi),因 此應(yīng)該對(duì)其建模,并改名為此應(yīng)該對(duì)其建模,并改名為“計(jì)算機(jī)類(lèi)書(shū)籍計(jì)算機(jī)類(lèi)書(shū)籍”和和“非計(jì)算機(jī)類(lèi)書(shū)非計(jì)算機(jī)類(lèi)書(shū) 籍籍”,以減少歧義;,以減少歧義; n“外借情況外借情況”則是用來(lái)表示一次借閱行為,應(yīng)該成為一個(gè)候選類(lèi),則是用來(lái)表示一次借閱行為
47、,應(yīng)該成為一個(gè)候選類(lèi), 多個(gè)外借情況將組成多個(gè)外借情況將組成“外借情況列表外借情況列表”,而外借情況中一個(gè)很重,而外借情況中一個(gè)很重 要的角色是要的角色是“朋友朋友”借閱主體。雖然到本系統(tǒng)中并不需要建立借閱主體。雖然到本系統(tǒng)中并不需要建立 “朋友朋友”的資料庫(kù),但考慮到可能會(huì)需要列出某個(gè)朋友的借閱情的資料庫(kù),但考慮到可能會(huì)需要列出某個(gè)朋友的借閱情 況,因此還是將其列為候選類(lèi)。為了能夠更好地表述,將況,因此還是將其列為候選類(lèi)。為了能夠更好地表述,將“外借外借 情況情況”改名為改名為“借閱記錄借閱記錄”,而將,而將“外借情況列表外借情況列表”改名為改名為“借借 閱記錄列表閱記錄列表”; n“購(gòu)買(mǎi)金
48、額購(gòu)買(mǎi)金額”、“冊(cè)數(shù)冊(cè)數(shù)”都是統(tǒng)計(jì)的結(jié)果,都是一個(gè)數(shù)字,因此都是統(tǒng)計(jì)的結(jié)果,都是一個(gè)數(shù)字,因此 不用將其建模,而不用將其建模,而“特定時(shí)限特定時(shí)限”則是統(tǒng)計(jì)的范圍,也無(wú)需將其建則是統(tǒng)計(jì)的范圍,也無(wú)需將其建 模;不過(guò)從這里的分析中,我們可以發(fā)現(xiàn),在該需求描述中隱藏模;不過(guò)從這里的分析中,我們可以發(fā)現(xiàn),在該需求描述中隱藏 著一個(gè)關(guān)鍵類(lèi)著一個(gè)關(guān)鍵類(lèi)書(shū)籍列表,也就是執(zhí)行統(tǒng)計(jì)的主體。書(shū)籍列表,也就是執(zhí)行統(tǒng)計(jì)的主體。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 分析類(lèi) 得到候選類(lèi)得到候選類(lèi) n在使用在使用“名詞動(dòng)詞法名詞動(dòng)詞法”尋找類(lèi)的時(shí)候,很多團(tuán)尋找類(lèi)的時(shí)候,很多團(tuán) 隊(duì)會(huì)在此耗費(fèi)大量的時(shí)間,特別是對(duì)于中大型隊(duì)會(huì)
49、在此耗費(fèi)大量的時(shí)間,特別是對(duì)于中大型 項(xiàng)目,這樣很容易迷失方向。其實(shí)在此主要的項(xiàng)目,這樣很容易迷失方向。其實(shí)在此主要的 目的是對(duì)問(wèn)題領(lǐng)域建立概要的了解,無(wú)需太過(guò)目的是對(duì)問(wèn)題領(lǐng)域建立概要的了解,無(wú)需太過(guò) 咬文嚼字咬文嚼字 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 1. 單一職責(zé)原則單一職責(zé)原則 (SRP) 含義:就一個(gè)類(lèi)而言,應(yīng)該僅有一個(gè)引起它變化的原因。含義:就一個(gè)類(lèi)而言,應(yīng)該僅有一個(gè)引起它變化的原因。 范例說(shuō)明:范例說(shuō)明: 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 1. 單一職責(zé)原則單一職責(zé)原則 (SRP) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法
50、1. 單一職責(zé)原則單一職責(zé)原則 (SRP) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 1. 單一職責(zé)原則單一職責(zé)原則 (SRP)總結(jié)總結(jié) SRP是所有原則中最簡(jiǎn)單的原則之一;是所有原則中最簡(jiǎn)單的原則之一; 也是最難正確應(yīng)用的原則之一。也是最難正確應(yīng)用的原則之一。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 2. 開(kāi)放開(kāi)放封閉原則封閉原則 (OCP) 含義:軟件實(shí)體應(yīng)該是可以擴(kuò)展的,但是不可修改的;對(duì)于含義:軟件實(shí)體應(yīng)該是可以擴(kuò)展的,但是不可修改的;對(duì)于 擴(kuò)展是開(kāi)放的,對(duì)于修改是封閉的。擴(kuò)展是開(kāi)放的,對(duì)于修改是封閉的。 范例說(shuō)明:范例說(shuō)明: 面面 向向 對(duì)對(duì) 象象 技技
51、 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 2. 開(kāi)放開(kāi)放封閉原則封閉原則 (OCP) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 3. Liskov替換原則替換原則 (LSP) 含義:子類(lèi)型必須能夠替換掉它們的基類(lèi)型。含義:子類(lèi)型必須能夠替換掉它們的基類(lèi)型。 替換性質(zhì)替換性質(zhì):若對(duì)于每個(gè)類(lèi)型:若對(duì)于每個(gè)類(lèi)型S S的對(duì)象的對(duì)象O1O1,都存在一個(gè)類(lèi)型,都存在一個(gè)類(lèi)型 T T的對(duì)象的對(duì)象O2O2,使得在所有針對(duì),使得在所有針對(duì)T T編寫(xiě)的程序編寫(xiě)的程序P P中,用中,用O2O2替換替換O1O1 后,程序后,程序P P行為功能不變,則行為功能不變,則S S是是T T的子類(lèi)型。的子類(lèi)型。 面面 向向 對(duì)
52、對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 3. Liskov替換原則替換原則 (LSP) 范例范例1:不滿足:不滿足LSP Struct Pointdouble x,y; public enum ShapeType square,circle; public class Shape private ShapeType type; public Shape(ShapeType t)tpye = t; public static void DrawShape(Shape s) if (s.type = ShapeType.square) (s as Square).Draw(); else if
53、(s.type = ShapeType.circle) (s as Circle).Draw(); 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 3. Liskov替換原則替換原則 (LSP) public class Circle:Shape private Point center; private double radius; public Circle():base(ShapeType.circle) public void Draw() /*Draw the circle*/ public class Square:Shape private Point topleft;
54、private double side; public Square():base(ShapeType.square) public void Draw() /*Draw the square*/ 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 3. Liskov替換原則替換原則 (LSP) 范例范例2:不滿足:不滿足LSP 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 3. Liskov替換原則替換原則 (LSP) 總結(jié)總結(jié) OCP是面向?qū)ο笤O(shè)計(jì)的核心原則是面向?qū)ο笤O(shè)計(jì)的核心原則 LSP是使是使OCP成為可能的主要原則之一成為可能的主要原則之一 面面 向向 對(duì)對(duì) 象象 技技
55、 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 4. 依賴(lài)倒置原則依賴(lài)倒置原則 (DIP) 含義:高層模塊不應(yīng)依賴(lài)于低層模塊,二者都應(yīng)該依賴(lài)于抽含義:高層模塊不應(yīng)依賴(lài)于低層模塊,二者都應(yīng)該依賴(lài)于抽 象;抽象不應(yīng)該依賴(lài)于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴(lài)于抽象。象;抽象不應(yīng)該依賴(lài)于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴(lài)于抽象。 范例說(shuō)明:范例說(shuō)明: 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 4. 依賴(lài)倒置原則依賴(lài)倒置原則 (DIP) 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 4. 依賴(lài)倒置原則依賴(lài)倒置原則 (DIP) 任何變量都不應(yīng)該持有一個(gè)指向具體類(lèi)的引用任何變量都不應(yīng)該持有一個(gè)指向具體類(lèi)的引用 任何類(lèi)都不應(yīng)該從一個(gè)具體
56、類(lèi)派生任何類(lèi)都不應(yīng)該從一個(gè)具體類(lèi)派生 任何方法不應(yīng)該重寫(xiě)它的任何基類(lèi)中的已經(jīng)實(shí)現(xiàn)了的方任何方法不應(yīng)該重寫(xiě)它的任何基類(lèi)中的已經(jīng)實(shí)現(xiàn)了的方 法法 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 4. 依賴(lài)倒置原則依賴(lài)倒置原則 (DIP) 范例范例1:存在問(wèn)題存在問(wèn)題 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 4. 依賴(lài)倒置原則依賴(lài)倒置原則 (DIP) 范例范例1:存在問(wèn)題存在問(wèn)題 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 5. 接口隔離原則接口隔離原則 (DIP) 含義:不應(yīng)該強(qiáng)迫客戶依賴(lài)于它們不用的方法。接口屬于客含義:不應(yīng)該強(qiáng)迫客戶依賴(lài)于它們不用的方法。接口
57、屬于客 戶,不屬于它所在的類(lèi)層次結(jié)構(gòu)。戶,不屬于它所在的類(lèi)層次結(jié)構(gòu)。 范例說(shuō)明:范例說(shuō)明: 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 5. 接口隔離原則接口隔離原則 (DIP) 使用委托分離接口 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)的設(shè)計(jì)原則的方法 5. 接口隔離原則接口隔離原則 (DIP) 使用多重繼承分離接口 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 對(duì)象圖 描述參與一個(gè)交互的各個(gè)對(duì)象在交互過(guò)程描述參與一個(gè)交互的各個(gè)對(duì)象在交互過(guò)程 中某一時(shí)刻的狀態(tài)。中某一時(shí)刻的狀態(tài)。 可以被看作是類(lèi)圖在某一時(shí)刻的實(shí)例??梢员豢醋魇穷?lèi)圖在某一時(shí)刻的實(shí)例。 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 類(lèi)圖和
58、對(duì)象圖的區(qū)別 類(lèi)圖類(lèi)圖 對(duì)象圖對(duì)象圖 類(lèi)具有三個(gè)分欄:名稱(chēng)、屬性和操類(lèi)具有三個(gè)分欄:名稱(chēng)、屬性和操 作作 對(duì)象只有兩個(gè)分欄:名稱(chēng)和屬性對(duì)象只有兩個(gè)分欄:名稱(chēng)和屬性 在類(lèi)的名稱(chēng)分欄中只有類(lèi)名在類(lèi)的名稱(chēng)分欄中只有類(lèi)名對(duì)象的名稱(chēng)形式為對(duì)象的名稱(chēng)形式為“對(duì)象名:類(lèi)對(duì)象名:類(lèi) 名名”,匿名對(duì)象的名稱(chēng)形式為,匿名對(duì)象的名稱(chēng)形式為“: 類(lèi)名類(lèi)名” 類(lèi)中列出了操作類(lèi)中列出了操作對(duì)象圖中不包含操作,因?yàn)閷?duì)于屬對(duì)象圖中不包含操作,因?yàn)閷?duì)于屬 于同一個(gè)類(lèi)的對(duì)象而言,其操作是于同一個(gè)類(lèi)的對(duì)象而言,其操作是 相同的相同的 類(lèi)使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱(chēng)、類(lèi)使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱(chēng)、 角色、多重性以及約束等特征定義。角色
59、、多重性以及約束等特征定義。 類(lèi)代表的是對(duì)對(duì)象的分類(lèi),所以必類(lèi)代表的是對(duì)對(duì)象的分類(lèi),所以必 須說(shuō)明可以參與關(guān)聯(lián)的對(duì)象的數(shù)目須說(shuō)明可以參與關(guān)聯(lián)的對(duì)象的數(shù)目 對(duì)象使用鏈連接,鏈擁有名稱(chēng)、角對(duì)象使用鏈連接,鏈擁有名稱(chēng)、角 色,但是沒(méi)有多重性。對(duì)象代表的色,但是沒(méi)有多重性。對(duì)象代表的 是單獨(dú)的實(shí)體,所有的鏈都是一對(duì)是單獨(dú)的實(shí)體,所有的鏈都是一對(duì) 一的,因此不涉及到多重性一的,因此不涉及到多重性 類(lèi)的屬性分欄定義了所有屬性的特類(lèi)的屬性分欄定義了所有屬性的特 征征 對(duì)象則只定義了屬性的當(dāng)前值,以對(duì)象則只定義了屬性的當(dāng)前值,以 用于測(cè)試用例或例子中用于測(cè)試用例或例子中 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 對(duì)
60、象圖范例 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 對(duì)象圖范例 面面 向向 對(duì)對(duì) 象象 技技 術(shù)術(shù) 對(duì)象圖的應(yīng)用 論證類(lèi)模型的設(shè)計(jì):當(dāng)設(shè)計(jì)了類(lèi)模型時(shí),你可以論證類(lèi)模型的設(shè)計(jì):當(dāng)設(shè)計(jì)了類(lèi)模型時(shí),你可以 通過(guò)對(duì)象圖來(lái)模擬出一個(gè)運(yùn)行時(shí)的狀態(tài),這樣就通過(guò)對(duì)象圖來(lái)模擬出一個(gè)運(yùn)行時(shí)的狀態(tài),這樣就 可以研究在運(yùn)行時(shí)設(shè)計(jì)的合理性。同時(shí),也可以可以研究在運(yùn)行時(shí)設(shè)計(jì)的合理性。同時(shí),也可以 作為開(kāi)發(fā)人員討論的一個(gè)基礎(chǔ)。作為開(kāi)發(fā)人員討論的一個(gè)基礎(chǔ)。 分析和說(shuō)明源代碼:由于類(lèi)圖只是展示了程序的分析和說(shuō)明源代碼:由于類(lèi)圖只是展示了程序的 靜態(tài)類(lèi)結(jié)構(gòu),因此通過(guò)類(lèi)圖看懂代碼的意圖是很靜態(tài)類(lèi)結(jié)構(gòu),因此通過(guò)類(lèi)圖看懂代碼的意圖是很 困難
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年血糖監(jiān)測(cè)試題及答案多選
- 超聲波清洗機(jī)操作規(guī)程
- 2025年福州社區(qū)招考試題及答案
- 查對(duì)制度復(fù)習(xí)試題附答案
- 2025年聲控電器面試試題及答案
- 2025年捍衛(wèi)者性格測(cè)試題及答案
- 2025年保密測(cè)試題及答案
- 2025年現(xiàn)代管理考試題及答案
- 重建代碼-疊層-傅里葉得層重建-傅里葉疊層-
- 2025年以往教資面試試題及答案
- GB/T 18658-2018擺錘式?jīng)_擊試驗(yàn)機(jī)間接檢驗(yàn)用夏比V型缺口標(biāo)準(zhǔn)試樣
- 罰款單的模板
- GB 16899-2011自動(dòng)扶梯和自動(dòng)人行道的制造與安裝安全規(guī)范
- 宏觀經(jīng)濟(jì)學(xué) 布蘭查德第六版 第6章勞動(dòng)力市場(chǎng)
- 2022年江西建設(shè)職業(yè)技術(shù)學(xué)院?jiǎn)握姓Z(yǔ)文試題及答案解析
- 高中信息技術(shù)《人工智能》優(yōu)質(zhì)教學(xué)課件
- 99S203 消防水泵接合器安裝圖集
- 拼音田字格(A4 word 打印版)
- 電子技術(shù)基礎(chǔ)(數(shù)字部分 五版 康華光)華中科大:TTL邏輯門(mén)電路
- 【課件】以人為本與創(chuàng)意無(wú)限 設(shè)計(jì)的特征 課件-2021-2022學(xué)年高中美術(shù)人美版(2019)選擇性必修四 設(shè)計(jì)
- GA∕T 787-2021 指掌紋圖像數(shù)據(jù)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論