螺旋模型

螺旋模型(英語:Spiral model),是系統發展生命周期的模型。它兼顧了快速原型的迭代的特徵以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟體應用。

歷史

 
螺旋模型(巴里·勃姆,1988)

螺旋模型由美國軟體工程師巴里·勃姆於1988年5月在他的文章《一種螺旋式的軟體開發與強化模型》[1]提出。事實上,螺旋模型並不是第一個討論迭代過程的模型。而它卻是第一個解釋迭代的重要作用的模型。

步驟

一個典型的螺旋模型應該由以下的步驟構成:

  1. 明確本迭代階段的目標、備選方案以及應用備選方案的限制;
  2. 對備選方案進行評估,明確並解決存在的風險,建立原型;
  3. 當風險得到很好的分析與解決後,應用瀑布模型進行本階段的開發與測試;
  4. 對下一階段進行計劃與部署;
  5. 與客戶一起對本階段進行評審;

優勢

  • 通過原型的建立,使軟體開發在每個迭代的最初明確方向;
  • 通過風險分析,最大程度地降低軟體徹底失敗造成損失的可能性;
  • 在每個迭代階段植入軟體測試,使每個階段的品質得到保證;
  • 整體過程具備很高的靈活性,在開發過程的任何階段自由應對變化;
  • 每個迭代階段累計開發成本,使支出狀況容易掌握;
  • 通過對使用者回饋的採集,與使用者溝通,以保證使用者需求的最大實現;

缺陷

  • 過分依賴風險分析經驗與技術,一旦在風險分析過程中出現偏差將造成重大損失;
  • 過於靈活的開發過程不利於已經簽署合同的客戶與開發者之間的協調;
  • 由於只適用大型軟體,過大的風險管理支出會影響客戶的最終收益;

參見

相關文獻

  1. ^ 《一种螺旋式的软件开发与强化模型》(英文原文) (PDF). [2009-10-07]. (原始內容 (PDF)存檔於2009-10-07).