版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、幾種典型的面向?qū)ο箝_(kāi)發(fā)方法摘要自80年代后期以來(lái),相繼出現(xiàn)了多種面向?qū)ο箝_(kāi)發(fā)方法,文章主要介紹了其中六種典型的面向?qū)ο箝_(kāi)發(fā)方法,并對(duì)它們進(jìn)行了比較。UML的出現(xiàn)意味著開(kāi)發(fā)方法統(tǒng)一化、標(biāo)準(zhǔn)化的新發(fā)展,標(biāo)志著軟件自動(dòng)化的進(jìn)程又邁進(jìn)了一步。關(guān)鍵字面向?qū)ο箝_(kāi)發(fā)方法典型比較一、引言隨著計(jì)算機(jī)科學(xué)的發(fā)展和應(yīng)用領(lǐng)域的不斷擴(kuò)大,對(duì)計(jì)算機(jī)技術(shù)的要求越來(lái)越高。特別是當(dāng)計(jì)算機(jī)硬件有了飛速發(fā)展之后,各種應(yīng)用領(lǐng)域?qū)浖岢隽烁叩囊?。結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言和結(jié)構(gòu)化分析與設(shè)計(jì)已無(wú)法滿足用戶需求的變化。發(fā)展軟件質(zhì)量,縮短軟件開(kāi)發(fā)周期,發(fā)展軟件可靠性、可擴(kuò)充性和可重用性迫使軟件界人士不斷研究新方法、新技術(shù),探索新途徑。面向?qū)ο?/p>
2、的方法是一種分析方法、設(shè)計(jì)方法和思維方法。面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和所追求的基本目標(biāo)是使人們分析、設(shè)計(jì)與實(shí)現(xiàn)一個(gè)系統(tǒng)的方法盡可能接近人們認(rèn)識(shí)一個(gè)系統(tǒng)的方法。也就是使描述問(wèn)題的問(wèn)題空間和解決問(wèn)題的方法空間在結(jié)構(gòu)上盡可能一致。其基本思想是:對(duì)問(wèn)題空間進(jìn)行自然分割,以更接近人類思維的方式建立問(wèn)題域模型,以便對(duì)客觀實(shí)體進(jìn)行結(jié)構(gòu)模擬和行為模擬,從而使設(shè)計(jì)出的軟件盡可能直接地描述現(xiàn)實(shí)世界,構(gòu)造出模塊化的、可重用的、維護(hù)性好的軟件,同時(shí)限制軟件的復(fù)雜性和降低開(kāi)發(fā)維護(hù)費(fèi)用。面向?qū)ο蟪绦蛟O(shè)計(jì)方法起源于六十年代末期的語(yǔ)言SIMULA67,到了七十年代末期,軟件行業(yè)正受到軟件危機(jī)的困擾,結(jié)構(gòu)化的開(kāi)發(fā)方法不能夠很好地解
3、決軟件危機(jī)。面向?qū)ο笳Z(yǔ)言Smalltalk的出現(xiàn),進(jìn)一步發(fā)展和完善了面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,從此面向?qū)ο笠埠烷_(kāi)發(fā)方法開(kāi)始結(jié)合,出現(xiàn)了面向?qū)ο蟮拈_(kāi)發(fā)方法。自80年代后期以來(lái),相繼出現(xiàn)了多種面向?qū)ο箝_(kāi)發(fā)方法,現(xiàn)將其中幾種典型的方法作一個(gè)簡(jiǎn)介和比較。二、六種典型的面向?qū)ο箝_(kāi)發(fā)方法1、OMT/RumbaughOMT1(Object Modeling Technique方法最早是由Loomis,Shan和Rumbaugh在1987年提出的,曾擴(kuò)展應(yīng)用于關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)。Jim Rumbaugh在1991年正式把OMT應(yīng)用于面向?qū)ο蟮姆治龊驮O(shè)計(jì)。這個(gè)方法是在實(shí)體關(guān)系模型上擴(kuò)展了類、繼承和行為而得到的。OMT
4、覆蓋了分析、設(shè)計(jì)和實(shí)現(xiàn)三個(gè)階段,它包括一組相互關(guān)聯(lián)的概念:類(class、對(duì)象(object、一般化(generalization、繼承(inheritance、鏈(link、鏈屬性(link attribute、聚合(aggregation、操作(operation、事件(event、場(chǎng)景(scene、屬性(attribute、子系統(tǒng)(subsystem、模塊(module等。OMT方法包含分析、系統(tǒng)設(shè)計(jì)、對(duì)象設(shè)計(jì)和實(shí)現(xiàn)四個(gè)步驟,它定義了三種模型,這些模型貫穿于每個(gè)步驟,在每個(gè)步驟中被不斷地精化和擴(kuò)充。這三種模型是:·對(duì)象模型:用類和關(guān)系來(lái)刻畫系統(tǒng)的靜態(tài)結(jié)構(gòu);·動(dòng)態(tài)模型:
5、用事件和對(duì)象狀態(tài)來(lái)刻畫系統(tǒng)的動(dòng)態(tài)特性;·功能模型:按照對(duì)象的操作來(lái)描述如何從輸入給出輸出結(jié)果。分析的目的是建立可理解的現(xiàn)實(shí)世界模型。系統(tǒng)設(shè)計(jì)確定高層次的開(kāi)發(fā)策略。對(duì)象設(shè)計(jì)的目的是確定對(duì)象的細(xì)節(jié),包括定義對(duì)象的界面、算法和操作。實(shí)現(xiàn)對(duì)象則在良好的面向?qū)ο缶幊田L(fēng)格的編碼原則指導(dǎo)下進(jìn)行。2、OOD/BoochOOD3(Object Oriented Design方法是Grady Booch從1983年開(kāi)始研究,1991年后走向成熟的一種方法。OOD主要包括下述概念:類(class、對(duì)象(object、使用(uses、實(shí)例化(instantiates、繼承(inherits、元類(meta
6、class、類范疇(class category、消息(message、域(field、操作(operation、機(jī)制(mechanism、模塊(module、子系統(tǒng)(subsystem、過(guò)程(process等。其中,使用及實(shí)例化是類間的靜態(tài)關(guān)系,而動(dòng)態(tài)對(duì)象之間僅有消息傳遞的連接。元類是類的類。類范疇是一組類,它們?cè)谝欢ǔ橄笠饬x上是類同的。物理的一組類用模塊來(lái)表達(dá)。機(jī)制是完成一個(gè)需求任務(wù)的一組類構(gòu)成的結(jié)構(gòu)。Booch方法在面向?qū)ο蟮脑O(shè)計(jì)中主要強(qiáng)調(diào)多次重復(fù)和開(kāi)發(fā)者的創(chuàng)造性。方法本身是一組啟發(fā)性的過(guò)程式建議。OOD的一般過(guò)程如下:(1在一定抽象層次上標(biāo)識(shí)類與對(duì)象;(2標(biāo)識(shí)類與對(duì)象的語(yǔ)義;(3標(biāo)識(shí)類
7、與對(duì)象之間的關(guān)系(如繼承、實(shí)例化、使用等;(4實(shí)現(xiàn)類與對(duì)象。3、RDD/Wirfs-BrockRDD2(Responsibility-Driven Design方法是Wirfs-Brock在1990年提出的。這是一個(gè)按照類、責(zé)任以及合作關(guān)系對(duì)應(yīng)用進(jìn)行建模的方法。首先定義系統(tǒng)的類與對(duì)象,然后確定系統(tǒng)的責(zé)任并劃分給類,最后確定對(duì)象類之間的合作來(lái)完成類的責(zé)任。這些設(shè)計(jì)將進(jìn)一步按照類層次、子系統(tǒng)和協(xié)議來(lái)完善。RDD方法主要包含以下概念:類(class、繼承(inheritance、責(zé)任(responsibility、合作(collaboration、合同(contract、子系統(tǒng)(subsystem。
8、對(duì)每個(gè)類都有不同的責(zé)任或角色以及動(dòng)作。合作是為完成責(zé)任而需要與之通信的對(duì)象集合。責(zé)任進(jìn)一步精化并被分組為合同。合同又進(jìn)一步按操作精化為協(xié)議。子系統(tǒng)是為簡(jiǎn)化設(shè)計(jì)而引入的,是一組類和低級(jí)子系統(tǒng),也包含由子系統(tǒng)中的類及子系統(tǒng)支持的合同。RDD分為探索階段和精化階段:(1探索階段:確定類、每個(gè)類的責(zé)任以及類間的合作;(2精化階段:精化類繼承層次、確定子系統(tǒng)、確定協(xié)議。RDD按照類層次圖、合作圖、類規(guī)范、子系統(tǒng)規(guī)范、合同規(guī)范等設(shè)計(jì)規(guī)范來(lái)完成實(shí)現(xiàn)。4、OOAD/Coad-YourdonOOAD3(Object-Oriented Analysis and Design方法是由Peter Coad和Edwar
9、d Yourdon 在1991年提出的。這是一種逐步進(jìn)階的面向?qū)ο蠼7椒?。在OOA中,分析模型用來(lái)描述系統(tǒng)的功能,主要包括以下概念:類(class、對(duì)象(object、屬性(attribute、服務(wù)(service、消息(message、主題(subject、一般/特殊結(jié)構(gòu)(Gen-Spec-Structure、全局/部份結(jié)構(gòu)(Whole-Part-Structure、實(shí)例連接(instance connection和消息連接(message connection等。其中,主題是指一組特定的類與對(duì)象。OOA使用了基本的結(jié)構(gòu)化原則,并把它們同面向?qū)ο蟮挠^點(diǎn)結(jié)合起來(lái)。OOA完成系統(tǒng)分析,包括以下
10、五個(gè)步驟:確定類與對(duì)象、標(biāo)識(shí)結(jié)構(gòu)、定義主題、定義屬性和定義服務(wù)。OOA本質(zhì)上是一種面向?qū)ο蟮姆椒?適用于小型系統(tǒng)的開(kāi)發(fā)。OOD負(fù)責(zé)系統(tǒng)設(shè)計(jì),包括以下四個(gè)步驟:(1設(shè)計(jì)問(wèn)題域(細(xì)化分析結(jié)果;(2設(shè)計(jì)人機(jī)交互部分(設(shè)計(jì)用戶界面;(3設(shè)計(jì)任務(wù)管理部分(確定系統(tǒng)資源的分配;(4設(shè)計(jì)數(shù)據(jù)管理部分(確定持久對(duì)象的存儲(chǔ)。5、OOSE/JacobsonOOSE3(Object-Oriented Software Engineering是Ivar Jacobson在1992年提出的一種使用事例驅(qū)動(dòng)的面向?qū)ο箝_(kāi)發(fā)方法。OOSE主要包括下列概念:類(class、對(duì)象(object、繼承(inherits、相識(shí)(ac
11、quaintance、通信(communication、激勵(lì)(stimuli、操作(operation、屬性(attribute、參與者(actor、使用事例(use case、子系統(tǒng)(subsystem、服務(wù)包(service package、塊(block、對(duì)象模塊(object module。相識(shí)表示靜態(tài)的關(guān)聯(lián)關(guān)系,包括聚合關(guān)系。激勵(lì)是通信傳送的消息。參與者是與系統(tǒng)交互的事物,它表示所有與系統(tǒng)有信息交換的系統(tǒng)之外的事務(wù),因此不關(guān)心它的細(xì)節(jié)。參與者與用戶不同,參與者是用戶所充當(dāng)?shù)慕巧⑴c者的一個(gè)實(shí)例對(duì)系統(tǒng)做一組不同的操作。當(dāng)用戶使用系統(tǒng)時(shí),會(huì)執(zhí)行一個(gè)行為相關(guān)的事物系列,這個(gè)系列是在與系統(tǒng)
12、的會(huì)話中完成的,這個(gè)特殊的系列稱為使用事例,每個(gè)使用事例都是使用系統(tǒng)的一條途徑。使用事例的一個(gè)執(zhí)行過(guò)程可以看作是使用事例的實(shí)例。當(dāng)用戶發(fā)出一個(gè)激勵(lì)之后,使用事例的實(shí)例開(kāi)始執(zhí)行,并按照使用事例開(kāi)始事物。事務(wù)包括許多動(dòng)作,事務(wù)在收到用戶結(jié)束激勵(lì)后被終止。在這個(gè)意義上,使用事例可以被看作是對(duì)象類,而使用事例的實(shí)例可以被看作是對(duì)象。OOSE開(kāi)發(fā)過(guò)程中有以下五種模型,這些模型是自然過(guò)渡和緊密耦合的:·需求模型包括由領(lǐng)域?qū)ο竽P秃徒缑婷枋鲋С值膮⑴c者和使用事例。對(duì)象模型是系統(tǒng)的概念化的、容易理解的描述。界面描述刻畫了系統(tǒng)界面的細(xì)節(jié)。需求模型從用戶的觀點(diǎn)上完整地刻畫了系統(tǒng)的功能需求,因此按這個(gè)模型
13、與最終用戶交流比較容易。·分析模型是在需求模型的基礎(chǔ)上建立的。主要目的是要建立在系統(tǒng)生命期中可維護(hù)、有邏輯性、健壯的結(jié)構(gòu)。模型中有三種對(duì)象。界面對(duì)象刻畫系統(tǒng)界面。實(shí)體對(duì)象刻畫系統(tǒng)要長(zhǎng)期管理的信息和信息上的行為。實(shí)體對(duì)象生存在一個(gè)特別的使用事例中。第三種是按特定的使用事例作面向事務(wù)的建模的對(duì)象。這三種對(duì)象使得需求的改變總是局限于其中一種。·設(shè)計(jì)模型進(jìn)一步精化分析模型并考慮了當(dāng)前的實(shí)現(xiàn)環(huán)境。塊描述了實(shí)現(xiàn)的意圖。分析模型通常要根據(jù)實(shí)現(xiàn)作相應(yīng)的變化。但分析模型中基本結(jié)構(gòu)要盡可能保留。在設(shè)計(jì)模型中,塊進(jìn)一步用使用事例模型來(lái)闡述界面和塊間的通信。·實(shí)現(xiàn)模型主要包括實(shí)現(xiàn)塊的代碼
14、。OOSE并不要求用面向?qū)ο笳Z(yǔ)言來(lái)完成實(shí)現(xiàn)。·測(cè)試模型包括不同程度的保證。這種保證從低層的單元測(cè)試延伸到高層的系統(tǒng)測(cè)試。6、VMT/IBMVMT1(Visual Modeling Technique方法是IBM公司于1996年公布的。VMT方法結(jié)合了OMT、OOSE、RDD等方法的優(yōu)點(diǎn),并且結(jié)合了可視化編程和原型技術(shù)。VMT方法選擇OMT方法作為整個(gè)方法的框架,并且在表示上也采用了OMT方法的表示。VMT方法用RDD方法中的CRC(Class-Responsibility-Collaboration卡片來(lái)定義各個(gè)對(duì)象的責(zé)任(操作以及對(duì)象間的合作(關(guān)系。此外,VMT方法引入了OOSE方
15、法中的使用事例概念,用以描述用戶與系統(tǒng)之間的相互作用,確定系統(tǒng)為用戶提供的服務(wù),從而得到準(zhǔn)確的需求模型。VMT方法的開(kāi)發(fā)過(guò)程分為三個(gè)階段:分析、設(shè)計(jì)和實(shí)現(xiàn)。分析階段的主要任務(wù)是建立分析模型。設(shè)計(jì)階段包括系統(tǒng)設(shè)計(jì)、對(duì)象設(shè)計(jì)和永久性對(duì)象設(shè)計(jì)。實(shí)現(xiàn)階段就是用某一種環(huán)境來(lái)實(shí)現(xiàn)系統(tǒng)。7、六種方法的比較·OMT方法覆蓋了應(yīng)用開(kāi)發(fā)的全過(guò)程,是一種比較成熟的方法,用幾種不同的觀念來(lái)適應(yīng)不同的建模場(chǎng)合,它在許多重要觀念上受到關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)的影響,適合于數(shù)據(jù)密集型的信息系統(tǒng)的開(kāi)發(fā),是一種比較完善和有效的分析與設(shè)計(jì)方法。·Booch方法并不是一個(gè)開(kāi)發(fā)過(guò)程,只是在開(kāi)發(fā)面向?qū)ο笙到y(tǒng)時(shí)應(yīng)遵循的一些技術(shù)
16、和原則。Booch方法是從外部開(kāi)始,逐步求精每個(gè)類直到系統(tǒng)被實(shí)現(xiàn)。因此,它是一種分治法,支持循環(huán)開(kāi)發(fā),它的缺點(diǎn)在于不能有效地找出每個(gè)對(duì)象和類的操作。·RDD是一種用非形式的技術(shù)和指導(dǎo)原則開(kāi)發(fā)合適的設(shè)計(jì)方案的設(shè)計(jì)技術(shù)。它用交互填寫CRC卡片的方法完成設(shè)計(jì),對(duì)大型系統(tǒng)設(shè)計(jì)不太適用。RDD采用傳統(tǒng)的方法確定對(duì)象類,有一定的局限性。另外,均勻地把行為分配給類也十分困難。·在OOAD方法中,OOA把系統(tǒng)橫向劃分為五個(gè)層次,OOD把系統(tǒng)縱向劃分為四個(gè)部分,從而形成一個(gè)清晰的系統(tǒng)模型。OOAD適用于小型系統(tǒng)的開(kāi)發(fā)。·OOSE能夠較好地描述系統(tǒng)的需求,是一種實(shí)用的面向?qū)ο蟮南到y(tǒng)開(kāi)發(fā)方法,適合于商務(wù)處理方面的應(yīng)用開(kāi)發(fā)。·VMT基于現(xiàn)有面向?qū)ο蠓椒ㄖ械某墒旒夹g(shù),采用這
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《青年友誼圓舞曲》的音樂(lè)課件
- 人教部編版四年級(jí)語(yǔ)文上冊(cè)第13課《精衛(wèi)填?!肪勒n件
- 《叢林故事》練習(xí)題(含答案)
- 2024年武漢駕駛員客運(yùn)資格證模擬考試題及答案詳解
- 2024年江西客運(yùn)證考什么
- 2024年山西客運(yùn)考試模擬題及答案
- 2024年廣州客運(yùn)從業(yè)資格證仿真考試題
- 2024年蕪湖客運(yùn)從業(yè)資格摸擬考試
- 專練21人口60題-2024年高考地理總復(fù)習(xí)高頻考點(diǎn)提分必刷題(原卷版)
- 人教部編版二年級(jí)語(yǔ)文上冊(cè)第16課《朱德的扁擔(dān)》精美課件
- JBT 14615-2024 內(nèi)燃機(jī) 活塞運(yùn)動(dòng)組件 清潔度限值及測(cè)定方法(正式版)
- 2024年保密知識(shí)測(cè)試試題庫(kù)(綜合題)
- 《做個(gè)加法表》名師課件
- 個(gè)人與公司簽訂的銷售提成協(xié)議
- 危險(xiǎn)性較大的分部分項(xiàng)安全管理核查表
- 2024年紀(jì)檢監(jiān)察綜合業(yè)務(wù)知識(shí)題庫(kù)含答案(研優(yōu)卷)
- 第8課《用制度體系保證人民當(dāng)家做作主》第2框《我國(guó)的基本政治制度》課件 2023-2024學(xué)年 中職高教版(2023)中國(guó)特色社會(huì)主義
- 手術(shù)切口感染PDCA案例
- 小學(xué)大思政課實(shí)施方案設(shè)計(jì)
- 2024年入團(tuán)積極分子結(jié)業(yè)考試試題
- 供應(yīng)室消防應(yīng)急預(yù)案演練
評(píng)論
0/150
提交評(píng)論