1. 程式人生 > >【軟體工程基礎】我對書中幾種軟體過程模型的特點以及優缺點的理解和總結

【軟體工程基礎】我對書中幾種軟體過程模型的特點以及優缺點的理解和總結

一、瀑布模型

優點:

  1. 簡單易用,將複雜的軟體開發過程明確分解為幾個順序的步驟,降低開發軟體的複雜性。
  2. 嚴格,第一是每個步驟的嚴格,每個步驟都有明確的標準和技術審查,儘量減少每個步驟的錯誤,同時減少對下個階段的影響。第二是對文件的嚴格要求,每個階段都有各自的規格說明書。

缺點:

  1. 一次性:單向開發,開發期間沒有迭代過程,無法適應使用者不明確的需求或需求出現變動,難以適應現代軟體開發模式的問題。
  2. 使用者的風險:瀑布模型順序嚴格,使用者到軟體開發結束才能看到最終結果,可能離使用者預期的需求有很大差距,開發風險大。

我的理解:

      瀑布模型是在軟體工程體系發展過程中基本上是最先出現的模型,在當年軟體開發流程並沒有明確,嚴格的要求時給了人們很大的幫助,促進了軟體工程的應用和發展。但在現代,使用者的軟體需求往往不是那麼明確,不是一成不變的了,故這種可變性,靈活性較低的模型已經在逐漸被淘汰,有更多靈活性更強,更適用現代軟體開發的模型。

二、原型模型

優點:

  1. 快速,使用者不用等到軟體的全部實現就能看見和使用系統。
  2. 符合使用者預期,在每次原型演化過程中,使用者都能及時參與,相當於把維護階段提前到原型的迭代過程中。

缺點:

  1. 原型是在需求不明確的情況下開發的,原型質量難以保證
  2. 使用者與開發者對原型的理解可能不同,使需求產生偏差。

我的理解:

原型模型相當於一個大大壓縮的瀑布模型,通過不明確的需求實現一部分功能,再通過與使用者交流明確具體的需求並進行迭代,解決了瀑布模型靈活性太低的問題,但原型模型不適宜大型軟體專案的開發,且原型的質量是使用原型模型開發軟體的關鍵,若開發出成功的原型之前許多時間浪費在失敗的原型上,會使時間和金錢成本較高。

三、增量模型

優點:

  1. 靈活,使用者儘早對系統用直觀瞭解,同時可以按照使用者需求優先重要部分進行設計與分析,給開發時間,資源帶來很大靈活性。
  2. 使用者風險低,每次使用者都能得到部分的功能,即使功能與需求出現偏差或系統出現錯誤,也能在早期和使用者交流的過程中就能發現並改正。

缺點:

  1. 增量模型在後期新增功能時,難以保證不會對前期的功能產生影響。
  2. 若使用者需求出現變化,前期開發的功能也要進行更改。

我的理解:

增量模型的理念比較符合現代軟體開發的過程,每次增量提交部分功能,既能讓使用者早日體驗,安心,也能早些發現軟體可能出現的系統錯誤。同時增量模型把需求分解為數個小部分進行開發,適合於功能較多,需求不明確,開發時間長的系統。如果軟體規模較小,原型模型應該更好一些,同時我認為原型模型與增量模型的部分流程相似。