螺旋模型適用于什么樣的軟件開發(什么是軟件開發的螺旋模型)
今天給各位分享螺旋模型適用于什么樣的軟件開發的知識,其中也會對什么是軟件開發的螺旋模型進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!
本文目錄一覽:
- 1、軟件開發瀑布模型適用于
- 2、螺旋模型適用于哪些項目?
- 3、螺旋模型
軟件開發瀑布模型適用于
軟件開發瀑布模型適用于以下場景:
1、需求在規劃和設計階段就已確定,且項目開發周期內需求沒有或極少變化,對需求變更進行嚴格控制,例如航空航天、金融核心系統等。
2、穩定的低風險項目(對目標、環境非常熟悉),規模小實現簡單易受控的項目。
3、合同式的合作方式,嚴格按照說明執行,客戶需求明確且不參與軟件實現過程。
瀑布模型
1、瀑布模型的優點:有利于大型軟件開發過程中人員的組織、管理,有利于軟件開發方法和工具的研究,從而提高了大型軟件項目開發的質量和效率。
2、瀑布模型的缺點:開發過程一般不能逆轉,否則代價太大;很難嚴格按該模型進行。
3、瀑布模型的使用范圍:用戶的需求非常清楚全面,且在開發過程中沒有或很少變化,對軟件的應用領域很熟悉;用戶的使用環境非常穩定;開發工作對用戶參與的要求很低。
快速原型模型
1、快速原型模型的優點:可以得到比較良好的需求定義,容易適應需求的變化;有利于開發與培訓的同步;費用低、開發周期短且對用戶更友好。
2、快速原型模型的缺點:客戶與開發者對原型理解不同; 準確的原型設計比較困難; 不利于開發人員的創新。
3、快速原型模型的使用范圍:對所開發的領域比較熟悉而且有快速的原型開發工具;項目招投標時,可以以原型模型作為軟件的開發模型;進行產品移植或升級時,或對已有產品原型進行客戶化工作時,原型模型是非常適合的。
增量模型
1、增量模型的優點:優點是人員分配靈活,剛開始不用投入大量人力資源;可先發布部分功能給客戶,對客戶起到鎮靜劑的作用。
2、增量模型的缺點:并行開發構件有可能遇到不能集成的風險,軟件必須具備開放式的體系結構;變化的能力大大優于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。
3、增量模型的使用范圍:進行已有產品升級或新版本開發,增量模型是非常適合的,完成期限嚴格要求的產品,可以使用增量模型對所開發的領域比較熟悉而且已有原型系統,增量模型也是非常適合的。
螺旋模型
1、螺旋模型的優點:靈活性,可以在項目的各個階段進行變更計算變得簡單容易;客戶始終參與每個階段的開發,保證了項目不偏離正確方向以及項目的可控性。
2、螺旋模型的缺點:需要具有相當豐富的風險評估經驗和專門知識,在風險較大的項目開發中,如果未能夠及時標識風險,勢必造成重大損失;會增加開發成本,延遲提交時間。
3、螺旋模型的使用范圍:螺旋模型只適合于大規模的軟件項目。
螺旋模型適用于哪些項目?
螺旋模型基本的做法是在“瀑布模型”的每一個開發階段之前,引入非常嚴格的風險識別、風險分析和風險控制。直到采取了消除風險的措施之后,才開始計劃下一階段的開發工作。否則,項目就很可能被取消。
另外,如果有充足的把握判斷遺留的風險已降低到一定的程度,項目管理人員可作出決定讓余下的開發工作采用另外的生命周期模型,如“演化模型”,“瀑布模型”,或自定的混合模型。
優點:
a.強調嚴格的全過程風險管理。
b.強調各開發階段的質量。
c.提供機會檢討項目是否有價值繼續下去。
缺點:
a.引入非常嚴格的風險識別,風險分析,和風險控制,這對風險管理的技能水平提出了很高的要求。這需要人員,資金,和時間的投入。
螺旋模型是瀑布模型與演化模型相結合,并加入兩者所忽略的風險分析所建立的一種軟件開發模型。該模型于1998年由美國TRW公司(B.W.Boehm)提出。軟件項目風險的大小作為指引軟件過程的一個重要因素,引入這一概念有可能使得軟件開發被看作一種元模型,因為它能包容任何一個開發過程模型。
快速原型是指 在進行了基本需求分析之后,快速開發出產品的原型,然后基于這個原型,同客戶溝通、交流,更好地了解客戶需求,不斷修改這個原型,到了雙方認可的程度,再做詳細地分析、設計和編程,最終開發出令客戶滿意的產品。
一般步驟如下:
–(1) 先定義軟件的總體目標,根據已知的需求來規劃出可實現的區域。
–(2) 然后是“快速設計”,集中于系統的總體框架、基本功能和直觀的輸入方式和輸出格式等。
–(3) 有了原型,使客戶對系統實現哪些具體功能、功能實現到什么程度有更好的理解。開發者可以邊開發邊評估,不斷細化軟件的需求,逐步調整原型使其滿足客戶的要求。這形成一個迭代的過程。
即使開始建立的原型過于簡單或性能很差,難以使用,但為下一次建立適用的模型積累了經驗,而浪費的成本、時間有限。
原型模型的優點是使用戶能夠感受到實際的系統,使開發者能夠快速地構造出系統的框架。
原型模型的缺點是產品的先天性不足,因為開發者常常需要做實現上的折中,可能采用不合適的操作系統或程序設計語言,以使原型能夠盡快工作。
RAD模型
RAD(rap application development)模型,即快速應用開發模型。由于其模型構圖形似字母“V”,故也稱V模型,是屬于線性順序一類的軟件開發模型。它通過使用基于構件的開發方法來縮短產品開發的周期,提高開發的速度。RAD模型實現的前提是能做好需求分析,并且項目范圍明確,這一點正好和原型模型相反。
RAD模型還有一種改進型,將“編碼”從V字型的頂點移到左側,和單元測試對應,從而構成水平的對應關系。
從水平對應關系看
左邊是設計和分析,右邊是驗證和測試。右邊是對左邊結果的檢驗,即對設計和分析的結果進行測試,以確認是否滿足用戶的需求。如:
需求分析和功能設計對應驗收測試,說明在做需求分析、產品功能設計的同時,測試人員就可以閱讀、審查需求分析的結果,從而了解產品的設計特性、用戶的真正需求,可以準備用例(use case)。
當系統設計人員在做系統設計時,測試人員可以了解系統是如何實現的,基于什么樣的平臺,這樣可以事先準備系統的測試環境,包括硬件和第三方軟件的采購。因為這些準備工作,實際上要很長時間才能完成。
在做詳細設計時,測試人員就可以準備測試用例(test case,以有效地發現軟件缺陷的最小測試執行單元)。
一面編程,一面進行單元測試,是一種很有效的辦法,使我們可以盡快找出程序中的錯誤。充分的單元測試可以大幅度提高程序質量、減少成本。
從圖可以看出,RAD模型避免了瀑布模型所帶來的誤區——軟件測試是在代碼完成之后進行。RAD模型說明軟件測試的工作很早就可以開始了,項目一啟動,軟件測試的工作也就啟動了。
從垂直方向看
水平虛線上部表明,其需求分析、功能設計和驗收測試等主要工作是面向用戶,要和用戶進行充分的溝通和交流,或者是和用戶一起完成。水平虛線下部的大部分工作,相對來說,都是技術工作,在開發組織內部進行,由工程師完成。
所以RAD模型一般適合信息系統應用軟件的開發,而不適合高性能、技術風險高或不易模塊化的系統開發。如果一個系統難以被適當地模塊化,那么就很難建立RAD所需的構件;如果系統具有高性能的指標,且該指標必須通過調整接口使其適應系統構件才能達到,使用RAD方法可能會導致整個項目失敗。
發表于 @ 2007年04月14日 10:13:00|評論(1)|編輯
新一篇: 不順 | 舊一篇: js動畫——圖片輪播評論
#gauss32 發表于2007-04-14 10:24:36 IP: 124.160.110.*
噴泉模型fountain model
噴泉模型主要用于采用對象技術的軟件開發項目,噴泉一詞本身就體現了迭代和無間隙的特性。(噴泉中的水循環使用,不間斷的噴出)軟件的某個部分常常被重復工作多次,相關對象在每次迭代中隨之加入漸進的軟件成分。無間隙指在各項活動之間無明顯邊界,如分析和設計活動之間沒有明顯的界限,由于對象概念的引入,表達分析、設計、實現等活動只用對象類和關系,從而可以較為容易地實現活動的迭代和無間隙,使其開發自然地包括復用。
螺旋模型
4.1什么是螺旋模型
螺旋模型是一種演化軟件開發過程模型,它兼顧了快速原型的迭代特征以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在于引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑
螺旋模型是快速原型模型以進化的開發方式為中心,在每個項目階段使用瀑布模型法。該模型的每一個周期都包括需求定義、風險分析、工程實現和評審4個階段,由這4個階段進行迭代。軟件開發過程每迭代一次,軟件開發又前進一個層次。用螺旋模型的軟件過程如下
簡化的螺旋模型
完整的數據模型
圖中帶箭頭的點劃線的長度代表當前累計的開發費用,螺旋線的角度值代表開發進度,螺旋線的每個周期對應于一個開發階段
圖中的四個象限代表了以下活動
制定計劃:確定軟件目標,選定實施方案,弄清項目開發的限制條件
風險分析:分析評估所選方案,考慮如何識別和消除風險
實施工程:實施軟件開發和驗證
客戶評估:評價開發工作,提出修正建議,制定下一步計劃
4.2特點
螺旋模型在“瀑布模型”的每一個開發階段前引入一個非常嚴格的風險識別、風險分析和風險控制,它把軟件項目分解成一個個小項目。每個小項目都標識一個或多個主要風險,直到所有的主要風險因素都被確定
螺旋模型強調風險分析,使得開發人員和用戶對每個演化層出現的風險有所了解,繼而做出應有的反應,因此特別適用于龐大、復雜并具有高風險的系統
4.3優缺點
優點
對可選方案和約束條件的強調有利于已有軟件的重用,也有助于把軟件質量作為軟件開發的一個重要目標
減少了過多測試(浪費資金)或測試不足(產品故障多)所帶來的風險
在螺旋模型中維護只是模型的另一個周期,在維護和開發之間并沒有本質區別
缺點
采用螺旋模型需要具有相當豐富的風險評估經驗和專門知識,在風險較大的項目開發中,如果未能夠及時標識風險,勢必造成重大損失
過多的迭代次數會增加開發成本,延遲提交時間
4.4限制條件
螺旋模型強調風險分析,但要求許多客戶接受和相信這種分析,并做出相關反應是不容易的,因此,這種模型往往適應于內部的大規模軟件開發
如果執行風險分析將大大影響項目的利潤,那么進行風險分析毫無意義,因此,螺旋模型只適合于大規模軟件項目
軟件開發人員應該擅長尋找可能的風險,準確地分析風險,否則將會帶來更大的風險
一個階段首先是確定該階段的目標,完成這些目標的選擇方案及其約束條件,然后從風險角度分析方案的開發策略,努力排除各種潛在的風險,有時需要通過建造原型來完成。如果某些風險不能排除,該方案立即終止,否則啟動下一個開發步驟。最后,評價該階段的結果,并設計下一個階段
關于螺旋模型適用于什么樣的軟件開發和什么是軟件開發的螺旋模型的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。