目錄
一、信息系統生命周期
系統規劃階段
系統分析階段(邏輯設計)
系統設計階段(物理設計)
系統實施階段
系統運行與維護階段
二、能力成熟度模型(CMM/CMMI)
CMM 五級模型
CMMI 兩種表示方法
真題示例:
三、軟件過程模型
1. 瀑布模型(Waterfall Model)
2. 螺旋模型(Spiral Model)
3. V模型(V-Model)
4. 原型化模型(Prototype Model)
5. 增量模型(Incremental Model)
6. *噴泉模型(Fountain Model)
7. *基于構件的模型(CBSD)
真題示例:?
一、信息系統生命周期
分為五個階段,各階段任務及輸出如下:
-
系統規劃階段
- 任務:初步調查組織環境與現行系統,確定信息系統發展戰略,分析建設新系統的必要性和可行性。
- 輸出:可行性研究報告、系統設計任務書。
-
系統分析階段(邏輯設計)
- 任務:詳細調查現行系統,明確業務流程的局限性,提出新系統的邏輯模型(功能需求)。
- 輸出:系統說明書。
-
系統設計階段(物理設計)
- 任務:根據邏輯模型設計技術方案(物理模型),分為概要設計和詳細設計。
- 輸出:系統設計說明書。
-
系統實施階段
- 任務:設備購置、編程、測試、人員培訓、系統轉換。
- 輸出:實施進展報告、系統測試分析報告。
-
系統運行與維護階段
- 任務:系統維護、質量評價與優化。
- 特點:持續改進,記錄運行狀態。
二、能力成熟度模型(CMM/CMMI)
CMM 五級模型
等級 | 特點 | 關鍵過程域(示例) |
---|---|---|
初始級 Initial Leve | 過程混亂,依賴個人能力。 | 無 |
可重復級 Repeatable Leve | 基本項目管理(跟蹤進度、成本)。 | 需求管理、項目計劃、配置管理 |
已定義級 Defined Level | 過程標準化、文檔化,組織級統一。 | 需求開發、技術解決方案、集成項目管理 |
已管理級 Managed Level | 定量控制過程與產品質量。 | 定量過程管理、組織過程性能 |
優化級 Optimizing Level | 持續改進,缺陷預防。 | 過程創新、因果分析 |
CMMI 兩種表示方法
- 階段式模型:類似CMM,關注組織整體成熟度(5個等級)。
等級 | 名稱 | 特點 | 關鍵過程域(示例) |
---|---|---|---|
1級 | 初始級 | 過程不可預測,依賴個人能力 | 無 |
2級 | 已管理級 | 基本項目管理,可重復成功 | 需求管理、項目計劃、配置管理 |
3級 | 已定義級 | 過程標準化,組織級統一 | 需求開發、技術解決方案、集成項目管理 |
4級 | 定量管理級 | 過程可度量,數據驅動決策 | 定量過程管理、組織過程性能 |
5級 | 優化級 | 持續改進,缺陷預防 | 過程創新、因果分析 |
- 連續式模型:關注單個過程域的能力等級(靈活性更高)。
真題示例:
( )是系統分析階段結束后得到的工作產品,( )是系統測試階段完成后的工作產品。
A. 系統設計規格說明? B. 系統方案建議書? C. 程序規格說明? D. 單元測試數據
A. 驗收測試計劃? B. 測試標準? C. 系統測試計劃? D. 操作手冊
-
系統分析階段的主要輸出是系統方案建議書,它定義了系統需求、可行性分析和初步設計方案。
- 單元測試數據:屬于單元測試階段的產物。
- 程序規格說明:屬于詳細設計或編碼階段的輸出。
- 系統設計規格說明:屬于設計階段的輸出。
-
系統測試階段完成后,通常需要交付操作手冊,用于指導用戶使用系統。
- 系統測試計劃:屬于測試規劃階段的文檔。
- 測試標準:屬于測試設計階段的文檔。
- 驗收測試計劃:屬于驗收測試前的準備工作。
以下關于CMM的敘述中,不正確的是()。
A. CMM是指軟件過程能力成熟度模型
B. CMM根據軟件過程的不同成熟度劃分了5個等級,其中,1級被認為成熟度最高,5級被認為成熟度最低
C. CMMI的任務是將已有的幾個CMM模型結合在一起,使之構造成為“集成模型”
D. 采用更成熟的CMM模型,一般來說可以提高最終產品的質量
- CMM的5個等級中,1級(初始級)成熟度最低,5級(優化級)成熟度最高。
- CMM全稱是"軟件過程能力成熟度模型"。
- CMMI整合了多個CMM模型(如軟件CMM、系統工程CMM等),形成統一框架。
- ?更成熟的CMM等級(如4級、5級)通常能提高產品質量。
三、軟件過程模型
1. 瀑布模型(Waterfall Model)
- 特點:
- 線性階段(需求→設計→編碼→測試),每個階段需嚴格評審。
- 適用于需求明確、變更少的項目。
- 缺點:
- 難以應對需求變更,后期修改成本高。
- 關鍵輸出:
- 各階段文檔(如需求說明書、設計文檔、測試報告)。
2. 螺旋模型(Spiral Model)
- 特點:
- 結合迭代開發與風險管理,每輪循環包含:
計劃 → 風險分析 → 實施 → 客戶評估。 - 適用于高風險、復雜系統(如大型軟件)。
- 結合迭代開發與風險管理,每輪循環包含:
- 優點:
- 通過風險分析降低項目失敗概率。
- 不適用場景:
- 小型或需求簡單的項目(成本過高)。
3. V模型(V-Model)
- 特點:
- 開發與測試對應(如單元測試?編碼,系統測試?概要設計)。
- 強調早期測試,適用于需求明確且穩定的項目。
- 階段對應關系:
- 需求分析 ? 驗收測試
- 概要設計 ? 系統測試
- 詳細設計 ? 集成測試
- 編碼 ? 單元測試
4. 原型化模型(Prototype Model)
- 特點:
- 快速構建原型,通過用戶反饋逐步明確需求。
- 適用于需求不明確或快速驗證的場景。
- 優點:
- 減少需求誤解,提高用戶滿意度。
- 缺點:
- 原型可能被誤用為最終產品(需明確界限)。
5. 增量模型(Incremental Model)
- 特點:
- 分模塊交付,高優先級功能先開發,每次增量均為可運行版本。
- 適用于需求可模塊化且需快速交付部分功能的項目。
- 與原型區別:
- 增量版本是完整功能,原型僅用于演示。
6. *噴泉模型(Fountain Model)
- 特點:
- 面向對象開發,活動迭代無間隙(如分析、設計可交叉進行)。
- 適用于敏捷開發或需求頻繁變更的項目。
7. *基于構件的模型(CBSD)
- 特點:
- 復用已有構件,降低開發成本,提高可靠性。
- 需建立構件庫,適合有大量可復用組件的組織。
8.*形式化方法模型
- 特點
- 建立在嚴格數學基礎上的一種軟件開發方法,主要活動是生成計算機軟件形式化的數學規格說明。
真題示例:?
假設某軟件公司與客戶簽訂合同開發一個軟件系統,系統的功能有較清晰的定義,且客戶對交付時間有嚴格要求,則該系統的開發最適宜采用______。
A. 瀑布模型? B. 原型模型? C. V模型? D. 螺旋模型
- 系統功能有較清晰的定義:說明需求明確,不需要頻繁變更或探索。
- 交付時間有嚴格要求:需要可預測的開發周期和明確的階段劃分。
- 模型特點對比:
- 瀑布模型:適用于需求明確、變更少的場景,階段嚴格且線性推進,能較好控制交付時間。
- 原型模型:適用于需求不明確、需要快速驗證的場景,但可能因反復修改影響交付時間。
- V模型:是瀑布模型的變種,強調測試與開發的對應關系,適合需求明確的場景。
- 螺旋模型:強調風險分析和迭代開發,適合高風險或需求不穩定的項目,但周期難以嚴格把控。
以下關于螺旋模型的敘述中,不正確的是()
A. 它是風險驅動的,要求開發人員必須具有豐富的風險評估知識和經驗
B. 它可以降低過多測試或測試不足帶來的風險
C. 它包含維護周期,因此維護和開發之間沒有本質區別
D. 它不適用于大型軟件開發
- 風險驅動:核心是通過迭代識別和化解風險,需開發人員具備風險評估能力。
- 測試風險控制:迭代中持續測試可平衡測試不足或過度的問題。
- 螺旋模型包含維護周期。
- 適用規模:螺旋模型特別適合高風險、高成本的大型項目(如軍工、航天)。