第九章 . 第十章 .建立對象模型_第1頁
第九章 . 第十章 .建立對象模型_第2頁
第九章 . 第十章 .建立對象模型_第3頁
第九章 . 第十章 .建立對象模型_第4頁
第九章 . 第十章 .建立對象模型_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程導(dǎo)論陳丹琪災(zāi)害信息工程系復(fù) 習(xí)n面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鯫OA(Object-Oriented Analysis)就是抽就是抽取和整理用戶需求并建立問題域精確模型的過程。取和整理用戶需求并建立問題域精確模型的過程。要建立三種模型要建立三種模型n功能模型(用例模型):表達(dá)系統(tǒng)的詳細(xì)需求,為軟功能模型(用例模型):表達(dá)系統(tǒng)的詳細(xì)需求,為軟件的進一步分析和設(shè)計打下基礎(chǔ)。件的進一步分析和設(shè)計打下基礎(chǔ)。n對象模型:描述現(xiàn)實世界中的類和對象以及它們之間對象模型:描述現(xiàn)實世界中的類和對象以及它們之間的關(guān)系,表明目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。的關(guān)系,表明目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。n動態(tài)模型:描述系統(tǒng)的動態(tài)結(jié)構(gòu)

2、和系統(tǒng)對象之間的交動態(tài)模型:描述系統(tǒng)的動態(tài)結(jié)構(gòu)和系統(tǒng)對象之間的交互?;?。復(fù) 習(xí)使用用例模型代替?zhèn)鹘y(tǒng)的功能說明,能更好地獲取使用用例模型代替?zhèn)鹘y(tǒng)的功能說明,能更好地獲取用戶需求,它所描述的是外部行為者所理解的系統(tǒng)用戶需求,它所描述的是外部行為者所理解的系統(tǒng)功能。功能。n用例圖的作用:將系統(tǒng)的功能分成一個個模塊,相當(dāng)用例圖的作用:將系統(tǒng)的功能分成一個個模塊,相當(dāng)于于系統(tǒng)模塊圖系統(tǒng)模塊圖,但比系統(tǒng)模塊圖能展示更多的語義,但比系統(tǒng)模塊圖能展示更多的語義,如泛化、包含、擴展等。是需求分析師用來和客戶、如泛化、包含、擴展等。是需求分析師用來和客戶、開發(fā)人員交流的工具。開發(fā)人員交流的工具。n創(chuàng)建用例模型的步

3、驟:創(chuàng)建用例模型的步驟:定義系統(tǒng)定義系統(tǒng)尋找參與者和用例尋找參與者和用例描述用例描述用例定義用例之間的關(guān)系定義用例之間的關(guān)系確認(rèn)模型確認(rèn)模型本節(jié)課內(nèi)容n第九章面向?qū)ο蠓椒▽W(xué)引論第九章面向?qū)ο蠓椒▽W(xué)引論 9.49.4、對象模型、對象模型n第十章第十章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?0.110.1、面向?qū)ο蠓治龅幕具^程、面向?qū)ο蠓治龅幕具^程10.210.2、需求陳述、需求陳述10.310.3、建立對象模型、建立對象模型10.410.4、建立動態(tài)模型、建立動態(tài)模型10.510.5、建立功能模型、建立功能模型10.610.6、定義服務(wù)、定義服務(wù)對象模型n對象模型表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的對象模型表示靜

4、態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)數(shù)據(jù)”性性質(zhì)。質(zhì)。它是對模擬客觀世界實體的對象以及對象彼此間的它是對模擬客觀世界實體的對象以及對象彼此間的關(guān)系的映射,描述了軟件系統(tǒng)的靜態(tài)結(jié)構(gòu)。關(guān)系的映射,描述了軟件系統(tǒng)的靜態(tài)結(jié)構(gòu)。建立對象模型的目標(biāo)是從客觀世界中提煉出對具體建立對象模型的目標(biāo)是從客觀世界中提煉出對具體應(yīng)用有價值的概念。應(yīng)用有價值的概念。通常,使用通常,使用UML提供的提供的類圖類圖建立對象模型。建立對象模型。類圖就是用于對系統(tǒng)中的類圖就是用于對系統(tǒng)中的各種概念進行建模,并描各種概念進行建模,并描繪出它們之間關(guān)系的圖。繪出它們之間關(guān)系的圖。類 圖n類圖是描述類、接口以及它們之間關(guān)系的圖,是類圖是描述類

5、、接口以及它們之間關(guān)系的圖,是一種靜態(tài)模型,一個系統(tǒng)可以由多張類圖來描述,一種靜態(tài)模型,一個系統(tǒng)可以由多張類圖來描述,一個類也可以出現(xiàn)在幾張類圖中。一個類也可以出現(xiàn)在幾張類圖中。類圖常用來描述業(yè)務(wù)或軟件系統(tǒng)的組成類圖常用來描述業(yè)務(wù)或軟件系統(tǒng)的組成、結(jié)構(gòu)和關(guān)結(jié)構(gòu)和關(guān)系。系。n定義類:由于類是構(gòu)成類圖的基礎(chǔ),所以,在構(gòu)造定義類:由于類是構(gòu)成類圖的基礎(chǔ),所以,在構(gòu)造類圖之前,首先要定義類,也就是將系統(tǒng)要處理的類圖之前,首先要定義類,也就是將系統(tǒng)要處理的數(shù)據(jù)抽象為類的屬性,將處理數(shù)據(jù)的方法抽象為類數(shù)據(jù)抽象為類的屬性,將處理數(shù)據(jù)的方法抽象為類的操作。的操作。類 圖命名:類名是一類對象的名字。命名:類名是

6、一類對象的名字。 為類命名時應(yīng)該遵守以下幾條準(zhǔn)則:使用標(biāo)準(zhǔn)術(shù)語、使為類命名時應(yīng)該遵守以下幾條準(zhǔn)則:使用標(biāo)準(zhǔn)術(shù)語、使用具有確切含義的名詞、必要時用名詞短語作名字用具有確切含義的名詞、必要時用名詞短語作名字描述類的屬性:屬性是該類對象的共同特征。描述類的屬性:屬性是該類對象的共同特征。 可見性可見性 屬性名屬性名:類型名:類型名=初值性質(zhì)串初值性質(zhì)串描述類的操作:操作是類所提供的服務(wù),通俗地說,描述類的操作:操作是類所提供的服務(wù),通俗地說,操作就是定義了對象所能做的事情。操作就是定義了對象所能做的事情。 可見性可見性 操作名操作名(參數(shù)表):返回值類型性質(zhì)串(參數(shù)表):返回值類型性質(zhì)串 參數(shù)名:參

7、數(shù)類型名參數(shù)名:參數(shù)類型名=缺省值缺省值可訪問性:可訪問性:(+)(+)公有的公有的(-)(-)私有的私有的(#)(#)保護的保護的用UML類圖描述Point類類 圖表示關(guān)系的圖形符號表示關(guān)系的圖形符號n類圖由類及類與類之間的關(guān)系構(gòu)成。類與類之間通常類圖由類及類與類之間的關(guān)系構(gòu)成。類與類之間通常有關(guān)聯(lián)、泛化(繼承)、依賴和細(xì)化(實現(xiàn))等四種有關(guān)聯(lián)、泛化(繼承)、依賴和細(xì)化(實現(xiàn))等四種關(guān)系。關(guān)系。n關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系表示兩類對象之間存在著某種語義上的表示兩類對象之間存在著某種語義上的聯(lián)系,也就是對象之間有相互作用、相互依靠的關(guān)系。聯(lián)系,也就是對象之間有相互作用、相互依靠的關(guān)系。普通關(guān)聯(lián)普通關(guān)聯(lián)

8、兩類對象之間的關(guān)聯(lián)關(guān)系又細(xì)分為一對一(兩類對象之間的關(guān)聯(lián)關(guān)系又細(xì)分為一對一(1 1)、一)、一對多(對多(1 M)和多對多()和多對多(M N)等三種基本類型。)等三種基本類型。作家與計算機之間的關(guān)聯(lián)關(guān)系作家與計算機之間的關(guān)聯(lián)關(guān)系類 圖關(guān)聯(lián)的角色:在任何關(guān)聯(lián)中都會涉及參與此關(guān)聯(lián)的對象關(guān)聯(lián)的角色:在任何關(guān)聯(lián)中都會涉及參與此關(guān)聯(lián)的對象所扮演的角色(即所起的作用)。所扮演的角色(即所起的作用)。限定關(guān)聯(lián):一個受限的關(guān)聯(lián)由兩類對象及一個限定詞組限定關(guān)聯(lián):一個受限的關(guān)聯(lián)由兩類對象及一個限定詞組成。成。 利用限定詞通常能有效地減少關(guān)聯(lián)的重數(shù):限定關(guān)聯(lián)用利用限定詞通常能有效地減少關(guān)聯(lián)的重數(shù):限定關(guān)聯(lián)用于一對

9、多或多對多的關(guān)聯(lián)關(guān)系中,它可以把模型中的重于一對多或多對多的關(guān)聯(lián)關(guān)系中,它可以把模型中的重數(shù)從一對多變成一對一。數(shù)從一對多變成一對一。一個受限的關(guān)聯(lián)一個受限的關(guān)聯(lián)類 圖關(guān)聯(lián)類:記錄說明關(guān)聯(lián)的性質(zhì)的一些附加信息。關(guān)聯(lián)類:記錄說明關(guān)聯(lián)的性質(zhì)的一些附加信息。 兩個類之間具有多對多的關(guān)系,并且有些屬性不屬于關(guān)兩個類之間具有多對多的關(guān)系,并且有些屬性不屬于關(guān)聯(lián)兩端任何一個類。聯(lián)兩端任何一個類。關(guān)聯(lián)類示例關(guān)聯(lián)類示例類 圖n聚集聚集也稱為聚合,是關(guān)聯(lián)的特例。也稱為聚合,是關(guān)聯(lián)的特例。聚集表示一類對象與另一類對象之間的關(guān)系,是整體與聚集表示一類對象與另一類對象之間的關(guān)系,是整體與部分的關(guān)系。部分的關(guān)系。共享聚

10、集共享聚集:在聚集關(guān)系中處于部分方的對象可以同時參:在聚集關(guān)系中處于部分方的對象可以同時參與多個處于整體方對象的構(gòu)成。與多個處于整體方對象的構(gòu)成。組合聚集組合聚集:部分類對象完全隸屬于整體類對象,部分與:部分類對象完全隸屬于整體類對象,部分與整體共存,整體不存在了部分也會隨之消失(或失去存整體共存,整體不存在了部分也會隨之消失(或失去存在價值了),簡稱為組成。在價值了),簡稱為組成。共享聚集示例共享聚集示例組合聚集示例組合聚集示例類 圖n泛化關(guān)系泛化關(guān)系就是通常所說的繼就是通常所說的繼承關(guān)系。承關(guān)系。在在UML的類圖中,用一端為空的類圖中,用一端為空心三角形的連線表示泛化關(guān)系,心三角形的連線表

11、示泛化關(guān)系,三角形的頂角緊挨著通用元素。三角形的頂角緊挨著通用元素。普通泛化普通泛化:是子類自動地共享基:是子類自動地共享基類中定義的數(shù)據(jù)和方法的機制。類中定義的數(shù)據(jù)和方法的機制。 沒有具體對象的類稱為抽象類。沒有具體對象的類稱為抽象類。抽象類通常作為父類,用于描抽象類通常作為父類,用于描述其他類(子類)的公共屬性述其他類(子類)的公共屬性和行為。和行為。抽象類示例抽象類示例類 圖受限泛化受限泛化:可以給泛化關(guān)系附加約束條件,以進一步:可以給泛化關(guān)系附加約束條件,以進一步說明該泛化關(guān)系的使用方法或擴充方法。說明該泛化關(guān)系的使用方法或擴充方法。 多重繼承多重繼承一個子類可以同時多次繼承同一個上層

12、一個子類可以同時多次繼承同一個上層基類?;?。 不相交繼承不相交繼承不能同時多次繼承同一個上層基類。不能同時多次繼承同一個上層基類。一般的繼承都是不相交繼承。一般的繼承都是不相交繼承。 完全繼承完全繼承父類的所有子類都已在類圖中窮舉出來父類的所有子類都已在類圖中窮舉出來了。了。 不完全繼承不完全繼承父類的子類并沒有都窮舉出來,隨著父類的子類并沒有都窮舉出來,隨著對問題理解的深入,可不斷補充和修改,這為日后系對問題理解的深入,可不斷補充和修改,這為日后系統(tǒng)的擴充和維護帶來很大方便。不完全繼承是一般情統(tǒng)的擴充和維護帶來很大方便。不完全繼承是一般情況下默認(rèn)的繼承關(guān)系。況下默認(rèn)的繼承關(guān)系。多重繼承示例

13、多重繼承示例1 12 2類 圖n依賴關(guān)系:兩個模型元素之間的一種關(guān)系。依賴關(guān)系:兩個模型元素之間的一種關(guān)系。一個模型元素是獨立的。另一個模型元素不是獨立的,一個模型元素是獨立的。另一個模型元素不是獨立的,它依賴于獨立的模型元素,如果獨立的模型元素改變它依賴于獨立的模型元素,如果獨立的模型元素改變了,將影響依賴于它的模型元素。了,將影響依賴于它的模型元素。在在UMLUML的類圖中,用帶箭頭的虛線連接有依賴關(guān)系的的類圖中,用帶箭頭的虛線連接有依賴關(guān)系的兩個類,箭頭指向其中獨立的類兩個類,箭頭指向其中獨立的類 。在虛線上可以帶。在虛線上可以帶一個版類標(biāo)簽,具體說明依賴的種類。一個版類標(biāo)簽,具體說明依

14、賴的種類。類 圖n細(xì)化關(guān)系細(xì)化關(guān)系表示對同一事物更詳細(xì)一層的描述。表示對同一事物更詳細(xì)一層的描述。泛化和細(xì)化都可以將一般描述與具體描述聯(lián)系起來。泛化和細(xì)化都可以將一般描述與具體描述聯(lián)系起來。它們的區(qū)別是:它們的區(qū)別是: 泛化是同一語義層上的元素之間的連接,通常在同一泛化是同一語義層上的元素之間的連接,通常在同一模型內(nèi)。模型內(nèi)。 細(xì)化是不同語義層中的元素之間的連接,通常建立在細(xì)化是不同語義層中的元素之間的連接,通常建立在不同的模型內(nèi)。如果不同的模型內(nèi)。如果B B是在是在A A的基礎(chǔ)上的更詳細(xì)的描述,的基礎(chǔ)上的更詳細(xì)的描述,則稱則稱B B細(xì)化了細(xì)化了A A,或稱,或稱A A細(xì)化成了細(xì)化成了B B。

15、可以認(rèn)為前者是后??梢哉J(rèn)為前者是后者的實現(xiàn)。者的實現(xiàn)。在在UMLUML的類圖中,用一端為空心三角的虛線表示細(xì)化的類圖中,用一端為空心三角的虛線表示細(xì)化關(guān)系。關(guān)系。建立對象模型n對象模型描述了現(xiàn)實世界中的對象模型描述了現(xiàn)實世界中的“類與對象類與對象”以及它以及它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。如何設(shè)計類圖來描述系統(tǒng)的對象模型呢?如何設(shè)計類圖來描述系統(tǒng)的對象模型呢?n需求陳述、應(yīng)用領(lǐng)域的專業(yè)知識以及關(guān)于客觀世界的需求陳述、應(yīng)用領(lǐng)域的專業(yè)知識以及關(guān)于客觀世界的常識,是建立對象模型時的主要信息來源。常識,是建立對象模型時的主要信息來源。當(dāng)用自然語

16、言書寫的需求陳述為依據(jù)時,把陳述中的名當(dāng)用自然語言書寫的需求陳述為依據(jù)時,把陳述中的名詞作為對象的候選者,用形容詞作為確定屬性的線索,詞作為對象的候選者,用形容詞作為確定屬性的線索,把動詞作為服務(wù)(操作)的候選者。把動詞作為服務(wù)(操作)的候選者。n1 1、確定類與對象確定類與對象找出候選的對象,它們既可能是物理實體,也可能是抽找出候選的對象,它們既可能是物理實體,也可能是抽象概念。象概念。檢查問題陳述中的所有名詞,得到候選對象。檢查問題陳述中的所有名詞,得到候選對象。建立對象模型需求陳述中不會一個不漏地寫出問題域中的所有有關(guān)對需求陳述中不會一個不漏地寫出問題域中的所有有關(guān)對象,還需要根據(jù)領(lǐng)域知

17、識或常識進一步把隱含的對象提象,還需要根據(jù)領(lǐng)域知識或常識進一步把隱含的對象提取出來。取出來。銀行銀行ATMATM系統(tǒng)系統(tǒng)中央計算機中央計算機分行計算機分行計算機柜員終端柜員終端網(wǎng)絡(luò)網(wǎng)絡(luò)總行總行分行分行軟件軟件市市街道街道柜員柜員儲戶儲戶現(xiàn)金現(xiàn)金支票支票賬戶賬戶事務(wù)事務(wù)現(xiàn)金兌換卡現(xiàn)金兌換卡余額余額磁卡磁卡分行代碼分行代碼卡號卡號用戶用戶副本副本信息信息密碼密碼類型類型取款額取款額賬單賬單訪問訪問通信鏈路通信鏈路事務(wù)日志事務(wù)日志建立對象模型篩選出正確的對象:從候選對象中去掉不正確的或不必篩選出正確的對象:從候選對象中去掉不正確的或不必要的,僅保留確實應(yīng)該記錄其信息或需要其提供服務(wù)的要的,僅保留確實

18、應(yīng)該記錄其信息或需要其提供服務(wù)的那些對象。那些對象。 冗余:兩個名詞代表同樣的事物冗余:兩個名詞代表同樣的事物 無關(guān):與本問題無關(guān)的對象無關(guān):與本問題無關(guān)的對象 籠統(tǒng):籠統(tǒng)或模糊的對象籠統(tǒng):籠統(tǒng)或模糊的對象 屬性:描述的是其他對象的屬性屬性:描述的是其他對象的屬性 操作:在本問題中應(yīng)作為對象的操作的既可作為名詞又操作:在本問題中應(yīng)作為對象的操作的既可作為名詞又可作為動詞的詞可作為動詞的詞 實現(xiàn):與實現(xiàn)有關(guān)的候選對象實現(xiàn):與實現(xiàn)有關(guān)的候選對象ATMATM中央計算機中央計算機分行計算機分行計算機柜員終端柜員終端總行總行分行分行柜員柜員儲戶儲戶賬戶賬戶事務(wù)事務(wù)現(xiàn)金兌換卡現(xiàn)金兌換卡建立對象模型n2.

19、2. 確定關(guān)聯(lián)確定關(guān)聯(lián)初步確定關(guān)聯(lián):初步確定關(guān)聯(lián): 直接提取需求陳述中的動詞詞組:直接提取需求陳述中的動詞詞組:ATMATM、中央計算機、分、中央計算機、分行計算機及柜員終端組成網(wǎng)絡(luò);柜員終端與分行計算機行計算機及柜員終端組成網(wǎng)絡(luò);柜員終端與分行計算機通信;分行計算機處理針對賬戶的事務(wù);通信;分行計算機處理針對賬戶的事務(wù);ATMATM與中央計算與中央計算機交換關(guān)于事務(wù)的信息;機交換關(guān)于事務(wù)的信息;ATMATM讀現(xiàn)金兌換卡;讀現(xiàn)金兌換卡;ATMATM與用戶與用戶交互等。交互等。 需求陳述中隱含的關(guān)聯(lián):總行由各個分行組成;分行保需求陳述中隱含的關(guān)聯(lián):總行由各個分行組成;分行保管賬戶;系統(tǒng)提供必要的

20、安全性;儲戶擁有現(xiàn)金兌換卡管賬戶;系統(tǒng)提供必要的安全性;儲戶擁有現(xiàn)金兌換卡等。等。 根據(jù)問題域知識得出的關(guān)聯(lián):現(xiàn)金兌換卡訪問帳戶;分根據(jù)問題域知識得出的關(guān)聯(lián):現(xiàn)金兌換卡訪問帳戶;分行雇傭柜員。行雇傭柜員。建立對象模型篩選篩選去掉不正確的或不必要的關(guān)聯(lián)去掉不正確的或不必要的關(guān)聯(lián) 已刪去的對象之間的關(guān)聯(lián):在示例中刪除了銀行、網(wǎng)絡(luò)、已刪去的對象之間的關(guān)聯(lián):在示例中刪除了銀行、網(wǎng)絡(luò)、市、街道、軟件、現(xiàn)金、賬單、事務(wù)日志等候選對象,市、街道、軟件、現(xiàn)金、賬單、事務(wù)日志等候選對象,相關(guān)的關(guān)聯(lián)也要刪除。相關(guān)的關(guān)聯(lián)也要刪除。 與問題無關(guān)的或應(yīng)在實現(xiàn)階段考慮的關(guān)聯(lián):如與問題無關(guān)的或應(yīng)在實現(xiàn)階段考慮的關(guān)聯(lián):如“系

21、統(tǒng)處系統(tǒng)處理并發(fā)訪問理并發(fā)訪問”就是一種實現(xiàn)的概念,它并沒有標(biāo)明對象就是一種實現(xiàn)的概念,它并沒有標(biāo)明對象之間的新關(guān)聯(lián),只不過提醒我們在實現(xiàn)階段需要使用實之間的新關(guān)聯(lián),只不過提醒我們在實現(xiàn)階段需要使用實現(xiàn)并發(fā)訪問的算法,以處理并發(fā)事務(wù)?,F(xiàn)并發(fā)訪問的算法,以處理并發(fā)事務(wù)。 瞬時事件:關(guān)聯(lián)應(yīng)描述問題域的靜態(tài)結(jié)構(gòu)而不是瞬時事瞬時事件:關(guān)聯(lián)應(yīng)描述問題域的靜態(tài)結(jié)構(gòu)而不是瞬時事件。應(yīng)刪除件。應(yīng)刪除“ATMATM讀現(xiàn)金卡讀現(xiàn)金卡”,“ATMATM與用戶交互與用戶交互”等。等。 三元關(guān)聯(lián):三個或以上對象之間的關(guān)聯(lián)可分解為二元關(guān)三元關(guān)聯(lián):三個或以上對象之間的關(guān)聯(lián)可分解為二元關(guān)聯(lián)。聯(lián)?!肮駟T輸入針對賬戶的事務(wù)柜員輸

22、入針對賬戶的事務(wù)”可分解為可分解為“柜員輸入柜員輸入事務(wù)事務(wù)”和和“事務(wù)修改帳戶事務(wù)修改帳戶 ”兩個二元關(guān)聯(lián)。而兩個二元關(guān)聯(lián)。而“分行計分行計算機處理針對帳戶的事務(wù)算機處理針對帳戶的事務(wù)”也可以做類似的分解。也可以做類似的分解。建立對象模型 派生關(guān)聯(lián):省略那些可以用其他關(guān)聯(lián)來定義的關(guān)聯(lián)。派生關(guān)聯(lián):省略那些可以用其他關(guān)聯(lián)來定義的關(guān)聯(lián)?!翱傂袚碛卸嗯_總行擁有多臺ATM ”ATM ”實質(zhì)上是實質(zhì)上是“總行擁有中央計算總行擁有中央計算機機”和和“ATMATM與中央計算機通信與中央計算機通信”這兩個關(guān)聯(lián)組合的結(jié)這兩個關(guān)聯(lián)組合的結(jié)果。果。進一步完善進一步完善 正名:如正名:如“分行提供分行計算機和柜員終端

23、分行提供分行計算機和柜員終端”可改為可改為“分行擁有分行計算機分行擁有分行計算機”和和“分行擁有柜員終端分行擁有柜員終端”。 分解:如在分解:如在ATM系統(tǒng)中,應(yīng)該把系統(tǒng)中,應(yīng)該把“事務(wù)事務(wù)”分解成分解成“遠(yuǎn)遠(yuǎn)程事務(wù)程事務(wù)”和和“柜員事務(wù)柜員事務(wù)”。 補充:如在補充:如在ATM系統(tǒng)中把系統(tǒng)中把“事務(wù)事務(wù)”分解后需要補充分解后需要補充“柜員輸入柜員事務(wù)柜員輸入柜員事務(wù)”、“柜員事務(wù)輸進柜員終端柜員事務(wù)輸進柜員終端”、“在在ATM上輸入遠(yuǎn)程事務(wù)上輸入遠(yuǎn)程事務(wù)”和和“遠(yuǎn)程事務(wù)由現(xiàn)金兌換遠(yuǎn)程事務(wù)由現(xiàn)金兌換卡授權(quán)卡授權(quán)”等關(guān)聯(lián)。等關(guān)聯(lián)。 標(biāo)明重數(shù)。標(biāo)明重數(shù)。建立對象模型n3. 3. 劃分主題劃分主題在開

24、發(fā)大型復(fù)雜系統(tǒng)時,為了降低復(fù)雜程度,把系統(tǒng)再在開發(fā)大型復(fù)雜系統(tǒng)時,為了降低復(fù)雜程度,把系統(tǒng)再進一步劃分成幾個不同的主題,即在概念上把系統(tǒng)包含進一步劃分成幾個不同的主題,即在概念上把系統(tǒng)包含的內(nèi)容分解成若干個范疇。的內(nèi)容分解成若干個范疇。確定主題原則:確定主題原則: 按照問題域確定主題按照問題域確定主題 按照使不同主題內(nèi)的對象相互依賴和交互最少來確定主按照使不同主題內(nèi)的對象相互依賴和交互最少來確定主題題建立對象模型n4. 4. 確定屬性確定屬性分析:分析: 屬性通常用修飾性的名詞詞組來表示。屬性通常用修飾性的名詞詞組來表示。 屬性一般不可能在問題陳述中完全表述出來,應(yīng)分析應(yīng)屬性一般不可能在問題陳

25、述中完全表述出來,應(yīng)分析應(yīng)用領(lǐng)域,并考慮最主要的屬性。用領(lǐng)域,并考慮最主要的屬性。 屬性的確定既與問題域有關(guān),也和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。屬性的確定既與問題域有關(guān),也和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。 應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些應(yīng)該僅考慮與具體應(yīng)用直接相關(guān)的屬性,不要考慮那些超出所要解決的問題范圍及純粹用于實現(xiàn)的屬性。超出所要解決的問題范圍及純粹用于實現(xiàn)的屬性。 在分析過程中應(yīng)該首先找出最重要的屬性,以后再逐漸在分析過程中應(yīng)該首先找出最重要的屬性,以后再逐漸把其余屬性增添進去。把其余屬性增添進去。建立對象模型選擇:選擇: 誤把對象當(dāng)作屬性誤把對象當(dāng)作屬性 誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬

26、性誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬性 誤把限定當(dāng)成屬性誤把限定當(dāng)成屬性 誤把內(nèi)部狀態(tài)當(dāng)成了屬性誤把內(nèi)部狀態(tài)當(dāng)成了屬性 過于細(xì)化過于細(xì)化 存在不一致的屬性存在不一致的屬性在研究卡號含義在研究卡號含義的過程中,發(fā)現(xiàn)的過程中,發(fā)現(xiàn)以前在分析確定以前在分析確定關(guān)聯(lián)的過程中遺關(guān)聯(lián)的過程中遺漏了漏了“分行發(fā)放分行發(fā)放現(xiàn)金兌換卡現(xiàn)金兌換卡”這這個關(guān)聯(lián),現(xiàn)在把個關(guān)聯(lián),現(xiàn)在把這個關(guān)聯(lián)補上,這個關(guān)聯(lián)補上,卡號是這個關(guān)聯(lián)卡號是這個關(guān)聯(lián)上的限定詞。上的限定詞?!胺中写a分行代碼”是關(guān)是關(guān)聯(lián)聯(lián)“分行組成總行分行組成總行”上的限定詞。上的限定詞?!百~號賬號”是關(guān)聯(lián)是關(guān)聯(lián)“分行保管賬戶分行保管賬戶”上的限定詞。上的限定詞。

27、“雇員號雇員號”是關(guān)聯(lián)是關(guān)聯(lián)“分行雇傭柜員分行雇傭柜員”上的限定詞。上的限定詞?!罢咎栒咎枴笔鞘恰胺中蟹中袚碛泄駟T終端擁有柜員終端”、“柜員終端與分行柜員終端與分行計算機通信計算機通信”及及“中央計算機與中央計算機與ATMATM通信通信”等三個等三個關(guān)聯(lián)上的限定詞。關(guān)聯(lián)上的限定詞。建立對象模型n5. 5. 識別繼承關(guān)系:識別繼承關(guān)系:利用繼承機制共享公共性質(zhì),并利用繼承機制共享公共性質(zhì),并對問題域中眾多的類加以組織。對問題域中眾多的類加以組織。自底向上自底向上抽象出現(xiàn)有類的共同性質(zhì)泛化出父類。抽象出現(xiàn)有類的共同性質(zhì)泛化出父類。 找出具有相同屬性、關(guān)聯(lián)、操作的類,來發(fā)現(xiàn)繼承。找出具有相同屬性、關(guān)聯(lián)、操作的類,來發(fā)現(xiàn)繼承。 例如:例如:“柜員事務(wù)柜員事務(wù)”和和“遠(yuǎn)程事務(wù)遠(yuǎn)程事務(wù)”其屬性與主要操其屬性與主要操作是類似的,則將它們的共性一般化,得到父類作是類似的,則將它們的共性一般化,得

溫馨提示

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

最新文檔

評論

0/150

提交評論