4.增量模型(IncrementalModel)
與建造大廈相同,軟件也是一步一步建造起來的。在增量模型中,軟件被作為一系列的增量構件來設計、實現、集成和測試,每一個構件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構成.
增量模型在各個階段并不交付一個可運行的完整產品,而是交付滿足客戶需求的一個子集的可運行產品。整個產品被分解成若干個構件,開發人員逐個構件地交付產品,這樣做的好處是軟件開發可以較好地適應變化,客戶可以不斷地看到所開發的軟件,從 問題:什么是軟件開發模型?軟件開發模型是什么意思?
而降低開發風險。但是,增量模型也存在以下缺陷:
(1)由于各個構件是逐漸并入已有的軟件體系結構中的,所以加入構件必須不破壞已構造好的系統部分,這需要軟件具備開放式的體系結構。
(2)在開發過程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應這種變化的能力大大優于瀑布模型和快速原型模型,但也很輕易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。
在使用增量模型時,第一個增量往往是實現基本需求的核心產品。核心產品交付用戶使用后,經過評價形成下一個增量的開發計劃,它包括對核心產品的修改和一些新功能的發布。這個過程在每個增量發布后不斷重復,直到產生最終的完善產品。
例如,使用增量模型開發字處理軟件?梢钥紤],第一個增量發布基本的文件治理、編輯和文檔生成功能,第二個增量發布更加完善的編輯和文檔生成功能,第三個增量實現拼寫和文法檢查功能,第四個增量完成高級的頁面布局功能。
5.螺旋模型(SpiralModel)
1988年,BarryBoehm正式發表了軟件系統開發的"螺旋模型",它將瀑布模型和快速原型模型結合起來,強調了其他模型所忽視的風險分析,非凡適合于大型復雜的系統。
螺旋模型沿著螺線進行若干次迭代,圖中的四個象限代表了以下活動:
(1)制定計劃:確定軟件目標,選定實施方案,弄清項目開發的限制條件;
(2)風險分析:分析評估所選方案,考慮如何識別和消除風險;
(3)實施工程:實施軟件開發和驗證;
(4)客戶評估:評價開發工作,提出修正建議,制定下一步計劃。
文章來源于領測軟件測試網 http://www.kjueaiud.com/