資源描述:
《軟件開發(fā)方法及新技術綜述》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、軟件開發(fā)方法及新技術綜述軟件開發(fā)方法及新技術綜述2010-06-2421:39軟件開發(fā)方法及新技術綜述國外大的軟件公司和機構一直在研究軟件開發(fā)方法這個概念性的東西,而且也提出了很多實際的開發(fā)方法,比如:生命周期法、原型化方法、面向?qū)ο蠓椒ǖ鹊?。下面介紹幾種流行的開發(fā)方法:1、結(jié)構化方法結(jié)構化開發(fā)方法是由E.Yourdon和L.L.Constantine提出的,即所謂的SASD方法,也可稱為面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的軟件開發(fā)方法。Yourdon方法是80年代使用最廣泛的軟件開發(fā)方法。它首先用結(jié)構化
2、分析(SA)對軟件進行需求分析,然后用結(jié)構化設計(SD)方法進行總體設計,最后是結(jié)構化編程(SP)。它給出了兩類典型的軟件結(jié)構(變換型和事務型)使軟件開發(fā)的成功率大大提高。2、面向數(shù)據(jù)結(jié)構的軟件開發(fā)方法Jackson方法是最典型的面向數(shù)據(jù)結(jié)構的軟件開發(fā)方法,Jackson方法把問題分解為可由三種基本結(jié)構形式表示的各部分的層次結(jié)構。三種基本的結(jié)構形式就是順序、選擇和重復。三種數(shù)據(jù)結(jié)構可以進行組合,形成復雜的結(jié)構體系。這一方法從目標系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構入手,導出程序框架結(jié)構,再補充其它細節(jié),就可得到完整的
3、程序結(jié)構圖。這一方法對輸入、輸出數(shù)據(jù)結(jié)構明確的中小型系統(tǒng)特別有效,如商業(yè)應用中的文件表格處理。該方法也可與其它方法結(jié)合,用于模塊的詳細設計。3、面向問題的分析法PAM(ProblemAnalysisMethod)是80年代末由日立公司提出的一種軟件開發(fā)方法。它的基本思想是考慮到輸入、輸出數(shù)據(jù)結(jié)構,指導系統(tǒng)的分解,在系統(tǒng)分析指導下逐步綜合。這一方法的具體步驟是:從輸入、輸出數(shù)據(jù)結(jié)構導出基本處理框;分析這些處理框之間的先后關系;按先后關系逐步綜合處理框,直到畫出整個系統(tǒng)的PAD圖。這一方法本質(zhì)上是綜合的自底向
4、上的方法,但在逐步綜合之前已進行了有目的的分解,這個目的就是充分考慮系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構。PAM方法的另一個優(yōu)點是使用PAD圖。這是一種二維樹形結(jié)構圖,是到目前為止最好的詳細設計表示方法之一。當然由于在輸入、輸出數(shù)據(jù)結(jié)構與整個系統(tǒng)之間同樣存在著鴻溝,這一方法仍只適用于中小型問題。4、原型化方法產(chǎn)生原型化方法的原因很多,主要隨著我們系統(tǒng)開發(fā)經(jīng)驗的增多,我們也發(fā)現(xiàn)并非所有的需求都能夠預先定義而且反復修改是不可避免的。當然能夠采用原型化方法是因為開發(fā)工具的快速發(fā)展,比如用VB,DELPHI等工具我們可以迅速
5、的開發(fā)出一個可以讓用戶看的見、摸的著的系統(tǒng)框架,這樣,對于計算機不是很熟悉的用戶就可以根據(jù)這個樣板提出自己的需求。開發(fā)原型化系統(tǒng)一般由以下幾個階段:(1)確定用戶需求(2)開發(fā)原始模型(3)征求用戶對初始原型的改進意見(4)修改原型。原型化開發(fā)比較適合于用戶需求不清、業(yè)務理論不確定、需求經(jīng)常變化的情況。當系統(tǒng)規(guī)模不是很大也不太復雜時采用該方法是比較好的。5、面向?qū)ο蟮能浖_發(fā)方法當前計算機業(yè)界最流行的幾個單詞就是分布式、并行和面向?qū)ο筮@幾個術語。由此可以看到面向?qū)ο筮@個概念在當前計算機業(yè)界的地位。比如當前
6、流行的兩大面向?qū)ο蠹夹gDCOM和CORBA就是例子。當然我們實際用到的還是面向?qū)ο蟮木幊陶Z言,比如C++。不可否認,面向?qū)ο蠹夹g是軟件技術的一次革命,在軟件開發(fā)史上具有里程碑的意義。隨著OOP(面向?qū)ο缶幊?向OOD(面向?qū)ο笤O計)和OOA(面向?qū)ο蠓治?的發(fā)展,最終形成面向?qū)ο蟮能浖_發(fā)方法OMT(ObjectModelingTechnique)。這是一種自底向上和自頂向下相結(jié)合的方法,而且它以對象建模為基礎,從而不僅考慮了輸入、輸出數(shù)據(jù)結(jié)構,實際上也包含了所有對象的數(shù)據(jù)結(jié)構。所以OMT徹底實現(xiàn)了PAM
7、沒有完全實現(xiàn)的目標。不僅如此,OO技術在需求分析、可維護性和可靠性這三個軟件開發(fā)的關鍵環(huán)節(jié)和質(zhì)量指標上有了實質(zhì)性的突破,基本地解決了在這些方面存在的嚴重問題。綜上所述,面向?qū)ο笙到y(tǒng)采用了自底向上的歸納、自頂向下的分解的方法,它通過對對象模型的建立,能夠真正建立基于用戶的需求,而且系統(tǒng)的可維護性大大改善。當前業(yè)界關于面向?qū)ο蠼5臉藴适荱ML(UnifiedModelingLanguage)。這里我們需要談一下微軟的MSF(MicrosoftSolutionsFramework)的框架,它簡單的把系統(tǒng)設計分
8、成三個階段:概念設計、邏輯設計和物理設計。概念設計階段就是從用戶的角度出發(fā)可以得到多少個對象,并且以對象為主體,畫出業(yè)務框架。邏輯設計階段就是對概念設計階段的對象進行再分析、細分、整合、刪除。并建立各個對象的方法屬性以及對象之間的關系。而物理設計實際上就是要確定我們實際需要的組件、服務和采用的框架結(jié)構、具體的編程語言等。MCF整個結(jié)構比較清楚是基于對象開發(fā)的一個比較好的可操作的框架系統(tǒng)。面向?qū)ο蟮乃枷肱c方法大約出現(xiàn)在20世紀8