收藏文一、cmm的基本框架
1.
cmm的設計思想
任何軟體開發和軟體企業的發展都離不開軟體過程,而軟體過程必然要經歷乙個從不成熟到成熟,從不完善到完善的發展過程。
它不是一朝一夕就能成功的,需要持續不斷的對軟體過程進行改進,才能取得最終的成效。
cmm就是根據這一指導思想設計出來的。為此,模型必需滿足如下四點對企業的指導作用:
1
)為了正確和有序地引導軟體過程活動的開展,要建立乙個能夠有效地描述和表示的軟體過程的改進框架,使其能夠對各階段軟體過程的任務和管理起指導作用。
2
)以產品質量的概念和軟體工程的經驗教訓為基礎,指導企業控制開發、維護軟體的生產過程和如何制定一套與之相適應的軟體工程及管理體系。
3
)指導軟體企業通過判斷自身當前的過程成熟度,針對軟體質量和軟體過程提高中最為關鍵的問題,來選擇過程的提高策略。
4
)引導企業將注意力放在具體的和經過努力可實現的目標上,並努力通過模型中提供的措施和手段去實現這些目標。
2
.
cmm的分級標準
1)
建立分級標準的作用
cmm模型描述和分析了軟體過程能力的發展程度,確立了乙個軟體過程成熟程度的分級標準,如圖
2.1示。其作用:
①一方面軟體組織利用它可以評估自己當前所處的位置——過程成熟程度,並以此提出嚴格的軟體質量標準和改進過程的方法和策略,通過不斷的努力達到更高的成熟度。
②另一方面該標準也可作為使用者對軟體企業的一種評價標準,使之在先擇軟體開發商時不再是盲目的和無把握的。
2)cmm
的分級結構及其過程描述
①初始級:軟體過程的特點是無秩序或說無定規的,有時甚至是混亂的。軟體過程定義幾乎處於無章法、無步驟可循的狀態,軟體產品所取得的成功往往依賴於極個別人的努力和機遇。
②可重複級:已建立了基本的專案管理過程,可用於對成本、進度和功能特性進行跟蹤。對類似的應用專案,有章可循並能重複以往所取得的成功。
③已定義級:用於管理的和工程的軟體過程均已文件化、標準化,並形成了整個軟體組織的標準軟體過程。全部專案均採用與實際情況相吻合的、適當修改後的標準軟體過程來進行操作。
④已管理級:軟體過程和產品質量有詳細的度量標準。軟體過程和產品質量得到了定量的認識和控制。
⑤優化級:通過對來自過程、新概念和新技術等方面的各種有用資訊的定量分析,能夠不斷地、持續地對促進過程進行改進。
除第一級外,每一級都設定了一組目標,如果達到了這組目標,則表明達到了這個成熟級別,自然可以向上一更為成熟的高一級別邁進。
cmm體系不主張跨級別的進化,因為從第二級開始,每乙個低階別的實現均是更高階別實現的基礎。
3.
cmm各級的主要特性
前面已經反覆提到,cmm標準共分五個等級,從第一級到第五級分別為:初始級、可重複級、定義級、管理級和優化級,從低到高,軟體開發生產的計畫精度越來越高,每單位工程的生產週期越來越短,每單位工程的成本也越來越低。這五個級別具體內容包括:
在初始級中,過程無序,進度、預算、功能、質量不可**,企業一般不具備穩定的軟體開發環境,開發計畫由實際工作人員和管理人員臨時制定,而且常常在遇到問題的時候,就放棄原定的計畫而只專注於程式設計與測試。
在可重複級中,建立了管理軟體專案的政策以及為貫徹執行這些政策而確定的措施。基於以往專案的經驗來計畫與管理新的專案。達到此級別的企業過程已制度化,有紀律,可重複。
定義級,即過程實現標準化。在這一級,有關軟體工程和管理工程的乙個特定的、面對整個企業的軟體開發與維護的過程的檔案將被制訂出來。同時,這些過程是整合到乙個協調的整體。
管理級,企業對產品與過程建立起定量的質量目標,同時在過程中加入規定得很清楚的連續的度量。作為企業的度量方案,要對所有專案的重要過程活動進行生產率和質量的度量。軟體產品因此具有可預期的高質量。達到該級的企業已實現過程定量化。
優化級,整個企業將會把重點放在對過程進行不斷的優化,企業會採取主動去找出過程的弱點與長處,以達到預防缺陷的目標。同時分析有關過程的有效性的資料,作出對新技術的成本與收益的分析,以及提出對過程進行修改的建議。達到該級的公司過程可自發地不斷改進,防止同類缺陷二次出現。
4
.
cmm內部結構和特性簡述
上面提到了cmm把軟體開發組織的能力成熟度分為五個等級。除了第1級外,其他每一級均由若干關鍵過程域組成,每個關鍵過程域中規定了5種公共特性:執行約定、執行能力、實施活動、度量和驗證的標準。換句話說,每乙個關鍵過程域由若干關鍵實踐活動所描繪,這些實踐活動以5個公共特性進行歸類,這些公共特性是關鍵實踐描述的物件、也是基礎和依據。cmm給每個關鍵過程規定了一些具體目標,按5個公共特性歸類的關鍵慣例是按該關鍵過程的具體目標選擇和確定的。如果恰當地處理了某個關鍵過程涉及的全部關鍵慣例,這個關鍵過程的各項目標就達到了,也就表明該關鍵過程實現了。這種成熟度分級的優點在於,這些級別明確而清楚地反映了過程改進活動的輕重緩急和先後次序。(關於關鍵過程域、關鍵實踐、公共特性等概念後面會有詳細解釋)
二、cmm與軟體過程可視性
1
.軟體過程的概念
軟體過程是人們用於開發和維護軟體及其相關產品的一系列活動、方法、實踐和革新。其外部檢視如p23頁圖2.2所示。
2
.軟體過程可視性的重要性與級別
軟體工程和
cmm都強調軟體過程可視性的極為重要性,軟體工程強調用軟體開發方法來解決軟體生產中的質量與效率的問題,而
cmm則追求軟體組織成熟度的不斷提高,組織管理的不斷進化來使軟體質量、生產效率和生產週期得到明顯的改善,二者不僅目標相同,而且都強調開發的可視性來支援開發管理。因此,軟體過程可視性的提高,就成為提高軟體開發組織成熟級別的關鍵。
軟體過程的成熟度是可視的,在
cmm中分成五級,反映了其不斷改進和逐步完善的過程。p23頁圖2.3反映了這一變化情況。
在初始級中,整個軟體過程形同一團黑雲,對管理人員和使用者而言,只能看到專案的要求和結果,不能看到專案的進展狀況和專案的軟體過程,是否滿足要求要到交付時刻才能知曉。
過度到可重複級,軟體過程的可視性有所好轉,開發分階段進行,用一系列的黑盒表示。使用者需求和階段產品在一定程度上可以控制。管理人員可在若干關鍵點設定管理活動和檢查質量並作出反應,使用者也可通過關鍵點了解專案進展情況。
發展到已定義級,黑盒的內部結構逐步顯示出來,組織擁有標準軟體過程並用於各軟體專案中。因此,各管理人員明確自己在過程中的管理責任和任務,並能預見可能的風險,為此作出一定的準備。由於已定義級的過程提供了很好的可視性,專案外的使用者也能快速地得到較為準確的情況。
在管理級,管理者可以根據客觀的度量,預見過程的經費支出和其他情況,定量地、有目標地做出決定。使用者也能定量地理解過程的能力和所存在的風險。整個軟體過程可以定量地指導和控制。
進化到優化級,人們可以很清楚地看到軟體過程的內部結構。為了提高生產率和質量,組織上已經形成了有效地、不斷地、系統地改進方法,並且制度化。對現有過程的認識,不僅僅考慮到過程的可能變化所產生的影響,而是能自覺地識別那些不夠有效和可能出錯的活動,加以改進與替換,達到更進一步的效果。管理人員有能力評估和定量跟蹤變化的影響和效果,使用者與開發組織關係良好。
三、cmm的階梯式進化框架
1.進化框架
cmm為軟體企業的過程能力提供了乙個階梯式進化框架,它採用分層的方式來解釋它的組成部分,以適應不同成熟度企業的需要,如圖2.4示。在第二至第五個成熟等級中,每個等級包含乙個內部結構的概念,關於內部結構詳細描述將在下面cmm內部結構的
一欄中進行。
mysql 體系結構 了解MySQL體系結構
mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...
簡述mysql體系結構 MySQL體系結構
一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...
軟體體系結構 軟體體系結構概論
開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...