軟件工程理論與實踐 課件 第10章 面向?qū)ο蠓治?1_第1頁
軟件工程理論與實踐 課件 第10章 面向?qū)ο蠓治?1_第2頁
軟件工程理論與實踐 課件 第10章 面向?qū)ο蠓治?1_第3頁
軟件工程理論與實踐 課件 第10章 面向?qū)ο蠓治?1_第4頁
軟件工程理論與實踐 課件 第10章 面向?qū)ο蠓治?1_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第10章面向?qū)ο蠓治霰菊赂攀?理解面向?qū)ο蠓治龅倪^程和原則本章首先講述面向?qū)ο蠓治龅倪^程和原則,然后闡述面向?qū)ο蠼?,包括如何建立對象模型,動態(tài)模型以及功能模型。掌握面向?qū)ο蠼5娜N模型目錄3面向?qū)ο蠓治龇椒嫦驅(qū)ο蠼5诙?jié)第一節(jié)10.1面向?qū)ο蠓治龇椒嫦驅(qū)ο蠓治鲞^程面向?qū)ο蠓治鲈瓌t面向?qū)ο蠓治鲞^程5面向?qū)ο蟮姆治鲋饕杂美P蜑榛A(chǔ)。開發(fā)人員在收集到的原始需求的基礎(chǔ)上,通過構(gòu)建用例模型從而得到系統(tǒng)的需求。進而再通過對用例模型的完善,使得需求得到改善。所謂用例是指系統(tǒng)中的一個功能單元,可以描述為參與者與系統(tǒng)之間的一次交互。用例常被用來收集用戶的需求。面向?qū)ο蠓治鲞^程6

語法

首先要找到系統(tǒng)的操作者,即用例的參與者。參與者是在系統(tǒng)之外,透過系統(tǒng)邊界與系統(tǒng)進行有意義交互的任何事物??梢园褏⑴c者執(zhí)行的每一個系統(tǒng)功能都看作一個用例??梢哉f,用例描述了系統(tǒng)的功能,涉及系統(tǒng)為了實現(xiàn)一個功能目標(biāo)而關(guān)聯(lián)的參與者、對象和行為。確定了系統(tǒng)的所有用例之后,就可以開始識別目標(biāo)系統(tǒng)中的對象和類了。把具有相似屬性和操作的對象定義為一個類。

參與者用例對象面向?qū)ο蠓治鲞^程7確定了系統(tǒng)的所有用例之后,就可以開始識別目標(biāo)系統(tǒng)中的對象和類了。把具有相似屬性和操作的對象定義為一個類。屬性定義對象的靜態(tài)特征,一個對象往往包含很多屬性,目標(biāo)系統(tǒng)應(yīng)當(dāng)只考慮與系統(tǒng)業(yè)務(wù)相關(guān)的屬性。

通常先找出所有的候選類,然后再從候選類中剔除與問題域無關(guān)的、非本質(zhì)的東西。例如將書寫的需求陳述中,提取名詞作為候選類,描述特征的形容詞作為屬性,動詞作為操作,然后再剔除不必要、不正確、重復(fù)的內(nèi)容。類的劃分8邊界類控制類實體類邊界類代表了系統(tǒng)及其操參與者的邊界,描述參與者與系統(tǒng)之間的交互。它更加關(guān)注系統(tǒng)的職責(zé),而不是實現(xiàn)職責(zé)的具體細(xì)節(jié)。通常,界面控制類、系統(tǒng)和設(shè)備接口類都屬于邊界類??刂祁惔砹讼到y(tǒng)的邏輯控制,描述一個用例所具有的事件流的控制行為,實現(xiàn)對用例行為的封裝。通常,可以為每個用例定義一個控制類。實體類描述了系統(tǒng)中必須存儲的信息及相關(guān)的行為,通常對應(yīng)于現(xiàn)實世界中的事物。目標(biāo)系統(tǒng)的類可以劃分為邊界類、控制類和實體類類之間的關(guān)系關(guān)聯(lián)關(guān)系依賴關(guān)系是“非結(jié)構(gòu)化”的和短暫的關(guān)系,表明某個對象會影響另外一個對象的行為或服務(wù)。泛化關(guān)系泛化關(guān)系與類間的繼承類似。聚合關(guān)系和組合關(guān)系是特殊的關(guān)聯(lián)關(guān)系,它們強調(diào)整體和部分之間的從屬性,組合是聚合的一種形式,組合關(guān)系對應(yīng)的整體和部分具有很強的歸屬關(guān)系和一致的生命期。比如,計算機和顯示器就屬于聚合關(guān)系。確定了系統(tǒng)的類和對象之后,就可以分析類之間的關(guān)系了。對象或類之間的關(guān)系有依賴、關(guān)聯(lián)、聚合、組合、泛化和實現(xiàn)。依賴關(guān)系關(guān)聯(lián)關(guān)系是“結(jié)構(gòu)化”的關(guān)系,描述對象之間的連接。實現(xiàn)關(guān)系實現(xiàn)關(guān)系是針對類與接口的關(guān)系。面向?qū)ο蠓治鲞^程10明確了對象、類和類之間的層次關(guān)系之后,需要進一步識別出對象之間的動態(tài)交互行為,即系統(tǒng)響應(yīng)外部事件或操作的工作過程。一般采用順序圖將用例和分析的對象聯(lián)系在一起,描述用例的行為是如何在對象之間分布的。也可以采用協(xié)作圖、狀態(tài)圖或活動圖。

最后,需要將需求分析的結(jié)果用多種模型圖表示出來,并對其進行評審。由于分析的過程是一個循序漸進的過程,合理的分析模型需要多次迭代才能得到。面向?qū)ο蠓治鲞^程面向?qū)ο蟮男枨蠓治?0.1面向?qū)ο蠓治龇椒嫦驅(qū)ο蠓治鲞^程面向?qū)ο蠓治鲈瓌t面向?qū)ο蠓治鲈x有實際意義的對象3、共享性2、模型的描述要規(guī)范、準(zhǔn)確4、封裝性特別要注意的是,一定要把在應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的所有事物作為對象,既不能遺漏,也不要定義無關(guān)對象。強調(diào)實體的本質(zhì),忽略無關(guān)的屬性。對象描述應(yīng)盡量使用現(xiàn)在時態(tài),陳述語句,以保證語義的清晰。定義對象時還應(yīng)該描述對象之間的關(guān)系及對象的背景信息面向?qū)ο蠹夹g(shù)的共享有不同級別,如同一類共享屬性和服務(wù);子類繼承父類屬性和服務(wù);同意應(yīng)用中的共享類及其繼承性;通過類庫實現(xiàn)在不同應(yīng)用中的共享等。對不能抽象為某一類的對象實例要明確排斥所有軟件構(gòu)件都有明確的范圍及清楚的外部邊界。軟件構(gòu)件的內(nèi)部實現(xiàn)和界面接口分離。目錄14面向?qū)ο蠓治龇椒嫦驅(qū)ο蠼5诙?jié)第一節(jié)面向?qū)ο蠼?5它使用數(shù)據(jù)結(jié)構(gòu)(對象模型)執(zhí)行操作(動態(tài)模型)完成數(shù)據(jù)值的變化(功能模型)

在面向?qū)ο蟮姆治鲋校ǔP枰?種形式的模型,它們分別是描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象模型,描述系統(tǒng)控制結(jié)構(gòu)的動態(tài)模型,以及描述系統(tǒng)功能的功能模型。這3種模型都涉及數(shù)據(jù)、控制、操作等共同的概念,只不過每種模型描述的側(cè)重點不同。一個典型的軟件系統(tǒng)通常包括的內(nèi)容為:面向?qū)ο蠼?6面向?qū)ο蠓治鲋?,解決的問題不同,3個模型的重要程度也不同。1.一般來說,解決任何問題,都要從客觀世界實體及實體相互關(guān)系抽象出有價值的對象模型;2.當(dāng)問題涉及交互作用和時序時,需要構(gòu)造動態(tài)模型。3.當(dāng)解決運算量很大的問題時,需要構(gòu)造功能模型。動態(tài)模型和功能模型中都包含有對象模型中的操作(服務(wù)與方法)。在面向?qū)ο蠓治鲋?,需要?gòu)造出完全獨立于實現(xiàn)的應(yīng)用域模型;在面向?qū)ο笤O(shè)計中,需要將求解域的結(jié)構(gòu)逐漸加入;在實現(xiàn)階段則要將應(yīng)用域和求解域結(jié)構(gòu)編碼并嚴(yán)格測試驗證。10.2面向?qū)ο蠼=ο竽P徒討B(tài)模型建立功能模型3種模型之間的關(guān)系建立對象模型

面向?qū)ο蠓治鍪滓墓ぷ鳎墙栴}域的對象模型。這個對象模型要描述現(xiàn)實世界中的“類與對象”及它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。靜態(tài)數(shù)據(jù)結(jié)構(gòu)細(xì)節(jié)依賴較少,容易確定且比較穩(wěn)定。所以面向?qū)ο蠓治鲋卸际窍冉ο竽P?,再考慮建立動態(tài)模型和功能模型,對象模型為動態(tài)模型和功能模型提供了實質(zhì)性框架。建立對象模型復(fù)雜問題(大型系統(tǒng))的對象模型通常由下述5個層次組成:主題層(也稱為范疇層)、類與對象層、結(jié)構(gòu)層、屬性層和服務(wù)層,如圖所示。上述5個層次對應(yīng)著在面向?qū)ο蠓治鲞^程中建立對象模型的5項主要活動:劃分主題;找出類與對象;識別結(jié)構(gòu);定義屬性;定義服務(wù)。實際上五項活動沒有必要的完成順序,設(shè)計時也不需要嚴(yán)格遵守自頂向下原則。劃分主題20A.主題主題是把一組具有較強聯(lián)系的類組織在一起而得到的類的集合,一般有以下特點:主題是由一組具有較強聯(lián)系的類形成的集合,但本身不是一個類。一個主題內(nèi)部的類之間往往具有某種意義上的內(nèi)在聯(lián)系。主題的劃分一般沒有固定規(guī)則,不同側(cè)重可以得到不同的劃分方式。自底向上。先建立對象類,然后把對象類中關(guān)系較密切的類組織為一個主題。如果主題數(shù)量仍然很多,則可進一步將聯(lián)系較強的小主題組織為大主題,直到系統(tǒng)中最上層主題數(shù)不超過7個。這種方式適合于小型系統(tǒng)或中型系統(tǒng)。自頂向下。先分析系統(tǒng),確定幾個大的主題,每個主題相當(dāng)于一個子系統(tǒng)。將這些子系統(tǒng)再分別進行面向?qū)ο蠓治?,建立各個子系統(tǒng)中的對象類。最終可將各個子系統(tǒng)合并為一個大的子系統(tǒng)。劃分主題主題的劃分有以下兩種方式。一般來說,應(yīng)該按照問題領(lǐng)域而不是功能分解的方法來確定主題。此外確定主題應(yīng)遵循“使不同主題內(nèi)的類之間依賴和交互最少”的原則來確定主題,可以使用UML的包來展現(xiàn)主題。劃分主題22B.主題圖上述的主題劃分的最終結(jié)果能夠形成一個完整的對象類圖和一個主題圖。主題圖一般有如下3種表示方式。展開方式將關(guān)系較密切的對象類畫在一個框內(nèi),框的每個角標(biāo)上主題號,框內(nèi)是詳細(xì)的對象類圖,標(biāo)出每個類的屬性和服務(wù)以及類之間的詳細(xì)關(guān)系,這就是主題圖的展開方式。壓縮方式將每個主題號及主題名分別寫在一個框內(nèi),這就是主題圖的壓縮方式。半展開方式。將每個框內(nèi)主題號、主題名及該主題中所含的對象類全部列出,這就是主題圖的半展開方式。主題圖的壓縮方式是為了表明系統(tǒng)的總體情況,而主題圖的展開方式是為了表明系統(tǒng)的詳細(xì)情況。對象模型用類符號、類實例符號、類的關(guān)聯(lián)關(guān)系、繼承關(guān)系等表示。有些對象具有主動服務(wù)功能,稱為主動對象。劃分主題23如圖所示即為一個商品銷售管理系統(tǒng)的主題圖。這個系統(tǒng)的功能包括:①為商品編號并記錄名稱、單價數(shù)量等相關(guān)信息。②營業(yè)員接班后要登錄和收獲,以及將顧客選購的商品輸入購物清單、商品計價、收費、打印購物清單及合計;交班時要進行結(jié)賬和交款。此系統(tǒng)可以幫助供貨員發(fā)現(xiàn)哪些商品需要供貨。賬冊用來統(tǒng)計商品銷售量、進貨量和庫存量,以及資金的結(jié)算。此外,上級系統(tǒng)可以向該系統(tǒng)發(fā)送消息。經(jīng)過分析可以確定如下幾類:營業(yè)員、銷售事件、賬冊、商品、商品目錄、供貨員、上級系統(tǒng)接口等。將其中關(guān)系比較密切的類劃入同一個框,可以得到(a)中的展開方式的主題圖,如果只標(biāo)注主題號和主題名稱,則可以得到壓縮方式的主題圖(b),若在其之上補充類名,則得到半展開主題圖(c).確定類與對象建立對象模型首先要確定對象、類,然后進行篩選。通過區(qū)分實體類、邊界類和控制類來檢查對象模型的完整性,候選的類和對象包括:①可感知的物理實體②人或組織的角色③應(yīng)該記憶的事件④兩個或多個事件的相互作用⑤需要說明的概念。此外,更簡單的非正式分析方法及將需求描述的名詞作為候選,然后根據(jù)以下原則篩選:①冗余,如果兩個類表達同樣的信息,應(yīng)選擇更合理的。②無關(guān),系統(tǒng)只需包含與本系統(tǒng)密切相關(guān)的類或?qū)ο?。③籠統(tǒng),去除籠統(tǒng)的類或?qū)ο?。④屬性:系統(tǒng)中如果某個類只有一個屬性,則可以考慮將其作為另一個類的屬性。⑤操作,對于即可作動詞也可作名詞的詞匯,應(yīng)正確決定是作為類還是操作。⑥實現(xiàn),分析階段不需要保留只和時間有關(guān)的候選。分析對象、類之間的相互關(guān)系。對象類之間的關(guān)系可分為關(guān)聯(lián)、依賴、泛化和實現(xiàn)等關(guān)系。確定結(jié)構(gòu)25結(jié)構(gòu)就是定義類之間的層次結(jié)構(gòu)關(guān)系,具體的結(jié)構(gòu)及其確定方式在第7章。確定屬性26R屬性的確定既與問題域有關(guān),也和目標(biāo)系統(tǒng)的任務(wù)有關(guān)。標(biāo)識屬性的啟發(fā)性準(zhǔn)則如下:1)每個對象至少需包含一個屬性。2)屬性取值必需適合對象類的所有實例。3)出現(xiàn)在泛化關(guān)系中的對象所繼承的屬性必須與泛化關(guān)系一致。4)系統(tǒng)的所有存儲數(shù)據(jù)必須定義為屬性。5)對象的導(dǎo)出屬性應(yīng)當(dāng)略去。6)在分析階段,如果某屬性描述了對象的外部不可見狀態(tài),應(yīng)將該屬性從分析模型中刪去。應(yīng)注意以下問題:誤把對象當(dāng)作屬性誤把關(guān)聯(lián)類的屬性當(dāng)作對象屬性誤把內(nèi)部狀態(tài)當(dāng)作屬性4)過度細(xì)化5)存在不一致的屬性屬性不能包含一個內(nèi)部結(jié)構(gòu)屬性在任何時候只能有一個在其允許范圍內(nèi)的確切值確定屬性27

通用的屬性應(yīng)放在泛化結(jié)構(gòu)中較高層的類中,特殊的屬性應(yīng)放在較低層的類中。實體關(guān)系圖中的實體可能對應(yīng)于某一對象。這樣,實體的屬性就會簡單地成為對象的屬性。如果實體(如學(xué)校)不只對應(yīng)于一類對象,那么這個實體的屬性必須分配到分析模型的不同類的對象之中。確定屬性28添加新的媒體文件;通過編碼查找需要的文件;刪除指定文件;Four030102ThreeTwoOne例:多媒體商店銷售系統(tǒng)需要處理的文件:圖像文件和聲音文件,都擁有名稱和唯一編碼,作者信息和格式信息,聲音文件還包括文件時長(秒)。04統(tǒng)計系統(tǒng)中文件的數(shù)量。確定屬性29分析過程:根據(jù)文件的信息,圖像文件和聲音文件的類都需要有屬性:id-編碼,author-作者,format-格式。為了方便處理,還可加入source-文件位置。由功能①③,應(yīng)該有按參數(shù)構(gòu)造和按編碼刪除的兩個方法。此外還有findByld-查找,count-查找兩個方法。聲音文件的類還要加入一個duration屬性描述時長,并包括對應(yīng)存取方法,兩種類的各項信息如圖。確定服務(wù)30

“對象”是由描述其屬性的數(shù)據(jù)以及可以對這些數(shù)據(jù)施加的操作(即方法或服務(wù)),封裝在一起構(gòu)成的獨立單元。因此,為建立完整的對象模型,既要確定類中應(yīng)該定義的屬性,又要確定類中應(yīng)該定義的服務(wù)。但是,需要等到建立了動態(tài)模型和功能模型之后,才能最終確定類中應(yīng)有的服務(wù),因為這兩個模型更明確地描述了每個類中應(yīng)該提供哪些服務(wù)。實際上,在確定類中應(yīng)有的服務(wù)時,既要考慮該類實體的常規(guī)行為,又要考慮在本系統(tǒng)中特殊需要的服務(wù)。識別類的操作時,應(yīng)注意:①只有一個或很少操作的類,這個類可能合法,但或許可以與其他類合并。②沒有操作的類,可能沒有必要存在,可以合并。③太多操作的類,應(yīng)該考慮分解,使操作數(shù)保持在合理區(qū)間。10.2面向?qū)ο蠼=ο竽P徒討B(tài)模型建立功能模型3種模型之間的關(guān)系建立動態(tài)模型32對象模型建立后,就需考察對象和關(guān)系的動態(tài)變化情況。動態(tài)模型描述對象和關(guān)系的狀態(tài)、狀態(tài)轉(zhuǎn)換的觸發(fā)事件、對象的服務(wù)(行為)。建立動態(tài)模型首先要編寫腳本,從腳本中提取事件,設(shè)想用戶界面,然后畫出UML順序圖,最后畫出對象狀態(tài)轉(zhuǎn)換圖。(1)狀態(tài):是對象在其生命周期中的某個特定階段所處的某種情形,它是對影響對象行為的屬性值的一種抽象。狀態(tài)規(guī)定了對象對事件的響應(yīng)方式。對象對事件的響應(yīng),既可以是做一個(或一系列)的動作,也可以僅僅改變對象本身的狀態(tài),還可以是既改變狀態(tài)又做動作。(2)事件:是引起對象狀態(tài)轉(zhuǎn)換的控制信息,它是在某個特定時刻所發(fā)生的事情,它是對引起對象從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)的現(xiàn)實世界中的抽象。事件沒有持續(xù)時間,是瞬間完成的。(3)服務(wù):指對象達到某種狀態(tài)時所做的一系列處理操作。這些操作是需要消耗時間的。

編寫腳本33輸入腳本輸出在建立動態(tài)模型過程中,腳本是系統(tǒng)執(zhí)行某個功能的一系列事件,腳本描述用戶(或其他外部設(shè)備)與目標(biāo)系統(tǒng)之間的一個或多個典型的交互過程,以便對目標(biāo)系統(tǒng)的行為有更具體的認(rèn)識。腳本通常起始于一個系統(tǒng)外部的輸入事件,結(jié)束于一個系統(tǒng)外部的輸出事件,它可以包括發(fā)生在這個期間的系統(tǒng)所有的內(nèi)部事件(包括正常情況腳本和異常情況腳本)。編寫腳本的目的是保證不遺漏系統(tǒng)功能中重要的交互步驟,有助于確保整個交互過程的正確性和清晰性。編寫腳本34例如,下面陳述的是客戶在ATM機上取款的腳本。(1)客戶將卡插入ATM機,開始用例。(2)ATM顯示歡迎消息并提示客戶輸入密碼。(3)客戶輸入密碼。(4)ATM確認(rèn)密碼有效。如果無效則執(zhí)行子事件流a。如果與主機聯(lián)接有問題,則執(zhí)行異常事件流e。(5)ATM提供以下選項:存錢、取錢、查詢。(6)用戶選擇取錢選項。(7)ATM提示輸入所取金額。(8)用戶輸入所取金額。(9)ATM確定該賬戶是否有足夠的金額。如果余額不夠,則執(zhí)行子事件流b,如果與主機聯(lián)接有問題,則執(zhí)行異常事件流e。(10

)ATM從客戶賬戶中減去所取金額。(11)ATM向客戶提供要取的錢。(12)ATM打印清單。(13)ATM退出客戶的卡,用例結(jié)束。子事件流編寫腳本35

子事件流a:a1.

提示用戶輸入無效密碼,請求再次輸入;a2.如果三次輸入無效密碼,系統(tǒng)自動關(guān)閉,退出客戶銀行卡。

子事件流b:b1.提示用戶余額不夠。b2.返回(5),等待客戶重新選擇設(shè)計用戶界面36R動態(tài)模型用戶界面原型大多數(shù)交互行為都可以分為應(yīng)用邏輯和用戶界面兩部分。通常,系統(tǒng)分析員首先集中精力考慮系統(tǒng)的信息流和控制流,而不是首先考慮用戶界面。實際上,采用不同界面(例如,命令行或圖形用戶界面),可以實現(xiàn)同樣的程序邏輯。應(yīng)用邏輯是內(nèi)在的、本質(zhì)的內(nèi)容,用戶界面是外在的表現(xiàn)形式。動態(tài)模型著重表示應(yīng)用系統(tǒng)的控制邏輯。但是,用戶界面的美觀、方便、易學(xué)及效率,是用戶使用系統(tǒng)時首先感受到的。用戶界面的美觀與否往往對用戶是否喜歡、是否接受一個系統(tǒng)起很重要的作用。在分析階段不能忽略用戶界面的設(shè)計,在這個階段用戶界面的細(xì)節(jié)并不太重要,重要的是在這種界面下的信息交換方式。應(yīng)該快速建立用戶界面原型,供用戶試用與評價。畫UML順序圖或活動圖37

完整、正確的腳本為建立動態(tài)模型奠定了必要的基礎(chǔ)。但是,用自然語言書寫的腳本往往不夠簡明,而且有時在閱讀時會有二義性。為了有助于建立動態(tài)模型,通常在畫狀態(tài)圖之前先畫出事件跟蹤圖。UML順序圖(也稱為事件跟蹤圖)中,一條豎線代表應(yīng)用領(lǐng)域中的一個類,每個事件用一條水平的箭頭線表示,箭頭方向從事件的發(fā)送對象指向接受對象,時間從上向下遞增。謂詞邏輯表示法38如果對象的屬性值不相同時,對象的行為規(guī)則有所不同,我們稱對象處于不同的狀態(tài)。由于對象在不同狀態(tài)下呈現(xiàn)不同的行為方式,所以應(yīng)分析對象的狀態(tài),才可正確地認(rèn)識對象的行為并定義它的服務(wù)。例如,通信系統(tǒng)中的電話對象,就有電話閑置、撥通中、忙音、通話、斷線、超時等狀態(tài)。這里可以專門定義一個“狀態(tài)”屬性。該屬性有之前介紹的幾種屬性值,每一個屬性值就是一種狀態(tài)。有了狀態(tài)圖,就可“執(zhí)行”狀態(tài)圖,以便檢驗狀態(tài)轉(zhuǎn)換的正確性和協(xié)調(diào)一致性。執(zhí)行方法是從任意一個狀態(tài)開始,當(dāng)出現(xiàn)一個事件時,引起狀態(tài)轉(zhuǎn)換,到達另一狀態(tài),在狀態(tài)人口處執(zhí)行相關(guān)的行為,在另一事件出現(xiàn)之前,這個狀態(tài)應(yīng)該不發(fā)生變化。10.2面向?qū)ο蠼=ο竽P徒討B(tài)模型建立功能模型3種模型之間的關(guān)系建立功能模型40

功能模型表明了系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系,以及有關(guān)的數(shù)據(jù)處理功能,它由一組數(shù)據(jù)流圖組成。數(shù)據(jù)流圖中的處理對應(yīng)于狀態(tài)圖中的活動或動作,數(shù)據(jù)流對應(yīng)于對象圖中的對象或?qū)傩?。建立功能模型的步驟如右:確定輸入和輸出值畫數(shù)據(jù)流圖定義服務(wù)03010201020304GOAL確定輸入輸出值41數(shù)據(jù)流圖中的輸入和輸出值是系統(tǒng)與外部之間進行交互的事件的參數(shù)。畫數(shù)據(jù)流圖功能模型可用多張數(shù)據(jù)流圖等來表示。在面向?qū)ο蠓椒ㄖ?,?shù)據(jù)源往往是主動對象,它通過生成或使用數(shù)據(jù)來驅(qū)動數(shù)據(jù)流。數(shù)據(jù)終點接收數(shù)據(jù)的輸出流。數(shù)據(jù)流圖中的數(shù)據(jù)存儲是被動對象,本身不產(chǎn)生任何操作,只響應(yīng)存儲和訪問數(shù)據(jù)的要求。輸入箭頭表示增加、更改或刪除所存儲的數(shù)據(jù),輸出箭頭表示從數(shù)據(jù)存儲中查找信息。確定服務(wù)42SWOT

類的服務(wù)與對象模型中的屬性和關(guān)聯(lián)的查詢有關(guān),與動態(tài)模型中

溫馨提示

  • 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

提交評論