軟件評測師寫作專欄之軟件開發過程模型20

各位學員大家好,大家在學習軟件開發過程模型時,主要會考察瀑布模型、原型化模型、增量模型、噴泉模型和螺旋模型等爲了讓大家快速掌握這方面的知識點,接下來就帶領大家一起來學習一下!

例題:現要開發一個軟件產品的圖形用戶界面,則最適宜採用(  )過程模型。

A、瀑布

B、原型化

C、增量

D、螺旋


【昊洋詳解】:本題考查軟件開發過程模型的基礎知識。

瀑布模型:給出了軟件生存週期各階段的固定順序,上一個階段完成後才能進入下一個階段。瀑布模型是將軟件生存週期中的各個活動規定爲依線性順序連接的若干階段的模型,包括需求分析、設計、編碼、測試、運行與維護。它規定了由前至後、相互銜接的固定次序,如同瀑布流水逐級下落,瀑布模型的缺點是缺乏靈活性。如下圖所示:


瀑布模型的一個變體是V模型,V模型描述了質量保證活動和溝通、建模相關活動以及早期構建相關的活動之間的關係。隨着軟件團隊工作沿着V模型左側步驟向下推進,基本問題需求逐步細化,形成問題及解決方案的技術描述。一旦編碼結束,團隊沿着V模型右側的步驟向上推進工作,其實際上是執行了一系列測試(質量保證活動),這些測試驗證了團隊沿着V模型左側步驟向下推進過程中所生成的每個模型。V模型提供了一種將驗證確認活動應用於早期軟件工程工作中的方法。如下圖所示:

原型模型:也叫做原型化模型或者快速原型模型,大量的實踐表明,在開發初期很難得到一個完整的、準確的需求規格說明。這主要是由於客戶往往不能準確地表達對未來系統的全面要求,開發者對要解決的應用問題模糊不清,以至於形成的需求規格說明常常是不完整的、不準確的,有時甚至是有歧義的。此外,在整個開發過程中,用戶可能會產生新的要求,導致需求的變更。而瀑布模型難以適應這種需求的不確定性和變化,於是出現了原型化開發模型這種新的開發方法。

原型是預期系統的一個可執行版本,反映了系統性質的一個選定的子集。一個原型不必滿足目標軟件的所有約束,其目的是能快速、低成本地構建原型。如下圖所示:


增量模型:融合了瀑布模型的基本成分和原型實現的迭代特徵,它假設可以將需求分段爲一系列增量產品,每一增量可以分別開發。該模型採用隨着日程時間的進展而交錯的線性序列,每一個線性序列產生軟件的一個可發佈的“增量”。當使用增量模型時,第1個增量往往是核心的產品。客戶對每個增量的使用和評估都作爲下一個增量發佈的新特徵和功能,這個過程在每一個增量發佈後不斷重複,直到產生了最終的完善產品。增量模型強調每一個增量均發佈一個可操作的產品。如下圖所示:


螺旋模型:對於複雜的大型軟件,開發一個原型往往達不到要求。螺旋模型將瀑布模型和原型化模型結合起來,加入了兩種模型均忽略的風險分析,彌補了這兩種模型的不足。螺旋模型將開發過程分爲幾個螺旋週期,每個螺旋週期大致和瀑布模型相符合。每個螺旋週期分爲如下4個工作步驟。

1)、制定計劃。確定軟件的目標,選定實施方案,明確項目開發的限制條件。

2)、風險分析。分析所選的方案,識別風險,消除風險。.

3)、實施工程。實施軟件開發,驗證階段性產品。

4)、用戶評估。評價開發工作,提出修正建議,建立下一個週期的開發計劃。

螺旋模型如下圖所示:


噴泉模型:噴泉模型是一種以用戶需求爲動力,以對象作爲驅動的模型,適合於面向對象的開發方法。它克服了瀑布模型不支持軟件重用和多項開發活動集成的侷限性。噴泉模型使開發過程具有迭代性和無間隙性,迭代意味着模型中的開發活動常常需要重複多次,在迭代過程中不斷地完善軟件系統。無間隙是指在開發活動(如分析、設計、編碼)之間不存在明顯的邊界,也就是說,它不像瀑布模型那樣,在需求分析活動結束後纔開始設計活動,在設計活動結束後纔開始編碼活動,而是允許各開發活動交叉、迭代地進行。

噴泉模型如下圖所示:


綜上所述,要開發一個軟件產品的圖形用戶界面,需求往往變化比較大,比較適合原型化過程模型,故該題目的正確答案爲B。


鞏固練習題

(1)以下關於瀑布模型的優點的敘述中,不正確的是(  )。

A、可規範化開發人員的開發過程

B、嚴格地規定了每個階段必須提交的文檔

C、要求每個階段提交的所有制品必須是經過評審和驗證的

D、項目失敗的風險較低


(2)某開發小組欲開發一個軟件系統,實現城市中不同圖書館的資源共享,包括實體資源和電子資源,共享規則可能在開發過程中有變化。客戶希望開發小組能儘快提交可運行的軟件,且可以接受多次交付。這種情況下最適宜採用(1 )開發過程模型。主要是因爲這種模型(2 )。  

1、A、瀑布   

B、原型   

C、增量    

D、螺旋

2、A、可以快速提交階段性的軟件產品                     

B、需求變化對開發沒有影響  

C、減少用戶適應和習慣系統的時間和精力        

D、能夠很好解決風險問題


(3)( )過程模型明確地考慮了開發中的風險  。

A、瀑布               

B、快速原型

C、V                      

D、螺旋


(4)開發過程中以用戶需求爲動力,以對象作爲驅動,( )適合於面向對象的開發方法。

A、瀑布    

B、原型   

C、螺旋   

D、噴泉


練習題參考答案

(1)解析:本試題考查瀑布模型的基礎知識。

瀑布模型:是一個項目開發架構,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品發佈和維護,每個階段都會產生循環反饋,因此,如果有信息未被覆蓋或者發現了問題,那麼最好 “返回”上一個階段並進行適當的修改,項目開發進程從一個階段“流動”到下一個階段,這也是瀑布模型名稱的由來。

瀑布模型有以下優點:

1)、爲項目提供了按階段劃分的檢查點。

2)、當前一階段完成後,您只需要去關注後續階段。

3)、可在迭代模型中應用瀑布模型。

4)、它提供了一個模板,這個模板使得分析、設計、編碼、測試和支持的方法可以在該模板下有一個共同的指導。

瀑布模型有以下缺點:

1)、各個階段的劃分完全固定,階段之間產生大量的文檔,極大地增加了工作量。

2)、由於開發模型是線性的,用戶只有等到整個過程的末期才能見到開發成果,從而增加了開發風險。

3)、通過過多的強制完成日期和里程碑來跟蹤各個項目階段。

4)、瀑布模型的突出缺點是不適應用戶需求的變化。

D不屬於瀑布模型的特點,是螺旋模型的特點。故該題目的正確答案爲D。

 

(2)解析:本題考查軟件開發過程模型的基礎知識。

瀑布模型:給出了軟件生存週期各階段的固定順序,上一個階段完成後才能進入下一個階段,瀑布模型的缺點是缺乏靈活性。

原型模型:是逐步演化成最終軟件產品的過程,特別適用於對軟件需求缺乏準確認識的情況。

增量模型:採用隨着日程時間的進展而交錯的線性序列,每一個線性序列產生軟件的一個可發佈的“增量”。當使用增量模型時,第1個增量往往是核心的產品,即第1個增量實現了基本的需求,但很多補充的特徵還沒有發佈。客戶對每一個增量的使用和評估都作爲下一個增量發佈的新特徵和功能,這個過程在每一個增量發佈後不斷重複,直到產生了最終的完善產品。

螺旋模型:提出於1988年,由瀑布模型和原型模型相結合而成,綜合了二者的優點,並增加了風險分析。

客戶希望開發小組能儘快提交可運行的軟件,且可以接受多次交付。這時候增量模型是最好的選擇。增量模型可以快速提交階段性的軟件產品。故該題目的第一空的正確答案爲C,第二空的正確答案爲A。

 

(3)解析:本題考查軟件過程開發模型的基礎知識。

軟件過程是軟件生存週期中的一系列相關活動,即用於開發和維護軟件及相關產品的一系列活動。

瀑布模型從一種非常高層的角度描述了軟件開發過程中進行的活動,並且提出了要求開發人員經過的事件序列。過程模型明確地考慮了開發中的風險

快速原型模型允許開發人員快速地構造整個系統或系統的一部分以理解或澄清問題。

V模型是瀑布模型的變種,他說明測試活動是如何與分析和設計相聯繫的。

螺旋模型把開發和風險管理結合起來,以將風險減到最小並控制風險,在該過程模型中,風險被明確地提了出來,故該題目的正確答案爲D。

 

(4)解析:本題考查軟件過程開發模型的基礎知識。

瀑布模型在1970年提出,給出了軟件生存週期各階段的固定順序,上一個階段完成後才能進入下一個階段。瀑布模型的缺點是缺乏靈活性。

原型模型是逐步演化成最終軟件產品的過程,特別適用於對軟件需求缺乏準確認識的情況。

螺旋模型提出於1988年,由瀑布模型和原型模型相結合而成,綜合了二者的優點,並增加了風險分析。

噴泉模型主要用於描述面向對象的開發過程,體現了面向對象開發過程的迭代和無間隙特徵。故該題目的正確答案爲D。

寫於2020年9月14日

作者:昊洋講師

版權所有,侵權必究

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章