
螺旋模型是一種演進(jìn)式的軟件過程模型,結(jié)合了原型開發(fā)方法的系統(tǒng)性和瀑布模型可控性特點(diǎn)。它有兩個顯著特點(diǎn),一是采用循環(huán)的方式逐步加深系統(tǒng)定義和實現(xiàn)的深度,降低風(fēng)險;二是確定一系列里程碑,確保項目開發(fā)過程中的相關(guān)利益者都支持可行的和令人滿意的系統(tǒng)解決方案。
螺旋模型的基本思想就是,使用原型及其他方法來盡量降低風(fēng)險。理解這種模型的一個簡便方法,是把它看作每個階段之前都增加了風(fēng)險分析過程的快速原型模型。
螺旋模型主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。如果進(jìn)行風(fēng)險分析的費(fèi)用接近整個項目的經(jīng)費(fèi)預(yù)算,則風(fēng)險分析是不可行的。事實上項目越大,風(fēng)險也越大,因此進(jìn)行風(fēng)險分析的必要性也越大。此外只有內(nèi)部開發(fā)的項目,才能在風(fēng)險過大時方便中止項目。
螺旋式模型
螺旋模型沿著螺線旋轉(zhuǎn),在四個象限上分別表達(dá)了四個方面的活動,即:
制定計劃──確定軟件目標(biāo),需求和選定實施方案,弄清項目開發(fā)的限制條件
風(fēng)險分析──評估所選方案,考慮如何識別和消除風(fēng)險
實施工程──實施軟件開發(fā),編碼,測試等
客戶評估──評價開發(fā)工作,提出修正建議,規(guī)劃下期任務(wù)
螺旋式模型特點(diǎn)
是瀑布Waterfall模型的多次迭代
它將每個階段進(jìn)行更細(xì)的劃分
可以進(jìn)行靈活設(shè)計
通過風(fēng)險管理驅(qū)動
用戶可以更早看到產(chǎn)品
用戶可以不斷對產(chǎn)品進(jìn)行評估
用戶可以與開發(fā)人員進(jìn)行緊密的合作
項目的投資不用一次投入
可以給開發(fā)人員更多的反饋信息
螺旋式模型使用指南
采用最低成本來開發(fā)對將來項目有用的一部分
允許設(shè)計的變動
選擇比較小的步伐循序漸進(jìn)
使需求規(guī)格處于可修改狀態(tài)
項目中有很多風(fēng)險,注意風(fēng)險的控制。
螺旋式模型適合的項目
項目中風(fēng)險是主要的制約因素
項目中的不確定因素和風(fēng)險限制了時間的進(jìn)度
用戶對自己的需求也不是很明確
需要對一些基本的概念進(jìn)行驗證
可能發(fā)生一些重大的變更
項目規(guī)模很大
項目中采用了新技術(shù)