- CMM 的意義:提供了一個框架來評估和改進軟件開發過程的成熟度。
- 五種成熟度等級:包括初始級、可重複級、已定義級、已管理級和優化級,分別代表軟件開發過程管理的不同階段和成熟度。
- 系統發展方法:是設計、開發和實施信息系統的技術和步驟,主要方法包括瀑布模型和敏捷方法。
能力成熟度模型(Capability Maturity Model, CMM)的意義
能力成熟度模型(CMM)是由卡內基梅隆大學軟件工程研究所(SEI)開發的一種框架,用於評估和改善軟件開發過程的成熟度。CMM 通過定義一系列的成熟度等級,幫助組織評估其軟件開發過程的當前狀態,並提供改進的路徑和步驟。
五種成熟度等級的意義
CMM 將軟件開發過程的成熟度劃分為五個等級,每個等級表示組織在軟件開發過程管理中的不同階段:
-
初始級(Initial Level):
- 意義:在這個級別,軟件開發過程是無序的和反應性的。成功主要依賴於個人的努力和英雄主義,過程缺乏標準化和文件化。
- 特點:項目計劃常常被忽視,進度和質量難以預測。
-
可重複級(Repeatable Level):
- 意義:在這個級別,基本的項目管理流程被建立並可以重複使用。組織可以重複成功的項目管理實踐來控制項目成本、進度和功能。
- 特點:建立了基本的項目計劃和管理制度,過程被記錄和跟踪。
-
已定義級(Defined Level):
- 意義:在這個級別,軟件開發和維護過程已經標準化、文件化和集成到組織的標準軟件過程中。所有項目都使用經過文檔化的標準過程進行管理。
- 特點:過程定義清晰,並且組織擁有一個標準的過程庫。
-
已管理級(Managed Level):
- 意義:在這個級別,組織通過定量的測量和控制來管理和控制軟件開發過程和產品質量。過程和產品的質量被明確地測量並管理。
- 特點:使用統計技術來測量和控制關鍵過程,確保過程的穩定性和可預測性。
-
優化級(Optimizing Level):
- 意義:在這個級別,組織致力於不斷改進其過程性能,並採用創新技術和方法來提高過程質量和效能。改進是前瞻性的,組織積極尋求和實施最佳實踐。
- 特點:通過持續改進和創新來提高過程效率和產品質量。
系統發展方法的意義
系統發展方法是指在設計、開發、測試和實施信息系統的過程中所使用的技術和步驟。這些方法為系統開發提供了一個結構化的框架,有助於確保系統的成功實施和運行。
兩種主要的系統發展方法
-
瀑布模型(Waterfall Model):
- 意義:瀑布模型是一種線性和順序的系統發展方法,每個階段必須在進入下一階段之前完成。典型的階段包括需求分析、設計、實現、測試和維護。
- 特點:
- 明確的階段劃分和文檔要求。
- 每個階段的輸出是下一階段的輸入。
- 適用於需求清晰且變更較少的項目。
-
敏捷方法(Agile Methodology):
- 意義:敏捷方法強調迭代、漸進式開發和靈活應對變化。開發過程由多個短周期(稱為迭代或 Sprint)組成,每個周期產生可交付的軟件功能。
- 特點:
- 強調與客戶的密切合作和快速反饋。
- 靈活應對需求變更。
- 不斷交付可工作的軟件,通常每 2-4 週一個迭代。