必威电竞|足球世界杯竞猜平台

螺旋模型
來源:互聯網

螺旋模型是一種演化軟件開發過程模型,它兼顧了快速原型的迭代的特征以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在于引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟件應用。1988年,巴利·玻姆(Barry Boehm)正式發表了軟件系統開發的“螺旋模型”,它將瀑布模型和快速原型模型結合起來,強調了其他模型所忽視的風險分析,特別適合于大型復雜的系統。

簡介

螺旋模型(Spiral Model)采用一種周期性的方法來進行系統開發。這會導致開發出眾多的中間版本。使用它,項目經理在早期就能夠為客戶實證某些概念。該模型是快速原型法,以進化的開發方式為中心,在每個項目階段使用瀑布模型法。這種模型的每一個周期都包括需求定義、風險分析、工程實現和評審4個階段,由這4個階段進行迭代。軟件開發過程每迭代一次,軟件開發又前進一個層次。采用螺旋模型的軟件過程如下圖所示::

螺旋模型基本做法是在“瀑布模型”的每一個開發階段前引入一個非常嚴格的風險識別、風險分析和風險控制,它把軟件項目分解成一個個小項目。每個小項目都標識一個或多個主要風險,直到所有的主要風險因素都被確定。

螺旋模型強調風險分析,使得開發人員和用戶對每個演化層出現的風險有所了解,繼而做出應有的反應,因此特別適用于龐大、復雜并具有高風險的系統。對于這些系統,風險是軟件開發不可忽視且潛在的不利因素,它可能在不同程度上損害軟件開發過程,影響軟件產品的質量。減小軟件風險的目標是在造成危害之前,及時對風險進行識別及分析,決定采取何種對策,進而消除或減少風險的損害。

四種象限

螺旋模型沿著螺線進行若干次迭代,圖中的四個象限代表了以下活動:

(1)制定計劃:確定軟件目標,選定實施方案,弄清項目開發的限制條件;

(2)風險分析:分析評估所選方案,考慮如何識別和消除風險;

(3)實施工程:實施軟件開發和驗證;

(4)客戶評估:評價開發工作,提出修正建議,制定下一步計劃。

螺旋模型由風險驅動,強調可選方案和約束條件從而支持軟件的重用,有助于將軟件質量作為特殊目標融入產品開發之中。

常見問題

螺旋模型很大程度上是一種風險驅動的方法體系,因為在每個階段之前及經常發生的循環之前,都必須首先進行風險評估。在實踐中,螺旋法技術和流程變得更為簡單。迭代方法體系更傾向于按照開發/設計人員的方式工作,而不是項目經理的方式。螺旋模型中存在眾多變量,并且在將來會有更大幅度的增長,該方法體系正良好運作著。下表是螺旋法能夠解決的各種問題:

優缺點

優點

1)設計上的靈活性,可以在項目的各個階段進行變更。

2)以小的分段來構建大型系統,使成本計算變得簡單容易。

3)客戶始終參與每個階段的開發,保證了項目不偏離正確方向以及項目的可控性。

4)隨著項目推進,客戶始終掌握項目的最新信息,從而他或她能夠和管理層有效地交互。

5)客戶認可這種公司內部的開發方式帶來的良好的溝通和高質量的產品。

缺點

很難讓用戶確信這種演化方法的結果是可以控制的。建設周期長,而軟件技術發展比較快,所以經常出現軟件開發完畢后,和當前的技術水平有了較大的差距,無法滿足當前用戶需求。

螺旋模型的項目適用:

對于新近開發,需求不明確的情況下,適合用螺旋模型進行開發,便于風險控制和需求變更!

核心

“螺旋模型”剛開始規模很小,當項目被定義得更好、更穩定時,逐漸展開。

“螺旋模型”的核心就在于您不需要在剛開始的時候就把所有事情都定義的清清楚楚。您輕松上陣,定義最重要的功能,實現它,然后聽取客戶的意見,之后再進入到下一個階段。如此不斷輪回重復,直到得到您滿意的最終產品。

每輪循環包含如下六個步驟:

1.確定目標,可選項,以及強制條件。

2.識別并化解風險。

3.評估可選項。

4.開發并測試當前階段。

5.規劃下一階段。

6.確定進入下一階段的方法步驟。

限制條件

(1)螺旋模型強調風險分析,但要求許多客戶接受和相信這種分析,并做出相關反應是不容易的,因此,這種模型往往適應于內部的大規模軟件開發。

(2)如果執行風險分析將大大影響項目的利潤,那么進行風險分析毫無意義,因此,螺旋模型只適合于大規模軟件項目。

(3)軟件開發人員應該擅長尋找可能的風險,準確地分析風險,否則將會帶來更大的風險

一個階段首先是確定該階段的目標,完成這些目標的選擇方案及其約束條件,然后從風險角度分析方案的開發策略,努力排除各種潛在的風險,有時需要通過建造原型來完成。如果某些風險不能排除,該方案立即終止,否則啟動下一個開發步驟。最后,評價該階段的結果,并設計下一個階段。

參考資料 >

生活家百科家居網