常見軟件生存周期模型分析
2015-04-30 10:26:41 訪問:
【內(nèi)容導(dǎo)讀】
軟件生存周期模型是從軟件項目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個生存周期的系統(tǒng)開發(fā)、運作和維護所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。a)瀑布模型:瀑布模型也稱線性順序模型。瀑布模型規(guī)定了各項軟件工程活動,包括:制定開發(fā)計劃,進行需
軟件生存周期模型是從軟件項目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個生存周期的系統(tǒng)開發(fā)、運作和維護所實施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。
a) 瀑布模型:瀑布模型也稱“線性順序模型”。瀑布模型規(guī)定了各項軟件工程活動,包括:制定開發(fā)計劃,進行需求分析和說明,軟件設(shè)計,程序編碼,測試及運行維護。并且規(guī)定了它們自上而下,相互銜接的固定次序,如同瀑布流水,逐級下落,
然而軟件開發(fā)的實踐表明,上述各項活動之間并非完全是自上而下,呈線性圖式。實際情況是,每項開發(fā)活動均處于一個質(zhì)量環(huán)(輸入-處理-輸出-評審)中。只有當其工作得到確認,才能繼續(xù)進行下一項活動,否則返工。
b) 演化模型:由于在項目開發(fā)的初始階段人們對軟件的需求認識常常不夠清晰,因而使得開發(fā)項目難于做到一次開發(fā)成功,出現(xiàn)返工再開發(fā)在所難免。因此,可以先做試驗開發(fā),其目標只是在于探索可行性,弄清軟件需求;然后在此基礎(chǔ)上獲得較為滿意的軟件產(chǎn)品。通常把第一次得到的試驗性產(chǎn)品稱為“原型”。
c) 螺旋模型:對于復(fù)雜的大型軟件,開發(fā)一個原型往往達不到要求。螺旋模型將瀑布模型與演化模型結(jié)合起來,并且加入兩種模型均忽略了的風(fēng)險分析。螺旋模型沿著螺線旋轉(zhuǎn),,在笛卡爾坐標的四個象限上分別表達了四個方面的活動,即:
制定計劃──確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件;
風(fēng)險分析──分析所選方案,考慮如何識別和消除風(fēng)險;
實施工程──實施軟件開發(fā);
客戶評估──評價開發(fā)工作,提出修正建議。
沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本。
螺旋模型是軟件開發(fā)的高級策略,不僅適合結(jié)構(gòu)化方法且更適合面向?qū)ο蠓椒āK膶嵤?、管理和技術(shù)水平產(chǎn)生深遠的影響,是最有前途的過程模型之一。
d) 噴泉模型:噴泉模型對軟件復(fù)用和生存周期中多項開發(fā)活動的集成提供了支持,主要支持面向?qū)ο蟮拈_發(fā)方法。“噴泉”一詞本身體現(xiàn)了迭代和無間隙特性。系統(tǒng)某個部分常常重復(fù)工作多次,相關(guān)功能在每次迭代中隨之加入演進的系統(tǒng)。所謂無間隙是指在開發(fā)活動,即分析、設(shè)計和編碼之間不存在明顯的邊界,
e) 智能模型:智能模型是基于知識的軟件開發(fā)模型,它綜合了上述若干模型,并把專家系統(tǒng)結(jié)合在一起。該模型應(yīng)用基于規(guī)則的系統(tǒng),采用歸約和推理機制,幫助軟件人員完成開發(fā)工作,并使維護在系統(tǒng)規(guī)格說明一級進行。