軟體開發生命週期 - 迭代模型



在迭代模型中,迭代過程從軟體需求的一小部分的簡單實現開始,並迭代地增強不斷發展的版本,直到整個系統實現並準備部署。

迭代生命週期模型不會嘗試從完整的要求規範開始。相反,開發從指定和實現軟體的一部分開始,然後對其進行審查以識別進一步的需求。然後重複此過程,在模型的每次迭代結束時生成一個新版本的軟體。

迭代模型 - 設計

迭代過程從軟體需求子集的簡單實現開始,並迭代地增強不斷發展的版本,直到實現完整系統。在每次迭代中,都會進行設計修改並新增新的功能。此方法的基本思想是透過重複迴圈(迭代)並一次開發較小的部分(增量)來開發系統。

下圖是迭代和增量模型的表示 -

SDLC Iterative Model

迭代和增量開發是迭代設計或迭代方法和增量構建模型的結合。“在軟體開發過程中,可能同時進行多個軟體開發週期的迭代。”此過程可以描述為“演化式獲取”或“增量構建”方法。”

在此增量模型中,整個需求被劃分為各種構建。在每次迭代中,開發模組都經歷需求、設計、實現和測試階段。模組的每個後續版本都向先前版本新增功能。該過程持續進行,直到根據需求準備好完整的系統。

成功使用迭代軟體開發生命週期的關鍵是對需求進行嚴格的驗證,以及在模型的每個週期內針對這些需求驗證和測試軟體的每個版本。隨著軟體在連續週期中發展,必須重複並擴充套件測試以驗證軟體的每個版本。

迭代模型 - 應用

與其他 SDLC 模型一樣,迭代和增量開發在軟體行業中也有一些特定的應用。此模型最常用於以下場景 -

  • 完整系統的需求已明確定義並理解。

  • 必須定義主要需求;但是,某些功能或請求的增強功能可能會隨著時間的推移而發展。

  • 存在上市時間約束。

  • 正在使用一項新技術,開發團隊在專案中工作時正在學習該技術。

  • 所需的技能集的資源不可用,並計劃在特定迭代中以合同為基礎使用。

  • 存在一些可能在未來發生變化的高風險功能和目標。

迭代模型 - 優缺點

此模型的優點是在開發的非常早期的階段就有一個系統的可工作模型,這使得更容易找到功能或設計缺陷。在開發的早期階段發現問題能夠以有限的預算採取糾正措施。

此 SDLC 模型的缺點是它僅適用於大型且龐大的軟體開發專案。這是因為很難將一個小軟體系統分解成更小的可服務增量/模組。

迭代和增量 SDLC 模型的優點如下 -

  • 可以在生命週期的早期快速開發一些可工作的功能。

  • 結果可以儘早並定期獲得。

  • 可以計劃並行開發。

  • 可以衡量進度。

  • 更改範圍/需求的成本更低。

  • 在較小的迭代期間進行測試和除錯很容易。

  • 在迭代期間識別並解決風險;並且每次迭代都是一個易於管理的里程碑。

  • 更容易管理風險 - 首先完成高風險部分。

  • 每次增量都會交付可操作的產品。

  • 可以將從每個增量中識別出的問題、挑戰和風險用於/應用於下一個增量。

  • 風險分析更好。

  • 它支援更改需求。

  • 初始執行時間較短。

  • 更適合大型和關鍵任務專案。

  • 在生命週期中,軟體會盡早生成,這有助於客戶評估和反饋。

迭代和增量 SDLC 模型的缺點如下 -

  • 可能需要更多資源。

  • 儘管更改成本較低,但它不太適合更改需求。

  • 需要更多管理關注。

  • 可能會出現系統架構或設計問題,因為並非所有需求都在整個生命週期的開始時收集。

  • 定義增量可能需要定義完整系統。

  • 不適合較小的專案。

  • 管理複雜性更高。

  • 專案結束可能未知,這是一個風險。

  • 風險分析需要高技能的資源。

  • 專案的進展高度依賴於風險分析階段。

廣告

© . All rights reserved.