版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、梁昌勇梁昌勇信息系統(tǒng)分析、設(shè)計與開發(fā)方法第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析2/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.1 4.1 面向?qū)ο蟮幕具^程面向?qū)ο蟮幕具^程 4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c 4.3 4.3 需求分析陳述需求分析陳述 4.4 4.4 面向?qū)ο蟮南到y(tǒng)分析活動面向?qū)ο蟮南到y(tǒng)分析活動4.5 4.5 建立對象模型建立對象模型4.6 4.6 建立動態(tài)模型建立動態(tài)模型4.7 4.7 建立功能模型建立功能模型 4.8 4.8 案例案例目錄目錄3/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u面向?qū)ο蠓治雒嫦驅(qū)ο蠓?/p>
2、析(Object-Oriented Analysis(Object-Oriented Analysis,OOA)OOA),就是,就是抽取和整理用戶需求,按照面向?qū)ο蟮乃枷雭矸治鰡栴}抽取和整理用戶需求,按照面向?qū)ο蟮乃枷雭矸治鰡栴},最后建立問題域的精確模型。,最后建立問題域的精確模型。u分析的過程就是識別問題域和系統(tǒng)責(zé)任提取系統(tǒng)需求的分析的過程就是識別問題域和系統(tǒng)責(zé)任提取系統(tǒng)需求的過程,分析工作包括過程,分析工作包括3 3項內(nèi)容,即項內(nèi)容,即理解、表達、驗證理解、表達、驗證。u分析過程得出的最重要的文檔資料是軟件需求規(guī)格說明分析過程得出的最重要的文檔資料是軟件需求規(guī)格說明,在面向?qū)ο蠓治鲋?,主?/p>
3、由對象模型、動態(tài)模型和功,在面向?qū)ο蠓治鲋校饕蓪ο竽P?、動態(tài)模型和功能模型組成。能模型組成。 4.1 4.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程4.1.1 4.1.1 概述概述4/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u問題域(問題域(problem domainproblem domain)就是被開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,)就是被開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即軟件系統(tǒng)所能處理的現(xiàn)實世界中業(yè)務(wù)范圍。即軟件系統(tǒng)所能處理的現(xiàn)實世界中業(yè)務(wù)范圍。u系統(tǒng)責(zé)任(系統(tǒng)責(zé)任(system responsibilitiessystem responsibilities)即所開發(fā)的軟件)即所開發(fā)
4、的軟件系統(tǒng)應(yīng)該具備的職能系統(tǒng)應(yīng)該具備的職能. .4.1 4.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程4.1.1 4.1.1 概述概述5/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析uOOAOOA分析的過程分析的過程就是提取需求的就是提取需求的過程,主要包括過程,主要包括理解、表達和驗理解、表達和驗證。證。OOAOOA過程模型過程模型4.1 4.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程4.1.2 4.1.2 基本過程基本過程6/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析uOOAOOA過程由過程由5 5項主要活動組成:項主要活動組成:(1 1)識別問題域中
5、的類和對象)識別問題域中的類和對象(2 2)確定結(jié)構(gòu))確定結(jié)構(gòu)(3 3)確定主題)確定主題(4 4)定義屬性)定義屬性(5 5)定義服務(wù))定義服務(wù)4.1 4.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程4.1.2 4.1.2 基本過程基本過程7/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析uOOAOOA模型由模型由5 5個層組成:個層組成:(1 1)主題層)主題層, ,按模塊進行劃分按模塊進行劃分, ,從而降低模型的復(fù)雜程度從而降低模型的復(fù)雜程度; ;(2 2)類與對象層)類與對象層, ,描述了系統(tǒng)中的類與對象;描述了系統(tǒng)中的類與對象;(3 3)結(jié)構(gòu)層)結(jié)構(gòu)層, ,描述了類之間
6、的繼承關(guān)系和描述了類之間的繼承關(guān)系和“整體整體- -部分部分”結(jié)構(gòu)結(jié)構(gòu);(4 4)屬性層)屬性層, ,描述了屬性以及類和對象之間的實例連接;描述了屬性以及類和對象之間的實例連接;(5 5)服務(wù)層)服務(wù)層, ,描述了方法以及類和對象之間的消息連接。描述了方法以及類和對象之間的消息連接。 OOA OOA過程的過程的5 5項活動分別對應(yīng)項活動分別對應(yīng)OOAOOA模型的模型的5 5個層次個層次, ,這這5 5項項活動和活動和5 5個層次又繼續(xù)貫穿在個層次又繼續(xù)貫穿在OODOOD(面向?qū)ο蟮脑O(shè)計)過程(面向?qū)ο蟮脑O(shè)計)過程中。中。4.1 4.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程4.1.2 4
7、.1.2 基本過程基本過程8/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.1 4.1 面向?qū)ο蠓治龅幕具^程面向?qū)ο蠓治龅幕具^程9/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.1 4.1 面向?qū)ο蟮幕具^程面向?qū)ο蟮幕具^程 4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c 4.3 4.3 需求分析陳述需求分析陳述 4.4 4.4 面向?qū)ο蟮南到y(tǒng)分析活動面向?qū)ο蟮南到y(tǒng)分析活動4.5 4.5 建立對象模型建立對象模型4.6 4.6 建立動態(tài)模型建立動態(tài)模型4.7 4.7 建立功能模型建立功能模型 4.8 4.8 案例案例目錄目錄10/85第第4 4章章 面向
8、對象的系統(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析lOOAOOA的主要原則的主要原則(1 1)抽象原則。系統(tǒng)中的對象是對現(xiàn)實世界中事物的抽象;)抽象原則。系統(tǒng)中的對象是對現(xiàn)實世界中事物的抽象;類是系統(tǒng)中對象的抽象。類是系統(tǒng)中對象的抽象。(2 2)分類原則。就是把具有相同屬性和服務(wù)的對象劃分為一)分類原則。就是把具有相同屬性和服務(wù)的對象劃分為一 類,用類作為這些對象的抽象描述。類,用類作為這些對象的抽象描述。(3 3)聚合原則。聚合將一個復(fù)雜的事物看成由若干比較簡單)聚合原則。聚合將一個復(fù)雜的事物看成由若干比較簡單 的事物組合形成的,從而簡化對復(fù)雜事物的描述。的事物組合形成的,從而簡化對復(fù)雜事物的描述。4.2 4
9、.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c11/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析lOOAOOA的主要原則的主要原則(4 4)關(guān)聯(lián)原則。在面向?qū)ο蠓治鲞^程中,運用關(guān)聯(lián)原則可以)關(guān)聯(lián)原則。在面向?qū)ο蠓治鲞^程中,運用關(guān)聯(lián)原則可以 在系統(tǒng)模型中明確地標(biāo)識對象之間的靜態(tài)聯(lián)系。在系統(tǒng)模型中明確地標(biāo)識對象之間的靜態(tài)聯(lián)系。(5 5)消息通信原則。這一原則要求對象之間只能通過消息進)消息通信原則。這一原則要求對象之間只能通過消息進 行通信,而不允許在對象之外直接地存取對象內(nèi)部的屬行通信,而不允許在對象之外直接地存取對象內(nèi)部的屬 性。通過消息進行通信是由于封裝原則而引起的。性。通過消息進行
10、通信是由于封裝原則而引起的。(6 6)粒度控制原則。人在面對一個復(fù)雜的問題域時,需要控)粒度控制原則。人在面對一個復(fù)雜的問題域時,需要控 制自己的視野:考慮全局時,注意其大的組成部分,暫制自己的視野:考慮全局時,注意其大的組成部分,暫 時不詳察每一部分的具體的細節(jié);考慮某部分的細節(jié)時時不詳察每一部分的具體的細節(jié);考慮某部分的細節(jié)時 則暫時撇開其余的部分。則暫時撇開其余的部分。4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c12/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析lOOAOOA的主要優(yōu)點的主要優(yōu)點 (1 1)OOAOOA是在人類思維組織的基本方法框架下定義并表是在人類思
11、維組織的基本方法框架下定義并表達需求,直觀性好。達需求,直觀性好。 (2 2)便于分析人員集中精力于問題空間的理解和分析,)便于分析人員集中精力于問題空間的理解和分析,有利于超越系統(tǒng)的復(fù)雜性困難。有利于超越系統(tǒng)的復(fù)雜性困難。 (3 3)把屬性和有關(guān)服務(wù)方法作為對象整體來看待,比較)把屬性和有關(guān)服務(wù)方法作為對象整體來看待,比較自然。自然。 (4 4)使用對象間的最小相關(guān)性來分析和說明。這有利于)使用對象間的最小相關(guān)性來分析和說明。這有利于實行封裝性原則,并使實行封裝性原則,并使OOAOOA適應(yīng)開發(fā)需求的變化,也有適應(yīng)開發(fā)需求的變化,也有利于制作和提取可復(fù)用的部件。利于制作和提取可復(fù)用的部件。 4
12、.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c13/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析lOOAOOA的主要優(yōu)點的主要優(yōu)點 (5 5)通過對共性的顯式表示而提高表達能力。抽象層次)通過對共性的顯式表示而提高表達能力。抽象層次與后續(xù)與后續(xù)OOPOOP結(jié)合,編程思路清晰,特別是有利于提高程序結(jié)合,編程思路清晰,特別是有利于提高程序效率。效率。 (6 6)分析法與設(shè)計法的一致性,密切配合建造一個問題)分析法與設(shè)計法的一致性,密切配合建造一個問題域模型。域模型。 (7 7)對系統(tǒng)族的適用性和可擴展性強)對系統(tǒng)族的適用性和可擴展性強4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅?/p>
13、特點14/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.1 4.1 面向?qū)ο蟮幕具^程面向?qū)ο蟮幕具^程 4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c 4.3 4.3 需求分析陳述需求分析陳述 4.4 4.4 面向?qū)ο蟮南到y(tǒng)分析活動面向?qū)ο蟮南到y(tǒng)分析活動4.5 4.5 建立對象模型建立對象模型4.6 4.6 建立動態(tài)模型建立動態(tài)模型4.7 4.7 建立功能模型建立功能模型 4.8 4.8 案例案例目錄目錄15/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 面向?qū)ο笙到y(tǒng)分析的面向?qū)ο笙到y(tǒng)分析的基本出發(fā)點是問題域及用戶需求基本出發(fā)點是問題域及用戶需求。研。研究問題
14、域及用戶需求的主要目的是通過對問題域的深入研究問題域及用戶需求的主要目的是通過對問題域的深入研究,究,建立一個能夠滿足用戶需求的系統(tǒng)模型建立一個能夠滿足用戶需求的系統(tǒng)模型。面向?qū)ο蠓帧C嫦驅(qū)ο蠓治鰪娬{(diào)系統(tǒng)模型與問題域的緊密對應(yīng),對問題域的研究貫析強調(diào)系統(tǒng)模型與問題域的緊密對應(yīng),對問題域的研究貫穿于整個面向?qū)ο蠓治龉ぷ髦?。穿于整個面向?qū)ο蠓治龉ぷ髦小?對問題域的研究一般可以通過以下工作來完成:對問題域的研究一般可以通過以下工作來完成:親臨現(xiàn)場,通過觀察掌握第一手材料;親臨現(xiàn)場,通過觀察掌握第一手材料; 認真聽取問題域?qū)<业囊娊?;認真聽取問題域?qū)<业囊娊猓?閱讀與問題論域有關(guān)的材料,學(xué)習(xí)相關(guān)領(lǐng)域的
15、基本知識;閱讀與問題論域有關(guān)的材料,學(xué)習(xí)相關(guān)領(lǐng)域的基本知識; 借鑒相關(guān)或相似問題論域已有系統(tǒng)的借鑒相關(guān)或相似問題論域已有系統(tǒng)的OOAOOA文檔。文檔。4.3 4.3 需求分析陳述需求分析陳述16/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 用戶需求就是用戶對所要開發(fā)的系統(tǒng)提出的各種要求和期用戶需求就是用戶對所要開發(fā)的系統(tǒng)提出的各種要求和期望。用戶需求大致可以分為望。用戶需求大致可以分為2 2類:類:技術(shù)需求(功能需求、非功能需求、可用性需求等)技術(shù)需求(功能需求、非功能需求、可用性需求等)非技術(shù)需求(系統(tǒng)交付時間、資源使用限制等)非技術(shù)需求(系統(tǒng)交付時間、資源使用限制等)4.3
16、4.3 需求分析陳述需求分析陳述功能需求和非功能需求是系統(tǒng)分析人員首先要考慮的因素。功能需求和非功能需求是系統(tǒng)分析人員首先要考慮的因素。功能需求描述了系統(tǒng)可以做什么或被期望做什么,描述功能需求描述了系統(tǒng)可以做什么或被期望做什么,描述了系統(tǒng)的功能,在了系統(tǒng)的功能,在OOAOOA中可以使用用例來描述系統(tǒng)功能;中可以使用用例來描述系統(tǒng)功能;非功能需求描述了系統(tǒng)如何更好地提供功能服務(wù),可以非功能需求描述了系統(tǒng)如何更好地提供功能服務(wù),可以從性能、安全性、可靠性、可用性等方面來描述。從性能、安全性、可靠性、可用性等方面來描述。17/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 在對用戶需求的研
17、究中,系統(tǒng)分析員需要解決如下問題:在對用戶需求的研究中,系統(tǒng)分析員需要解決如下問題:系統(tǒng)需要提供哪些功能,要達到何種性能指標(biāo)以及可靠性系統(tǒng)需要提供哪些功能,要達到何種性能指標(biāo)以及可靠性、安全性要求,人機交互要求,系統(tǒng)的對外接口等。、安全性要求,人機交互要求,系統(tǒng)的對外接口等。 User caseUser case是用來收集和描述用戶需求的最好方法。即先標(biāo)是用來收集和描述用戶需求的最好方法。即先標(biāo)識使用該系統(tǒng)的不同的參與者識使用該系統(tǒng)的不同的參與者(actor)(actor)。參與者所提出的每。參與者所提出的每個使用場景(或功能)稱為一個用例,所有的用例則構(gòu)成完個使用場景(或功能)稱為一個用例,
18、所有的用例則構(gòu)成完整的系統(tǒng)需求。在這個過程中,很可能需要快速建立起原型整的系統(tǒng)需求。在這個過程中,很可能需要快速建立起原型系統(tǒng),以便與用戶更有效地交流。系統(tǒng),以便與用戶更有效地交流。4.3 4.3 需求分析陳述需求分析陳述18/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 需求陳述的內(nèi)容包括:問題范圍,功能需求,性能需求,需求陳述的內(nèi)容包括:問題范圍,功能需求,性能需求,應(yīng)用環(huán)境及假設(shè)條件等。應(yīng)用環(huán)境及假設(shè)條件等。 書寫需求陳述時,要盡力做到語法正確,而且應(yīng)該慎重選書寫需求陳述時,要盡力做到語法正確,而且應(yīng)該慎重選用名詞、動詞、形容詞和同義詞。用名詞、動詞、形容詞和同義詞。4.3
19、4.3 需求分析陳述需求分析陳述19/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析用例名:購買商品用例名:購買商品參與者:出納員參與者:出納員簡要描述:顧客帶著所要購買的商品來到收款處。收款員記簡要描述:顧客帶著所要購買的商品來到收款處。收款員記錄下商品信息并收款。付款完成后,顧客帶著所購買的商錄下商品信息并收款。付款完成后,顧客帶著所購買的商品和收據(jù)離開。品和收據(jù)離開。用例的簡要描述用例的簡要描述購買商品購買商品收款員收款員4.3 4.3 需求分析陳述需求分析陳述20/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析對對“取款取款”用例的非正式描用例的非正式描述述1 1)
20、用戶插入)用戶插入ATMATM卡并輸入密碼卡并輸入密碼2 2)用戶選擇取款并輸入取款數(shù)量)用戶選擇取款并輸入取款數(shù)量3 3)系統(tǒng)吐出現(xiàn)金,并從賬號余額中扣除取款數(shù))系統(tǒng)吐出現(xiàn)金,并從賬號余額中扣除取款數(shù)4.3 4.3 需求分析陳述需求分析陳述21/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.3 4.3 需求分析陳述需求分析陳述對對“取款取款”用例的完整描述用例的完整描述主參與者:主參與者:信用卡用戶信用卡用戶目標(biāo):目標(biāo): 用戶使用信用卡從用戶使用信用卡從ATMATM機獲取現(xiàn)金機獲取現(xiàn)金范圍:范圍:銀行銀行ATMATM系統(tǒng)系統(tǒng)前置條件:前置條件: 用戶將信用卡插入用戶將信用卡插入
21、ATMATM觸發(fā)事件:觸發(fā)事件: 用戶希望從用戶希望從ATMATM機上取現(xiàn)金機上取現(xiàn)金主事件流主事件流: 1 1)用戶插入信用卡到)用戶插入信用卡到ATMATM機機 2 2)ATMATM系統(tǒng)識別卡的系統(tǒng)識別卡的IDID和賬號,并用主銀行系統(tǒng)驗證其有和賬號,并用主銀行系統(tǒng)驗證其有效性效性 3 3)用戶輸入密碼,)用戶輸入密碼,ATMATM驗證其有效性驗證其有效性 4 4)用戶選擇取款,并輸入提取金額,該數(shù)額必須在)用戶選擇取款,并輸入提取金額,該數(shù)額必須在505050005000之間,之間,5050的倍數(shù)的倍數(shù)22/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.3 4.3 需求分析
22、陳述需求分析陳述對對“取款取款”用例的完整描述用例的完整描述主事件流主事件流: 5 5)ATMATM系統(tǒng)通知賬戶所在的主銀行系統(tǒng),傳遞賬號和取款系統(tǒng)通知賬戶所在的主銀行系統(tǒng),傳遞賬號和取款金額,并接受返回的確認信息和賬戶余額金額,并接受返回的確認信息和賬戶余額 6 6)ATMATM系統(tǒng)發(fā)放現(xiàn)金、卡,并打印收據(jù)系統(tǒng)發(fā)放現(xiàn)金、卡,并打印收據(jù) 7 7)ATMATM將事務(wù)記入日志將事務(wù)記入日志23/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.3 4.3 需求分析陳述需求分析陳述對對“取款取款”用例的完整描述用例的完整描述備選事件流:備選事件流: 2a2a:該卡不能在此:該卡不能在此AT
23、MATM機上使用機上使用 3a3a:密碼不正確:密碼不正確 3b3b:用戶沒有及時輸入密碼:用戶沒有及時輸入密碼 4a4a:金額不是:金額不是5050的倍數(shù),或不在指定范圍的倍數(shù),或不在指定范圍 5a5a:主機死機或網(wǎng)絡(luò)癱瘓:主機死機或網(wǎng)絡(luò)癱瘓 5b5b:賬戶余額不足:賬戶余額不足發(fā)生頻率:發(fā)生頻率: 一天一天10001000次次24/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.1 4.1 面向?qū)ο蟮幕具^程面向?qū)ο蟮幕具^程 4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c 4.3 4.3 需求分析陳述需求分析陳述 4.4 4.4 面向?qū)ο蟮南到y(tǒng)分析活動面向?qū)ο蟮南到y(tǒng)分析
24、活動4.5 4.5 建立對象模型建立對象模型4.6 4.6 建立動態(tài)模型建立動態(tài)模型4.7 4.7 建立功能模型建立功能模型 4.8 4.8 案例案例目錄目錄25/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 獲取對象和類獲取對象和類 確定關(guān)聯(lián)確定關(guān)聯(lián) 確定主題確定主題 確定屬性確定屬性 確定方法確定方法 4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動26/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 獲取對象和類獲取對象和類 面向?qū)ο笙到y(tǒng)分析過程如人的認識過程一樣,從個別面向?qū)ο笙到y(tǒng)分析過程如人的認識過程一樣,從個別事物認識上升到一般概念的歸納過程,這就
25、是認識事物的事物認識上升到一般概念的歸納過程,這就是認識事物的抽象過程。然后,在一般概念的指導(dǎo)下,再對事物進行認抽象過程。然后,在一般概念的指導(dǎo)下,再對事物進行認識與分析。識與分析。 在在OOOO建模和建模和OOPOOP中,所有的對象都是通過類來描述的,中,所有的對象都是通過類來描述的,類是具有相同屬性和操作的一組對象的集合。類是具有相同屬性和操作的一組對象的集合。OOAOOA活動的最活動的最終目標(biāo)是建立所有對象的類。終目標(biāo)是建立所有對象的類。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動27/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u在識別問題域可能有用的候選對
26、象時,可以從以下三個面在識別問題域可能有用的候選對象時,可以從以下三個面入手:入手:從問題域方面出發(fā)從問題域方面出發(fā),可以啟發(fā)分析員發(fā)現(xiàn)對象的因素包括,可以啟發(fā)分析員發(fā)現(xiàn)對象的因素包括:人員、組織、物品、設(shè)備、事件、表格、結(jié)構(gòu)等。:人員、組織、物品、設(shè)備、事件、表格、結(jié)構(gòu)等。從系統(tǒng)邊界方面出發(fā)從系統(tǒng)邊界方面出發(fā),應(yīng)該考慮的因素包括:人員、設(shè)備,應(yīng)該考慮的因素包括:人員、設(shè)備和外部系統(tǒng),它們是否與所要開發(fā)的系統(tǒng)有交互行為,如和外部系統(tǒng),它們是否與所要開發(fā)的系統(tǒng)有交互行為,如果有,那么它們就是候選對象。果有,那么它們就是候選對象。從系統(tǒng)責(zé)任出發(fā)從系統(tǒng)責(zé)任出發(fā),對照系統(tǒng)責(zé)任所要求的每一項功能,查,對
27、照系統(tǒng)責(zé)任所要求的每一項功能,查看是否可以由已找出的對象來完成該功能,在不能滿足要看是否可以由已找出的對象來完成該功能,在不能滿足要求時增加相應(yīng)的對象,可以使系統(tǒng)分析員盡可能全地找出求時增加相應(yīng)的對象,可以使系統(tǒng)分析員盡可能全地找出所需的各種對象。所需的各種對象。 4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.1 4.4.1 獲取對象和類獲取對象和類4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動28/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面
28、向?qū)ο蟮南到y(tǒng)分析u在找到許多可能有用的候選對象之后,需要對它們進行在找到許多可能有用的候選對象之后,需要對它們進行逐個審查,分析它們是否是逐個審查,分析它們是否是OOAOOA模型所真正需要的,從模型所真正需要的,從而篩選掉一些對象,或精簡及合并一些對象,以及將一而篩選掉一些對象,或精簡及合并一些對象,以及將一些對象推遲到些對象推遲到OODOOD階段再進行考慮。階段再進行考慮。u系統(tǒng)對象判斷的標(biāo)準(zhǔn)就是這些對象是否為系統(tǒng)提供了有系統(tǒng)對象判斷的標(biāo)準(zhǔn)就是這些對象是否為系統(tǒng)提供了有用的屬性和服務(wù)。用的屬性和服務(wù)。u確定最終對象的原則:需要保留的信息、需要的服務(wù)、確定最終對象的原則:需要保留的信息、需要的
29、服務(wù)、具有多個屬性、具有公共屬性及操作。具有多個屬性、具有公共屬性及操作。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.1 4.4.1 獲取對象和類獲取對象和類29/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u抽象出對象類的常見問題:抽象出對象類的常見問題:(1) (1) 類的屬性或服務(wù)不適合該類的全部對象類的屬性或服務(wù)不適合該類的全部對象( (不完全不完全) ) ;(2) (2) 出現(xiàn)屬性和服務(wù)相似的類出現(xiàn)屬性和服務(wù)相似的類( (冗余冗余) ) ;(3) (3) 出現(xiàn)對同一事物的重復(fù)描述。出現(xiàn)對同一事物的重復(fù)描述。4.4 4.4 面相對象的系統(tǒng)分析活動面相
30、對象的系統(tǒng)分析活動4.4.1 4.4.1 獲取對象和類獲取對象和類30/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析uOOAOOA中要正確運用抽象原則:中要正確運用抽象原則:首先是擯棄與系統(tǒng)責(zé)任無關(guān)的事物,專注于系統(tǒng)責(zé)任首先是擯棄與系統(tǒng)責(zé)任無關(guān)的事物,專注于系統(tǒng)責(zé)任所涉及的事物,把它們作為系統(tǒng)責(zé)任的候選對象。所涉及的事物,把它們作為系統(tǒng)責(zé)任的候選對象。其次,描述候選對象的相應(yīng)特征,對這些特征進行認其次,描述候選對象的相應(yīng)特征,對這些特征進行認真分析,舍棄與系統(tǒng)責(zé)任無關(guān)的特征,只保留與系統(tǒng)真分析,舍棄與系統(tǒng)責(zé)任無關(guān)的特征,只保留與系統(tǒng)責(zé)任有關(guān)的特征,然后將這些特征抽象為對象的屬性責(zé)任
31、有關(guān)的特征,然后將這些特征抽象為對象的屬性和操作。和操作。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.1 4.4.1 獲取對象和類獲取對象和類31/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u判斷問題域事物是否與系統(tǒng)責(zé)任有關(guān),可以從以下判斷問題域事物是否與系統(tǒng)責(zé)任有關(guān),可以從以下3 3方方面進行:面進行:是否向系統(tǒng)輸入信息,也就是說,系統(tǒng)是否要保留是否向系統(tǒng)輸入信息,也就是說,系統(tǒng)是否要保留或管理這些信息?;蚬芾磉@些信息。是否從系統(tǒng)接受信息,或者說事物是否需要系統(tǒng)提是否從系統(tǒng)接受信息,或者說事物是否需要系統(tǒng)提供信息。供信息。既向系統(tǒng)輸入信息,也需要系統(tǒng)提供
32、信息。既向系統(tǒng)輸入信息,也需要系統(tǒng)提供信息。4.4.1 4.4.1 獲取對象和類獲取對象和類4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動32/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u關(guān)聯(lián)是指問題域的復(fù)雜性和連接關(guān)系。關(guān)聯(lián)是指問題域的復(fù)雜性和連接關(guān)系。u當(dāng)兩個或多個類之間有相互依賴、相互作用的關(guān)系就是當(dāng)兩個或多個類之間有相互依賴、相互作用的關(guān)系就是關(guān)聯(lián)關(guān)聯(lián) 。一個面向?qū)ο蟮南到y(tǒng)中,類之間存在以下四種關(guān)。一個面向?qū)ο蟮南到y(tǒng)中,類之間存在以下四種關(guān)系:系:一般一般特殊特殊整體整體部分部分 關(guān)聯(lián)關(guān)聯(lián) 依賴關(guān)系依賴關(guān)系 4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系
33、統(tǒng)分析活動4.4.2 4.4.2 確定關(guān)聯(lián)確定關(guān)聯(lián) 33/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析1.1.一般一般特殊結(jié)構(gòu)特殊結(jié)構(gòu) 一般一般特殊關(guān)系又稱類屬關(guān)系,是現(xiàn)實世界中一般對特殊關(guān)系又稱類屬關(guān)系,是現(xiàn)實世界中一般對象和特殊對象之間的關(guān)系,反映了現(xiàn)實世界中事物之象和特殊對象之間的關(guān)系,反映了現(xiàn)實世界中事物之間的分類關(guān)系。前者稱為父類,后者稱為子類,子類間的分類關(guān)系。前者稱為父類,后者稱為子類,子類繼承父類的特性(屬性、操作、關(guān)聯(lián)等),同時又擁繼承父類的特性(屬性、操作、關(guān)聯(lián)等),同時又擁有自己的特性。有自己的特性。 4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活
34、動4.4.24.4.2確定關(guān)聯(lián)確定關(guān)聯(lián) 34/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析1.1.一般一般特殊結(jié)構(gòu)特殊結(jié)構(gòu) 確定了類中應(yīng)該定義的屬性之后,就可以利用繼承確定了類中應(yīng)該定義的屬性之后,就可以利用繼承機制共享公共性質(zhì),并對系統(tǒng)中眾多的類加以組織。機制共享公共性質(zhì),并對系統(tǒng)中眾多的類加以組織。 建立繼承關(guān)系的方式:建立繼承關(guān)系的方式:(1 1)自底向上:抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,)自底向上:抽象出現(xiàn)有類的共同性質(zhì)泛化出父類,這個過程實質(zhì)上模擬了人類歸納思維過程。這個過程實質(zhì)上模擬了人類歸納思維過程。(2 2) 自頂向下:自頂向下: 把現(xiàn)有類細化成更具體的子類,這模
35、把現(xiàn)有類細化成更具體的子類,這模擬了人類的演繹思維過程。擬了人類的演繹思維過程。 4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.24.4.2確定關(guān)聯(lián)確定關(guān)聯(lián) 35/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 例如圖書借閱管理系統(tǒng)例如圖書借閱管理系統(tǒng)中,對象類中,對象類“人員人員”是類是類“管理員管理員”和和“借閱者借閱者”類的類的父類,而子類父類,而子類“管理員管理員”又又是類是類“系統(tǒng)維護人員系統(tǒng)維護人員”和類和類“一般操作人員一般操作人
36、員”的父類。的父類。一般一般特殊關(guān)系特殊關(guān)系4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.24.4.2確定關(guān)聯(lián)確定關(guān)聯(lián) 36/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析2.2.整體整體部分部分 對象實例之間的整體對象實例之間的整體部分關(guān)系,反映了現(xiàn)實世部分關(guān)系,反映了現(xiàn)實世界中的事物之間的構(gòu)成關(guān)系。整體界中的事物之間的構(gòu)成關(guān)系。整體部分關(guān)聯(lián)又可以部分關(guān)聯(lián)又可以從兩個方面來反映:從兩個方面來反映:u聚合關(guān)系聚合關(guān)系 表示對象實例之間的整體與部分的關(guān)系,作為表示對象實例之間的整體與部分的關(guān)系,作為整體的對象擁有作為部分的對象。整體的對象擁有作為部分的對象。 u組
37、合關(guān)系組合關(guān)系 是聚合關(guān)系的一種特殊形式。在組合關(guān)系中,是聚合關(guān)系的一種特殊形式。在組合關(guān)系中,整體和部分之間有著很緊密的關(guān)系和一致的生命周整體和部分之間有著很緊密的關(guān)系和一致的生命周期。期。 4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.24.4.2確定關(guān)聯(lián)確定關(guān)聯(lián) 37/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.24.4.2確定關(guān)聯(lián)確定關(guān)聯(lián) 38/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析3.3.關(guān)聯(lián)關(guān)聯(lián) 表示對象實例之間的靜態(tài)聯(lián)系,這兩個對象實例之表示對象實例之間的靜態(tài)聯(lián)
38、系,這兩個對象實例之間存在某種語義上聯(lián)系。例如,員工為公司工作,一個間存在某種語義上聯(lián)系。例如,員工為公司工作,一個公司有許多部門,因此,可以認為員工和公司、公司和公司有許多部門,因此,可以認為員工和公司、公司和部門之間存在某種語義上的聯(lián)系,如下圖所示。部門之間存在某種語義上的聯(lián)系,如下圖所示。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.24.4.2確定關(guān)聯(lián)確定關(guān)聯(lián) 39/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.4.依賴關(guān)系依賴關(guān)系 一個模型元素的變化影響另一個模型元素,則兩個元一個模型元素的變化影響另一個模型元素,則兩個元素之間存在依賴關(guān)系。以素之
39、間存在依賴關(guān)系。以X X和和Y Y兩個元素為例,當(dāng)修改兩個元素為例,當(dāng)修改X X的的定義時,引起定義時,引起Y Y的定義的修改,則稱的定義的修改,則稱Y Y依賴于依賴于X X。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.24.4.2確定關(guān)聯(lián)確定關(guān)聯(lián) 40/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 主題是指事物的總體概貌和總體分析模型。在開發(fā)大型、主題是指事物的總體概貌和總體分析模型。在開發(fā)大型、復(fù)雜系統(tǒng)的過程中,為了降低復(fù)雜程度,人們習(xí)慣于把復(fù)雜系復(fù)雜系統(tǒng)的過程中,為了降低復(fù)雜程度,人們習(xí)慣于把復(fù)雜系統(tǒng)進一步劃分為幾個不同的主題,即在概念上把系統(tǒng)包含的內(nèi)
40、統(tǒng)進一步劃分為幾個不同的主題,即在概念上把系統(tǒng)包含的內(nèi)容分解成幾個小的范疇。容分解成幾個小的范疇。 對于一個復(fù)雜的系統(tǒng),一般情況下在獲取對象與類、確定對于一個復(fù)雜的系統(tǒng),一般情況下在獲取對象與類、確定結(jié)構(gòu)之后,然后劃分主題。這樣有利于系統(tǒng)開發(fā)人員觀察整個結(jié)構(gòu)之后,然后劃分主題。這樣有利于系統(tǒng)開發(fā)人員觀察整個系統(tǒng)模型。系統(tǒng)模型。主題的劃分不是按照功能進行分解的,而是按照問主題的劃分不是按照功能進行分解的,而是按照問題域進行劃分題域進行劃分的。另外,的。另外,遵循最少原則進行主題劃分遵循最少原則進行主題劃分,即不同,即不同主題內(nèi)的對象之間依賴和交互關(guān)系最少。主題內(nèi)的對象之間依賴和交互關(guān)系最少。4.
41、4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.3 4.4.3 確定主題確定主題 41/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 從本質(zhì)上講,屬性定義了對象??蓮膯栴}的陳述中或從本質(zhì)上講,屬性定義了對象??蓮膯栴}的陳述中或通過對類的理解而標(biāo)識出屬性。通過對類的理解而標(biāo)識出屬性。 對象的屬性是描述對象靜態(tài)特征的,確定對象屬性時對象的屬性是描述對象靜態(tài)特征的,確定對象屬性時要從問題域和目標(biāo)系統(tǒng)兩方面進行。一般說來,確定屬性要從問題域和目標(biāo)系統(tǒng)兩方面進行。一般說來,確定屬性的過程包括的過程包括分析分析和和選擇選擇兩個步驟。兩個步驟。4.4 4.4 面相對象的系統(tǒng)分析活
42、動面相對象的系統(tǒng)分析活動4.4.4 4.4.4 確定屬性確定屬性 42/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析1.1.分析分析 從以下角度去確定對象應(yīng)具有的屬性:從以下角度去確定對象應(yīng)具有的屬性: 按一般常識,該對象應(yīng)具有哪些屬性;按一般常識,該對象應(yīng)具有哪些屬性; 在當(dāng)前問題論域中,該對象應(yīng)具有哪些屬性;在當(dāng)前問題論域中,該對象應(yīng)具有哪些屬性; 根據(jù)系統(tǒng)責(zé)任的要求,該對象應(yīng)具有哪些屬性;根據(jù)系統(tǒng)責(zé)任的要求,該對象應(yīng)具有哪些屬性; 建立該對象是為了保存和管理哪些信息;建立該對象是為了保存和管理哪些信息; 對象為了在服務(wù)中實現(xiàn)其功能,需要增設(shè)哪些屬性;對象為了在服務(wù)中實現(xiàn)其功能
43、,需要增設(shè)哪些屬性; 是否需要增設(shè)屬性來區(qū)別對象的不同狀態(tài);是否需要增設(shè)屬性來區(qū)別對象的不同狀態(tài); 用什么屬性來表示對象的整體部分聯(lián)系和實例連接用什么屬性來表示對象的整體部分聯(lián)系和實例連接4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.4 4.4.4 確定屬性確定屬性 43/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析2.2.選擇選擇 刪掉不正確的或不必要的屬性,通常有以下幾種常見情況:刪掉不正確的或不必要的屬性,通常有以下幾種常見情況:誤把對象當(dāng)作屬性誤把對象當(dāng)作屬性; ;如果某個實體的獨立存在比它的值更重如果某個實體的獨立存在比它的值更重要,則應(yīng)把它作為一個
44、對象而不是對象的屬性。在具體應(yīng)要,則應(yīng)把它作為一個對象而不是對象的屬性。在具體應(yīng)用領(lǐng)域中具有自身性質(zhì)的實體,必然是對象。用領(lǐng)域中具有自身性質(zhì)的實體,必然是對象。誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬性誤把關(guān)聯(lián)類的屬性當(dāng)作一般對象的屬性; ;如果某個性質(zhì)依賴如果某個性質(zhì)依賴于某個關(guān)聯(lián)鏈的存在于某個關(guān)聯(lián)鏈的存在; ;則該性質(zhì)是關(guān)聯(lián)類的屬性,在分析階則該性質(zhì)是關(guān)聯(lián)類的屬性,在分析階段不應(yīng)該把它作為一般對象的屬性。段不應(yīng)該把它作為一般對象的屬性。把限定誤當(dāng)成屬性把限定誤當(dāng)成屬性; ;正確使用限定詞往往可以減少關(guān)聯(lián)的重正確使用限定詞往往可以減少關(guān)聯(lián)的重數(shù)。數(shù)。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系
45、統(tǒng)分析活動4.4.4 4.4.4 確定屬性確定屬性 44/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析誤把內(nèi)部狀態(tài)當(dāng)成了屬性誤把內(nèi)部狀態(tài)當(dāng)成了屬性; ;如果某個性質(zhì)是對象的非公開如果某個性質(zhì)是對象的非公開的內(nèi)部狀態(tài),則應(yīng)該從對象模型中刪掉這個屬性。的內(nèi)部狀態(tài),則應(yīng)該從對象模型中刪掉這個屬性。過于細化過于細化; ;在分析階段應(yīng)該忽略那些對大多數(shù)操作都沒有在分析階段應(yīng)該忽略那些對大多數(shù)操作都沒有影響的屬性。影響的屬性。存在不一致的屬性存在不一致的屬性; ;類應(yīng)該是簡單而且一致的。如果得出類應(yīng)該是簡單而且一致的。如果得出一些看起來與其他屬性毫不相關(guān)的屬性,則應(yīng)該考慮把該一些看起來與其他屬
46、性毫不相關(guān)的屬性,則應(yīng)該考慮把該類分解成兩個不同的類。類分解成兩個不同的類。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.4 4.4.4 確定屬性確定屬性 45/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 方法,也稱服務(wù)、操作或行為等,用來描述對象的動方法,也稱服務(wù)、操作或行為等,用來描述對象的動態(tài)特征。有的面向?qū)ο蟮某绦蛟O(shè)計語言中,又將服務(wù)稱之態(tài)特征。有的面向?qū)ο蟮某绦蛟O(shè)計語言中,又將服務(wù)稱之為類的成員函數(shù)或簡稱函數(shù)。一般從以下幾個方面發(fā)現(xiàn)和為類的成員函數(shù)或簡稱函數(shù)。一般從以下幾個方面發(fā)現(xiàn)和定義對象方法:定義對象方法: u系統(tǒng)責(zé)任系統(tǒng)責(zé)任 u問題域問題域
47、u對象狀態(tài)對象狀態(tài) (狀態(tài)機圖)(狀態(tài)機圖)4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.5 4.4.5 確定方法確定方法 46/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析1.1.系統(tǒng)責(zé)任系統(tǒng)責(zé)任 在在OOAOOA模型中,對象的操作是最直接體現(xiàn)系統(tǒng)責(zé)任并實現(xiàn)模型中,對象的操作是最直接體現(xiàn)系統(tǒng)責(zé)任并實現(xiàn)用戶需求的成分,分析研究用戶需求中提出的每一項功能用戶需求的成分,分析研究用戶需求中提出的每一項功能要求,這些功能要求應(yīng)該由哪對象來提供,從而在該對象要求,這些功能要求應(yīng)該由哪對象來提供,從而在該對象中設(shè)立相應(yīng)的方法。中設(shè)立相應(yīng)的方法。 從對象的角度出發(fā),分析這
48、個對象是否應(yīng)該設(shè)立,它能完從對象的角度出發(fā),分析這個對象是否應(yīng)該設(shè)立,它能完成哪些功能。由該對象完成的功能就是這個對象的方法。成哪些功能。由該對象完成的功能就是這個對象的方法。 從信息的輸入、加工、輸出的流程出發(fā),在整個信息流中從信息的輸入、加工、輸出的流程出發(fā),在整個信息流中涉及哪些對象?這些對象是如何處理這些信息的?對象完涉及哪些對象?這些對象是如何處理這些信息的?對象完成信息處理的功能就是對象的方法。成信息處理的功能就是對象的方法。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.5 4.4.5 確定方法確定方法 47/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南?/p>
49、統(tǒng)分析2.2.問題域問題域 從問題域出發(fā),考慮每個對象所代表的實際事物在問從問題域出發(fā),考慮每個對象所代表的實際事物在問題域中呈現(xiàn)哪些行為?這些行為是否與系統(tǒng)責(zé)任有關(guān)?在題域中呈現(xiàn)哪些行為?這些行為是否與系統(tǒng)責(zé)任有關(guān)?在系統(tǒng)中應(yīng)該為這些對象設(shè)立何種方法?系統(tǒng)中應(yīng)該為這些對象設(shè)立何種方法?3.3.對象狀態(tài)對象狀態(tài) 對象從創(chuàng)建到撤銷要經(jīng)歷一對象從創(chuàng)建到撤銷要經(jīng)歷一系列的狀態(tài),從一種狀態(tài)系列的狀態(tài),從一種狀態(tài)轉(zhuǎn)移為另一種狀態(tài)是由某個操作引起的。對象的狀態(tài)和狀轉(zhuǎn)移為另一種狀態(tài)是由某個操作引起的。對象的狀態(tài)和狀態(tài)之間的轉(zhuǎn)移可以通過狀態(tài)機圖來描繪。狀態(tài)機圖就是確態(tài)之間的轉(zhuǎn)移可以通過狀態(tài)機圖來描繪。狀態(tài)機圖
50、就是確定對象操作的手段之一。定對象操作的手段之一。4.4 4.4 面相對象的系統(tǒng)分析活動面相對象的系統(tǒng)分析活動4.4.5 4.4.5 確定方法確定方法 48/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.1 4.1 面向?qū)ο蟮幕具^程面向?qū)ο蟮幕具^程 4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c 4.3 4.3 需求分析陳述需求分析陳述 4.4 4.4 面向?qū)ο蟮南到y(tǒng)分析活動面向?qū)ο蟮南到y(tǒng)分析活動4.5 4.5 建立對象模型建立對象模型4.6 4.6 建立動態(tài)模型建立動態(tài)模型4.7 4.7 建立功能模型建立功能模型 4.8 4.8 案例案例目錄目錄49/85第第4 4章
51、章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析 面向?qū)ο蠓治鍪滓墓ぷ?,是面向?qū)ο蠓治鍪滓墓ぷ?,是建立問題域的對象模型建立問題域的對象模型。這個。這個模型描述了現(xiàn)實世界中的模型描述了現(xiàn)實世界中的“類與對象類與對象”以及它們之間的關(guān)系以及它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。 OOAOOA基本模型分為三個層次:基本模型分為三個層次:u對象層對象層給出系統(tǒng)中所有反映問題域和系統(tǒng)責(zé)任的對象。給出系統(tǒng)中所有反映問題域和系統(tǒng)責(zé)任的對象。u特征層特征層給出類(對象)的內(nèi)部特征,即類的屬性和操作給出類(對象)的內(nèi)部特征,即類的屬性和操作u關(guān)系層關(guān)系層給出各類(對象)之間的
52、關(guān)系,即類之間的四種給出各類(對象)之間的關(guān)系,即類之間的四種關(guān)系。關(guān)系。4.5 4.5 建立對象模型建立對象模型50/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析1.1.類圖類圖 類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),它不僅定義系統(tǒng)中類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),它不僅定義系統(tǒng)中的類,表示類之間的關(guān)系(如關(guān)聯(lián)、依賴、聚集等),也的類,表示類之間的關(guān)系(如關(guān)聯(lián)、依賴、聚集等),也表達類的內(nèi)部結(jié)構(gòu)(即類的屬性和操作)。類圖描述的這表達類的內(nèi)部結(jié)構(gòu)(即類的屬性和操作)。類圖描述的這種靜態(tài)關(guān)系涉及軟件系統(tǒng)開發(fā)的整個生命周期。種靜態(tài)關(guān)系涉及軟件系統(tǒng)開發(fā)的整個生命周期。 4.5 4.5 建立對象模型建立
53、對象模型51/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析1.1.類圖類圖 類一般包含類一般包含3 3個組成部分:類名、屬性、方法。個組成部分:類名、屬性、方法。4.5 4.5 建立對象模型建立對象模型52/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析建筑設(shè)計院公文審批類圖建筑設(shè)計院公文審批類圖 53/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u類圖使用方式類圖使用方式對系統(tǒng)的靜態(tài)對象建模。如圖書借閱系統(tǒng)的對系統(tǒng)的靜態(tài)對象建模。如圖書借閱系統(tǒng)的BookBook類、類、readerreader類,學(xué)生管理系統(tǒng)的類,學(xué)生管理系統(tǒng)的StudentStudent類
54、等。類等。對簡單的協(xié)作建模。協(xié)作是一些共同行為的類、接口和其對簡單的協(xié)作建模。協(xié)作是一些共同行為的類、接口和其他元素的群體。他元素的群體。對邏輯數(shù)據(jù)庫模式建模。在很多領(lǐng)域中,都需要在關(guān)系數(shù)對邏輯數(shù)據(jù)庫模式建模。在很多領(lǐng)域中,都需要在關(guān)系數(shù)據(jù)庫或面向?qū)ο髷?shù)據(jù)庫中存儲永久信息,系統(tǒng)分析者可以據(jù)庫或面向?qū)ο髷?shù)據(jù)庫中存儲永久信息,系統(tǒng)分析者可以用類圖對這些需要永久化的實體建模。用類圖對這些需要永久化的實體建模。4.5 4.5 建立對象模型建立對象模型54/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u類的表示方式有兩種即:全部顯示類的屬性和操作,或者類的表示方式有兩種即:全部顯示類的屬性和
55、操作,或者隱藏屬性部分或操作部分,或者兩者都隱藏。隱藏屬性部分或操作部分,或者兩者都隱藏。4.5 4.5 建立對象模型建立對象模型55/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析2.2.對象圖對象圖對象圖表示在某一時刻系統(tǒng)對象的狀態(tài)、對象之間的聯(lián)系對象圖表示在某一時刻系統(tǒng)對象的狀態(tài)、對象之間的聯(lián)系的狀態(tài)以及對象行為的靜態(tài)方面的狀態(tài)。對象圖和類圖一的狀態(tài)以及對象行為的靜態(tài)方面的狀態(tài)。對象圖和類圖一樣反映系統(tǒng)的靜態(tài)過程,但它是從實際的或原型化的情景樣反映系統(tǒng)的靜態(tài)過程,但它是從實際的或原型化的情景來表達的。來表達的。對象圖是類圖的實例,幾乎使用與類圖完全相同的標(biāo)識。對象圖是類圖的實例
56、,幾乎使用與類圖完全相同的標(biāo)識。它們的不同點在于對象圖顯示類的多個對象實例,而不是它們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。4.5 4.5 建立對象模型建立對象模型56/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析2.2.對象圖對象圖4.5 4.5 建立對象模型建立對象模型:辦公室工作人員:辦公室工作人員:辦公室主任:辦公室主任 對象只有兩個分欄(名稱、屬性);對象的名稱形式為對象只有兩
57、個分欄(名稱、屬性);對象的名稱形式為“對象名對象名: :類名類名”;匿名對象的名稱形式為;匿名對象的名稱形式為“: :類名類名”;對象;對象只定義了屬性的當(dāng)前值;對象圖中不包含操作;對象使用鏈只定義了屬性的當(dāng)前值;對象圖中不包含操作;對象使用鏈連接,鏈擁有名稱、角色,但是沒有多重性。連接,鏈擁有名稱、角色,但是沒有多重性。 57/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u對象圖的用途:對象圖的用途:捕獲實例和連接捕獲實例和連接在分析和設(shè)計階段創(chuàng)建在分析和設(shè)計階段創(chuàng)建捕獲交互的靜態(tài)部分捕獲交互的靜態(tài)部分舉例說明數(shù)據(jù)舉例說明數(shù)據(jù)/ /對象結(jié)構(gòu)對象結(jié)構(gòu)詳細描述瞬態(tài)圖詳細描述瞬態(tài)圖由
58、分析人員、設(shè)計人員和代碼實現(xiàn)人員開發(fā)由分析人員、設(shè)計人員和代碼實現(xiàn)人員開發(fā)4.5 4.5 建立對象模型建立對象模型2.2.對象圖對象圖58/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u包(包(PackagePackage)是一種常規(guī)用途的組合機制。)是一種常規(guī)用途的組合機制。UMLUML中的一個中的一個包直接對應(yīng)于包直接對應(yīng)于JavaJava中的一個包。在中的一個包。在JavaJava中,一個包可能含中,一個包可能含有其他包、類或者同時含有這兩者。進行建模時,通常使有其他包、類或者同時含有這兩者。進行建模時,通常使用邏輯性的包,用于對模型進行組織;使用物理性的包,用邏輯性的包,用
59、于對模型進行組織;使用物理性的包,用于轉(zhuǎn)換成系統(tǒng)中的用于轉(zhuǎn)換成系統(tǒng)中的JavaJava包。每個包的名稱對這個包進行包。每個包的名稱對這個包進行了惟一性的標(biāo)識。了惟一性的標(biāo)識。4.5 4.5 建立對象模型建立對象模型3.3.包圖包圖59/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析u包圖建模:包圖建模:將一個框架的所有類放置在相同的包中;將一個框架的所有類放置在相同的包中;將相同繼承層次的類放在相同的包中;將相同繼承層次的類放在相同的包中;彼此間有聚集或組成關(guān)系的類通常放在相同的包中;彼此間有聚集或組成關(guān)系的類通常放在相同的包中;彼此合作頻繁的類、信息能夠通過彼此合作頻繁的類、信息能
60、夠通過UMLUML順序圖和順序圖和UMLUML合作圖合作圖反映出來的類,通常放在相同的包中;反映出來的類,通常放在相同的包中;確定包與包之間的依賴關(guān)系或泛化關(guān)系。確定包與包之間的依賴關(guān)系或泛化關(guān)系。 4.5 4.5 建立對象模型建立對象模型60/85第第4 4章章 面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蟮南到y(tǒng)分析4.1 4.1 面向?qū)ο蟮幕具^程面向?qū)ο蟮幕具^程 4.2 4.2 面向?qū)ο蠓治龅奶攸c面向?qū)ο蠓治龅奶攸c 4.3 4.3 需求分析陳述需求分析陳述 4.4 4.4 面向?qū)ο蟮南到y(tǒng)分析活動面向?qū)ο蟮南到y(tǒng)分析活動4.5 4.5 建立對象模型建立對象模型4.6 4.6 建立動態(tài)模型建立動態(tài)模型4.7
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職教育學(xué)(班級管理基礎(chǔ))試題及答案
- 2025年中職(護理)無菌操作試題及答案
- 2025年大學(xué)環(huán)境保護(環(huán)境影響評價)試題及答案
- 2025年大學(xué)美術(shù)類(素描基礎(chǔ)訓(xùn)練)試題及答案
- 2025年高職農(nóng)業(yè)機械應(yīng)用技術(shù)(農(nóng)機故障診斷)試題及答案
- 2025年中職能源動力類(能源基礎(chǔ)常識)試題及答案
- 2025年大學(xué)健康運營管理(管理技術(shù))試題及答案
- 2025年大學(xué)大三(水利工程管理)水庫調(diào)度運行綜合測試試題及答案
- 2025年高職第二學(xué)年(房地產(chǎn)經(jīng)營與管理)房產(chǎn)租賃專項測試試題及答案
- 2025年中職(烹飪工藝與營養(yǎng))中式面點制作基礎(chǔ)試題及答案
- 史海啟智心育潤心:高中歷史教學(xué)與心理健康教育的融合探索
- 產(chǎn)品推廣項目管理辦法
- (2025秋新版)人教版二年級數(shù)學(xué)上冊全冊教案(教學(xué)設(shè)計)
- 內(nèi)科護理副高答辯題庫及答案
- 小學(xué)無廢校園教學(xué)課件
- 地產(chǎn)公司品牌策劃方案
- 2025年高考真題-化學(xué)(黑吉遼卷) 含答案(黑龍江、吉林、遼寧、內(nèi)蒙古)
- 初三英語閱讀競賽含答案
- 中學(xué)生英語詞匯表3500(全)
- 2025年全國基層退役軍人服務(wù)中心(站)工作人員職業(yè)技能競賽備考試題庫(含答案)
- 物業(yè)催費技巧培訓(xùn)
評論
0/150
提交評論