引子:CMM理論和知識(shí)是最近幾年的熱點(diǎn),在最近兩年的系統(tǒng)分析員上午試卷中都有一題考察CMM知識(shí)的,一般有3-5分的樣子。估計(jì)未來的系統(tǒng)分析員考試還會(huì)有這方面的考題。即使不考,我們的系統(tǒng)分析員也應(yīng)該掌握這方面的知識(shí),因?yàn)閷韽氖碌南到y(tǒng)分析與設(shè)計(jì)的工作也離不開CMM理論和知識(shí),因?yàn)榧词刮覀兯诘墓静蝗ミM(jìn)行CMM評(píng)估,CMM理論知識(shí)對(duì)于我們不斷的進(jìn)行公司的軟件過程改進(jìn)有一定的借鑒意義,從而有助于軟件質(zhì)量的提高,進(jìn)而提升公司產(chǎn)品的市場競爭力。
摘要:本文是根據(jù)這兩年試題中涉及CMM知識(shí)而特為廣大考友搜集整理的關(guān)于CMM的基礎(chǔ)知識(shí)的文章。主要內(nèi)容是有關(guān)CMM的基本概念、CMM的基本框架和對(duì)CMM的正確態(tài)度等。希望這篇文章對(duì)你有所幫助,謝謝。
CMM(Capability Marurity Model,軟件能力成熟度模型)是于1984年美國國會(huì)與美國主要的公司和研究中心合作創(chuàng)立的一個(gè)由聯(lián)邦資助的非盈利組織——軟件工程研究所(Software Engineering Institute,SEI)的一個(gè)早期研究成果。該模型提供了軟件工程成果和管理方法的框架,自90年代提出以來,已在北美、歐洲和日本成功地應(yīng)用。現(xiàn)在該模型已成為事實(shí)上的軟件過程改進(jìn)的工業(yè)標(biāo)準(zhǔn)。下面我們來一起學(xué)習(xí)有關(guān)CMM的一些基礎(chǔ)知識(shí)。
一、 CMM基本概念
過程(Process):為實(shí)現(xiàn)既定目標(biāo)的一系列操作步驟[IEEE-STD-610].
軟件過程(Software Process):指人們用于開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品的一系列活動(dòng)、方法、時(shí)間和革新。其中相關(guān)產(chǎn)品是指項(xiàng)目計(jì)劃、設(shè)計(jì)文檔、編碼、測試和用戶手冊。當(dāng)一個(gè)企業(yè)逐步走向成熟,軟件過程的定義也會(huì)日趨完善,其企業(yè)內(nèi)部的過程實(shí)施將更具有一致性。
軟件過程能力(Software Process Capability):描述了在遵循一個(gè)軟件過程后能夠得到的預(yù)期結(jié)果的界限范圍。該指標(biāo)是對(duì)能力的一種衡量,用它可以預(yù)測一個(gè)組織(企業(yè))在承接下一個(gè)軟件項(xiàng)目時(shí),所能期望得到的最可能的結(jié)果。
軟件過程性能(Software Process Performance):表示遵循一個(gè)軟件過程后所得到的實(shí)際結(jié)果。(與軟件過程能力有區(qū)別,軟件過程能力關(guān)注的是實(shí)際得到的結(jié)果,而軟件過程性能關(guān)注的是期望得到的結(jié)果。由于項(xiàng)目要求和客觀環(huán)境的差異,軟件過程性能不可能充分反應(yīng)軟件過程整體能力,即軟件過程能立受限于它的環(huán)境。)
軟件過程成熟度(Software Process Maturity):是指一個(gè)具體的軟件過程被明確地定義、管理、評(píng)價(jià)、控制和產(chǎn)生實(shí)效的程度。所謂成熟度包含著能力的一種增長潛力,同時(shí)也表明了組織(企業(yè))實(shí)施軟件過程的實(shí)際水平。隨著組織軟件過程成熟度能力的不斷提高,組織內(nèi)部通過對(duì)過程的規(guī)范化和對(duì)成員的技術(shù)培訓(xùn),軟件過程也將會(huì)被他的使用者關(guān)注和不斷修改完善。從而使軟件的質(zhì)量、生產(chǎn)率和生產(chǎn)周期的到改善。
CMM是軟件過程能力成熟度模型(Capacity Maturity Model)的簡稱,是卡內(nèi)基-梅隆大學(xué)軟件工程研究院為了滿足美國聯(lián)邦政府評(píng)估軟件供應(yīng)商能力的要求,于1986年開始研究的模型,并于1991年正式推出了CMM 1.0 版。CMM自問世以來備受關(guān)注,在一些發(fā)達(dá)國家和地區(qū)得到了廣泛應(yīng)用,成為衡量軟件公司軟件開發(fā)管理水平的重要參考因素和軟件過程改進(jìn)事實(shí)上的工業(yè)標(biāo)準(zhǔn)。
CMMI(Capability Maturity Model Integration)即能力成熟度模型集成,這也是美國國防部的一個(gè)設(shè)想,他們想把現(xiàn)在所有的以及將被發(fā)展出來的各種能力成熟度模型,集成到一個(gè)框架中去。這個(gè)框架有兩個(gè)功能,第一,軟件獲取方法的改革;第二,建立一種從集成產(chǎn)品與過程發(fā)展的角度出發(fā)、包含健全的系統(tǒng)開發(fā)原則的過程改進(jìn)。
關(guān)鍵過程(區(qū))域(Key Process Area)是指一系列相互關(guān)聯(lián)的操作活動(dòng),這些活動(dòng)反映了一個(gè)軟件組織改進(jìn)軟件過程時(shí)所必須滿足的條件。也就是說,關(guān)鍵過程域標(biāo)識(shí)了達(dá)到某個(gè)成熟程度級(jí)別時(shí)所必須滿足的條件。在CMM中一共有18個(gè)關(guān)鍵過程域,分布在第二至五級(jí)中。
關(guān)鍵實(shí)踐(Key Practices):是指關(guān)鍵過程域種的一些主要實(shí)踐活動(dòng)。每個(gè)關(guān)鍵過程域最終由關(guān)鍵實(shí)踐所組成,通過實(shí)現(xiàn)這些關(guān)鍵實(shí)踐達(dá)到關(guān)鍵過程域的目標(biāo)。一般情況下,關(guān)鍵實(shí)踐描述了該“做什么”,但沒有規(guī)定“如何”去達(dá)到這些目標(biāo)。
軟件過程評(píng)估(Software Process Assessment)是用來判斷一個(gè)組織當(dāng)前所涉及的軟件過程的能力狀態(tài),判斷下一個(gè)組織所面向得更高層次上的與軟件過程相關(guān)的課題,以及利用組織的鼎力支持來對(duì)該組織的軟件過程進(jìn)行有效的改進(jìn)。
軟件能力評(píng)價(jià)是(Software Capability Appraisal)用來判斷有意承擔(dān)某個(gè)軟件項(xiàng)目的軟件組織的軟件過程能力,或是判斷已進(jìn)行的軟件過程所處的狀態(tài)是否正確或是否正常。
軟件工程組(Software Engineering Group):負(fù)責(zé)一個(gè)項(xiàng)目的軟件開發(fā)和維護(hù)活動(dòng)的團(tuán)體;顒(dòng)包括需求分析、設(shè)計(jì)、編碼和測試等。
軟件相關(guān)組(Software Related Groups):代表一種軟件工程科目的團(tuán)體,它支持但不直接負(fù)責(zé)軟件開發(fā)或維護(hù)工作,如軟件質(zhì)量保證組、軟件配置管理組合軟件工程過程組等等。在CMM的關(guān)鍵實(shí)踐中,軟件相關(guān)組通常應(yīng)該根據(jù)關(guān)鍵過程域和組織的上下文來理解。
軟件工程過程組(Software Engineering Process Group):是由專家組成的組,他們推進(jìn)組織采用的軟件過程的定義、維護(hù)和改進(jìn)工作。在關(guān)鍵實(shí)踐中,這個(gè)組織通常指“負(fù)責(zé)組織軟件過程活動(dòng)的組”。
系統(tǒng)工程組(System Engineering Group):是負(fù)責(zé)下列工作的個(gè)人的團(tuán)體:分析系統(tǒng)需求;將系統(tǒng)需求分配給硬件、軟件和其他成分;規(guī)定硬件、軟件和其他成分的界面;監(jiān)控這些成分的設(shè)計(jì)和開發(fā)以保證它們符合其規(guī)格說明。
系統(tǒng)測試組(System Test Group):是一些負(fù)責(zé)策劃和完成獨(dú)立的軟件系統(tǒng)測試的團(tuán)體,測試的目的是為了確定軟件產(chǎn)品是否滿足對(duì)它的需求。
軟件質(zhì)量保證組(Software Quality Assurance Group):是一些計(jì)劃和實(shí)施項(xiàng)目的質(zhì)量保證的團(tuán)體,其工作目的是保證軟件過程的步驟和標(biāo)準(zhǔn)是否得到遵守。
軟件配置管理組(Software Configuration Management Group):是一些負(fù)責(zé)策劃、協(xié)調(diào)和實(shí)施軟件項(xiàng)目的正式配置活動(dòng)的團(tuán)體。
培訓(xùn)組(Training Group):是一些負(fù)責(zé)協(xié)調(diào)和安排組織培訓(xùn)活動(dòng)的團(tuán)體。通常這個(gè)組織負(fù)責(zé)準(zhǔn)備和講授大多數(shù)培訓(xùn)課程并協(xié)調(diào)其他培訓(xùn)方式的使用。
二、 CMM 的基本框架
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |