1. 程式人生 > >“敏捷開發、迭代開發、瀑布開發”的簡單介紹

“敏捷開發、迭代開發、瀑布開發”的簡單介紹

一、敏捷開發
原理

敏捷開發以使用者的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。在敏捷開發中,軟體專案在構建初期被切分成多個子專案,各個子專案的成果都經過測試,具備可視、可整合和可執行使用的特徵。換言之,就是把一個大專案分為多個相互聯絡,但也可獨立執行的小專案,並分別完成,在此過程中軟體一直處於可使用狀態。
開發宣言

1、個體和互動 勝過 過程和工具。
2、可以工作的軟體 勝過 面面俱到的文件。
3、客戶合作 勝過 合同談判。
4、響應變化 勝過 遵循計劃。
5、雖然右項也有價值,但是我們認為左項具有更大的價值。

二、迭代開發
原理

在迭代式開發方法中,整個開發工作被組織為一系列的短小的、固定長度(如3周)的小專案,被稱為一系列的迭代。每一次迭代都包括了定義、需求分析、設計、實現與測試。採用這種方法,開發工作可以在需求被完整地確定之前啟動,並在一次迭代中完成系統的一部分功能或業務邏輯的開發工作。再通過客戶的反饋來細化需求,並開始新一輪的迭代。
優點


1、降低風險,在進行大規模的投資之前就解決了關鍵的風險分析。
2、得到早期使用者反饋,使得早期的使用者反饋在初始迭代中就能出現。
3、持續的測試和整合,對各個目標里程碑提供了短期的焦點(階段性的中心)。
4、使用變更,對過程的測量是通過對實現的評定(而不僅僅是文件)來進行的。
5、提高複用性,可以對區域性的實現進行部署。

三、瀑布開發
原理

瀑布模型(Waterfall Model) 是一個專案開發架構,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品釋出和維護,每個階段都會產生迴圈反饋,因此,如果有資訊未被覆蓋或者發現了問題,那麼最好 “返回”上一個階段並進行適當的修改,專案開發程序從一個階段“流動”到下一個階段,這也是瀑布模型名稱的由來。包括軟體工程開發、企業專案開發、產品生產以及市場銷售等構造瀑布模型。
優點

1、為專案提供了按階段劃分的檢查點。
2、當前一階段完成後,您只需要去關注後續階段。
3、可在迭代模型中應用瀑布模型。
4、它提供了一個模板,這個模板使得分析、設計、編碼、測試和支援的方法可以在該模板下有一個共同的指導。
缺點
1、各個階段的劃分完全固定,階段之間產生大量的文件,極大地增加了工作量。
2、由於開發模型是線性的,使用者只有等到整個過程的末期才能見到開發成果,從而增加了開發風險。
3、通過過多的強制完成日期和里程碑來跟蹤各個專案階段。
4、瀑布模型的突出缺點是不適應使用者需求的變化。