瀑布模型:
瀑布模型核心思想是按工序將問題化簡,將功能的實現與設計分開,便於分工協作,即採用結構化的分析與設計方法將邏輯實現與物理實現分開。將軟體生命週期劃分為制定計畫、需求分析、軟體設計、程式編寫、軟體測試和執行維護等六個基本活動,並且規定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。
簡單的說就是先定好需求和相關文件,然後構建框架,然後寫**,然後測試,最後發布個產品
一旦文件需求確定,開發人員就按文件開發,直到產品開發完後,才會拿出來給客戶。不過這種方式基本不適應現今快速發展的市場現狀了。
迭代模型:
迭代的方式就有所不同,假如這個產品要求6個月交貨,我在第乙個月就會拿出乙個產品來,當然,這個產品會很不完善,會有很多功能還沒有新增進去,bug很多,還不穩定,但客戶看了以後,會提出更詳細的修改意見,這樣,你就知道自己距離客戶的需求有多遠,我回家以後,再花乙個月,在上個月所作的需求分析、框架設計、**、測試等等的基礎上,進一步改進,又拿出乙個更完善的產品來,給客戶看,讓他們提意見。
就這樣,我的產品在功能上、質量上都能夠逐漸逼近客戶的要求,不會出現我花了大量心血後,直到最後發布之時才發現根本不是客戶要的東西的情況。
兩種方法的比較:
瀑布模型:假如我們對使用者的需求判斷的不是很準確時——這是很常見的問題,一點也不少見——你開發了幾個月甚至是幾年,當你把產品拿給客戶看時,可能與客戶原先想要的相差很遠。
迭代模型:相較瀑布較好,但也有自己的缺陷,那就是周期長、成本很高。適合大專案、高風險專案,比如是太空梭的控制系統時,迭代的成本比專案失敗的風險成本低得多,用這種方式明顯有優勢。
敏捷開發和迭代不是一回事
敏捷開發與迭代式開發是整體與區域性的關係。打個比方,前者就像地球,而後者像歐亞大陸。
敏捷開發是乙個總體概念,而迭代式開發只是幾乎所有敏捷開發所採用的乙個主要的基礎實踐。敏捷開發除迭代式開發外,還包含了其他許多管理與工程技術實踐,如演進式架構設計、敏捷建模、重構、自動回歸測試(art)等等。
敏捷開發 PK 瀑布模型
在去年12月底開始接觸高校平台專案,到現在也快有小半年了。這次的開發不同以往。是以敏捷開發作為開發方式。以前都是遵循傳統的瀑布模型,而新方式的開發思路直接與傳統的開發思路來了個正面碰撞,擦出了陣陣 火花 在一開始接觸敏捷開發時,有些興奮,有些期許,但是在真正用來做專案時,由於瀑布模式已經根深蒂固,再...
敏捷 瀑布模型
敏捷模型 核心是快速迭代,擁抱變化。以使用者的需求進化為核心,採用迭代 循序漸進的方法進行軟體開發。因為最終目標是讓客戶滿意,所以能夠主動接受需求變更,這就使設計出來的軟體有靈活性,可擴充套件性。宣言 個體和互動 勝過 過程和工具 可以工作的軟體 勝過 面面俱到的文件 客戶合作 勝過 合同談判 響應...
迭代模型與瀑布模型
在數學中,迭代函式是在碎形和動力系統中深入研究的物件。迭代函式是重複的與自身復合的函式,這個過程叫做迭代。迭代模型是rup rational unified process,統一軟體開發過程,統一軟體過程 推薦的週期模型。迭代演算法是用計算機解決問題的一種基本方法。它利用計算機運算速度快 適合做重複...