進化式 開發模型

2021-09-01 19:28:14 字數 1519 閱讀 5365

瀑布模型(wate***ll model)是由w.w.royce在2023年最初提出的軟體開發模型,在瀑布模型中,開發被認為是按照需求分析,設計,實現,測試 (確認), 整合,和維護堅定地順暢地進行。 瀑布模型(wate***ll model)最早強調系統開發應有完整之週期,且必須完整的經歷週期之每一開發階段,並系統化的考量分析與設計的技術、時間與資源之投入等,因此瀑布模型又可以稱為『系統發展生命週期』(system development life cycle, sdlc)。由於該模式強調系統開發過程需有完整的規劃、分析、設計、測試及檔案等管理與控制,因此能有效的確保系統品質,它已經成為業界大多數軟體開發的標準(boehm, 1988)。

瀑布式的主要的問題是它的嚴格分級導致的自由度降低,專案早期即作出承諾導致對後期需求的變化難以調整,代價高昂。瀑布式方法在需求不明並且在專案進行過程中可能變化的情況下基本是不可行的。

迭代式開發也被稱作迭代增量式開發或迭代進化式開發,是一種與傳統的瀑布式開發相反的軟體開發過程,它彌補了傳統開發方式中的一些弱點,具有更高的成功率和生產率。在迭代式開發方法中,整個開發工作被組織為一系列的短小的、固定長度(如3周)的小專案,被稱為一系列的迭代。每一次迭代都包括了需求分析、設計、實現與測試。採用這種方法,開發工作可以在需求被完整地確定之前啟動,並在一次迭代中完成系統的一部分功能或業務邏輯的開發工作。再通過客戶的反饋來細化需求,並開始新一輪的迭代。

螺旋模型是一種演化軟體開發過程模型,它兼顧了快速原型的迭代的特徵以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟體應用。

敏捷軟體開發又稱敏捷開發,是一種從2023年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於「非敏捷」,更強調程式設計師團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文件更有效)、頻繁交付新的軟體版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的**編寫和團隊組織方法,也更注重做為軟體開發中人的作用。

目前列入敏捷方法的有:

軟體開發節奏,software development rhythms

敏捷資料庫技術,ad/agile database techniques

敏捷建模,am/agile modeling

自適應軟體開發,asd/adaptive software development

水晶方法,crystal

特性驅動開發,fdd/feature driven development

動態系統開發方法,dsdm/dynamic systems development method

精益軟體開發,lean software development

aup(agile unified process)

scrum

xbreed

極限程式設計,xp extreme programming

探索性測試

refurl:

DRP學習進化模型

曾經做的就是按照思維做的 制,這是u b d 坐在坐,開始增加設計模式,增加sqlhelper 逐漸了解系統可分為只三層,層的,隨著學習的不斷深入明確了 為什麼會出現分層 知道了是一回事,關鍵還是在 怎麼用 所以我們還在為 分層 而進行不懈的努力著 如今學習到了drp。又認識了乙個分層 mvc mo...

DRP學習中的模型進化

以前做系統是按照三層的思想來做的,即u b d 坐著坐著,開始不斷加入設計模式,加入sqlhelper 漸漸的知道了系統不只可以分三層,原來是可以分很多層的,隨著學習的不斷深入明白了 為什麼會出現分層 知道了是一回事,關鍵還是在 怎麼用 所以我們還在為 分層 而進行不懈的努力著 現在學習到了drp,...

分布式系統進化歷史 fly ever

乙個成熟的大型分布式系統,並不是在其開始時,就設計為這樣,而是在之後的不斷優化,迭代而不斷的進化成熟的。在乙個系統剛開始執行時,可能使用者數,業務處理等都還比較簡單,因此由一台伺服器就能支撐起其正常的業務處理。其系統架構模型可能如下所示 1,單應用架構 其應用服務和資料庫服務,都部署在同一臺伺服器上...