版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院1第9章對(duì)象分析本章內(nèi)容:9.1對(duì)象、主動(dòng)對(duì)象以及它們的類(lèi)9.2研究問(wèn)題域和用戶(hù)需求9.3發(fā)現(xiàn)對(duì)象9.4對(duì)象的發(fā)現(xiàn)和標(biāo)識(shí)9.5對(duì)象分類(lèi),建立類(lèi)圖的對(duì)象層9.6對(duì)象的屬性和服務(wù)9.7定義屬性9.8定義服務(wù)9.9應(yīng)用實(shí)例2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院29.1對(duì)象、主動(dòng)對(duì)象以及它們的類(lèi)1.對(duì)象對(duì)象的定義是:對(duì)象是對(duì)問(wèn)題域中某個(gè)實(shí)體的抽象,這種抽象反映了系統(tǒng)保存有關(guān)這個(gè)實(shí)體的信息或與它交互的能力。它既可以是具體的物理實(shí)體的抽象,也可以是人為的概念,或者是任何有明確邊界和意義的東西。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院32.類(lèi)在面向?qū)ο蟮能浖夹g(shù)中,“類(lèi)”就是對(duì)具有相同數(shù)據(jù)和相同操作的一組相似對(duì)象的定義,也就是說(shuō),類(lèi)是對(duì)具有相同屬性和行為的一個(gè)或多個(gè)對(duì)象的描述,通常在這種描述中也包括對(duì)怎樣創(chuàng)建該類(lèi)的新對(duì)象的說(shuō)明。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院43.主動(dòng)對(duì)象主動(dòng)對(duì)象的定義是:主動(dòng)對(duì)象是至少有一個(gè)服務(wù)不需要接收消息就能主動(dòng)執(zhí)行的對(duì)象。不需要接收消息就能主動(dòng)執(zhí)行的服務(wù)可稱(chēng)為主動(dòng)服務(wù),在編程時(shí)它將對(duì)應(yīng)一個(gè)并發(fā)執(zhí)行的程序單位。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院5在OOA中運(yùn)用主動(dòng)對(duì)象需要注意以下兩點(diǎn):(1)不提倡脫離系統(tǒng)開(kāi)發(fā)的實(shí)際需要漫無(wú)目標(biāo)地去發(fā)掘每個(gè)對(duì)象的主動(dòng)行為。(2)往往由設(shè)計(jì)決策決定是否應(yīng)該把一個(gè)對(duì)象定義為主動(dòng)對(duì)象,設(shè)計(jì)者可以為提高或減低系統(tǒng)的并發(fā)難度而人為的增加或減少主動(dòng)對(duì)象的種類(lèi)與數(shù)量。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院64.表示法圖9-1普通對(duì)象的類(lèi)符號(hào)圖9-2主動(dòng)對(duì)象的類(lèi)符號(hào)2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院79.2研究問(wèn)題域和用戶(hù)需求OOA的基本出發(fā)點(diǎn)是問(wèn)題域和用戶(hù)要求,分析員的主要工作就是:通過(guò)不斷地研究問(wèn)題域,建立一個(gè)能滿(mǎn)足用戶(hù)需求的系統(tǒng)模型。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院89.2.1研究用戶(hù)需求,明確系統(tǒng)責(zé)任系統(tǒng)的需求包括四個(gè)不同的層次:業(yè)務(wù)需求、用戶(hù)需求、功能需求和非功能性需求。需求獲取就是根據(jù)系統(tǒng)業(yè)務(wù)需求去獲得系統(tǒng)用戶(hù)需求,然后通過(guò)需求分析得到系統(tǒng)的功能需求和非功能需求。研究用戶(hù)需求包括以下活動(dòng):(1)閱讀有關(guān)文檔:閱讀用戶(hù)提交的需求文檔等一切與用戶(hù)需求有關(guān)的書(shū)面材料。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院9(2)與用戶(hù)交流:了解用戶(hù)的需求,搞清有關(guān)用戶(hù)需求的疑點(diǎn)。(3)進(jìn)行實(shí)地調(diào)查:有些需求問(wèn)題,通過(guò)以上途徑仍然不能完全明確,則需要到現(xiàn)場(chǎng)作適當(dāng)?shù)恼{(diào)查,因?yàn)橐陨腺Y料可能表達(dá)得不夠準(zhǔn)確、清晰。(4)記錄所得認(rèn)識(shí):隨時(shí)記錄通過(guò)閱讀、交流和調(diào)查所得到的認(rèn)識(shí),更要記錄所存在的疑點(diǎn)。(5)整理相關(guān)資料:糾正初始需求文檔中不符合的內(nèi)容,整理出一份確切表達(dá)系統(tǒng)責(zé)任的需求文檔。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院109.2.2研究問(wèn)題域[定義9-1]:被開(kāi)發(fā)的應(yīng)用系統(tǒng)所考慮的整個(gè)業(yè)務(wù)范圍。目的:1)進(jìn)一步明確用戶(hù)需求。2)二是為了建立一個(gè)符合問(wèn)題域情況、滿(mǎn)足用戶(hù)需求的分析模型。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院11研究問(wèn)題域應(yīng)包括下述幾個(gè)工作要點(diǎn)。1.認(rèn)真聽(tīng)取問(wèn)題域?qū)<业囊?jiàn)解流程:提問(wèn)→傾聽(tīng)→理解消化→反饋?zhàn)约旱睦斫庖郧笥∽C→提出進(jìn)一步的問(wèn)題。2.親臨現(xiàn)場(chǎng),通過(guò)直接觀察掌握第一手材料3.閱讀領(lǐng)域相關(guān)資料4.借鑒他人經(jīng)驗(yàn)2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院129.2.3確定系統(tǒng)邊界確定系統(tǒng)邊界,就是明確系統(tǒng)是什么以及系統(tǒng)的環(huán)境是什么,劃出被開(kāi)發(fā)的系統(tǒng)和與該系統(tǒng)打交道的人或物之間的明確界限,并確定它們之間的接口。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院139.3發(fā)現(xiàn)對(duì)象盡可能識(shí)別出系統(tǒng)所需要的對(duì)象,系統(tǒng)分析員應(yīng)首先找出各種可能有用的候選對(duì)象,盡量避免遺漏。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院149.3.1正確地運(yùn)用抽象原則在OOA中運(yùn)用抽象原則,先要舍棄與系統(tǒng)責(zé)任無(wú)關(guān)的事物,保留與系統(tǒng)責(zé)任有關(guān)的事物。其次,還要舍棄與系統(tǒng)責(zé)任有關(guān)的事物中與系統(tǒng)責(zé)任無(wú)關(guān)的特征。判斷事物及其特征是否與系統(tǒng)責(zé)任相關(guān)的準(zhǔn)則是:該事物是否為系統(tǒng)提供了一些有用的信息或需要系統(tǒng)為其保存和管理某些信息;該事物是否向系統(tǒng)提供了某些服務(wù)或需要系統(tǒng)描述它的某些行為。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院159.3.2策略與啟發(fā)為了盡可能識(shí)別出系統(tǒng)所需要的對(duì)象,系統(tǒng)分析員應(yīng)首先找出各種可能有用的候選對(duì)象,盡量避免遺漏;然后對(duì)所發(fā)現(xiàn)的候選對(duì)象逐個(gè)進(jìn)行嚴(yán)格的審查,篩選不必要的對(duì)象,或者將它們進(jìn)行適當(dāng)?shù)恼{(diào)整與合并,使系統(tǒng)中的對(duì)象和類(lèi)盡可能地緊湊。這種策略可以稱(chēng)為“先緊后松”策略。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院161.考慮問(wèn)題域在問(wèn)題域方面,可以啟發(fā)分析員發(fā)現(xiàn)對(duì)象因素:(1)人員:大多數(shù)系統(tǒng)的問(wèn)題域都涉及各種各樣的人員,需要考慮的是以下兩種情況。(2)組織:在系統(tǒng)中發(fā)揮一定作用的組織結(jié)構(gòu)。如行政單位、業(yè)務(wù)部門(mén)、辦事機(jī)構(gòu)、社會(huì)團(tuán)體、工作班組等等。(3)設(shè)備:是指在系統(tǒng)中動(dòng)態(tài)地運(yùn)行,由系統(tǒng)進(jìn)行監(jiān)控或者供系統(tǒng)使用的各種設(shè)備、儀表、機(jī)器以及運(yùn)輸工具。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院17(4)物品:是指那些需要由系統(tǒng)管理的各種物品。(5)事件:指那些需要由系統(tǒng)長(zhǎng)期記憶的事件。(6)表格:這里“表格”的概念是廣義的,既包括各種業(yè)務(wù)報(bào)表。因?yàn)椋孩俦M管表格也是問(wèn)題域中的一種事物,但大多數(shù)情況下并不是那種固有的、原始的事物。②許多表格的信息,是可以從其他表格(或某些對(duì)象)導(dǎo)出的。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院18(7)結(jié)構(gòu):通過(guò)考慮結(jié)構(gòu)可以得到一種啟發(fā)——從已經(jīng)發(fā)現(xiàn)的對(duì)象聯(lián)想到其他更多的對(duì)象。例如,考慮“汽車(chē)”。如圖9-3所示。圖9-3結(jié)構(gòu)2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院192.考慮系統(tǒng)邊界在系統(tǒng)邊界方面,考慮:人員、設(shè)備和外部系統(tǒng),可以啟發(fā)發(fā)現(xiàn)一些系統(tǒng)與外部活動(dòng)所進(jìn)行的交互,并處理系統(tǒng)對(duì)外接口的對(duì)象。1)人員:作為系統(tǒng)以外活動(dòng)者與系統(tǒng)進(jìn)行直接交互的各類(lèi)人員。(2)設(shè)備:作為系統(tǒng)以外的活動(dòng)者與系統(tǒng)相連并交換信息的設(shè)備。(3)外部系統(tǒng):與系統(tǒng)相連并交換信息的其他系統(tǒng)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院203.考慮系統(tǒng)責(zé)任系統(tǒng)責(zé)任要求的某些功能可能與實(shí)現(xiàn)環(huán)境(如圖形用戶(hù)界面系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng))有關(guān)。OOA的對(duì)象不提供這些功能是正常的,應(yīng)該推遲到設(shè)計(jì)階段考慮。因?yàn)榘丛瓌t,OOA模型應(yīng)該獨(dú)立于具體的實(shí)現(xiàn)環(huán)境。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院219.3.3審查和篩選1.舍棄無(wú)用的對(duì)象1)通過(guò)屬性判斷2)通過(guò)服務(wù)判斷2.對(duì)象的精簡(jiǎn)1)只有一個(gè)服務(wù)的對(duì)象2)只有一個(gè)屬性的對(duì)象3.推遲到OOD考慮的對(duì)象2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院229.3.4識(shí)別主動(dòng)對(duì)象(1)問(wèn)題域和系統(tǒng)責(zé)任:哪些對(duì)象將在系統(tǒng)中呈現(xiàn)一種主動(dòng)行為,即哪些對(duì)象具有某種不需要其他對(duì)象請(qǐng)求就主動(dòng)表現(xiàn)的行為(凡是在系統(tǒng)中呈現(xiàn)主動(dòng)行為的對(duì)象都應(yīng)該是主動(dòng)對(duì)象)。(2)系統(tǒng)邊界:系統(tǒng)邊界以外的活動(dòng)者與系統(tǒng)中哪些對(duì)象直接進(jìn)行交互,處理這些交互的對(duì)象服務(wù)是否需要與其他系統(tǒng)活動(dòng)并發(fā)地執(zhí)行(這些對(duì)象可能是主動(dòng)對(duì)象)。(3)系統(tǒng)執(zhí)行情況:設(shè)想系統(tǒng)是怎樣執(zhí)行的。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院239.4對(duì)象的發(fā)現(xiàn)和標(biāo)識(shí)許多資料都介紹了面向?qū)ο蟮募夹g(shù)。但是,對(duì)于發(fā)現(xiàn)和標(biāo)識(shí)對(duì)象的問(wèn)題,都僅是普通地講一些原則。對(duì)于這些原則理解很容易。但是對(duì)于一個(gè)具體的系統(tǒng)而言,如何發(fā)現(xiàn)對(duì)象,卻缺少一個(gè)形式化的東西。9.4.1動(dòng)機(jī)可以用傳統(tǒng)的三種系統(tǒng)分析工具:數(shù)據(jù)流圖、實(shí)體-關(guān)系圖和狀態(tài)-變遷圖。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院249.4.2方法圖9-4發(fā)現(xiàn)對(duì)象過(guò)程
2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院259.4.3三視圖模型(3VM)1.實(shí)體-關(guān)系模型盡管實(shí)體-關(guān)系圖是發(fā)現(xiàn)對(duì)象的有力工具,但是在此同時(shí)也發(fā)現(xiàn)在應(yīng)用時(shí)存在一些問(wèn)題2.數(shù)據(jù)流模型數(shù)據(jù)流模型有兩種模型,都是發(fā)現(xiàn)對(duì)象的有力工具。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院26圖9-5上下文圖
2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院273.狀態(tài)-變遷模型狀態(tài)-變遷模型有兩種形式,它們都是發(fā)現(xiàn)對(duì)象的有力工具。第一種是事件響應(yīng)模型。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院289.4.4語(yǔ)言信息分析基于語(yǔ)言的信息分析則在發(fā)現(xiàn)對(duì)象的方面起著重要的作用。而且,基于語(yǔ)言的信息分析也同樣有助于標(biāo)識(shí)對(duì)象的成分。因此,它和三視圖模型有一定的重疊?;谡Z(yǔ)言的信息分析的目的是標(biāo)識(shí)出問(wèn)題域的概念空間及其這些概念的關(guān)系。短語(yǔ)頻率分析是對(duì)選定的資源文本進(jìn)行搜索,將可以表示問(wèn)題域概念的術(shù)語(yǔ)標(biāo)識(shí)出來(lái)。然后,用一個(gè)二維表列出對(duì)這個(gè)問(wèn)題域進(jìn)行描述的短語(yǔ)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院29將短語(yǔ)頻率分析清單轉(zhuǎn)換面向?qū)ο蠓治龌蛘呙嫦驅(qū)ο笤O(shè)計(jì),其工作表是非常有用的。表9-1面向?qū)ο蠓治?面向?qū)ο笤O(shè)計(jì)工作表格條目(0)(1)(2)(3)(4)(5)(6)(7)(8)注釋2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院30說(shuō)明:表中(0)~(8)欄的意義如下:(0)不合適,可能無(wú)關(guān)。(1)可能的對(duì)象——類(lèi)。(2)可能是子/超類(lèi)。(3)可能描述對(duì)象——類(lèi)的屬性/關(guān)系。(4)可能描述對(duì)象的服務(wù)。(5)與實(shí)現(xiàn)無(wú)關(guān)。(6)可能屬于人機(jī)交互。(7)可能屬于任務(wù)管理。(8)可能屬于數(shù)據(jù)管理。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院31另一種方法是矩陣分析方法,它是一種比短語(yǔ)頻率分析方法更復(fù)雜、實(shí)現(xiàn)起來(lái)更困難的技術(shù)。而且通常是在初始對(duì)象標(biāo)識(shí)出來(lái)后再使用矩陣分析技術(shù)。圖9-6矩陣構(gòu)造圖
2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院329.5對(duì)象分類(lèi),建立類(lèi)圖的對(duì)象層在大多數(shù)情況下,如果對(duì)系統(tǒng)中所需的對(duì)象有了正確的認(rèn)識(shí),建立它們的類(lèi)便是一件相對(duì)簡(jiǎn)單的工作了。但是在有些情況下事情未必都這么簡(jiǎn)單,從單個(gè)對(duì)象著眼所認(rèn)識(shí)的對(duì)象特征是否正好可作為整個(gè)類(lèi)的特征有待于核實(shí)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院339.5.1異常情況的檢查和調(diào)整1.屬性及服務(wù)相同的類(lèi)現(xiàn)實(shí)世界中完全不同的事物經(jīng)過(guò)以系統(tǒng)責(zé)任為目標(biāo)的抽象,保留下來(lái)的屬性和服務(wù)可能是完全相同的,于是就出現(xiàn)了完全不同的事物被抽象為同一個(gè)類(lèi)的現(xiàn)象。2.類(lèi)的屬性或服務(wù)不適合該類(lèi)的全部對(duì)象例如,“汽車(chē)”這個(gè)類(lèi)如果有“載貨限量”這個(gè)屬性,則它只適合于貨車(chē),而不能適合高級(jí)轎車(chē)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院343.屬性和服務(wù)相似的類(lèi)如果兩個(gè)(或以上)類(lèi)的屬性和服務(wù)有許多是相同的,則考慮建立一般-特殊結(jié)構(gòu)或整體-部分結(jié)構(gòu),以簡(jiǎn)化類(lèi)的定義。4.對(duì)同一事物的重復(fù)描述問(wèn)題域中某些事物實(shí)際上是另一種事物的附屬品和一定意義上的抽象。例如,車(chē)輛駕照對(duì)車(chē)輛、身份證對(duì)公民、圖書(shū)條形碼對(duì)圖書(shū)都是這樣的關(guān)系。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院359.5.2類(lèi)的命名類(lèi)的命名應(yīng)遵循以下原則:(1)類(lèi)名應(yīng)該反映每個(gè)對(duì)象個(gè)體,而不是整個(gè)群體。(2)類(lèi)的名字應(yīng)恰好符合該類(lèi)(和它的特殊類(lèi))所包含的每一個(gè)對(duì)象。例如,一個(gè)類(lèi)(和它的特殊類(lèi))的對(duì)象如果既有汽車(chē)又有馬車(chē),則可用“車(chē)輛”作類(lèi)名;如果還包括輪船,則可用“交通工具”作類(lèi)名。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院36(3)采用名詞,或帶有定語(yǔ)的名詞(如“外語(yǔ)書(shū)”);使用規(guī)范的詞匯,不用市井俚語(yǔ)(如“大款”、“手提”之類(lèi))和問(wèn)題域?qū)<壹坝脩?hù)慣使用的詞匯(例如在計(jì)算機(jī)行業(yè)不要把顯卡稱(chēng)為“視屏適配器”),還要注意避免使用毫無(wú)意義的字符和數(shù)字作為類(lèi)名(如x、y、z等)。(4)使用適當(dāng)?shù)恼Z(yǔ)言文字。文檔使用中文無(wú)疑最有利于表達(dá)和交流;類(lèi)及其屬性和服務(wù)的命名使用字符比較好。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院379.5.3建立類(lèi)圖的對(duì)象層1)用類(lèi)符號(hào)表示每個(gè)類(lèi)(對(duì)于主動(dòng)對(duì)象,在類(lèi)名之前增加主動(dòng)標(biāo)記“@”),把它們畫(huà)出來(lái)(目前比較流行的是Rose工具),便形成了OOA基本模型中的對(duì)象層。(2)在類(lèi)描述模板中填寫(xiě)關(guān)于每個(gè)類(lèi)的詳細(xì)說(shuō)明。(3)在發(fā)現(xiàn)對(duì)象的活動(dòng)中能夠認(rèn)識(shí)的屬性和服務(wù)以及能夠認(rèn)識(shí)的結(jié)構(gòu)一連接,均可隨時(shí)在類(lèi)圖上畫(huà)出。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院389.6對(duì)象的屬性和服務(wù)面向?qū)ο蟪绦蛟O(shè)計(jì)的不同之處只是在于:以對(duì)象為基本單位來(lái)組織系統(tǒng)中的數(shù)據(jù)和操作,形成對(duì)問(wèn)題域中事物的直接映射。問(wèn)題域中事物的特征可分為靜態(tài)的和動(dòng)態(tài)的。靜態(tài)特征可以通過(guò)一些數(shù)據(jù)來(lái)表達(dá),例如辦公室職員的姓名、職務(wù)、電話(huà)號(hào)碼等;動(dòng)態(tài)特征表明事物的行為,只能通過(guò)一系列操作來(lái)表達(dá),例如職員所要完成的各項(xiàng)工作。面向?qū)ο蠓椒ㄓ脤?duì)象表示問(wèn)題域中的事物,并分別用對(duì)象的一組屬性和服務(wù)來(lái)表達(dá)事物的靜態(tài)和動(dòng)態(tài)特征。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院39屬性的定義是:[定義9-2]:屬性是描述對(duì)象靜態(tài)特征的一個(gè)數(shù)據(jù)項(xiàng)。服務(wù)的定義是:[定義9-3]:服務(wù)是描述對(duì)象動(dòng)態(tài)特征(行為)的一個(gè)操作序列。按照面向?qū)ο蠓椒ǖ姆庋b原則,一個(gè)對(duì)象的屬性和服務(wù)應(yīng)該緊密結(jié)合。某個(gè)對(duì)象的屬性只能由其服務(wù)存取。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院40屬性的表示法,是在類(lèi)符號(hào)的中部填寫(xiě)每一個(gè)屬性的名字。服務(wù)的表示法,是在類(lèi)符號(hào)的下部填寫(xiě)每個(gè)服務(wù)的名字,對(duì)于主動(dòng)服務(wù),須在服務(wù)名之前加一個(gè)標(biāo)記“@”。如圖9-7所示。圖9-7屬性和服務(wù)表示法2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院419.7定義屬性研究當(dāng)前的問(wèn)題域和系統(tǒng)責(zé)任,針對(duì)本系統(tǒng)應(yīng)該設(shè)置的每一類(lèi)對(duì)象,按照問(wèn)題的實(shí)際情況,以系統(tǒng)責(zé)任為目標(biāo)進(jìn)行正確的抽象,從而找出每一類(lèi)對(duì)象應(yīng)有的屬性。9.7.1策略與啟發(fā)發(fā)現(xiàn)對(duì)象的屬性:(1)從常理判斷這個(gè)對(duì)象應(yīng)該具有哪些屬性。按照一般常識(shí)推斷它應(yīng)該由哪些屬性來(lái)描述。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院42(2)根據(jù)當(dāng)前問(wèn)題域分析這個(gè)對(duì)象應(yīng)該有哪些屬性。有些屬性只有認(rèn)真地研究當(dāng)前問(wèn)題域才能得到。例如條形碼,考慮超級(jí)市場(chǎng)這類(lèi)問(wèn)題域時(shí)則會(huì)發(fā)現(xiàn)它是必須設(shè)置的屬性。(3)從系統(tǒng)責(zé)任要求的角度分析這個(gè)對(duì)象應(yīng)具有哪些屬性。有時(shí),只有具體地考慮系統(tǒng)責(zé)任才能決定是否需要對(duì)象的某些屬性。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院43(4)建立這個(gè)對(duì)象涉及到系統(tǒng)中所需的信息,包括要保存和管理的信息。(5)對(duì)象區(qū)別的狀態(tài),是否增加屬性來(lái)區(qū)別這些狀態(tài)。例如,設(shè)備在“停止”
,“運(yùn)行”不同狀態(tài)下系統(tǒng)的行為不同,在“設(shè)備”對(duì)象中設(shè)立“狀態(tài)”屬性。(6)對(duì)象在服務(wù)中實(shí)現(xiàn)其功能,要增設(shè)哪些屬性。例如實(shí)時(shí)監(jiān)控系統(tǒng)的傳感器對(duì)象,一個(gè)“時(shí)間間隔”屬性。(7)表示整體-部分結(jié)構(gòu)和實(shí)例連接需要用什么屬性。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院449.7.2審查與篩選1.這個(gè)屬性是否體現(xiàn)了以系統(tǒng)責(zé)任為目標(biāo)的抽象例如一本書(shū)有長(zhǎng)、寬、高等屬性,但是在書(shū)籍管理系統(tǒng)中,這些屬性可能沒(méi)用,那就應(yīng)該丟棄。2.這個(gè)屬性是不是描述這個(gè)對(duì)象本身的特征一個(gè)對(duì)象的屬性,應(yīng)該描述對(duì)象本身的特征,否則即使有用,也不應(yīng)放置在對(duì)象中。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院453.該屬性是否破壞了對(duì)象特征的“原子性”認(rèn)識(shí)事物的特征,應(yīng)該按日常的思維習(xí)慣采用原子的概念。例如人的姓名,包括姓氏和名字等內(nèi)容,但這兩個(gè)內(nèi)容在概念上是不可分的。4.該屬性是否可以通過(guò)繼承得到如果當(dāng)前對(duì)象的類(lèi)處于一般-特殊結(jié)構(gòu)的特殊類(lèi)位置,則檢查它的屬性是否可以通過(guò)繼承得到。5.該屬性是否可以從其他屬性直接導(dǎo)出如果一個(gè)屬性的值明顯地可從另一個(gè)屬性值直接導(dǎo)出,則應(yīng)該去掉;2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院466.屬性類(lèi)型(1)單值。例10-1:如表9-2所示2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院47(2)互斥。例10-2:如表9-3所示。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院48(3)多值。例10-3:如表9-4所示。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院497.不同屬性類(lèi)型的解決方法(1)互斥屬性,解決方法如圖9-8所示。
圖9-8互斥屬性的解決方法
2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院50(2)多值,解決方法如圖9-9所示。圖9-9多值的解決方法2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院519.7.3推遲到OOD考慮的問(wèn)題與實(shí)現(xiàn)條件有關(guān)的問(wèn)題可推遲到OOD中解決:(1)對(duì)象標(biāo)識(shí)問(wèn)題:對(duì)象標(biāo)識(shí)的定義如下:對(duì)象標(biāo)識(shí)是分配給每個(gè)對(duì)象的永久性標(biāo)識(shí)(又稱(chēng)作“柄”),它符合下述條件:①在一定的范圍或領(lǐng)域中是惟一的。②與對(duì)象實(shí)例的特征、狀態(tài)及分類(lèi)(可能是動(dòng)態(tài)的)無(wú)關(guān)。③在對(duì)象存在期間保持一致。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院52(2)規(guī)范化問(wèn)題:不太明顯的信息冗余——表現(xiàn)為不滿(mǎn)足第二范式或更高的范式條件——?jiǎng)t暫時(shí)不予考慮。(3)性能問(wèn)題:為了提高執(zhí)行速度,可以增加一些屬性。但是執(zhí)行速度是與機(jī)器有關(guān)的,所以這個(gè)問(wèn)題也推遲到OOD時(shí)考慮。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院539.7.4屬性的命名和定位屬性的命名原則基本上和類(lèi)的命名原則相同:屬性的定位首先要注意把屬性放置到由它直接描述的那個(gè)對(duì)象的類(lèi)符號(hào)中。9.7.5屬性的詳細(xì)說(shuō)明在類(lèi)描述模板中,主要包括下述信息:1.屬性的說(shuō)明如果屬性的命名不足以表明屬性意義,則應(yīng)給出簡(jiǎn)練的文字解釋2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院542.屬性的數(shù)據(jù)類(lèi)型每個(gè)屬性的詳細(xì)說(shuō)明應(yīng)盡可能指出該屬性的數(shù)據(jù)類(lèi)型。3.屬性所體現(xiàn)的關(guān)系用于表示整體-部分關(guān)系或?qū)嵗B接關(guān)系的屬性,應(yīng)該特別指明并加以解釋。4.實(shí)現(xiàn)要求及其他如屬性的精度要求、初值、取值范圍、度量單位、數(shù)據(jù)完整性、存取條件等,凡是分析階段應(yīng)該提出的要求或應(yīng)該給出的信息,都在此明確地指出。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院559.8定義服務(wù)分析員通過(guò)分析對(duì)象的行為來(lái)發(fā)現(xiàn)和定義對(duì)象的每個(gè)服務(wù),但對(duì)象的行為規(guī)則往往和對(duì)象所處的狀態(tài)有關(guān)。9.8.1對(duì)象的狀態(tài)與狀態(tài)轉(zhuǎn)換圖1.對(duì)象狀態(tài)[定義9-4a]:對(duì)象或者類(lèi)的所有屬性的當(dāng)前值。對(duì)象的每一個(gè)屬性的不同取值所構(gòu)成的組合都可看作對(duì)象的一種新的狀態(tài)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院56[定義9-4b]:對(duì)象或者類(lèi)的整體行為(例如響應(yīng)消息)的某些規(guī)則所能適應(yīng)的(對(duì)象或類(lèi)的)狀況、情態(tài)、條件、形式或生命周期階段。雖然在大部分情況下對(duì)象的不同狀態(tài)也是通過(guò)不同的屬性值來(lái)體現(xiàn)的,但是認(rèn)識(shí)和區(qū)別對(duì)象的狀態(tài)只著眼于它對(duì)對(duì)象行為規(guī)則的不同影響,即:僅當(dāng)對(duì)象的行為規(guī)則有所不同時(shí),才稱(chēng)對(duì)象處于不同狀態(tài)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院57例10-4:通信控制系統(tǒng)中的傳真機(jī)對(duì)象。為了分析“接收”和“發(fā)送”等服務(wù)的行為規(guī)則,應(yīng)該注意的對(duì)象狀態(tài)是傳真機(jī)設(shè)備的關(guān)閉、就緒(開(kāi)啟并空閑)、忙、故障等狀態(tài),為此可在其他屬性之外專(zhuān)門(mén)定義一個(gè)“狀態(tài)”屬性。該屬性有以上幾種屬性值,每一個(gè)屬性值就是一種狀態(tài)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院58例10-5:“棧”對(duì)象。假如它的屬性是100個(gè)存儲(chǔ)單元和一個(gè)棧頂指針;服務(wù)是“壓入”和“彈出”。它有多少狀態(tài)呢?經(jīng)分析,只需認(rèn)識(shí)三種狀態(tài),即空(指針值=0)、滿(mǎn)(指針值=100)、半滿(mǎn)(0<指針值<100)。由這三種狀態(tài)決定的對(duì)象的行為規(guī)則如表9-5所示2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院592.狀態(tài)轉(zhuǎn)換圖對(duì)行為規(guī)則比較復(fù)雜的對(duì)象都需要做以下工作:(1)找出對(duì)象的各種狀態(tài)。(2)分析在不同的狀態(tài)下,對(duì)象的行為規(guī)則有何不同?在發(fā)現(xiàn)它們沒(méi)有區(qū)別時(shí),可以將一些狀態(tài)合并。(3)分析從一種狀態(tài)可以轉(zhuǎn)換到哪幾種其他狀態(tài)以及該對(duì)象的什么行為會(huì)引起這種轉(zhuǎn)換?2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院60如圖9-10所示是“?!睂?duì)象的狀態(tài)轉(zhuǎn)換圖。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院619.8.2行為分類(lèi)1.系統(tǒng)行為某些行為是系統(tǒng)把對(duì)象看作一個(gè)整體來(lái)處理時(shí)施加于對(duì)象的,這些行為實(shí)際上不是對(duì)象自身的行為。屬于這類(lèi)行為的有對(duì)象的創(chuàng)建、復(fù)制、存儲(chǔ)到外存、從外存恢復(fù)、刪除等等。2.對(duì)象自身的行為——算法簡(jiǎn)單的服務(wù)按照嚴(yán)格的封裝原則,任何讀、寫(xiě)對(duì)象屬性的操作都不能從對(duì)象外部直接進(jìn)行,而應(yīng)由對(duì)象中相應(yīng)的服務(wù)完成此事。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院623.對(duì)象自身的行為——算法復(fù)雜的服務(wù)此類(lèi)服務(wù)描述了對(duì)象所映射事物的固有行為,其算法是一些比較復(fù)雜的服務(wù),而要進(jìn)行某些計(jì)算或監(jiān)控操作。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院639.8.3發(fā)現(xiàn)服務(wù)的策略與啟發(fā)發(fā)現(xiàn)和定義對(duì)象的服務(wù)和OOA的其他活動(dòng)一樣,應(yīng)研究問(wèn)題域和系統(tǒng)責(zé)任以明確各個(gè)對(duì)象應(yīng)該設(shè)立哪些服務(wù)以及如何定義這些服務(wù);并借鑒以往同類(lèi)系統(tǒng)的OOA結(jié)果盡可能加以復(fù)用。特別要考慮以下幾個(gè)問(wèn)題:1.考慮問(wèn)題域考慮問(wèn)題域要求考慮對(duì)象在問(wèn)題域中具有哪些行為?在這些行為中哪些是與系統(tǒng)責(zé)任有關(guān)的?以及應(yīng)該設(shè)立何種服務(wù)來(lái)模擬這些行為?2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院642.考慮系統(tǒng)責(zé)任在OOA模型中,對(duì)象的服務(wù)是最直接地體現(xiàn)系統(tǒng)責(zé)任并實(shí)現(xiàn)用戶(hù)需求的成分,因此定義服務(wù)的活動(dòng)比其他OOA活動(dòng)更強(qiáng)調(diào)對(duì)系統(tǒng)責(zé)任的考察。3.分析對(duì)象的狀態(tài)找出對(duì)象生命歷程中所經(jīng)歷的每一種狀態(tài),畫(huà)出狀態(tài)轉(zhuǎn)換圖。與此同時(shí)提出下述問(wèn)題:(1)對(duì)象從一種狀態(tài)轉(zhuǎn)換賦予另一種狀態(tài)是由什么操作引起的?是否已經(jīng)設(shè)立了相應(yīng)的服務(wù)?(2)在每一種狀態(tài)下對(duì)象可以發(fā)生什么行為?應(yīng)該由什么服務(wù)來(lái)描述?2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院654.追蹤服務(wù)的執(zhí)行路線(xiàn)在上述問(wèn)題思考完畢后能夠發(fā)現(xiàn)的服務(wù)都已發(fā)現(xiàn),模擬每個(gè)服務(wù)的執(zhí)行并追蹤其執(zhí)行路線(xiàn),可以幫助分析員發(fā)現(xiàn)遺漏的服務(wù)。對(duì)執(zhí)行路線(xiàn)的跟蹤可以同時(shí)起到兩種作用:既可發(fā)現(xiàn)一些服務(wù),又可發(fā)現(xiàn)一些消息連接,可以說(shuō)是一舉兩得,所以是非常重要的一步。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院669.8.4審查與調(diào)整對(duì)每個(gè)對(duì)象已發(fā)現(xiàn)的服務(wù)逐個(gè)進(jìn)行審查,重點(diǎn)檢查以下兩點(diǎn):(1)首先檢查每個(gè)服務(wù)在系統(tǒng)中是否真正需要。(2)其次是檢查每個(gè)服務(wù)是不是高內(nèi)聚的。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院679.8.5認(rèn)識(shí)對(duì)象的主動(dòng)行為從以下幾個(gè)方面來(lái)進(jìn)行這種判斷:(1)考慮問(wèn)題域。這要求考慮問(wèn)題域這個(gè)服務(wù)所描述的對(duì)象行為是不是主動(dòng)行為。(2)考慮與系統(tǒng)邊界以外的活動(dòng)者直接進(jìn)行交互的對(duì)象。這些對(duì)象極有可能成為主動(dòng)對(duì)象。(3)考慮系統(tǒng)功能的構(gòu)成層次中完成最外層功能的對(duì)象服務(wù)是否應(yīng)定義為主動(dòng)服務(wù)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院68(4)最后一個(gè)策略是進(jìn)行服務(wù)執(zhí)行路線(xiàn)的逆向追蹤??紤]每個(gè)服務(wù)是被其他哪些對(duì)象的哪些服務(wù)請(qǐng)求的,按消息傳遞的相反方向跟蹤上去,直到發(fā)現(xiàn)某個(gè)服務(wù)不被其他成分所請(qǐng)求。9.8.6服務(wù)的命名和定位服務(wù)的名稱(chēng)應(yīng)由動(dòng)詞和名詞組成,它一般采用動(dòng)賓結(jié)構(gòu)。服務(wù)放置在哪個(gè)對(duì)象,應(yīng)和問(wèn)題域中擁有這種行為的實(shí)際事物相一致。在一般-特殊結(jié)構(gòu)中,和屬性的定位原則一樣。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院699.8.7服務(wù)的詳細(xì)說(shuō)明(1)服務(wù)解釋?zhuān)河靡欢魏?jiǎn)練的文字解釋該服務(wù)的作用及功能。(2)消息協(xié)議:給出服務(wù)的入口消息格式,內(nèi)容包括:服務(wù)名、輸入/輸出參數(shù)、參數(shù)類(lèi)型。(3)消息發(fā)送:指出在這個(gè)服務(wù)執(zhí)行時(shí),需要請(qǐng)求哪些別的對(duì)象服務(wù)。內(nèi)容包括接收消息的對(duì)象類(lèi)名以及執(zhí)行這個(gè)消息的服務(wù)名。(4)約束條件:如果該服務(wù)的執(zhí)行有前置條件、后置條件以及執(zhí)行時(shí)間的要求等需要說(shuō)明的事項(xiàng)。2022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院70(5)服務(wù)流程圖。服務(wù)流程圖兩點(diǎn)說(shuō)明:(1)OOA方法是支持漸進(jìn)式開(kāi)發(fā)的,一旦有了更深入的認(rèn)識(shí)都可隨時(shí)回到這個(gè)對(duì)象,繼續(xù)補(bǔ)充、修改或細(xì)化詳細(xì)說(shuō)明。(2)不管OOA文檔還是OOD文檔,都不強(qiáng)調(diào)十分細(xì)化的服務(wù)流程圖。對(duì)流程圖的詳細(xì)程度要把握適當(dāng)?shù)姆执纭?022/11/3廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院71所謂適當(dāng),是指能夠表達(dá)清楚以下幾點(diǎn):(1)在每個(gè)陳述框中能夠概括服務(wù)這一部分應(yīng)做的主要工作。(2)給出主要的分支點(diǎn)、循環(huán)、
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省廣州市海珠區(qū)2025-2026學(xué)年高一(上)期末物理模擬試卷(含答案)
- 北京市海淀區(qū)2025-2026學(xué)年高三上學(xué)期期末考試物理試卷(含答案)
- 安徽省合肥市科大附中2025-2026學(xué)年九年級(jí)(上)期末化學(xué)試卷(含答案)
- 2025-2026學(xué)年上海市浦東新區(qū)七年級(jí)(上)期末歷史試卷(含答案)
- 五下試卷及答案數(shù)學(xué)
- 網(wǎng)絡(luò)管理專(zhuān)業(yè)題庫(kù)及答案
- 2024年北師大版小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)期末測(cè)試題及答案
- 酒吧策劃方案4篇
- 憑祥2022年事業(yè)單位招聘考試模擬試題及答案解析16
- 電氣更新改造技術(shù)要點(diǎn)
- 2026年小學(xué)說(shuō)明文說(shuō)明方法判斷練習(xí)題含答案
- 中國(guó)監(jiān)控管理制度規(guī)范
- 2026年工程法律顧問(wèn)高級(jí)面試含答案
- 2026年醫(yī)療器械不良事件分析報(bào)告
- 通信網(wǎng)絡(luò)設(shè)備安裝與調(diào)試指南(標(biāo)準(zhǔn)版)
- 二年級(jí)??级鄨D版看圖寫(xiě)話(huà)專(zhuān)項(xiàng)訓(xùn)練29篇(含范文)
- 風(fēng)電場(chǎng)運(yùn)維安全責(zé)任書(shū)2025年版
- 浙江省杭州市上城區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期語(yǔ)文1月期末試卷(含答案)
- 基于機(jī)器視覺(jué)的SLM金屬3D打印設(shè)備視覺(jué)標(biāo)定技術(shù)研究
- CJ/T 192-2017內(nèi)襯不銹鋼復(fù)合鋼管
- 2025年馬口鐵印鐵制罐項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論