什麼是敏捷開發
反覆進行數週左右的短期迭代,每次都做出可運作的軟體、納入使用者的意見,並配合變化的需求重新檢視計畫之開發方式的總稱。代表性的方法有 Scrum 與極限程式設計(XP)。
日文名稱: アジャイル開発
「敏捷開發」出現在1領域的2道練習題中(軟體開發與專案管理等)。
這個名詞所屬的領域: 軟體開發與專案管理
反覆進行數週左右的短期迭代,每次都做出可運作的軟體、納入使用者的意見,並配合變化的需求重新檢視計畫之開發方式的總稱。代表性的方法有 Scrum 與極限程式設計(XP)。
日文名稱: アジャイル開発
「敏捷開發」出現在1領域的2道練習題中(軟體開發與專案管理等)。
這個名詞所屬的領域: 軟體開發與專案管理
敏捷開發的思維整理在2001年發表的敏捷軟體開發宣言中。宣言表示:個人與互動重於流程與工具,可用的軟體重於詳盡的文件,與客戶合作重於合約協商,回應變化重於遵循計畫。它承認右側的項目也有價值,但更重視左側的項目,因此並不代表文件或計畫是不需要的。
在瀑布式模型中,先確定需求再以一次的流程完成整體,因此使用者要到開發接近尾聲時才能看到可運作的東西。敏捷開發從優先度高的功能開始一點一點地做,並以短間隔展示可運作的東西,因此能及早察覺需求的誤解或變化。相對地,最終範圍與費用不易在一開始確定,需要合適的合約形式,以及使用者持續參與開發的體制。哪一種較好,取決於需求的確定程度與變更所需的成本。
晶片或電路板重做需要龐大的費用與時間,因此硬體本身的開發以及早確定規格的計畫型做法為主。另一方面,韌體、驅動程式、EDA 腳本、驗證環境等軟體,常結合持續整合與自動測試,以敏捷方式開發。在還沒有實機的階段,會先在模擬器或 FPGA 原型上執行軟體,將硬體的時程與軟體的迭代結合起來推進。
正確答案:C. 重構
重構是透過合併重複的程式碼、拆分過長的函式、使名稱更易懂等方式,在不改變功能的前提下改善程式碼結構的作業。為了確認行為沒有改變,會準備自動化測試,每做一點修改就執行測試。結對程式設計是兩人在一台電腦上一起撰寫程式的 XP 實踐。逆向工程則是分析既有程式以釐清其規格與設計。
並非不寫。敏捷軟體開發宣言表示可用的軟體重於詳盡的文件,但也承認文件的價值。維護或說明安全性所需的文件,會在需要的範圍內撰寫,並與軟體一起更新。
Scrum 是敏捷開發的代表性框架之一。敏捷開發是以短期迭代交付價值之思維的總稱,除了 Scrum 之外,還有具備測試驅動開發、結對程式設計等實踐的極限程式設計(XP)等。
透過迭代納入使用者意見是敏捷開發等迭代式開發的特徵,以原型確認需求則是原型模型的特徵。
關於軟體開發的瀑布式模型,下列何者是其特徵?瀑布式模型 工作分解結構(WBS) 分支涵蓋率 白箱測試 要徑法(CPM) 測試驅動開發(TDD) 等價類劃分 黑箱測試 實獲值管理(EVM) 邊界值分析