抽象的軟體流程樣板,提供組織定義軟體開發的流程樣板
常見的軟體流程模型:
.瀑布式開發流程(Waterfall Model)
.雛型模型(Prototyping)
.極限製程(eXtreme Programming, XP)
.SCRUM
瀑布式開發流程(Waterfall Model)
優點:▲ 清楚的階段分割:跟一般的工程方法一樣有清楚的流程階段,使專案的管控更容易▲ 明確的文件產出:使得合約的簽訂、技術或管理的審查更為方便,有利於後續專案的維護
限制:▲ 需求提供者無法在過程中反映需求 --使用者的需求極容易改變▲ 使用者、系統分析師、系統設計師、程式設計師之間傳遞訊息可能造成誤解
Waterfull Model 適用於:需求變動不大的大型專案系統
雛型模型(Prototyping)
雛型建立後會先進行評估,再根據評估結果後進行正式開發
Prototyping可分為兩類型:
捨棄式雛型法(Trowaway Prototyping)
► 確認需求後捨棄雛型,重新開發► 其特色為針對較沒把握的系統需求而設計,目的僅為了和需求端做進一步的釐清需求之用
漸進式雛型法(Evolutionary Prototyping)
► 從最有把握最明確的需求開始開發成雛型系統,與需求端確認後,再進而擴展到其他的功能需求►系統得架構若無仔細得規劃,隨著系統需求不斷得修正建議,該雛型會不斷的修改,導致架構更混亂,造成之後維護上得困難
極限製程(eXtreme Programming, XP)
目的是提倡更能「擁抱改變」(Embrace Changes)的敏捷開發方式(Agile Method)。
極限製程的「極限」有著極端的含意,因為它提出許多極端的做法,例如,極端地倡導多回合開發方式、極端地要求顧客參與、極端地強調測試的重要性等。