當(dāng)前位置:機(jī)電之家首頁(yè) >> 工程造價(jià)>> 工程論文 >> 軟件工程論文 >> 軟件開發(fā)方法述評(píng)
軟件開發(fā)方法述評(píng)

60年代中期開始爆發(fā)了眾所周知的軟件危機(jī)。為了克服這一危機(jī),在1968、1969年連續(xù)召開的兩次著名的NATO會(huì)議上提出了軟件工程這一術(shù)語(yǔ),并在以后不斷發(fā)展、完善。與此同時(shí),軟件研究人員也在不斷探索新的軟件開發(fā)方法。至今已形成八類軟件開發(fā)方法。

一、Parnas方法

  最早的軟件開發(fā)方法是由D. Parnas在1972年提出的。由于當(dāng)時(shí)軟件在可維護(hù)性和可靠性方面存在著嚴(yán)重問題,因此Par-nas提出的方法是針對(duì)這兩個(gè)問題的。首先,Parnas提出了信息隱蔽原則:在概要設(shè)計(jì)時(shí)列出將來可能發(fā)生變化的因素,并在模塊劃分時(shí)將這些因素放到個(gè)別模塊的內(nèi)部。這樣,在將來由于這些因素變化而需修改軟件時(shí),只需修改這些個(gè)別的模塊,其它模塊不受影響。信息隱蔽技術(shù)不僅提高了軟件的可維護(hù)性,而且也避免了錯(cuò)誤的蔓延,改善了軟件的可靠性。現(xiàn)在信息隱蔽原則已成為軟件工程學(xué)中的一條重要原則。

  Parnas提出的第二條原則是在軟件設(shè)計(jì)時(shí)應(yīng)對(duì)可能發(fā)生的種種意外故障采取措施。軟件是很脆弱的,很可能因?yàn)橐粋€(gè)微小的錯(cuò)誤而引發(fā)嚴(yán)重的事故,所以必須加強(qiáng)防范。如在分配使用設(shè)備前,應(yīng)該取設(shè)備狀態(tài)字,檢查設(shè)備是否正常。此外,模塊之間也要加強(qiáng)檢查,防止錯(cuò)誤蔓延。

  Parnas對(duì)軟件開發(fā)提出了深刻的見解。遺憾的是,他沒有給出明確的工作流程。所以這一方法不能獨(dú)立使用,只能作為其它方法的補(bǔ)充。

二、Yourdon方法

  1978年,E.Yourdon和L.L.Constan-tine提出了結(jié)構(gòu)化方法,即SASD方法,也可稱為面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的軟件開發(fā)方法。1979年Tom DeMarco對(duì)此方法作了進(jìn)一步的完善。

  Yourdon方法是80年代使用最廣泛的軟件開發(fā)方法。它首先用結(jié)構(gòu)化分析(SA)對(duì)軟件進(jìn)行需求分析,然后用結(jié)構(gòu)化設(shè)計(jì)(SD)方法進(jìn)行總體設(shè)計(jì),最后是結(jié)構(gòu)化編程(SP)。這一方法不僅開發(fā)步驟明確,SA、SD、SP相輔相成,一氣呵成,而且給出了兩類典型的軟件結(jié)構(gòu)(變換型和事務(wù)型),便于參照,使軟件開發(fā)的成功率大大提高,從而深受軟件開發(fā)人員的青睞。

三、面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法

1.Jackson方法

  1975年,M.A.Jackson提出了一類至今仍廣泛使用的軟件開發(fā)方法。這一方法從目標(biāo)系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補(bǔ)充其它細(xì)節(jié),就可得到完整的程序結(jié)構(gòu)圖。這一方法對(duì)輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中小型系統(tǒng)特別有效,如商業(yè)應(yīng)用中的文件表格處理。該方法也可與其它方法結(jié)合,用于模塊的詳細(xì)設(shè)計(jì)。

  Jackson方法有時(shí)也稱為面向數(shù)據(jù)結(jié)構(gòu)的軟件設(shè)計(jì)方法。

2.Warnier方法

  1974年,J.D.Warnier提出的軟件開發(fā)方法與Jackson方法類似。差別有三點(diǎn):一是它們使用的圖形工具不同,分別使用Warnier圖和Jackson圖;另一個(gè)差別是使用的偽碼不同;最主要的差別是在構(gòu)造程序框架時(shí),Warnier方法僅考慮輸入數(shù)據(jù)結(jié)構(gòu),而Jackson方法不僅考慮輸入數(shù)據(jù)結(jié)構(gòu),而且還考慮輸出數(shù)據(jù)結(jié)構(gòu)。

四、問題分析法PAM

  問題分析法PAM(Problem Analysis bbbbbb)是80年代末由日立公司提出的一種軟件開發(fā)方法。

  PAM方法希望能兼顧Yourdon方法、Jackson方法和自底向上的軟件開發(fā)方法的優(yōu)點(diǎn),而避免它們的缺陷。它的基本思想是:考慮到輸入、輸出數(shù)據(jù)結(jié)構(gòu),指導(dǎo)系統(tǒng)的分解,在系統(tǒng)分析指導(dǎo)下逐步綜合。這一方法的具體步驟是:從輸入、輸出數(shù)據(jù)結(jié)構(gòu)導(dǎo)出基本處理框;分析這些處理框之間的先后關(guān)系;按先后關(guān)系逐步綜合處理框,直到畫出整個(gè)系統(tǒng)的PAD圖。從上述步驟中可以看出,這一方法本質(zhì)上是綜合的自底向上的方法,但在逐步綜合之前已進(jìn)行了有目的的分解,這個(gè)目的就是充分考慮系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)。

  PAM方法的另一個(gè)優(yōu)點(diǎn)是使用PAD圖。這是一種二維樹形結(jié)構(gòu)圖,是到目前為止最好的詳細(xì)設(shè)計(jì)表示方法之一,遠(yuǎn)遠(yuǎn)優(yōu)于N-S圖和PDL語(yǔ)言。

  這一方法在日本較為流行,軟件開發(fā)的成功率也很高。由于在輸入、輸出數(shù)據(jù)結(jié)構(gòu)與整個(gè)系統(tǒng)之間同樣存在著鴻溝,這一方法仍只適用于中小型問題。

五、面向?qū)ο蟮能浖_發(fā)方法

  面向?qū)ο蠹夹g(shù)是軟件技術(shù)的一次革命,在軟件開發(fā)史上具有里程碑的意義。

  隨著OOP(面向?qū)ο缶幊蹋┫騉OD(面向?qū)ο笤O(shè)計(jì))和OOA(面向?qū)ο蠓治觯┑陌l(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT(bbbbbb Modelling Technique)。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對(duì)象建模為基礎(chǔ),從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構(gòu),實(shí)際上也包含了所有對(duì)象的數(shù)據(jù)結(jié)構(gòu)。所以O(shè)MT徹底實(shí)現(xiàn)了PAM沒有完全實(shí)現(xiàn)的目標(biāo)。不僅如此,OO技術(shù)在需求分析、可維護(hù)性和可靠性這三個(gè)軟件開發(fā)的關(guān)鍵環(huán)節(jié)和質(zhì)量指標(biāo)上有了實(shí)質(zhì)性的突破 ,徹底地解決了在這些方面存在的嚴(yán)重問題,從而宣告了軟件危機(jī)末日的來臨。

1.自底向上的歸納

  OMT的第一步是從問題的陳述入手,構(gòu)造系統(tǒng)模型。從真實(shí)系統(tǒng)導(dǎo)出類的體系,即對(duì)象模型包括類的屬性,與子類、父類的繼承關(guān)系,以及類之間的關(guān)聯(lián)。類是具有相似屬性和行為的一組具體實(shí)例(客觀對(duì)象)的抽象,父類是若干子類的歸納。因此這是一種自底向上的歸納過程。在自底向上的歸納過程中,為使子類能更合理地繼承父類的屬性和行為,可能需要自頂向下的修改,從而使整個(gè)類體系更加合理。由于這種類體系的構(gòu)造是從具體到抽象,再?gòu)某橄蟮骄唧w,符合人類的思維規(guī)律,因此能更快、更方便地完成任務(wù)。這與自頂向下的Yourdon方法構(gòu)成鮮明的對(duì)照。在Yourdon方法中構(gòu)造系統(tǒng)模型是最困難的一步,因?yàn)樽皂斚蛳碌?頂"是一個(gè)空中樓閣,缺乏堅(jiān)實(shí)的基礎(chǔ),而且功能分解有相當(dāng)大的任意性,因此需要開發(fā)人員有豐富的軟件開發(fā)經(jīng)驗(yàn)。而在OMT中這一工作可由一般開發(fā)人員較快地完成。在對(duì)象模型建立后,很容易在這一基礎(chǔ)上再導(dǎo)出動(dòng)態(tài)模型和功能模型。這三個(gè)模型一起構(gòu)成要求解的系統(tǒng)模型。

2.自頂向下的分解

  系統(tǒng)模型建立后的工作就是分解。與Yourdon方法按功能分解不同,在OMT中通常按服務(wù) (Service)來分解。服務(wù)是具有共同目標(biāo)的相關(guān)功能的集合,如I/O處理、圖形處理等。這一步的分解通常很明確,而這些子系統(tǒng)的進(jìn)一步分解因有較具體的系統(tǒng)模型為依據(jù),也相對(duì)容易。所以O(shè)MT也具有自頂向下方法的優(yōu)點(diǎn),即能有效地控制模塊的復(fù)雜性,同時(shí)避免了Yourdon方法中功能分解的困難和不確定性。

3.OMT的基礎(chǔ)是對(duì)象模型

  每個(gè)對(duì)象類由數(shù)據(jù)結(jié)構(gòu)(屬性)和操作(行為)組成,有關(guān)的所有數(shù)據(jù)結(jié)構(gòu)(包括輸入、輸出數(shù)據(jù)結(jié)構(gòu))都成了軟件開發(fā)的依據(jù)。因此Jackson方法和PAM中輸入、輸出數(shù)據(jù)結(jié)構(gòu)與整個(gè)系統(tǒng)之間的鴻溝在OMT中不再存在。OMT不僅具有Jackson方法和PAM的優(yōu)點(diǎn),而且可以應(yīng)用于大型系統(tǒng)。更重要的是,在Jackson方法和PAM方法中,當(dāng)它們的出發(fā)點(diǎn)———輸入、輸出數(shù)據(jù)結(jié)構(gòu)(即系統(tǒng)的邊界)發(fā)生變化時(shí),整個(gè)軟件必須推倒重來。但在OMT中系統(tǒng)邊界的改變只是增加或減少一些對(duì)象而已,整個(gè)系統(tǒng)改動(dòng)極小。

4.需求分析徹底

  需求分析不徹底是軟件失敗的主要原因之一。即使在目前,這一危險(xiǎn)依然存在。傳統(tǒng)的軟件開發(fā)方法不允許在開發(fā)過程中用戶的需求發(fā)生變化,從而導(dǎo)致種種問題。正是由于這一原因,人們提出了原型化方法,推出探索原型、實(shí)驗(yàn)原型和進(jìn)化原型,積極鼓勵(lì)用戶改進(jìn)需求。在每次改進(jìn)需求后又形成新的進(jìn)化原型供用戶試用,直到用戶基本滿意,大大提高了軟件的成功率。但是它要求軟件開發(fā)人員能迅速生成這些原型,這就要求有自動(dòng)生成代碼的工具的支持。

  OMT徹底解決了這一問題。因?yàn)樾枨蠓治鲞^程已與系統(tǒng)模型的形成過程一致,開發(fā)人員與用戶的討論是從用戶熟悉的具體實(shí)例(實(shí)體)開始的。開發(fā)人員必須搞清現(xiàn)實(shí)系統(tǒng)才能導(dǎo)出系統(tǒng)模型,這就使用戶與開發(fā)人員之間有了共同的語(yǔ)言,避免了傳統(tǒng)需求分析中可能產(chǎn)生的種種問題。

5.可維護(hù)性大大改善

  在OMT之前的軟件開發(fā)方法都是基于功能分解的。盡管軟件工程學(xué)在可維護(hù)方面作出了極大的努力,使軟件的可維護(hù)性有較大的改進(jìn)。但從本質(zhì)上講,基于功能分解的軟件是不易維護(hù)的。因?yàn)楣δ芤坏┯凶兓紩?huì)使開發(fā)的軟件系統(tǒng)產(chǎn)生較大的變化,甚至推倒重來。更嚴(yán)重的是,在這種軟件系統(tǒng)中,修改是困難的。由于種種原因,即使是微小的修改也可能引入新的錯(cuò)誤。所以傳統(tǒng)開發(fā)方法很可能會(huì)引起軟件成本增長(zhǎng)失控、軟件質(zhì)量得不到保證等一系列嚴(yán)重問題。正是OMT才使軟件的可維護(hù)性有了質(zhì)的改善。

  OMT的基礎(chǔ)是目標(biāo)系統(tǒng)的對(duì)象模型,而不是功能的分解。功能是對(duì)象的使用,它依賴于應(yīng)用的細(xì)節(jié),并在開發(fā)過程中不斷變化。由于對(duì)象是客觀存在的,因此當(dāng)需求變化時(shí)對(duì)象的性質(zhì)要比對(duì)象的使用更為穩(wěn)定,從而使建立在對(duì)象結(jié)構(gòu)上的軟件系統(tǒng)也更為穩(wěn)定。 [NextPage]

  更重要的是OMT徹底解決了軟件的可維護(hù)性。在OO語(yǔ)言中,子類不僅可以繼承父類的屬性和行為,而且也可以重載父類的某個(gè)行為(虛函數(shù))。利用這一特點(diǎn),我們可以方便地進(jìn)行功能修改:引入某類的一個(gè)子類,對(duì)要修改的一些行為(即虛函數(shù)或虛方法)進(jìn)行重載,也就是對(duì)它們重新定義。由于不再在原來的程序模塊中引入修改,所以徹底解決了軟件的可修改性,從而也徹底解決了軟件的可維護(hù)性。OO技術(shù)還提高了軟件的可靠性和健壯性。

六、可視化開發(fā)方法

  可視化開發(fā)是90年代軟件界最大的兩個(gè)熱點(diǎn)之一。隨著圖形用戶界面的興起,用戶界面在軟件系統(tǒng)中所占的比例也越來越大,有的甚至高達(dá)60~70%。產(chǎn)生這一問題的原因是圖形界面元素的生成很不方便。為此bbbbbbs提供了應(yīng)用程序設(shè)計(jì)接口API(Application Programm ing Inter-face),它包含了600多個(gè)函數(shù),極大地方便了圖形用戶界面的開發(fā)。但是在這批函數(shù)中,大量的函數(shù)參數(shù)和使用數(shù)量更多的有關(guān)常量,使基于bbbbbbs API的開發(fā)變得相當(dāng)困難。為此Borland C++推出了bbbbbb bbbbbbs編程。它將API的各部分用對(duì)象類進(jìn)行封裝,提供了大量預(yù)定義的類,并為這些定義了許多成員函數(shù)。利用子類對(duì)父類的繼承性,以及實(shí)例對(duì)類的函數(shù)的引用,應(yīng)用程序的開發(fā)可以省卻大量類的定義,省卻大量成員函數(shù)的定義或只需作少量修改以定義子類。bbbbbb Win-dows還提供了許多標(biāo)準(zhǔn)的缺省處理,大大減少了應(yīng)用程序開發(fā)的工作量。但要掌握它們,對(duì)非專業(yè)人員來說仍是一個(gè)沉重的負(fù)擔(dān)。為此人們利用bbbbbb s API或Borland C++的bbbbbb bbbbbbs開發(fā)了一批可視開發(fā)工具。

  可視化開發(fā)就是在可視開發(fā)工具提供的圖形用戶界面上,通過操作界面元素,諸如菜單、按鈕、對(duì)話框、編輯框、單選框、復(fù)選框、列表框和滾動(dòng)條等,由可視開發(fā)工具自動(dòng)生成應(yīng)用軟件。

  這類應(yīng)用軟件的工作方式是事件驅(qū)動(dòng)。對(duì)每一事件,由系統(tǒng)產(chǎn)生相應(yīng)的消息,再傳遞給相應(yīng)的消息響應(yīng)函數(shù)。這些消息響應(yīng)函數(shù)是由可視開發(fā)工具在生成軟件時(shí)自動(dòng)裝入的。

  可視開發(fā)工具應(yīng)提供兩大類服務(wù)。一類是生成圖形用戶界面及相關(guān)的消息響應(yīng)函數(shù)。通常的方法是先生成基本窗口,并在它的外面以圖標(biāo)形式列出所有其它的界面元素,讓開發(fā)人員挑選后放入窗口指定位置。在逐一安排界面元素的同時(shí),還可以用鼠標(biāo)拖動(dòng),以使窗口的布局更趨合理。

  另一類服務(wù)是為各種具體的子應(yīng)用的各個(gè)常規(guī)執(zhí)行步驟提供規(guī)范窗口,它包括對(duì)話框、菜單、列表框、組合框、按鈕和編輯框等,以供用戶挑選。開發(fā)工具還應(yīng)為所有的選擇(事件)提供消息響應(yīng)函數(shù)。

  由于要生成與各種應(yīng)用相關(guān)的消息響應(yīng)函數(shù),因此,可視化開發(fā)只能用于相當(dāng)成熟的應(yīng)用領(lǐng)域,如目前流行的可視化開發(fā)工具基本上用于關(guān)系數(shù)據(jù)庫(kù)的開發(fā)。對(duì)一般的應(yīng)用,目前的可視化開發(fā)工具只能提供用戶界面的可視化開發(fā)。至于消息響應(yīng)函數(shù)(或稱腳本),則仍需用通常的高級(jí)語(yǔ)言(3GL)編寫。只有在數(shù)據(jù)庫(kù)領(lǐng)域才提供4GL,使消息響應(yīng)函數(shù)的開發(fā)大大簡(jiǎn)化。

  從原理上講,與圖形有關(guān)的所有應(yīng)用都可采用可視化開發(fā)方式,如活塞表面設(shè)計(jì)中的熱應(yīng)力計(jì)算。用戶只需在界面上用鼠標(biāo)修改活塞表面的曲線,應(yīng)用軟件就自動(dòng)進(jìn)行有限元?jiǎng)澐?、溫度?chǎng)計(jì)算、熱應(yīng)力計(jì)算,并將熱應(yīng)力的等值曲線圖顯示在屏幕上。最后幾次生成的結(jié)果還可并列顯示在各窗口上,供用戶比較,其中的一個(gè)主窗口還可讓用戶進(jìn)一步修改活塞表面曲線。

  許多工程科學(xué)計(jì)算都與圖形有關(guān),從而都可以開發(fā)相應(yīng)的可視化計(jì)算的應(yīng)用軟件。

  可視化開發(fā)是軟件開發(fā)方式上的一場(chǎng)革命,它使軟件開發(fā)從專業(yè)人員的手中解放出來,對(duì)緩解80年代中后期爆發(fā)的應(yīng)用軟件危機(jī)有重大作用。

七、ICASE

  提高人類的勞動(dòng)生產(chǎn)率,提高生產(chǎn)的自動(dòng)化程度,一直是人類堅(jiān)持不懈的追求目標(biāo)。軟件開發(fā)也不例外。早在1982年美國(guó)國(guó)防部就提出了STARS工程,希望建立一個(gè)"用以支持需求定義、程序生成以及軟件維護(hù)等軟件生存期全部活動(dòng)的,并把它們集成在一起的整個(gè)體系"。但早期的軟件開發(fā)環(huán)境工具較少,且不配套,支持需求分析等高層次生存期階段的工具更少,因此要求支持某類軟件開發(fā)方法的全過程已很不容易了。如Your-don公司的Cradle軟件開發(fā)環(huán)境支持Yourdon結(jié)構(gòu)化開發(fā)方法,Jackson工具集支持Jackson開發(fā)方法。

  隨著軟件開發(fā)工具的積累,自動(dòng)化工具的增多,軟件開發(fā)環(huán)境進(jìn)入了第三代ICASE(Integrated Computer-Aided Software Engineering)。系統(tǒng)集成方式經(jīng)歷了從數(shù)據(jù)交換(早期CA SE采用的集成方式:點(diǎn)到點(diǎn)的數(shù)據(jù)轉(zhuǎn)換),到公共用戶界面(第二代CASE:在一致的界面下調(diào)用眾多不同的工具),再到目前的信息中心庫(kù)方式。這是ICASE的主要集成方式。它不僅提供數(shù)據(jù)集成(1991年IEEE為工具互連提出了標(biāo)準(zhǔn)P1175)和控制集成(實(shí)現(xiàn)工具間的調(diào)用),還提供了一組用戶界面管理設(shè)施和一大批工具,如垂直工具集(支持軟件生存期各階段,保證生成信息的完備性和一致性)、水平工具集(用于不同的軟件開發(fā)方法)以及開放工具槽。

  ICASE的進(jìn)一步發(fā)展則是與其它軟件開發(fā)方法的結(jié)合,如與面向?qū)ο蠹夹g(shù)、軟件重用技術(shù)結(jié)合,以及智能化的I-CASE。近幾年已出現(xiàn)了能實(shí)現(xiàn)全自動(dòng)軟件開發(fā)的ICASE。

  ICASE的最終目標(biāo)是實(shí)現(xiàn)應(yīng)用軟件的全自動(dòng)開發(fā),即開發(fā)人員只要寫好軟件的需求規(guī)格說明書,軟件開發(fā)環(huán)境就自動(dòng)完成從需求分析開始的所有的軟件開發(fā)工作,自動(dòng)生成供用戶直接使用的軟件及有關(guān)文檔。

  在應(yīng)用最成熟的數(shù)據(jù)庫(kù)領(lǐng)域,目前已有能實(shí)現(xiàn)全部自動(dòng)生成的應(yīng)用軟件,如MSE公司的Magic系統(tǒng)。它只要求軟件開發(fā)人員填寫一系列表格(相當(dāng)于要求軟件實(shí)現(xiàn)的各種功能),系統(tǒng)就會(huì)自動(dòng)生成應(yīng)用軟件。它不僅能節(jié)省90%以上的軟件開發(fā)和維護(hù)的工作量,而且還能將應(yīng)用軟件的開發(fā)工作轉(zhuǎn)交給熟練的用戶。

八、軟件重用和組件連接

  軟件重用(Reuse)又稱軟件復(fù)用或軟件再用。早在1968年的NATO軟件工程會(huì)議上就已提出可復(fù)用庫(kù)的思想。1983年,F(xiàn)reeman對(duì)軟件重用給出了詳細(xì)的定義:"在構(gòu)造新的軟件系統(tǒng)的過程中,對(duì)已存在的軟件人工制品的使用技術(shù)。"軟件人工制品可以是源代碼片斷、子系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)、模塊的詳細(xì)設(shè)計(jì)、文檔和某一方面的規(guī)范說明等。所以軟件重用是利用已有的軟件成份來構(gòu)造新的軟件。它可以大大減少軟件開發(fā)所需的費(fèi)用和時(shí)間,且有利于提高軟件的可維護(hù)性和可靠性。目前軟件重用沿著下面三個(gè)方向發(fā)展:

1.基于軟件復(fù)用庫(kù)的軟件重用

  它是一種傳統(tǒng)的軟件重用技術(shù)。這類軟件開發(fā)方法要求提供軟件可重用成份的模式分類和檢索,且要解決如何有效地組織、標(biāo)識(shí)、描述和引用這些軟件成份。通常采用兩種方式進(jìn)行軟件重用:

(1)生成技術(shù) 這是對(duì)模式的重用。由軟件生成器通過替換特定參數(shù),生成抽象軟件成份的具體實(shí)例。

(2)組裝方式 常用的組裝方式有:子程序庫(kù)技術(shù)、共享接口設(shè)計(jì)和嵌套函數(shù)調(diào)用等。組裝方式對(duì)軟件重用成份通常不作修改,或僅作很少的修改。

2.與面向?qū)ο蠹夹g(shù)結(jié)合

  OO技術(shù)中類的聚集、實(shí)例對(duì)類的成員函數(shù)或操作的引用、子類對(duì)父類的繼承等使軟件的可重用性有了較大的提高。而且這種類型的重用容易實(shí)現(xiàn)。所以這種方式的軟件重用發(fā)展較快。

3.組件連接

  這是目前發(fā)展最快的軟件重用方式。最早的組件連接技術(shù)OLE 1.0(bbbbbb bbbbing an d bbbbbding)是Microsoft公司于1990年11月在COMDEX展覽會(huì)上推出的。OLE 1.0的規(guī)范發(fā)表于1990年12月,1991年2月推出了第一批支持OLE 1.0規(guī)范的應(yīng)用程序。1993年5月發(fā)表了OLE 2.0。幾個(gè)月后,第一批支持OLE 2.0的應(yīng)用程序問世。

  OLE給出了軟件組件(Component bbbbbb)的接口標(biāo)準(zhǔn)。這樣任何人都可以按此標(biāo)準(zhǔn)獨(dú)立地開發(fā)組件和增值組件(組件上添加一些功能構(gòu)成新的組件),或由若干組件組建集成軟件。在這種軟件開發(fā)方法中,應(yīng)用系統(tǒng)的開發(fā)人員可以把主要精力放在應(yīng)用系統(tǒng)本身的研究上,因?yàn)樗麄兛稍诮M件市場(chǎng)上購(gòu)買所需的大部分組件。

  軟件組件市場(chǎng)/組件集成方式是一種社會(huì)化的軟件開發(fā)方式,因此也是軟件開發(fā)方式上的一次革命,必將極大地提高軟件開發(fā)的勞動(dòng)生產(chǎn)率,而且應(yīng)用軟件開發(fā)周期將大大縮短,軟件質(zhì)量將更好,所需開發(fā)費(fèi)用會(huì)進(jìn)一步降低,軟件維護(hù)也更容易。

  軟件組件連接的另一個(gè)標(biāo)準(zhǔn)是1995年3月推出的OpenDoc。這是IBM、Apple等公司組成的 CI Labs集團(tuán)使用的標(biāo)準(zhǔn)。由于OpenDoc的編程接口比OLE小,因此OpenDoc的應(yīng)用程序能與OL E兼容。

  第三個(gè)組件連接標(biāo)準(zhǔn)是對(duì)象管理集團(tuán)OMG于1991年發(fā)表的CORBA(Common bbbbbb Reques t Broker Architecture),1994年OMG又發(fā)表了CORBA 2.0。

  由于OLE 1.0、OLE 2.0的部分功能已放入bbbbbbs 3.1(在推出OLE 2.0的同時(shí),推出Win dows 3.1的OLE 2.0),因此目前使用的組件連接開發(fā)技術(shù)大多基于OLE 2.0。

  綜上所述,今后的軟件開發(fā)將是以O(shè)O技術(shù)為基礎(chǔ)(指用它開發(fā)系統(tǒng)軟件和軟件開發(fā)環(huán)境) ,可視化開發(fā)、ICASE和軟件組件連接三種方式并駕齊驅(qū)。它們四個(gè)將一起形成軟件界新一輪的熱點(diǎn)技術(shù)。


 

作者:未知 點(diǎn)擊:861次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:軟件開發(fā)方法述評(píng)
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《軟件開發(fā)方法述評(píng)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“軟件開發(fā)方法述評(píng)”的更多資訊

電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

雒工 【求購(gòu)】  永磁風(fēng)力發(fā)...  2025-12-1
楊異乾 【求購(gòu)】  電涌保護(hù)器  2025-11-28
趙焱 【求購(gòu)】  電氣溫控閥  2025-11-28
張揚(yáng)瓊 【求購(gòu)】  ABB火檢...  2025-11-27
張雪根 【求購(gòu)】  固體除垢劑  2025-11-26
趙經(jīng)理 【求購(gòu)】  變壓器  2025-11-26
羅經(jīng)理 【求購(gòu)】  巡邏車跟蹤...  2025-11-26
趙經(jīng)理 【求購(gòu)】  柴油發(fā)電機(jī)  2025-11-26
VIP公司推薦