1. 程式人生 > >【軟考】軟體開發模型

【軟考】軟體開發模型

    軟考中經常會考到開發模型知識,先進行一下簡單的總結.

1.瀑布模型:

    瀑布模型嚴格遵循軟體生命週期各階段的固定順序:計劃、分析、設計、程式設計、測試和維護,上一階段完成後才能進入下一階段,真個模型就像是一個飛流直下的瀑布。

優點:以文件作為驅動,強迫開發人員採用規範的方法,嚴格規定了各階段必須提交的文件;要求每一階段結束後都要進行嚴格的評審。

缺點:過於理想化,不適用戶需求的改動.

   適用於需求明確或很少變更的專案,也可用於在已有類似的專案開發經驗的專案上。

   V模型是瀑布模型的一個變體,強調測試過程與開發過程的對應性和併發性,同樣要求需求明確,而且很少有需求變更的情況發生。

2、增量模型

    融合了瀑布模型的解百納成分和原型實現的迭代特徵,假設可以將需求分段為一系列增量產品,每一增量可以開發。

   主要用於設計階段,把軟體產品劃分為一系列的增量構件,分別進行設計、程式設計、整合和測試。新的增量構件不得破壞。增量模型需求瞭解一點,能做成成品交給使用者去測試,通過後期不斷增加功能,增量模型強調每一個增量均釋出一個可操作的的產品,每個版本都要交給客戶去檢驗。(個人理解)

3.演化模型

    演化模型是一種全域性的軟體(或產品)生存週期模型。屬於迭代開發方法。根據使用者的基本需求,通過快速分析構造出該軟體的一個初始可執行版本,這個初始的軟體通常稱之為原型,然後根據使用者在使用原型的過程中提出的意見和建議對原型進行改進,獲得原型的新版本。重複這一過程,最終可得到令使用者滿意的軟體產品。採用演化模型的開發過程,實際上就是從初始的原型逐步演化成最終軟體產品的過程。演化模型特別適用於對軟體需求

缺乏準確認識的情況。

增量模型與演化模型的對比:

    增量模型強調每一個增量均發佈一個可操作的的產品,每個版本都要交給客戶去檢驗。演化模型在內部開發階段進行迭代,需要交給客戶檢驗。

    典型的演化模型是原型模型和螺旋模型

原型模型:

    原型模型開始於溝通,目的是定義軟體的總體目標,標識需求,然後快速制定原型開發的計劃,確定原型的目標和範圍,進行建模,構建原型。原型模型通過向用戶提供原型獲取使用者的反饋,使開發出的軟體能夠真正反映使用者的需求。同時,原型模型採用逐步求精的方法完善原型,使得原型能夠“快速”開發,避免了像瀑布模型一樣在冗長的開發過程中難以對使用者的反饋作出快速的響應。是目前較流行的一種實用軟體生存期模型。

螺旋模型:

    螺旋模型將瀑布模型和演化模型結合起來,加入了風險分析,在每個迭代階段構建

原型是螺旋模型用以減小風險的途徑。

螺旋模型更適合大型的昂貴的系統級的軟體應用。

對比

聯絡:兩個模型都是迭代開發方法,都是要分析構造一個原型。

區別:原型模型在有了一個大致的框架之後就可以進行開發,螺旋加入了風險分析,適用於大型的昂貴的系統級的軟體應用。簡短的總結就是瀑布模型適用於需求明確不變更的情況。

4.噴泉模型

    噴泉模型是一種以使用者需求為動力,以物件為驅動的模型,開發過程具有迭代性和無間隙性,各個階段沒有明顯的界限,開發人員可以同步進行。主要用於描述面向物件的軟體開發過程。

很明顯噴泉模型主要用於採用物件技術的軟體開發專案。

寫在後面的話:

    這一部分原來軟工就學習過,但是做題發現也會錯,現在做的多了總結之後就會發現這就是白給分的題。常考的是瀑布、原型、螺旋、噴泉,瀑布模型適用於需求明確不變更的情況,原型適用於對於需求缺乏的情況,螺旋適用於風險分析方面,噴泉是面向物件。一般考的比較簡單,理解了每個模型的關鍵字眼就可以了。