1. 螺旋模型
4.1什麼是螺旋模型
螺旋模型是一種演化軟體開發過程模型,它兼顧了快速原型的迭代特徵以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑
螺旋模型是快速原型模型以進化的開發方式為中心,在每個項目階段使用瀑布模型法。該模型的每一個周期都包括需求定義、風險分析、工程實現和評審4個階段,正激由這4個階段進行迭代。軟體開發過程每迭代一次,軟體開發又前進一個層次。用螺旋模型的軟體過程如下
簡化的螺旋模型
完整的數據模型
圖中帶箭頭的點劃線的長度代表當前累計的開發費用,螺旋線的角度值代表開發進度,螺旋線的每個周期對應於一個開發階段
圖中的四個象限代表了以下活動
制定計劃:確定軟體目標,選定實施方案,弄清項目開發的限制條件
風險分析:分析評估所選方案,考慮如何識別和消除風險
實施工程:實施軟體開發和驗證
客戶評估:評價開發工作,提出修正建議,制定下一步計劃
4.2特點
螺旋模型在「瀑布模型」的每一個開發階段前引入一個非常嚴格的風險識別、風險分析和風險控制,它把軟體項目分解成一個個小項目。每個小項目都標識一個或多個主要風險,直到所有的主要風險因素都被確定
螺旋模型強調風險分析,使得開發人員和用戶對每個演化層出現的風險有所了解,繼而做出應有的反應,因此特別適用於龐大、復雜並具有高風險的系統
4.3優缺點
優點
對可選方案和約束條件的強調有利於已有軟體的重用,也有助於把軟體質量作為軟體開發的一個重要目標
減少了過多測試(浪費資金)或舉凳襪測試不足(產品故障多)所帶來的風險
在螺旋模型中維護只是模型的另一個周期,在維護和開發之間並沒有本質區別
缺點
採用螺旋模型需要具有相當豐富的風險評估經驗和專門知識,在風險較大的項目開發中,如果未能夠及時標識風險,勢必造成重大損失
過多的迭代次數會增加開發成本,延遲提交時間
4.4限制條件
螺旋模型強調風險分析,但要求許多客戶接受和相信這種分析,並做出相關反應是不容易的,因此,這種模型往往適應於內部的大規模軟體開發
如果執行風險分析將大大影響項目的利潤,那麼進行風險分析毫無意義粗岩,因此,螺旋模型只適合於大規模軟體項目
軟體開發人員應該擅長尋找可能的風險,准確地分析風險,否則將會帶來更大的風險
一個階段首先是確定該階段的目標,完成這些目標的選擇方案及其約束條件,然後從風險角度分析方案的開發策略,努力排除各種潛在的風險,有時需要通過建造原型來完成。如果某些風險不能排除,該方案立即終止,否則啟動下一個開發步驟。最後,評價該階段的結果,並設計下一個階段
2. 螺旋模型
螺旋模型(Spiral Model)的基本思想是,使用原型及其他方法來盡量降低風險。理解這種模型的一個簡單方法,是把它看做在每個階段之前都增加了風險分析過程的快速原型模型。
特點:瀑布模型(系統化)+快速原型(迭代過程)+風險分析。
一個螺旋式周期:
確定目標,選擇方案,選定完成目標的策略
風險角度分析該策略
啟動一個開磨舉發階段
評價前一步的結果,計劃下一輪的工作
對可選方案和約束條件的強調有利於已有軟體的重用,也有助於把軟體質量作為軟體開發的一個重要目標。
減少了多個測試(浪費資金)或測試不足(產品故障多)所帶來的風險。
更重要的是,在螺旋模型中維護只是模型的另一個周期,在維護叢游慧和開發之間並沒有本質區別。
螺旋模型主要適用於內部開發的大規模軟體項目。
螺旋模型的主要優勢在於,它是風險驅動的。除非軟體開發人員具有豐富的風險評估經驗和這方面的專門知識,否則滲答將出現真正的風險:當項目實際上正在走向災難時,開發人員可能還認為一切正常。
3. 軟體的開發模式有哪些
1.瀑布模型 : 1970年溫斯頓·羅伊斯(Winston Royce)提出了著名的「瀑布模型」,直到80年代早期,它一直是唯一被廣泛採用的軟體開發模型。
2.迭代模型 : 在某種程度上,開發迭代是一次完整地經過所有工作流程的過程:需求、分析設計、實施和測試工作流程。實質上,它類似小型的瀑布式項目。RUP認為,所有的階段都可以細分為迭代。每一次的迭代都會產生一個可以發布的產品,這個產品是最終產品的一個子集。
3.敏捷開發模型 : 是一種從1990年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。相對於「非敏捷」,更強調程序員團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟體版本。能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重軟體開發中人的作用。敏捷建模(Agile Modeling,AM)的價值觀包括了XP的四個價值觀:溝通、簡單、反饋、勇氣,此外,還擴展了第五個價值觀:謙遜。
4.螺旋模型:螺旋模型是一種演化軟體開發過程模型,它兼顧了快速原消搭碧型的迭代的特徵以及瀑枝嫌布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟體在無法排除重大風拿舉險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟體應用。
5.快速原型模型:快速原型模型需要迅速建造一個可以運行的軟體原型 ,以便理解和澄清問題,使開發人員與用戶達成共識,最終在確定的客戶需求基礎上開發客戶滿意的軟體產品。 快速原型模型允許在需求分析階段對軟體的需求進行初步而非完全的分析和定義,快速設計開發出軟體系統的原型,該原型向用戶展示待開發軟體的全部或部分功能和性能;用戶對該原型進行測試評定,給出具體改進意見以豐富細化軟體需求;開發人員據此對軟體進行修改完善,直至用戶滿意認可之後,進行軟體的完整實現及測試、維護。
4. 軟體開發的螺旋模型是怎樣的
軟體開發模型螺旋模型(Spi
alModel)1988年,Ba
yBoehm
正式
發表胡螞了軟體系統開發的螺旋模型,它將瀑布模型和快培做塌速原型模型結合起來,強調了其他模型所忽視配圓的風險分析,特別適合於大型復雜的系統