面向?qū)ο蠓治龅诹碌谄哒聀pt課件_第1頁
面向?qū)ο蠓治龅诹碌谄哒聀pt課件_第2頁
面向?qū)ο蠓治龅诹碌谄哒聀pt課件_第3頁
面向?qū)ο蠓治龅诹碌谄哒聀pt課件_第4頁
面向?qū)ο蠓治龅诹碌谄哒聀pt課件_第5頁
已閱讀5頁,還剩86頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο蠓椒▽W(xué)概述傳統(tǒng)方法和面向?qū)ο蠓椒ㄓ泻尾煌??面向?qū)ο蠓椒▽W(xué)的主要優(yōu)點面向?qū)ο蟮母拍蠲嫦驅(qū)ο蠼什么是開發(fā)方式?什么是開發(fā)方式? l什么是面向?qū)ο箝_發(fā)方式?什么是面向?qū)ο箝_發(fā)方式? l為什么要用面向?qū)ο蠓椒ǎ繛槭裁匆妹嫦驅(qū)ο蠓椒??一、軟件開發(fā)方式一、軟件開發(fā)方式ParadigmParadigm 1 1、什么是開發(fā)方式、什么是開發(fā)方式 開發(fā)方式又稱為范型、范例、風(fēng)范或方式開發(fā)方式又稱為范型、范例、風(fēng)范或方式(Pattern)(Pattern)。開發(fā)方式定義了:。開發(fā)方式定義了:特定問題和運用的開發(fā)過程中將遵照的步驟;特定問題和運用的開發(fā)過程中將遵照的步驟;確定將用于表示問題和解的那些成分

2、的類型;確定將用于表示問題和解的那些成分的類型;利用這些成分表示與問題處理有關(guān)的籠統(tǒng);利用這些成分表示與問題處理有關(guān)的籠統(tǒng);直接得到問題的構(gòu)造。直接得到問題的構(gòu)造。2 2、開發(fā)方式的影響、開發(fā)方式的影響 開發(fā)方式的選擇影響到整個軟件開發(fā)生開發(fā)方式的選擇影響到整個軟件開發(fā)生存期。開發(fā)方式支配了:存期。開發(fā)方式支配了:設(shè)計方法設(shè)計方法編碼言語編碼言語測試和檢驗技術(shù)測試和檢驗技術(shù)3 3、幾種流行的開發(fā)方式、幾種流行的開發(fā)方式 目前流行的開發(fā)方式有多種,它們提供了可進(jìn)展系統(tǒng)分解的多種方法。 面向過程的開發(fā)方式; 面向?qū)ο蟮拈_發(fā)方式; 面向存取的開發(fā)方式; 面向進(jìn)程的開發(fā)方式; 邏輯性的開發(fā)方式; 函數(shù)

3、型的開發(fā)方式; 闡明性的開發(fā)方式。開發(fā)方式所具有的的共性:開發(fā)方式所具有的的共性:每個開發(fā)方式都有它的支持者和用戶;每個開發(fā)方式都特別適宜于某種類型的問題或子問題;每一個開發(fā)方式都用不同的方式思索問題;每一個開發(fā)方式都運用不同的方法來分解問題;每一個開發(fā)方式都導(dǎo)致不同種類的塊、過程、產(chǎn)生規(guī)那么。4 4、混合開發(fā)方式、混合開發(fā)方式在大型系統(tǒng)的開發(fā)中,只用一種開發(fā)方式很難說哪種開發(fā)方式對整個問題的處理最好。系統(tǒng)開發(fā)時,通常把大型問題分解成一組子問題。對于每個子問題可以采用適當(dāng)?shù)能浖_發(fā)方式。這種設(shè)計需求有某種實現(xiàn)言語或一組協(xié)同言語的支持。許多流行的功能不斷加強的言語可支持不只一種設(shè)計開發(fā)方式。 一

4、個智能數(shù)據(jù)分析系統(tǒng)的設(shè)計,可把它看做是 4 個子系統(tǒng)。系統(tǒng)有:一個數(shù)據(jù)庫界面。運用了面向存取的開發(fā)方式進(jìn)展設(shè)計;智能數(shù)據(jù)分析。運用邏輯性的開發(fā)方式完成;一組分析算法。分析算法是過程性的,所以運用過程性的開發(fā)方式設(shè)計;用戶界面。運用面向?qū)ο箝_發(fā)方式。幾個常用的術(shù)語第七章第七章 面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鰈如何用如何用OO軟件工程方式進(jìn)展系統(tǒng)分析?軟件工程方式進(jìn)展系統(tǒng)分析?l如何描畫如何描畫OO系統(tǒng)?如何對系統(tǒng)?如何對OO系統(tǒng)建模?系統(tǒng)建模? l如何建立對象模型?如何建立對象模型?l如何建立動態(tài)模型?如何建立動態(tài)模型?l如何建立功能模型如何建立功能模型過程過程1 1過程過程2 2過程過程3 3數(shù)據(jù)實

5、體數(shù)據(jù)實體屬于該對象屬于該對象的數(shù)據(jù)的數(shù)據(jù)對象對象處置數(shù)據(jù)的方法處置數(shù)據(jù)的方法面向?qū)ο蠓治鍪擒浖_發(fā)過程中的問題定義階段。這一階段的兩個重要步驟:領(lǐng)域域分析:建立概括的系統(tǒng)實現(xiàn)模型運用分析:根據(jù)特定運用的需求對論域分析的模型進(jìn)展細(xì)化最后成果:得到對問題領(lǐng)域的明晰而準(zhǔn)確的定義。7.1 分析過程需求完成: 找到特定對象 基于對象的公共特性組合這些對象 標(biāo)識出對問題的籠統(tǒng) 標(biāo)識出籠統(tǒng)之間的關(guān)系對象模型化技術(shù)用于把分析時搜集的信息構(gòu)造在三類模型中,即對象模型、功能模型和動態(tài)模型。這個模型化的過程是一個迭代過程。分析模型分析模型對象模型對象模型: : 描畫靜態(tài)構(gòu)造描畫靜態(tài)構(gòu)造, , 定義定義做做 事情事

6、情的實體的實體功能模型功能模型: : 描畫處置描畫處置( (數(shù)據(jù)變換數(shù)據(jù)變換), ), 指明指明系統(tǒng)應(yīng)系統(tǒng)應(yīng)“做什么做什么動態(tài)模型動態(tài)模型: : 描畫交互過程描畫交互過程, , 規(guī)定規(guī)定什么什么 時候時候做做 OMT模型系統(tǒng)分析和設(shè)計過程概觀圖模型系統(tǒng)分析和設(shè)計過程概觀圖產(chǎn)生需求產(chǎn)生需求構(gòu)造及對象構(gòu)造及對象設(shè)計設(shè)計建立模型建立模型問題描畫問題描畫對象模型、動態(tài)模型、功能模型對象模型、動態(tài)模型、功能模型詳細(xì)的對象模型詳細(xì)的對象模型詳細(xì)的動態(tài)模型詳細(xì)的動態(tài)模型詳細(xì)的功能模型詳細(xì)的功能模型分分析析階階段段設(shè)設(shè)計計階階段段基于三個模型的分析步驟:基于三個模型的分析步驟: 需求陳說需求陳說 對象建模對象

7、建模 動態(tài)建模動態(tài)建模 功能建模功能建模 添加操作反復(fù)建模添加操作反復(fù)建模OOA的根本過程 從了解系統(tǒng)的運用方式開場,確定運用場景腳本,構(gòu)造問題域模型。 OOA概念模型由五個層次組成:主題層類與對象層構(gòu)造層屬性層效力層這五個層次是分析過程中的層次,每個層次的任務(wù)都為系統(tǒng)的規(guī)格闡明添加了一個組成部分。OOAOOA的層次構(gòu)造的層次構(gòu)造7.2 7.2 需求陳說軟件需求闡明書需求陳說軟件需求闡明書 (SRS) (SRS) (Software Requirement Specification) 需求分析階段要完成的文檔。需求分析階段要完成的文檔。 SRS的作用:的作用:開發(fā)者與用戶間現(xiàn)實上的技術(shù)合同開

8、發(fā)者與用戶間現(xiàn)實上的技術(shù)合同書書開發(fā)者下一步設(shè)計和編碼的根底開發(fā)者下一步設(shè)計和編碼的根底測實驗收目的系統(tǒng)的根據(jù)測實驗收目的系統(tǒng)的根據(jù)SRS大綱1 1引言引言1.11.1編寫目的編寫目的1.21.2背景背景1.31.3定義定義1.4 1.4 參考資料參考資料2 2義務(wù)概述義務(wù)概述2.12.1目的目的2.22.2用戶的特點用戶的特點2.32.3假定盒約束假定盒約束3 3需求規(guī)定需求規(guī)定3.13.1對功能的規(guī)定對功能的規(guī)定3.23.2對性能的規(guī)定對性能的規(guī)定3.33.3輸入輸出要求輸入輸出要求3.43.4數(shù)據(jù)管理才干要求數(shù)據(jù)管理才干要求3.53.5缺點處置要求缺點處置要求3.63.6其他專門要求其他

9、專門要求4 4運轉(zhuǎn)環(huán)境規(guī)定運轉(zhuǎn)環(huán)境規(guī)定4.14.1設(shè)備設(shè)備4.24.2支持軟件支持軟件4.34.3接口接口4.44.4控制控制7-3 7-3 對象模型對象模型對象模型是三個模型中最關(guān)鍵的一個模型,它的作用是描畫系統(tǒng)的靜態(tài)構(gòu)造,包括構(gòu)成系統(tǒng)的類和對象,它們的屬性和操作,及它們之間的關(guān)系。1 1對象模型的表示:對象模型的表示:實例銜接:又稱為鏈,用于表達(dá)對象之實例銜接:又稱為鏈,用于表達(dá)對象之間的靜態(tài)聯(lián)絡(luò)間的靜態(tài)聯(lián)絡(luò)( (經(jīng)過對象屬性表示一個經(jīng)過對象屬性表示一個對象對另一個對象之間的依賴關(guān)系。對象對另一個對象之間的依賴關(guān)系。2 2實例銜接與關(guān)聯(lián)關(guān)系的表示實例銜接與關(guān)聯(lián)關(guān)系的表示 類類1 銜接稱號銜

10、接稱號m n類類2表示法:表示法:階階類類 1 銜接稱號銜接稱號m n類類 1銜接銜接屬性屬性鏈屬性的表示:鏈屬性的表示: 允許實例銜接帶有一組屬性,這些屬性允許實例銜接帶有一組屬性,這些屬性經(jīng)過關(guān)聯(lián)來描畫經(jīng)過關(guān)聯(lián)來描畫 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 ( (鏈屬性鏈屬性) )為之任務(wù)為之任務(wù)工資工資職務(wù)職務(wù)雇主雇主雇員雇員 個人個人名字名字身份證號身份證號公司公司名字名字地址地址標(biāo)題標(biāo)題爭辯時間爭辯時間成果成果 教師教師學(xué)生學(xué)生 指點論文指點論文0,m 13 3相關(guān)的圖形符號:相關(guān)的圖形符號:多個多個0個個一個一個鏈屬性鏈屬性闡明:聚合:代表整體與部分的關(guān)系,這是一種特殊方式的關(guān)聯(lián)。限定:用以對關(guān)聯(lián)的含義

11、做某種約束。角色:用來闡明關(guān)聯(lián)的一端。由于多數(shù)關(guān)聯(lián)具有兩個端點,因此涉及到兩個角色。銜接屬性:允許運用附加的屬性闡明對象之間的銜接4 4定義構(gòu)造和層次定義構(gòu)造和層次 類模型的構(gòu)造及由類和子類構(gòu)成的類層類模型的構(gòu)造及由類和子類構(gòu)成的類層次,表示問題域中的復(fù)雜關(guān)系,是客觀次,表示問題域中的復(fù)雜關(guān)系,是客觀世界實體間關(guān)系的籠統(tǒng)。世界實體間關(guān)系的籠統(tǒng)。 類及對象間的關(guān)系可概括為:類及對象間的關(guān)系可概括為:歸納關(guān)系:歸納關(guān)系:( (普通普通/ /特殊構(gòu)造、分類構(gòu)造特殊構(gòu)造、分類構(gòu)造) ) 針對事物類之間的組織關(guān)系針對事物類之間的組織關(guān)系組合關(guān)系:組合關(guān)系:( (整體整體/ /部分構(gòu)造、組裝構(gòu)造部分構(gòu)造、

12、組裝構(gòu)造) ) 表示事物的整體與部分之間的組合關(guān)系表示事物的整體與部分之間的組合關(guān)系 普通普通/ /特殊構(gòu)造表示法:特殊構(gòu)造表示法:子類的公共屬性和操作歸屬于普通類子類的公共屬性和操作歸屬于普通類并被每一個子類共享,每一個子類都并被每一個子類共享,每一個子類都承繼了普通類的特征。承繼了普通類的特征。 普通類普通類( (父類、基類、超類父類、基類、超類) )特殊類特殊類( (子類子類) )普通類普通類特殊類特殊類特殊類特殊類.承繼承繼表示普通與表示普通與特殊構(gòu)造特殊構(gòu)造 存戶存戶普通普通/ /特殊構(gòu)造舉例歸納關(guān)系:特殊構(gòu)造舉例歸納關(guān)系: 普通類普通類( (父類、基類、超類父類、基類、超類) )特

13、殊類特殊類( (子類子類) )承繼承繼一個特殊類中的一切對象可承繼普通類中一個特殊類中的一切對象可承繼普通類中的屬性、效力、關(guān)系的屬性、效力、關(guān)系賬號賬號姓名姓名余額余額存款存款取款取款 支票存戶支票存戶 儲蓄存戶儲蓄存戶利息率利息率建立對象模型整體整體/ /部分構(gòu)造部分構(gòu)造( (分類構(gòu)造分類構(gòu)造) ):整體/部分構(gòu)造是一種特定的銜接.整體類中的一個對象(或稱聚合)是由各部分類的對象(或稱成分)構(gòu)成的.這一構(gòu)造是對象間的一種關(guān)系. 整體整體/ /部分構(gòu)造表示法:部分構(gòu)造表示法:一個整體對象可有不同類型的部分對象一個整體對象可有不同類型的部分對象. .一個部分對象也可同時屬于多個整體對象一個部分

14、對象也可同時屬于多個整體對象. .整體對象整體對象.m1,n1m1,n1m2,n2m2,n2p1,q1p1,q1p2,q2p2,q2部分對象部分對象部分對象部分對象表示整體與表示整體與部分構(gòu)造部分構(gòu)造傳送性傳送性整體整體/ /部分構(gòu)造表示法舉例部分構(gòu)造表示法舉例 : 汽車汽車1+方向盤方向盤車身車身車輪車輪離合離合發(fā)動機發(fā)動機油門油門l底盤底盤建立對象模型例:一家公司的對象例:一家公司的對象模型模型職員職員公司公司 為某公司開發(fā)信息管理系統(tǒng)為某公司開發(fā)信息管理系統(tǒng), ,該公司有三個部門該公司有三個部門, ,每個部門可以開發(fā)多個產(chǎn)品每個部門可以開發(fā)多個產(chǎn)品. .該公司有多名工程經(jīng)理該公司有多名工

15、程經(jīng)理, ,員工上百人員工上百人. .有四個正在進(jìn)展的工程有四個正在進(jìn)展的工程, ,每個工程必每個工程必須有一個工程經(jīng)理須有一個工程經(jīng)理, ,每個員工可參與一個或多個工程每個員工可參與一個或多個工程. .請畫出該公司的對象模型請畫出該公司的對象模型. .例:一家公司的對象例:一家公司的對象模型模型管理管理 0,1姓名姓名性別性別身份證號碼身份證號碼地址地址職員職員名名運營工程運營工程地址地址公司公司職務(wù)職務(wù)雇用雇用解雇解雇工程名工程名預(yù)算預(yù)算優(yōu)先級優(yōu)先級工程工程產(chǎn)品名產(chǎn)品名本錢本錢分量分量產(chǎn)品產(chǎn)品職員職員經(jīng)理經(jīng)理部門部門部門名部門名主持主持參與參與1+1+1+1+1+消費消費建立對象模型的步驟

16、:標(biāo)識類及對象標(biāo)識類及對象標(biāo)識構(gòu)造標(biāo)識構(gòu)造標(biāo)識主題標(biāo)識主題定義屬性及實例銜接定義屬性及實例銜接定義效力及音訊銜接定義效力及音訊銜接五個步驟常根據(jù)需求交叉進(jìn)展五個步驟常根據(jù)需求交叉進(jìn)展1 1、識別類和對象、識別類和對象面向?qū)ο蠓治龅牡谝粋€層次主要是識別類和對象。類和對象是對與運用有關(guān)的概念的籠統(tǒng)。建立對象模型基于言語的信息分析在發(fā)現(xiàn)對象過程中,可以運用一種非常有用的工具,即LIA(基于言語的信息分析)。LIA的目的是標(biāo)識出問題論域的一切概念及這些概念之間的關(guān)系。 短語頻率分析(PFA) 矩陣分析(MA)。建立對象模型1找出候選的類&對象可感知的物理實體人或組織的角色應(yīng)該記憶的事件兩個多個

17、事件的相互作用,通常具有買賣或接觸性質(zhì)需求闡明的概念建立對象模型2挑選出正確的類&對象冗余無關(guān)籠統(tǒng)屬性操作實現(xiàn)建立對象模型2 2、標(biāo)識構(gòu)造確定關(guān)聯(lián)、標(biāo)識構(gòu)造確定關(guān)聯(lián)面向?qū)ο蠓治龅南乱徊饺蝿?wù)是標(biāo)識構(gòu)造。 普通化-特殊化構(gòu)造Gen-Spec構(gòu)造整體-部分構(gòu)造Whole-Part構(gòu)造建立對象模型標(biāo)識Gen-Spec構(gòu)造的方法和戰(zhàn)略:對于每一個類和對象,將它看作是一個普對于每一個類和對象,將它看作是一個普通化的類,對它的一切特殊情況,思索以通化的類,對它的一切特殊情況,思索以下問題:下問題: 它能否在問題論域中?它能否在問題論域中? 它能否在系統(tǒng)的職責(zé)內(nèi)?它能否在系統(tǒng)的職責(zé)內(nèi)? 承繼性能否存在

18、?承繼性能否存在? 它能否可以符合選擇類和對象的規(guī)范?它能否可以符合選擇類和對象的規(guī)范?建立對象模型標(biāo)識Whole-Part構(gòu)造的方法和戰(zhàn)略該當(dāng)尋覓什么 總體-部分Assembly-Parts關(guān)聯(lián),如飛機-發(fā)動機之間的關(guān)系。 包容-內(nèi)含Container-Content關(guān)聯(lián),如飛機-飛行員之間的關(guān)系。 搜集-成員Collection-Members關(guān)聯(lián),如機構(gòu)-職員之間的關(guān)系。建立對象模型將每一個類看作是一個將每一個類看作是一個WholeWhole類,對它類,對它的一切能夠的一切能夠PartsParts情況,思索以下問題:情況,思索以下問題: 它能否在問題論域中?它能否在問題論域中? 它能否在

19、系統(tǒng)的職責(zé)內(nèi)?它能否在系統(tǒng)的職責(zé)內(nèi)? 它能否代表一個以上的形狀值?它能否代表一個以上的形狀值? 假設(shè)不是,能否將它變?yōu)榧僭O(shè)不是,能否將它變?yōu)閃holeWhole中的一中的一個屬性?個屬性? 它能否提供問題論域中有用的籠統(tǒng)?它能否提供問題論域中有用的籠統(tǒng)?建立對象模型3 3、識別主題、識別主題將每一種構(gòu)造包括整體-部分構(gòu)造、和普通化-特殊化構(gòu)造中最上層的類提升成為主題;將各不屬于任何構(gòu)造的類提升主題;檢查在一樣或類似的問題論域中以前做面向?qū)ο蠓治龅慕Y(jié)果,看能否有可直接復(fù)用的主題。建立對象模型4 4、標(biāo)識屬性及實例銜接、標(biāo)識屬性及實例銜接下一個層次稱為屬性層,對前面已識別的類和對象做進(jìn)一步的闡明。

20、在這里,對象所保管的信息稱為它的屬性。類的屬性所描畫的是形狀信息,每個實例的屬性值表達(dá)了該實例的形狀值。建立對象模型標(biāo)識屬性的方法和戰(zhàn)略找出屬性找出屬性將屬性安放到適當(dāng)?shù)奈恢脤傩园卜诺竭m當(dāng)?shù)奈恢谜页鰧嵗暯诱页鰧嵗暯訖z查特殊情況檢查特殊情況描畫屬性描畫屬性思索取值范圍、極限值、缺省值、建立思索取值范圍、極限值、缺省值、建立和存取權(quán)限、準(zhǔn)確度、能否會遭到其他和存取權(quán)限、準(zhǔn)確度、能否會遭到其他屬性值等。屬性值等。建立對象模型屬性層建立對象模型5 5、識別承繼關(guān)系、識別承繼關(guān)系承繼關(guān)系的建立本質(zhì)上是知識抽取的過程,它應(yīng)該反映出一定深度的領(lǐng)域知識可用兩種方法建立: 自底向上:籠統(tǒng)出現(xiàn)有類的共同性質(zhì)

21、泛化出的父類 自頂向下:將現(xiàn)有類細(xì)化成更詳細(xì)的子類建立對象模型6 6、反復(fù)修正、反復(fù)修正建立對象模型 實例:飲料自動售貨機系統(tǒng)實例:飲料自動售貨機系統(tǒng)設(shè)置設(shè)置 一個飲料自動售貨機可以放置五種不一個飲料自動售貨機可以放置五種不同或部分一樣的飲料,可由廠商根據(jù)同或部分一樣的飲料,可由廠商根據(jù)銷售情況自動調(diào)配,并可隨時重新設(shè)銷售情況自動調(diào)配,并可隨時重新設(shè)置售價,但售貨機最多僅能放置置售價,但售貨機最多僅能放置5050罐罐飲料,其按鈕設(shè)計在各種飲料樣本的飲料,其按鈕設(shè)計在各種飲料樣本的下方,假設(shè)經(jīng)金額計算器累計金額足下方,假設(shè)經(jīng)金額計算器累計金額足夠,那么選擇鍵燈會亮;假設(shè)某一種夠,那么選擇鍵燈會亮

22、;假設(shè)某一種飲料已銷售終了,那么售完燈會亮。飲料已銷售終了,那么售完燈會亮。銷售銷售 顧客將硬幣投入售貨機,經(jīng)累加金額顧客將硬幣投入售貨機,經(jīng)累加金額足額的飲料選擇鍵燈亮,等顧客按鍵足額的飲料選擇鍵燈亮,等顧客按鍵選擇。顧客按鍵后飲料由取物樓掉出,選擇。顧客按鍵后飲料由取物樓掉出,并自動結(jié)算及找錢。并自動結(jié)算及找錢。取消買賣取消買賣 顧客可在按下選擇鍵前任何一個時辰,顧客可在按下選擇鍵前任何一個時辰,拉動退幣桿取消買賣收回硬幣。拉動退幣桿取消買賣收回硬幣。 找出飲料自動售貨機系統(tǒng)中的對象找出飲料自動售貨機系統(tǒng)中的對象設(shè)置設(shè)置 一個飲料自動售貨機可以放置五種不一個飲料自動售貨機可以放置五種不同或

23、部分一樣的飲料,可由廠商根據(jù)同或部分一樣的飲料,可由廠商根據(jù)銷售情況自動調(diào)配,并可隨時重新設(shè)銷售情況自動調(diào)配,并可隨時重新設(shè)置售價,但售貨機最多僅能放置置售價,但售貨機最多僅能放置5050罐罐飲料,其按鈕設(shè)計在各種飲料樣本的飲料,其按鈕設(shè)計在各種飲料樣本的下方,假設(shè)經(jīng)金額計算器累計金額足下方,假設(shè)經(jīng)金額計算器累計金額足夠,那么選擇鍵燈會亮;假設(shè)某一種夠,那么選擇鍵燈會亮;假設(shè)某一種飲料已銷售終了,那么售完燈會亮。飲料已銷售終了,那么售完燈會亮。銷售銷售 顧客將硬幣投入售貨機,經(jīng)累加金額顧客將硬幣投入售貨機,經(jīng)累加金額足額的飲料選擇鍵燈亮,等顧客按鍵足額的飲料選擇鍵燈亮,等顧客按鍵選擇。顧客按鍵

24、后飲料由取物樓掉出,選擇。顧客按鍵后飲料由取物樓掉出,并自動結(jié)算及找錢。并自動結(jié)算及找錢。取消買賣取消買賣 顧客可在按下選擇鍵前任何一個時辰,顧客可在按下選擇鍵前任何一個時辰,拉動退幣桿取消買賣收回硬幣。拉動退幣桿取消買賣收回硬幣。飲料自動售貨機系統(tǒng)對象模型飲料自動售貨機系統(tǒng)對象模型售貨機售貨機飲料號碼飲料號碼價錢價錢投幣投幣- -接受接受飲料掉出飲料掉出金額顯示金額顯示按紐按紐退幣桿退幣桿售完顯示售完顯示存量計算器存量計算器飲料號碼飲料號碼存量存量遞減遞減售完顯示售完顯示重置重置選擇鈕選擇鈕選擇鈕形狀選擇鈕形狀燈亮燈亮燈熄燈熄售完燈亮售完燈亮按鈕按鈕顧客顧客姓名姓名硬幣硬幣投幣投幣- -置入

25、置入拿取飲料拿取飲料退幣桿退幣桿退幣桿形狀退幣桿形狀拉動拉動金額計算器金額計算器金額金額累加累加找零找零重置重置購買購買選取選取被拉動被拉動屬于屬于屬于屬于屬于屬于屬于屬于7.4 7.4 建立動態(tài)模型建立動態(tài)模型動態(tài)模型著重于描畫系統(tǒng)的控制邏輯。它包括兩個圖,一是事件追蹤圖,一是形狀圖。1 1事件事件瞬時發(fā)生的行為每個事件都是單獨發(fā)生的我們建立事件類,并給每個事件一個名字,以指明共同構(gòu)造和行為。事件從一個對象向另一個對象傳送信息。事件類的屬性:例:火車開動事件車道、車次、起點、終點、車廂數(shù)有些事件類能夠傳送的是簡單的信號“要發(fā)生某件事,而有些事件類那么能夠傳送的是數(shù)據(jù)值。由事件傳送的數(shù)據(jù)值叫做

26、屬性。 列車出發(fā)(線路、班次、城市) 按下鼠標(biāo)按鈕(按鈕、位置) 拿起受話器 數(shù)字撥號(數(shù)字)腳本與事件追蹤圖腳本與事件追蹤圖事件追蹤圖:偏重于闡明發(fā)生于系統(tǒng)執(zhí)行過程中的一個特定“場景腳本。腳本:也叫做場景,是系統(tǒng)某一次特定運轉(zhuǎn)時期發(fā)生的事件序列。場景通常起始于一個系統(tǒng)外部的輸入事件,終了于一個系統(tǒng)外部的輸出事件,它可以包括發(fā)生在這個期間的系統(tǒng)一切的內(nèi)部事件。 打打電電話話者者拿拿起起電電話話受受話話器器 電電話話忙忙音音開開始始 打打電電話話者者撥撥數(shù)數(shù)字字( (8 8) ) 電電話話忙忙音音結(jié)結(jié)束束 打打電電話話者者撥撥數(shù)數(shù)字字( (2 2) ) . . . . . . . . 打打電電話

27、話者者撥撥數(shù)數(shù)字字( (3 3) ) 接接電電話話者者的的電電話話開開始始振振鈴鈴 鈴鈴聲聲在在打打電電話話者者的的電電話話上上傳傳出出 接接電電話話者者回回答答 接接電電話話者者的的電電話話停停止止振振鈴鈴 鈴鈴聲聲在在打打電電話話者者的的電電話話中中消消失失 通通電電話話 . . . . . . . . . .例:通話腳本只包括影響線的事件例:通話腳本只包括影響線的事件課堂練習(xí):自動售貨機的正常情況腳本,畫事件跟蹤圖:顧客投硬幣金額器累加顯示金額給顧客金額足夠,對應(yīng)的選擇鍵燈亮顧客選擇按鈕,選擇鍵發(fā)音訊給售貨機售貨機給顧客飲料金額計算器結(jié)算顯示剩余金額顧客拉動退幣桿售貨機找零售貨機扣減存量

28、顯示存量為零售完燈亮 存量為零存量為零找零找零扣減存量扣減存量售完燈亮售完燈亮余額余額飲料飲料結(jié)算結(jié)算選擇鍵選擇鍵 #選擇按紐選擇按紐燈亮燈亮金額總夠金額總夠顯示總額顯示總額總額總額累加累加投入硬幣投入硬幣金額計算器金額計算器存量計算器存量計算器顧客顧客售貨機售貨機選擇鍵選擇鍵舉例:飲料自動售貨機系統(tǒng)的事件追蹤圖退幣桿退幣桿拉退幣桿拉退幣桿2 2形狀圖形狀圖形狀圖是一個形狀和事件的網(wǎng)絡(luò),偏重于描畫每一類對象的動態(tài)行為。在形狀圖中,形狀是對某一時辰中屬性特征的概括。而形狀遷移表示這一類對象在何時對系統(tǒng)內(nèi)外發(fā)生的哪些事件做出何種呼應(yīng)。操作:是一個伴隨形狀遷移的瞬時發(fā)生的行為,與觸發(fā)事件一同表示在有

29、關(guān)的形狀遷移之上?;顒樱耗敲词前l(fā)生在某個形狀中的行為,往往需求一定的時間來完成,因此與形狀名一同出如今有關(guān)的形狀之中。 形狀圖形狀圖 形狀形狀1Do:活動活動1形狀形狀2 .事件事件1條件條件1 / 動作動作1終了終了事件事件初始初始事件事件空閑空閑可視菜單可視菜單左邊按鈕按下左邊按鈕按下/顯示彈出菜單顯示彈出菜單左邊按鈕彈起左邊按鈕彈起/擦除彈出菜單擦除彈出菜單光標(biāo)挪動光標(biāo)挪動/高亮菜單項高亮菜單項 彈出菜單動作彈出菜單動作舉例:飲料自動售貨機系統(tǒng)的形狀圖舉例:飲料自動售貨機系統(tǒng)的形狀圖 投入硬幣投入硬幣無效的無效的按下選擇飲料鍵按下選擇飲料鍵Do:顯示售貨機在備用顯示售貨機在備用 一切燈都

30、封鎖一切燈都封鎖 Do:顯示金額總數(shù)顯示金額總數(shù)Do:顯示金額已夠顯示金額已夠 飲料選擇燈亮飲料選擇燈亮 取出飲料取出飲料結(jié)算找零結(jié)算找零扣減存量扣減存量完成買賣完成買賣飲料飲料“售完燈亮售完燈亮 投入硬幣金額投入硬幣金額 (1元、元、5元、元、10元元)金額缺乏金額缺乏再投幣再投幣存量為零存量為零無效的硬幣無效的硬幣 取消取消 取消取消 回到備用形狀回到備用形狀 回到備用形狀回到備用形狀投入硬幣有效的投入硬幣有效的金額已夠金額已夠動態(tài)模型由多個形狀圖組成。對于每一個具有重要動態(tài)行為的類都有一個形狀圖,從而闡明一切系統(tǒng)活動的方式。各個形狀圖并發(fā)地執(zhí)行,并可以獨立地改動形狀。各種類的形狀圖可以經(jīng)

31、過共享事件組合到一個動態(tài)模型中。3 3形狀圖與事件追蹤圖的關(guān)系形狀圖與事件追蹤圖的關(guān)系形狀圖表達(dá)一個對象的個體行為,事件追蹤圖那么給出多個對象所表現(xiàn)出來的集體行為。它們從不同側(cè)面來闡明同一系統(tǒng)的行為。例如,一個事件追蹤圖指出某一對象在接受一個事件之后發(fā)出另一事件,同一行為在此對象的形狀圖中也該當(dāng)有所表示。7.5 7.5 功能模型功能模型 功能模型由多個數(shù)據(jù)流圖組成,它們功能模型由多個數(shù)據(jù)流圖組成,它們指明從外部輸入,經(jīng)過操作和內(nèi)部存指明從外部輸入,經(jīng)過操作和內(nèi)部存儲,直到外部輸出,這整個的數(shù)據(jù)流儲,直到外部輸出,這整個的數(shù)據(jù)流情況。情況。功能模型中一切的數(shù)據(jù)流圖往往構(gòu)成一個層次構(gòu)造。在這個層次

32、構(gòu)造中,一個數(shù)據(jù)流圖中的過程可以由下一層的數(shù)據(jù)流圖做進(jìn)一步的闡明。普通來講,高層的過程相應(yīng)于作用在聚合對象上的操作,而低層的過程那么代表作用于一個簡單對象上的操作。7.67.6、定義效力及音訊銜接、定義效力及音訊銜接對象收到音訊后所能執(zhí)行的操作稱為它可提供的效力。對每個對象和構(gòu)造的添加、修正、刪除、選擇等效力有時是隱含的,在圖中不標(biāo)出,但在存儲類和對象有關(guān)信息的對象庫中有定義。其它效力那么必需顯式地在圖中畫出。效力層定義效力的方法和戰(zhàn)略找出每一個對象的一切形狀,在各種形狀需求做的任務(wù)。利用形狀遷移圖;找出必要的操作。建立音訊銜接。描畫效力:利用形狀轉(zhuǎn)換圖、腳本和事件追蹤圖,描畫效力的功能。音訊

33、銜接的標(biāo)識兩個對象之間能夠存在著由于通訊兩個對象之間能夠存在著由于通訊需求而構(gòu)成的關(guān)系,這稱為音訊銜需求而構(gòu)成的關(guān)系,這稱為音訊銜接。接。音訊銜接表示從一個對象發(fā)送音訊音訊銜接表示從一個對象發(fā)送音訊到另一個對象,由那個對象完成某到另一個對象,由那個對象完成某些處置。它們在圖中用箭頭表示,些處置。它們在圖中用箭頭表示,方向從發(fā)音訊的對象指向收音訊的方向從發(fā)音訊的對象指向收音訊的對象。對象。找出音訊銜接的方法及戰(zhàn)略對于每一個對象,執(zhí)行: 查詢該對象需求哪些對象的效力,從該對象畫一箭頭到哪個對象; 查詢哪個對象需求該對象的效力,從那個對象畫一箭頭到該對象; 循音訊銜接找到下一個對象,反復(fù)以上步驟。用

34、例模型用例模型 Ivar Jacohson提出了用例驅(qū)動的面向?qū)ο蟮能浖椒?,從組成系統(tǒng)的實踐操作入手。首先分析系統(tǒng)是如何運用的,強調(diào)系統(tǒng)運用時與不同的類型用戶交互時的情況,即從用例出發(fā)。什么是用例 用例是一個銜接的功能性單元,它由音訊順序表示的類元系統(tǒng)、子系統(tǒng)或類提供,這些音訊與被系統(tǒng)執(zhí)行的動作在系統(tǒng)與外部用戶表現(xiàn)為參與者間交換。簡單地說,它就是之經(jīng)過利用系統(tǒng)中某些功能來運用系統(tǒng)的過程。用例的目的 用來定義類的一個行為,但不顯示類的內(nèi)部構(gòu)造。每個用例闡明類提供應(yīng)它用戶的一種的效力,也即一種對外部可見的運用類的特定方式。描畫用戶和類之間的交互的觀念來初始化的完好順序,以及由類執(zhí)行的呼應(yīng)。UML

35、UML的用例模型的用例模型一致建模言語一致建模言語UMLUML是一種通用的可是一種通用的可視化建模言語,用于軟件描畫、可視視化建模言語,用于軟件描畫、可視化處置、構(gòu)造和建立軟件系統(tǒng)制品的化處置、構(gòu)造和建立軟件系統(tǒng)制品的文檔??捎糜诟鞣N軟件開發(fā)方法、軟文檔??捎糜诟鞣N軟件開發(fā)方法、軟件生命周期的各個階段,各種建模方件生命周期的各個階段,各種建模方法。法。執(zhí)行者執(zhí)行者(actor)(actor) 實踐上是一個類,它定義了用戶所實踐上是一個類,它定義了用戶所能對軟件進(jìn)展的一切操作。能對軟件進(jìn)展的一切操作。用例用例(Use Case)(Use Case)執(zhí)行者執(zhí)行者(actor)(actor) 其集合是該系統(tǒng)的用戶模型。同時其集合是該系統(tǒng)的用戶模型。同時還可以將執(zhí)行者按用戶的行為進(jìn)展合還可以將執(zhí)行者按用戶的行為進(jìn)展合理劃分。理劃分

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論