model.md - cccnqu/se106a GitHub Wiki
軟體開發模式
開發流程
- 四階段:分析 => 實作 => 測試 => 整合上線
- 更多階段: 構想 => 需求分析 => 系統分析 => 系統設計 => 程式實作 => 單元測試 => 整合測試 => 系統測試 => 上線釋出
開發模式分類
- 瀑布模式 (Waterfall Model)
- 概念 => 需求分析 => 系統分析 => 系統設計 => 程式實作 => 測試 => 驗收上線
- 螺旋模式 (Spiral Model)
- 決定目標 => 辨認解決風險 => 開發測試 => 計畫下一個循環
- 演化雛型模式 (Evolutional Prototyping Model)
- 爬蟲 => 猴子 => 猿人 => 人類
- Rational Unified Process (RUP, 統一軟體開發過程)
- 迭代模型: 構思 => 細化 => 構造 => 交付
- Iterative Model: Insecption => Elaboration => Construction => Transition
- Agile Process (敏捷模式)
- TDD/BDD : 測試案例 => 實作 => 改善 => 下一個循環
瀑布模式
螺旋模式
RUP 的流程
1、商業塑模(Business Modeling) 2、需求(Requirements) 3、分析和設計(Analysis & Design) 4、實作(Implementation) 5、測試(Test) 6、部署(Deployment) 7、配置和變更管理(Configuration & Change Management) 8、專案管理(Project Management) 9、環境(Environment)
如何選擇模型
考慮:
- 需求理解程度: Requirement Understanding
- 預計生命週期: Expectal lifetime
- 風險: Risk
- 時程: Schdeule Constraints
- 客戶溝通: Interaction with Management/Customer
- 專家: Experties
閱讀文獻
其他模型: 快速原型模型
思考
- 由上而下 v.s 由下而上
- 有經驗 v.s 沒有足夠經驗
- 需求固定 v.s 需求變動
- 大教堂 v.s 市集
- CMMI v.s 敏捷軟體開發