幾種軟體開發模式概述

2021-09-21 16:58:13 字數 1551 閱讀 9731

瀑布模型(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 

探索性測試

軟體開發的幾種模式

雖然自己一身從事著軟體開發的工作,但是對於平時採用何種開式模式卻很少思考過,今天特地花了點時間看了一些文件,感覺自己以前的開發模式採用瀑布模式的比較多,如果是相對大一點的專案,採用這種開發模式風險大一點,如果採用迭代模式,則風險相對小一點。如果某家公司是做軟體外包的業務,則適合於採用迭代模式進行開發...

軟體開發概述

今天在學校學習了軟體開發概述,了解了軟體是指計算機系統中的程式以及其文件,程式就是指令的序列。人要與計算機交流需要有能夠溝通計算機的語言,最早的溝通語言為機器語言,只能識別1 0。以及後面出現的組合語言,這2種語言都很難學難記,然人看了頭痛。因此我們將這兩種語言成為低階語言。隨著計算機的發展,新的編...

軟體開發專案管理的模式概述

軟體開發專案管理的模式概述 傳統的專案管理模式 根據pmi觀點,傳統的專案管理通常具有幾個固定的階段 第一專案啟動階段,第二計畫階段,專案的規模 專案的需求 專案的估算,第三階段設計規範書 軟體開發的藍圖 第四專案時間表 schedule 樣品的試開發。第五執行階段,程式設計開發。同時fix bug...