主题
- #瀑布式開發方法
- #文件記錄
- #軟體開發
- #固定需求
- #依序進行
撰写: 2024-05-14
撰写: 2024-05-14 09:50
瀑布式開發方法
瀑布開發方式(Waterfall Model)是軟體開發中最古老的方法論之一,指的是透過循序漸進的步驟來執行專案的途徑。此模型採用完成每個步驟後才進入下一個步驟的結構,就像瀑布(waterfall)從上往下流動一樣,具有循序漸進的特點。本文將深入探討瀑布開發方式的定義、主要特徵、優缺點以及使用案例。
瀑布開發方式是一種遵循軟體開發生命週期(SDLC:Software Development Life Cycle)各個階段的循序漸進方法論。此模型於 1970 年代由溫斯頓·羅伊斯(Winston W. Royce)首次提出,並自此應用於許多專案。瀑布模型包含以下步驟:
1. 需求分析(Requirements Analysis): 收集並明確界定專案需求的階段。
2. 設計(Design): 進行軟體架構和詳細設計的階段。
3. 實作(Implementation): 撰寫實際程式碼並開發軟體的階段。
4. 測試(Test): 測試開發完成的軟體,找出並修正錯誤的階段。
5. 部署(Deployment): 將軟體部署到實際運作環境的階段。
6. 維護(Maintenance): 維護和改進已部署軟體的階段。
如同上圖所示,當規劃完成並獲得確認後,便開始進行設計,設計完成並獲得確認後,再進行後續的開發,開發完成並獲得確認後,接著進行測試,若無錯誤則進行上線。在規劃階段,可能會進行多次修改,在設計階段也可能進行多次修改。
但是,就像水從上往下流一樣,在開發過程中,不會突然修改規劃而導致開發內容有所變更。
1. 明確的結構: 各個階段明確區分,因此可以輕鬆掌握進度。
2. 文件化: 各個階段都徹底進行文件記錄,因此可以輕鬆追蹤專案進度和決策。
3. 易於管理: 規劃和排程管理容易,並且可以為每個階段設定明確的目標。
1. 難以修改: 初始階段的需求固定,因此在後續階段修改需求很困難且成本高昂。
2. 階段之間的依賴性: 在一個階段完成之前無法進入下一個階段,因此延誤時程的可能性很高。
3. 客戶參與度不足: 初始階段之後,客戶的參與度有限,因此最終成果可能與客戶的期望不符。
在談論開發方式時會使用到的術語,表示依循步驟進行開發。
❗額外資訊
相反的開發方式是敏捷開發方式,指的是透過原型進行上線,並持續不斷地修改問題或改進點,並持續添加功能的開發方式。這種方式主要用於開發自家的服務,原因是它可以提高服務的完整度,並且能夠應付持續修改所需的資源。
如果在開發客戶服務(SI 外包)時使用敏捷開發方式,則客戶需要每月支付人力成本和雜支(每月租金、管理費等)來進行開發,但實際上,通常會設定開發時間(例如 2 個月開發、5 個月開發),而不是以每月支付多少金額的方式來進行開發,因為這種不定期的支付方式並不常見。
评论0