幾種典型的面向?qū)ο箝_發(fā)方法_第1頁
幾種典型的面向?qū)ο箝_發(fā)方法_第2頁
幾種典型的面向?qū)ο箝_發(fā)方法_第3頁
幾種典型的面向?qū)ο箝_發(fā)方法_第4頁
幾種典型的面向?qū)ο箝_發(fā)方法_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、幾種典型的面向?qū)ο箝_發(fā)方法摘要自80年代后期以來,相繼出現(xiàn)了多種面向?qū)ο箝_發(fā)方法,文章主要介紹了其中六種典型的面向?qū)ο箝_發(fā)方法,并對它們進行了比較。UML的出現(xiàn)意味著開發(fā)方法統(tǒng)一化、標(biāo)準(zhǔn)化的新發(fā)展,標(biāo)志著軟件自動化的進程又邁進了一步。關(guān)鍵字面向?qū)ο箝_發(fā)方法典型比較一、引言隨著計算機科學(xué)的發(fā)展和應(yīng)用領(lǐng)域的不斷擴大,對計算機技術(shù)的要求越來越高。特別是當(dāng)計算機硬件有了飛速發(fā)展之后,各種應(yīng)用領(lǐng)域?qū)浖岢隽烁叩囊?。結(jié)構(gòu)化程序設(shè)計語言和結(jié)構(gòu)化分析與設(shè)計已無法滿足用戶需求的變化。發(fā)展軟件質(zhì)量,縮短軟件開發(fā)周期,發(fā)展軟件可靠性、可擴充性和可重用性迫使軟件界人士不斷研究新方法、新技術(shù),探索新途徑。面向?qū)ο?/p>

2、的方法是一種分析方法、設(shè)計方法和思維方法。面向?qū)ο蠓椒▽W(xué)的出發(fā)點和所追求的基本目標(biāo)是使人們分析、設(shè)計與實現(xiàn)一個系統(tǒng)的方法盡可能接近人們認識一個系統(tǒng)的方法。也就是使描述問題的問題空間和解決問題的方法空間在結(jié)構(gòu)上盡可能一致。其基本思想是:對問題空間進行自然分割,以更接近人類思維的方式建立問題域模型,以便對客觀實體進行結(jié)構(gòu)模擬和行為模擬,從而使設(shè)計出的軟件盡可能直接地描述現(xiàn)實世界,構(gòu)造出模塊化的、可重用的、維護性好的軟件,同時限制軟件的復(fù)雜性和降低開發(fā)維護費用。面向?qū)ο蟪绦蛟O(shè)計方法起源于六十年代末期的語言SIMULA67,到了七十年代末期,軟件行業(yè)正受到軟件危機的困擾,結(jié)構(gòu)化的開發(fā)方法不能夠很好地解

3、決軟件危機。面向?qū)ο笳Z言Smalltalk的出現(xiàn),進一步發(fā)展和完善了面向?qū)ο蟮某绦蛟O(shè)計語言,從此面向?qū)ο笠埠烷_發(fā)方法開始結(jié)合,出現(xiàn)了面向?qū)ο蟮拈_發(fā)方法。自80年代后期以來,相繼出現(xiàn)了多種面向?qū)ο箝_發(fā)方法,現(xiàn)將其中幾種典型的方法作一個簡介和比較。二、六種典型的面向?qū)ο箝_發(fā)方法1、OMT/RumbaughOMT1(Object Modeling Technique方法最早是由Loomis,Shan和Rumbaugh在1987年提出的,曾擴展應(yīng)用于關(guān)系數(shù)據(jù)庫設(shè)計。Jim Rumbaugh在1991年正式把OMT應(yīng)用于面向?qū)ο蟮姆治龊驮O(shè)計。這個方法是在實體關(guān)系模型上擴展了類、繼承和行為而得到的。OMT

4、覆蓋了分析、設(shè)計和實現(xiàn)三個階段,它包括一組相互關(guān)聯(lián)的概念:類(class、對象(object、一般化(generalization、繼承(inheritance、鏈(link、鏈屬性(link attribute、聚合(aggregation、操作(operation、事件(event、場景(scene、屬性(attribute、子系統(tǒng)(subsystem、模塊(module等。OMT方法包含分析、系統(tǒng)設(shè)計、對象設(shè)計和實現(xiàn)四個步驟,它定義了三種模型,這些模型貫穿于每個步驟,在每個步驟中被不斷地精化和擴充。這三種模型是:對象模型:用類和關(guān)系來刻畫系統(tǒng)的靜態(tài)結(jié)構(gòu);動態(tài)模型:用事件和對象狀態(tài)來刻畫系

5、統(tǒng)的動態(tài)特性;功能模型:按照對象的操作來描述如何從輸入給出輸出結(jié)果。分析的目的是建立可理解的現(xiàn)實世界模型。系統(tǒng)設(shè)計確定高層次的開發(fā)策略。對象設(shè)計的目的是確定對象的細節(jié),包括定義對象的界面、算法和操作。實現(xiàn)對象則在良好的面向?qū)ο缶幊田L(fēng)格的編碼原則指導(dǎo)下進行。2、OOD/BoochOOD3(Object Oriented Design方法是Grady Booch從1983年開始研究,1991年后走向成熟的一種方法。OOD主要包括下述概念:類(class、對象(object、使用(uses、實例化(instantiates、繼承(inherits、元類(meta class、類范疇(class ca

6、tegory、消息(message、域(field、操作(operation、機制(mechanism、模塊(module、子系統(tǒng)(subsystem、過程(process等。其中,使用及實例化是類間的靜態(tài)關(guān)系,而動態(tài)對象之間僅有消息傳遞的連接。元類是類的類。類范疇是一組類,它們在一定抽象意義上是類同的。物理的一組類用模塊來表達。機制是完成一個需求任務(wù)的一組類構(gòu)成的結(jié)構(gòu)。Booch方法在面向?qū)ο蟮脑O(shè)計中主要強調(diào)多次重復(fù)和開發(fā)者的創(chuàng)造性。方法本身是一組啟發(fā)性的過程式建議。OOD的一般過程如下:(1在一定抽象層次上標(biāo)識類與對象;(2標(biāo)識類與對象的語義;(3標(biāo)識類與對象之間的關(guān)系(如繼承、實例化、使

7、用等;(4實現(xiàn)類與對象。3、RDD/Wirfs-BrockRDD2(Responsibility-Driven Design方法是Wirfs-Brock在1990年提出的。這是一個按照類、責(zé)任以及合作關(guān)系對應(yīng)用進行建模的方法。首先定義系統(tǒng)的類與對象,然后確定系統(tǒng)的責(zé)任并劃分給類,最后確定對象類之間的合作來完成類的責(zé)任。這些設(shè)計將進一步按照類層次、子系統(tǒng)和協(xié)議來完善。RDD方法主要包含以下概念:類(class、繼承(inheritance、責(zé)任(responsibility、合作(collaboration、合同(contract、子系統(tǒng)(subsystem。對每個類都有不同的責(zé)任或角色以及動作

8、。合作是為完成責(zé)任而需要與之通信的對象集合。責(zé)任進一步精化并被分組為合同。合同又進一步按操作精化為協(xié)議。子系統(tǒng)是為簡化設(shè)計而引入的,是一組類和低級子系統(tǒng),也包含由子系統(tǒng)中的類及子系統(tǒng)支持的合同。RDD分為探索階段和精化階段:(1探索階段:確定類、每個類的責(zé)任以及類間的合作;(2精化階段:精化類繼承層次、確定子系統(tǒng)、確定協(xié)議。RDD按照類層次圖、合作圖、類規(guī)范、子系統(tǒng)規(guī)范、合同規(guī)范等設(shè)計規(guī)范來完成實現(xiàn)。4、OOAD/Coad-YourdonOOAD3(Object-Oriented Analysis and Design方法是由Peter Coad和Edward Yourdon 在1991年提出

9、的。這是一種逐步進階的面向?qū)ο蠼7椒?。在OOA中,分析模型用來描述系統(tǒng)的功能,主要包括以下概念:類(class、對象(object、屬性(attribute、服務(wù)(service、消息(message、主題(subject、一般/特殊結(jié)構(gòu)(Gen-Spec-Structure、全局/部份結(jié)構(gòu)(Whole-Part-Structure、實例連接(instance connection和消息連接(message connection等。其中,主題是指一組特定的類與對象。OOA使用了基本的結(jié)構(gòu)化原則,并把它們同面向?qū)ο蟮挠^點結(jié)合起來。OOA完成系統(tǒng)分析,包括以下五個步驟:確定類與對象、標(biāo)識結(jié)構(gòu)、定

10、義主題、定義屬性和定義服務(wù)。OOA本質(zhì)上是一種面向?qū)ο蟮姆椒?適用于小型系統(tǒng)的開發(fā)。OOD負責(zé)系統(tǒng)設(shè)計,包括以下四個步驟:(1設(shè)計問題域(細化分析結(jié)果;(2設(shè)計人機交互部分(設(shè)計用戶界面;(3設(shè)計任務(wù)管理部分(確定系統(tǒng)資源的分配;(4設(shè)計數(shù)據(jù)管理部分(確定持久對象的存儲。5、OOSE/JacobsonOOSE3(Object-Oriented Software Engineering是Ivar Jacobson在1992年提出的一種使用事例驅(qū)動的面向?qū)ο箝_發(fā)方法。OOSE主要包括下列概念:類(class、對象(object、繼承(inherits、相識(acquaintance、通信(comm

11、unication、激勵(stimuli、操作(operation、屬性(attribute、參與者(actor、使用事例(use case、子系統(tǒng)(subsystem、服務(wù)包(service package、塊(block、對象模塊(object module。相識表示靜態(tài)的關(guān)聯(lián)關(guān)系,包括聚合關(guān)系。激勵是通信傳送的消息。參與者是與系統(tǒng)交互的事物,它表示所有與系統(tǒng)有信息交換的系統(tǒng)之外的事務(wù),因此不關(guān)心它的細節(jié)。參與者與用戶不同,參與者是用戶所充當(dāng)?shù)慕巧⑴c者的一個實例對系統(tǒng)做一組不同的操作。當(dāng)用戶使用系統(tǒng)時,會執(zhí)行一個行為相關(guān)的事物系列,這個系列是在與系統(tǒng)的會話中完成的,這個特殊的系列稱為使

12、用事例,每個使用事例都是使用系統(tǒng)的一條途徑。使用事例的一個執(zhí)行過程可以看作是使用事例的實例。當(dāng)用戶發(fā)出一個激勵之后,使用事例的實例開始執(zhí)行,并按照使用事例開始事物。事務(wù)包括許多動作,事務(wù)在收到用戶結(jié)束激勵后被終止。在這個意義上,使用事例可以被看作是對象類,而使用事例的實例可以被看作是對象。OOSE開發(fā)過程中有以下五種模型,這些模型是自然過渡和緊密耦合的:需求模型包括由領(lǐng)域?qū)ο竽P秃徒缑婷枋鲋С值膮⑴c者和使用事例。對象模型是系統(tǒng)的概念化的、容易理解的描述。界面描述刻畫了系統(tǒng)界面的細節(jié)。需求模型從用戶的觀點上完整地刻畫了系統(tǒng)的功能需求,因此按這個模型與最終用戶交流比較容易。分析模型是在需求模型的基

13、礎(chǔ)上建立的。主要目的是要建立在系統(tǒng)生命期中可維護、有邏輯性、健壯的結(jié)構(gòu)。模型中有三種對象。界面對象刻畫系統(tǒng)界面。實體對象刻畫系統(tǒng)要長期管理的信息和信息上的行為。實體對象生存在一個特別的使用事例中。第三種是按特定的使用事例作面向事務(wù)的建模的對象。這三種對象使得需求的改變總是局限于其中一種。設(shè)計模型進一步精化分析模型并考慮了當(dāng)前的實現(xiàn)環(huán)境。塊描述了實現(xiàn)的意圖。分析模型通常要根據(jù)實現(xiàn)作相應(yīng)的變化。但分析模型中基本結(jié)構(gòu)要盡可能保留。在設(shè)計模型中,塊進一步用使用事例模型來闡述界面和塊間的通信。實現(xiàn)模型主要包括實現(xiàn)塊的代碼。OOSE并不要求用面向?qū)ο笳Z言來完成實現(xiàn)。測試模型包括不同程度的保證。這種保證從低

14、層的單元測試延伸到高層的系統(tǒng)測試。6、VMT/IBMVMT1(Visual Modeling Technique方法是IBM公司于1996年公布的。VMT方法結(jié)合了OMT、OOSE、RDD等方法的優(yōu)點,并且結(jié)合了可視化編程和原型技術(shù)。VMT方法選擇OMT方法作為整個方法的框架,并且在表示上也采用了OMT方法的表示。VMT方法用RDD方法中的CRC(Class-Responsibility-Collaboration卡片來定義各個對象的責(zé)任(操作以及對象間的合作(關(guān)系。此外,VMT方法引入了OOSE方法中的使用事例概念,用以描述用戶與系統(tǒng)之間的相互作用,確定系統(tǒng)為用戶提供的服務(wù),從而得到準(zhǔn)確的需

15、求模型。VMT方法的開發(fā)過程分為三個階段:分析、設(shè)計和實現(xiàn)。分析階段的主要任務(wù)是建立分析模型。設(shè)計階段包括系統(tǒng)設(shè)計、對象設(shè)計和永久性對象設(shè)計。實現(xiàn)階段就是用某一種環(huán)境來實現(xiàn)系統(tǒng)。7、六種方法的比較OMT方法覆蓋了應(yīng)用開發(fā)的全過程,是一種比較成熟的方法,用幾種不同的觀念來適應(yīng)不同的建模場合,它在許多重要觀念上受到關(guān)系數(shù)據(jù)庫設(shè)計的影響,適合于數(shù)據(jù)密集型的信息系統(tǒng)的開發(fā),是一種比較完善和有效的分析與設(shè)計方法。Booch方法并不是一個開發(fā)過程,只是在開發(fā)面向?qū)ο笙到y(tǒng)時應(yīng)遵循的一些技術(shù)和原則。Booch方法是從外部開始,逐步求精每個類直到系統(tǒng)被實現(xiàn)。因此,它是一種分治法,支持循環(huán)開發(fā),它的缺點在于不能有效地找出每個對象和類的操作。RDD是一種用非形式的技術(shù)和指導(dǎo)原則開發(fā)合適的設(shè)計方案的設(shè)計技術(shù)。它用交互填寫CRC卡片的方法完成設(shè)計,對大型系統(tǒng)設(shè)計不太適用。RDD采用傳統(tǒng)的方法確定對象類,有一定的局限性。另外,均勻地把行為分配給類也十分困難。在OOAD方法中,OOA把系統(tǒng)橫向劃分為五個層次,OOD把系統(tǒng)縱向劃分為四個部分,從而形成一個清晰的系統(tǒng)模型。OOAD適用于小型系統(tǒng)的開發(fā)。OOSE能夠較好地描述系統(tǒng)的需求,是一種實用的面向?qū)ο蟮南到y(tǒng)開發(fā)方法,適合于商務(wù)處理方面的應(yīng)用開發(fā)。VMT基于現(xiàn)有面向?qū)ο蠓椒ㄖ械某墒旒夹g(shù),采用這些方法中最

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論