(软件工程复习核心重点)第十二章软件项目管理-第四节:软件配置管理和能力成熟度模型
文章目錄
- 一:軟件配置管理
- (1)相關概念
- A:軟件配置管理定義
- B:目的
- C:與維護的區別
- (2)軟件配置
- A:軟件配置項
- B:基線
- C:軟件工具
- (3)軟件配置管理過程
- A :標識軟件配置中的對象
- B:版本控制
- C:變化控制
- D:配置審計
- E:狀態報告
- 二:能力成熟度模型
- (1)能力成熟度模型(CMM)
- (2)能力成熟度的5個等級
- A:內容
- B:5個級別
一:軟件配置管理
(1)相關概念
A:軟件配置管理定義
軟件配置管理是在軟件的整個生命期內管理變化的一組活動。其主要任務是控制變化,同時也負責各個軟件配置項和軟件各種版本的標識、軟件配置審計以及對軟件配置發生的任何變化的報告
B:目的
軟件配置管理不同于軟件維護,它的目標是使變化更正確且更容易被適應,在必須變化時減少所需花費的工作量。具體如下:
- 標識變化
- 控制變化
- 確保適當地實現了變化
- 向需要知道這類信息的人報告變化
C:與維護的區別
維護是在軟件交付給用戶使用后才發生的,而配置管理是在軟件項目啟動時就開始,并且一直持續到軟件退役后才終止的一組跟蹤和控制活動
(2)軟件配置
A:軟件配置項
軟件過程的輸出信息可以分為3類:
- 計算機程序(源代碼和可執行程序)
- 描述計算機程序的文檔( 供技術人員或用戶使用)
- 數據(程序內包含的或在程序外的)
B:基線
基線是已經通過了正式復審的規格說明或中間產品,它可以作為進一步開發的基礎,并且只有通過正式的變化控制過程才能改變它,即基線就是通過了正式復審的軟件配置項。基線有助于人們在不嚴重妨礙合理變化的前提下來控制變化
C:軟件工具
把特定版本的編輯器、編譯器和其他CASE工具,作為軟件配置的一部分。為防止不同版本的工具產生結果不同,應把軟件工具也基線化,并且列入到綜合的配置管理過程之中
(3)軟件配置管理過程
軟件配置管理是軟件質量保證的重要一環,它的主要任務是控制變化,同時也負責各個軟件配置項和軟件各種版本的標識、軟件配置審計以及對軟件配置發生的任何變化的報告,具體來說,軟件配置管理主要有5項任務:
- 標識
- 版本控制
- 變化控制
- 配置審計
- 報告
A :標識軟件配置中的對象
對象分類
- 基本對象:是軟件工程師在分析、設計、編碼或測試過程中創建出來的“文本單元”
- 聚集對象:是基本對象和其他聚集對象的集合
要點
- 每個對象都有一組能唯一地標識它的特征:名字、描述、資源表和實現
- 對象名是無二義性地標識該對象的一個字符串
- 標識模式必須能無歧義地標識每個對象的不同版本
B:版本控制
定義:版本控制使用規程和工具,以管理在軟件工程過程中所創建的配置對象的不同版本
目標:借助于版本控制技術,用戶能通過選擇適當的版本來指定軟件系統的配置
步驟:
- 把屬性和軟件的每個版本關聯起來。
- 描述一組所期望的屬性(施加到系統上的功能變化的具體類型)來指定和構造所需要的配置
C:變化控制
定義:變化控制把人的規程和自動工具結合起來,以提供一個控制變化的機制
過程:
- 評估該變化在技術方面的得失、可能產生的副作用、對其他配置對象和系統功能的整體影響以及估算出的修改成本
- 根據評估結果形成變化報告,供變化控制審批者審閱。
- 為每個被批準的變化都生成一個工程變化命令,描述將要實現的變化,必須遵守的約束以及復審和審計的標準
- 把要修改的對象從項目數據庫中提取出來,進行修改并應用適當的SQA活動
- 把修改后的對象提交進數據庫,用適當的版本控制機制創建該軟件的下一個版本
主要功能:
- 訪問控制:決定哪個軟件一工程師有權訪問和修改一個特定的配置對象
- 同步控制:助于保證由兩名不同的軟件工程師完成的并行修改不會相互覆蓋
D:配置審計
正式的技術復審:正式的技術復審關注被修改后的配置對象的技術正確性。復審者審查該對象以確定它與其他軟件配置項的一致性,并檢查是否有遺漏或副作用
主要功能:軟件配置審計通過評估配置對象的那些通常不在復審過程中考慮的特征,而成為對正式技術復審的補充
E:狀態報告
內容:
- 發生的事件
- 做這件事的人
- 事件是發生的時間
- 產生的影響
作用:配置狀態報告對大型軟件開發項目的成功有重大貢獻。配置狀態報告通過改善所有相關人員之間的通信,幫助消除由于通信不精確、不及時所產生的嚴重問題
二:能力成熟度模型
(1)能力成熟度模型(CMM)
定義:能力成熟度模型(CMM)是用于評價軟件機構的軟件過程能力成熟度的模型
目的:
- 為大型軟件項目的招投標活動提供一種全面而客觀的評審依據
- 應用于許多軟件機構內部的過程改進活動中
基本思想:由于問題是由人們管理軟件過程的方法不當引起的,所以新軟件技術的運用并不會自動提高軟件的生產率和質量
,
作用:能力成熟度模型有助于軟件開發機構建立一個有規律的、成熟的軟件過程。改進后的軟件過程將開發出質量更好的軟件,使更多的軟件項目免受時間延誤和費用超支之苦
CMM在改進軟件過程中所起的作用:
- 指導軟件機構通過確定當前的過程成熟度并識別出對過程改進起關鍵作用的問題,明確過程改進的方向和策略
- 通過集中開展與過程改進的方向和策略相一致的一組過程改進活動,軟件機構便能穩步而有效地改進其軟件過程,使其軟件過程能力得到循序漸進的提高
對能力成熟度劃分的原因:
- 對軟件過程的改進,是在完成一個又一個小的改進步驟基礎上不斷進行的漸進過程
- 這5個成熟度等級定義了一個有序的尺度,用以測量軟件機構的軟件過程成熟度和評價其軟件過程能力,這些等級還幫助軟件機構把應做的改進工作排出優先次序
- 成熟度等級是妥善定義的向成熟軟件機構前進途中的平臺,每個成熟度等級都為軟件過程的繼續改進提供了一個臺階
(2)能力成熟度的5個等級
A:內容
- 反映出軟件機構為了達到從無序的、混亂的軟件過程進化到有序的、有紀律的且成熟的軟件過程的目的,必須經歷的過程改進活動的途徑
- 每個成熟度級別都是該軟件機構沿著改進其過程的途徑前進途中的一個臺階,后一個成熟度級別是前一個級別的軟件過程的進化目標
- 每個成熟度級別中都包含一組過程改進的目標,滿足這些目標后一個機構的軟件過程就從當前級別進化到下一個成熟度級別
B:5個級別
- 初始級(1級):軟件過程能力是不可預測的,其軟件過程是不穩定的,產品質量只能根據相關人員的個人工作能力來預測
- 可重復級(2級):軟件項目的策劃和跟蹤是穩定的,已經為一個有紀律的管理過程提供了可重復以前成功實踐的項目環境
- 已定義級(3級):無論是管理活動還是工程活動都是穩定的。軟件開發的成本和進度以及產品的功能和質量都受到控制,而且軟件產品的質量具有可追溯性
- 已管理級(4級):軟件機構對軟件過程和軟件產品都建立了定量的質量目標,所有項目的重要的過程活動都是可度量的,軟件過程在可度量的范圍內運行
- 優化級(5級):軟件機構能夠不斷地改進其過程能力,既對現行的過程實例不斷地改進和優化,又借助于新技術和新方法來實現未來的過程改進。這一級的軟件機構是一個以防止出現缺陷為目標的機構,它有能力識別軟件過程要素的薄弱環節,并有足夠的手段改進它們
總結
以上是生活随笔為你收集整理的(软件工程复习核心重点)第十二章软件项目管理-第四节:软件配置管理和能力成熟度模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】图论 500题——主要为hdu/
- 下一篇: 【学习笔记】【C语言】返回指针的函数