[軟體工程] 筆記一_軟體雛形設計(Software prototyping)

Q: 軟體雛形(software prototyping)在什麼情況下會有需要?雛形的種類有哪些?-- From 中正大學 熊博安教授  實驗室


A: 軟體雛形能夠讓使用者評估開發者的提案是否符合需求,而不是只透過模稜兩可的敘述進行一連串的設計與驗證。同時,可以在軟體開發過程中,讓使用者了解最初未提出的需求與系統限制,以免專案因為成本、時程與技術困難導致失敗的結果。


常見的軟體雛形包括拋棄式雛形、演進式雛形、增量式雛形和極限編程雛形。


1. 拋棄式雛形(Throwaway prototyping):開發者先做出初版給使用者評估,待確認需求與規格後,拋棄原先的初版,重新做出設計。

圖片來源:點我

2. 演進式雛形(Evolutionary prototyping):整個雛形比較強健,需要透過不斷與需求者進行溝通,重新定義與建構系統,可解決無法在初期就看到的需求與改變。


圖片來源:點我

3. 增量式雛形(Incremental prototyping):將需求切成不同的區塊,透過一次一次的區塊交付,讓使用者了解需求是否為自己想要的規格與功能。


圖片來源:點我


4. 極限編程雛形(Extreme programming):把增量式雛形拉到極致,將功能變成交付單位,同時有一對程式開發者進行維護,並把使用者納入專案中,一同參與專案開發。




另外,Scrum和XP都是Agile的方法之一,有時候很難分辨團隊是使用哪一種開發流程。同樣的是,都可以迅速應對需求的改變。

Scrum

圖片來源:點我

留言

手刀來看看