摘 要:針對軍用軟件的開發(fā)現(xiàn)狀進(jìn)行分析,指出了目前存在的主要問題及軟件開發(fā)過程在提高軟件質(zhì)量方面所起到的保障作用,提出引入CMM進(jìn)行軟件開發(fā)的必要性;隨后對CMM的基本內(nèi)容進(jìn)行簡要介紹,闡述了其作為一種軟件過程不斷改進(jìn)的途徑,使軟件開發(fā)組織具備自我分析、自我完善的能力,便于確定軟件組織的現(xiàn)有過程能力和查找出軟件質(zhì)量及過程改進(jìn)方面的關(guān)鍵問題,從而為選擇過程改進(jìn)提供依據(jù)。重點(diǎn)說明了CMM的實施基礎(chǔ),討論了實施CMM需要注意的問題及實施CMM后的體會。最后對CMM的發(fā)展方向進(jìn)行了展望。 關(guān)鍵詞:CMM; 成熟度等級; 關(guān)鍵過程域; 軟件過程改進(jìn)
中圖分類號:TN911-34文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2010)16-0055-04
Effect and Practice of CMM in Military Software Development
HU Yi, DU Wei
(China Academy of Electronics and Information Technology, Beijing 100041,China)
Abstract: The status of military software development is analyzed. It is very necessary to make use of CMM for improving the developing process. CMM as an improving method can make the software development organizations have the ability of self-analyzing and self-perfecting, it's an easy way to find problems of developing process and key aspects in software quality and process improvement, provide the basis to choose the best way for process progressing. The precondition for implementation, some aspects and the development of CMM are proposed.
Keywords: CMM; maturity levels; key process areas; software process improvement
0 引 言
隨著計算機(jī)軟件在武器裝備中的核心地位逐步加大,軟件產(chǎn)品的質(zhì)量與可靠性已成為人們首要關(guān)心的問題,因為一旦軟件失效,將可能導(dǎo)致裝備系統(tǒng)失效,引起嚴(yán)重后果。軟件的質(zhì)量直接取決于其開發(fā)過程,不同的開發(fā)過程生產(chǎn)出軟件產(chǎn)品的質(zhì)量不盡相同[1]。各軍用軟件承制單位的軟件工程化發(fā)展很不平衡,大部分雖然建立了基本的軟件過程,領(lǐng)導(dǎo)和型號總師對軟件開發(fā)和管理也已開始重視,但仍存在沿用管理硬件的方法管理軟件,質(zhì)量程序文件不到位,抓不住軟件開發(fā)過程中影響軟件質(zhì)量的關(guān)鍵因素??傮w來看,在軍用軟件開發(fā)中主要存在著質(zhì)量文件不齊全、文檔編制不規(guī)范、配置管理不嚴(yán)格、軟件測試不到位等問題,這些狀況與我國武器裝備發(fā)展的需要相差較遠(yuǎn),亟須改進(jìn)。國內(nèi)外的經(jīng)驗說明,為了克服上述問題,最根本的是“樹立軟件產(chǎn)品的概念”和“用軟件工程方法組織軟件開發(fā)”,并按照軟件工程方法的基本原則不斷改進(jìn)軟件過程[2]。
1 軟件能力成熟度模型的基本內(nèi)容
1.1 基本概念[3-5]
(1) 軟件過程能力。一個組織的軟件過程能力提供預(yù)測該組織承擔(dān)下一個軟件項目時最可能的預(yù)期結(jié)果的一種方法。
(2) 軟件過程成熟度。一個軟件過程的成熟意味著由于開發(fā)組織運(yùn)用該軟件過程,使得各個開發(fā)項目執(zhí)行該軟件過程的紀(jì)律性一致增強(qiáng),并導(dǎo)致軟件生產(chǎn)率和質(zhì)量隨著時間的推移而不斷得到改進(jìn)。隨著軟件組織的軟件過程成熟度提高,開發(fā)組織通過其方針、標(biāo)準(zhǔn)規(guī)范和組織機(jī)構(gòu)等的制定和建立將其軟件過程規(guī)范化和具體化。使得開發(fā)組織明確定義的一套有關(guān)管理和工程的方法、實踐和規(guī)程等在現(xiàn)有人員離去后仍能繼續(xù)下去。
(3) 關(guān)鍵過程域?;ハ嚓P(guān)聯(lián)的若干軟件實踐活動和有關(guān)基礎(chǔ)設(shè)施的集合。除初始級外每個軟件能力成熟度等級包含若干個對該成熟度等級至關(guān)重要的過程域,它們對達(dá)到該成熟度登記的目標(biāo)起保證作用,這些過程域就稱為該成熟度等級的關(guān)鍵過程域。
1.2 CMM的定義
美國卡內(nèi)基梅隆大學(xué)軟件工程研究所(SEI)將統(tǒng)計質(zhì)量控制原理應(yīng)用于軟件開發(fā),建立軟件過程成熟度模型,并將其定義為[5]:對于軟件組織在定義、實現(xiàn)、度量、控制和改善其軟件過程中各個發(fā)展階段的描述模型。該模型為軟件過程定量控制建立了項目管理和項目工程的基本原則,并成為軟件過程不斷改進(jìn)的基礎(chǔ)。CMM描述了軟件過程不斷改進(jìn)的途徑,使軟件開發(fā)組織具備自我分析、自我完善的能力,這個模型便于確定軟件組織的現(xiàn)有過程能力和查找出軟件質(zhì)量及過程改進(jìn)方面的最關(guān)鍵的問題,從而為選擇過程改進(jìn)提供依據(jù)。
CMM 將軟件開發(fā)組織的能力成熟度分為5個可能的等級[6]。除第一級外,其他每一級都由不同的關(guān)鍵過程域組成,每個關(guān)鍵過程域設(shè)定了具體的目標(biāo),并且為了實現(xiàn)這些目標(biāo),還規(guī)定了對應(yīng)的關(guān)鍵實踐,包括執(zhí)行承諾類:為了保證過程得以建立并保持下去,組織必須采取的一些基礎(chǔ)性行為,一般涉及組織方針的建立和高層管理者的承諾和支持等;執(zhí)行能力類:為了有效地實施軟件過程,組織必須存在的一些必備條件,一般涉及資源、組織機(jī)構(gòu)和培訓(xùn)等;執(zhí)行活動類:這類實踐描述實施關(guān)鍵過程域所必須的角色和規(guī)程,一般包括制定計劃和規(guī)程,照此執(zhí)行,并跟蹤他們,在必要時對他們進(jìn)行修正;測量分析類:對過程進(jìn)行測量并對測量結(jié)果進(jìn)行分析等活動量;驗證實施類:為了保證活動能按照已建立的過程執(zhí)行的措施,這些措施一般包括管理者和軟件質(zhì)量保證組所作的評審和審核工作。CMM的組成結(jié)構(gòu)如圖1所示。如果對應(yīng)目標(biāo)中的基本實踐和活動都已有效執(zhí)行,則認(rèn)為該目標(biāo)已實現(xiàn),從而達(dá)到軟件過程定量控制的目的。若組織中工程活動都是嚴(yán)格按照此框架下的步驟有序進(jìn)行,則認(rèn)為該組織開發(fā)出來的軟件是可信的,產(chǎn)品的質(zhì)量能夠得到保障。
圖1 軟件能力成熟度模型的結(jié)構(gòu)
1.3 CMM的三個層次
從圖1中可以看出,CMM結(jié)構(gòu)分為3個層次。
第一層次:成熟度等級。它是軟件組織在實現(xiàn)成熟過程進(jìn)化途中逐步向上前進(jìn)時的臺階式的一個個平臺。每一等級包含1組與所含各關(guān)鍵過程域相對應(yīng)的過程目標(biāo),當(dāng)這些目標(biāo)都滿足時,就表明這一等級上各個軟件過程域相應(yīng)的重要成分或方面得到了穩(wěn)定,一方面說明這個組織過程能力增長的實際情況,另一方面也說明了這個組織具備了向上一個成熟度等級進(jìn)化的基礎(chǔ)[6]。
第二層次:關(guān)鍵過程域。每個關(guān)鍵過程域只與特定的成熟度等級直接相關(guān),它指明1組目標(biāo)和一串相關(guān)的活動,當(dāng)這些活動全部完成時,就能達(dá)到這組規(guī)定的目標(biāo),從而增強(qiáng)過程能力。僅當(dāng)一個關(guān)鍵過程域的全部目標(biāo)均以達(dá)到時,該關(guān)鍵過程域才可實現(xiàn)。
第三層次:每個關(guān)鍵過程域包含若干關(guān)鍵實踐,當(dāng)實施了這些關(guān)鍵實踐時,就能實現(xiàn)該關(guān)鍵過程域的目標(biāo)。關(guān)鍵過程域的目標(biāo)是對該關(guān)鍵過程域中全部關(guān)鍵實踐的概括,而關(guān)鍵過程域的某個目標(biāo)必須通過一組實踐去實現(xiàn)。
2 CMM的實施基礎(chǔ)
CMM致力于軟件開發(fā)過程的管理及工程能力的提高與評估,在規(guī)范開發(fā)步驟,提高軟件質(zhì)量方面非常突出,但是在具體的執(zhí)行過程中往往容易陷入思路僵化、行為教條的困境。CMM規(guī)定了組織應(yīng)該或需要做什么,但并沒有規(guī)定如何去做,也就是在具體活動的實現(xiàn)上,需要根據(jù)組織自身的特點(diǎn)來實施,不能千篇一律,這也是所有實施CMM的組織首要面臨的一個問題,即CMM本地化。在應(yīng)用CMM 理論進(jìn)行軟件過程改進(jìn)中,要根據(jù)組織的發(fā)展情況及系統(tǒng)開發(fā)環(huán)境,從中找出制約組織開發(fā)效率和能力的關(guān)鍵因素,提出可行的標(biāo)準(zhǔn)和實踐的步驟。根據(jù)組織的實力確定過程改進(jìn)的各個階段目標(biāo),不斷總結(jié)、改進(jìn)、提高,找出一條適合組織的CMM 實施路線[7]。
要想在組織內(nèi)部推行CMM,首先,只有最高管理者意識到開展CMM的必要性后,并且有決心改變現(xiàn)有狀況的條件下,組織才有實施的保障。改進(jìn)過程本身就是一個規(guī)范的過程,需要循序漸進(jìn)、逐步改進(jìn),因為軟件過程成熟度的升級本身就是一個有生命周期的過程,而且全面引進(jìn)CMM 所涉及的范圍非常廣,要求人力、財力與設(shè)備資源的投入能跟得上[8]。其次,需要有一支具堅強(qiáng)有力的主導(dǎo)力量來推進(jìn)CMM的實施活動,由于CMM只是一個框架,就好比一棵筆直的樹干,至于如何讓它枝繁葉茂,則需要過程推進(jìn)組大量耐心細(xì)致的修剪工作。最后,由于過程改進(jìn)涉及到組織中的每一個成員,所有的活動、數(shù)據(jù)的記錄都需要靠個人來實現(xiàn),所以,組織培訓(xùn)也是非常重要的一步,只有統(tǒng)一思想,提高認(rèn)識,才能提升組織合力。在最初實施CMM 時,組織可以建立幾個項目進(jìn)行試點(diǎn),待條件成熟后再全面推開。并逐步規(guī)劃出軟件過程建立與改進(jìn)的短、中、長期目標(biāo),循序漸進(jìn),逐步提升組織能力。
3 CMM實踐應(yīng)注意的問題
作者參與實施CMM已近兩年,并且經(jīng)歷了CMM過程二級評價,在實施過程中積累了一些經(jīng)驗如下:
(1) 培訓(xùn)要注重實效。培訓(xùn)是一項長期而細(xì)致的工作,不只是在項目初期搞幾次講座、簽幾個名字留下記錄那么簡單,重點(diǎn)是要通過培訓(xùn),提高組織內(nèi)部的認(rèn)知能力,從而轉(zhuǎn)化為實際的工作效率。CMM認(rèn)證審核組對本單位的審核報告中對各個關(guān)鍵過程域的評價中都存在培訓(xùn)效果較差的待改進(jìn)項,這也反映了培訓(xùn)容易形式化,缺失力度。
(2) 與現(xiàn)有質(zhì)量體系的融合問題。由于大部分的組織在實施CMM之前都有一套質(zhì)量管理體系,在推行CMM試點(diǎn)時許多都是在既有的項目上開展,遇到的主要問題就CMM試點(diǎn)項目如何與實際工程很好地相結(jié)合。比如在制定開發(fā)計劃時,項目軟件經(jīng)理制定的開發(fā)計劃往往受制于科研管理部門制定的科研計劃,致使項目策劃過程域執(zhí)行不力。
(3) 工具的選擇很重要。由于實施CMM需要記錄大量的過程數(shù)據(jù),而增加工作量的一個重要原因就是工具的實用性不夠,所以,選擇一款優(yōu)秀的開發(fā)工具能夠減少繁瑣的事務(wù)性工作,提升內(nèi)部積極性,使組織更加專注于軟件開發(fā);
(4) 剪裁規(guī)則不可少。所謂過程剪裁就是通過增加、刪除、修改一個過程的活動,以達(dá)到結(jié)果過程較好地適合于本項目的實際情況。對于CMM 的模型與標(biāo)準(zhǔn),不能生搬硬套,而應(yīng)將其作為參考,需要對CMM 過程進(jìn)行適當(dāng)裁剪,結(jié)合單位的特點(diǎn)、要求與現(xiàn)實條件,制訂軟件過程和選擇實行改進(jìn)的部分,形成自己的管理體系。必須結(jié)合項目的情況和自身的特點(diǎn)、要求與現(xiàn)實條件,制訂軟件過程和選擇實行改進(jìn)的部分。在引進(jìn)、消化、吸收的基礎(chǔ)上需要自主創(chuàng)新,讓CMM 更實用化,形成自己的管理模式[9]。另外,對于單位內(nèi)部形成的體系文件,也需要建立適當(dāng)?shù)募舨靡?guī)則,以適應(yīng)不同規(guī)模的軟件項目,對于開發(fā)周期較短的小項目,可以剪裁或簡化一些實施活動,以減少管理成本,比如軟件項目策劃過程域,無須在軟件生命周期的每個階段開始時再制定二級計劃,以一份涵蓋整個周期的開發(fā)計劃進(jìn)行任務(wù)分派與跟蹤,這樣既避免了頻繁地出入庫操作又省去了大量的評審時間。
4 CMM實施的體會
通過實施CMM,規(guī)范了軟件生產(chǎn)和管理流程,使組織規(guī)范化程度提到,能夠按照計劃為用戶提供高質(zhì)量的軟件產(chǎn)品。做CMM以前,組織在進(jìn)行軟件開發(fā)時往往很少去考慮項目的規(guī)模、工作量究竟有多大,需要投入多少人力,所制定的計劃也都缺少客觀依據(jù),尤其缺少對風(fēng)險的預(yù)見性,這樣制定出來的計劃缺乏指導(dǎo)性,沒有實際意義。通過實施CMM,組織加深了對軟件開發(fā)過程的認(rèn)識,掌握了工作分解的方法,尤其是軟件策劃能力得到了提高,開發(fā)能力穩(wěn)步提升;而且在實施CMM中,用制度替代管理者,固化并規(guī)范了管理過程;另外,項目組內(nèi)部各成員分工明確,權(quán)責(zé)清晰,便于各自最大發(fā)揮自身特點(diǎn),做到人盡其才,提升了組織的競爭力。
4.1 實施CMM取得的效果
應(yīng)用CMM在項目的需求管理、項目策劃、項目跟蹤與監(jiān)督、質(zhì)量保證、配置管理等方面進(jìn)行改進(jìn),取得了明顯的效果:
(1) 需求管理方面。需求管理的目的是針對顧客對軟件項目的需求,在顧客和軟件項目之間建立共同的理解。與顧客間的一致的共同理解是計劃和管理軟件項目的基礎(chǔ),為了開發(fā)出顧客滿意的軟件產(chǎn)品,對顧客需求的理解是非常必要的,與顧客(內(nèi)、外)進(jìn)行磋商,評審軟件需求等。由于顧客需求會頻繁的改變,所以需求變更控制也是非常重要的。組織通過建立良好的需求管理機(jī)制,規(guī)范需求管理過程,對需求建立及變更嚴(yán)格控制。在用戶和組織之間建立了有效的溝通機(jī)制,為最大限度地獲取正確的需求提供了保障。從整個軟件開發(fā)生命周期中看,正確而有效的需求是后續(xù)設(shè)計開發(fā)的依據(jù),完善的需求管理提高了開發(fā)效率,縮短了開發(fā)時間和成本,提高了產(chǎn)品質(zhì)量,提升了用戶滿意度。
(2) 項目策劃方面。軟件項目策劃始于項目早期,貫穿整個軟件項目生命周期,在項目進(jìn)行過程中估計逐步精確、計劃逐步細(xì)化。為軟件項目實施軟件工程和管理制定合理的計劃。制定這個計劃的主要依據(jù)一方面是對要完成的工作有一個比較切合實際的估計,另一方面是為完成該工作所做出的必要承諾。要做好這項工作,應(yīng)該估計軟件工作產(chǎn)品的大小和所需的資源,制定進(jìn)度計劃,確定并評估軟件風(fēng)險以及協(xié)商承諾等。這個計劃是管理軟件項目的必要基礎(chǔ),沒有切合實際的計劃就不可能實施有效的項目管理,實際的開發(fā)過程越來越靠近計劃和預(yù)測結(jié)果,從而降低了風(fēng)險,提高了發(fā)展和改進(jìn)的可預(yù)測性,確保軟件開發(fā)工作按計劃進(jìn)行。
(3) 項目跟蹤和監(jiān)督方面。對軟件項目的實際進(jìn)展情況提供適當(dāng)?shù)目梢曅?,以便管理者在軟件項目的性能與計劃有重大偏離時能采取有效糾正措施,隨時掌握軟件項目的實際開發(fā)過程,使軟件項目能按計劃進(jìn)行,通過對項目定期跟蹤,能夠保證計劃的嚴(yán)肅性及適用性。
(4) 軟件質(zhì)量保證方面。對軟件項目使用的過程和構(gòu)造的產(chǎn)品為管理者提供適當(dāng)?shù)目梢曅浴T谲浖椖块_發(fā)的初期階段,軟件質(zhì)量保證組與軟件工程組一起制定軟件項目的計劃、標(biāo)準(zhǔn)(準(zhǔn)則、規(guī)范)和規(guī)程等,幫助保證所制定的計劃、標(biāo)準(zhǔn)(準(zhǔn)則、規(guī)范)和規(guī)程符合項目的需求,驗證所制定的計劃、標(biāo)準(zhǔn)(準(zhǔn)則、規(guī)范)和規(guī)程適用于整個軟件生存周期中的審核。軟件質(zhì)量保證組在整個軟件生存周期中依據(jù)計劃、標(biāo)準(zhǔn)(準(zhǔn)則、規(guī)范)和規(guī)程審核軟件過程活動和工作產(chǎn)品,并定期向軟件工程組通報其活動的結(jié)果,通過評審和審核軟件產(chǎn)品和活動,驗證它們是否與應(yīng)用的標(biāo)準(zhǔn)和規(guī)程一致,從這個角度提供可視性。對出現(xiàn)的不符合性問題,首先要考慮在軟件項目內(nèi)部解決,對內(nèi)部不能解決的問題,及時報請適當(dāng)?shù)纳霞売枰越鉀Q,以期獲得最佳的解決途徑。時刻保證軟件產(chǎn)品的質(zhì)量,提高審查率,降低產(chǎn)品發(fā)生錯誤的概率,減少了因為修改和改進(jìn)所花費(fèi)的工作量。
(5) 配置管理方面。在整個項目的軟件生存周期內(nèi),建立和維護(hù)項目產(chǎn)品的完整性,并完成有關(guān)的基線審核、變更處理、配置項狀態(tài)報告等工作。項目啟動后應(yīng)建立項目配置庫,包括受控庫和產(chǎn)品庫,分別存儲項目實施過程中產(chǎn)生的配置項、基線和產(chǎn)品,通過對配置庫進(jìn)行管理,協(xié)助控制基線變更和由配置庫生成軟件產(chǎn)品。通過確定在給定時間點(diǎn)上的軟件配置,系統(tǒng)地控制配置變更以及在整個軟件生存周期中維護(hù)配置的完整性和可追溯性。
4.2 CMM的主要用途
歸納總結(jié)起來,CMM主要有以下幾點(diǎn)用途[10]:
軟件過程評估(software process assessment,SPA):在評估中,一組經(jīng)過培訓(xùn)的軟件專家確定出一個組織軟件過程的現(xiàn)狀,找出組織面對的與軟件過程有關(guān)的、急需解決的問題,取得組織領(lǐng)導(dǎo)層對軟件過程改進(jìn)的支持。就好比一面鏡子,可以對照該模型,檢查本單位的軟件過程的強(qiáng)項和弱項,從而了解需要改進(jìn)之處。
軟件過程改進(jìn)(software process improvement,SPI):幫助組織對其軟件過程向更好的方向轉(zhuǎn)變,并進(jìn)行計劃、制定以及實施。猶如一副梯子,可以按照該模型,明確每一步應(yīng)突出抓好的少數(shù)幾個方面,特別是可以突出當(dāng)前的重點(diǎn)或主攻方向,引導(dǎo)組織向著過程改進(jìn)的最佳途徑成長,逐步提升組織的過程能力。
軟件能力評價 (software capability evaluation,SCE):在軟件能力評價中,一組經(jīng)過培訓(xùn)的專家通過對該組織軟件開發(fā)過程各相關(guān)過程域的評判,對該組織的軟件過程能力給出一個科觀的評價。猶如一把尺子,確定組織的能力。作為鏡子,清晰明了;作為梯子,重點(diǎn)突出;作為尺子,尺度明確。所以說,CMM是提升軟件過程能力的最佳途徑。
5 結(jié) 語
實施CMM 對軟件企業(yè)的發(fā)展有著重要的作用,CMM 過程本身就是對軟件企業(yè)發(fā)展歷程的一個完整而準(zhǔn)確的描述[9]。軟件企業(yè)通過實施CMM,可以更好地規(guī)范軟件生產(chǎn)和管理流程,使企業(yè)組織規(guī)范化,提高軟件企業(yè)的能力成熟度,改進(jìn)軟件的開發(fā)、維護(hù)過程,按時、按預(yù)算為用戶提供高質(zhì)量的軟件,提高產(chǎn)品和企業(yè)的競爭力。縱觀整個CMM的發(fā)展,軟件企業(yè)提高自身成熟度的歷程是一個從無序到有序,從特殊到一般,從定性到定量,最后不斷自我完善的過程。通過CMM 對軟件過程的合理控制,可以有效控制軟件開發(fā)的流程,開發(fā)出來的軟件產(chǎn)品質(zhì)量明顯提高。
我軍制定了新的軟件開發(fā)規(guī)范,基本沿用CMM的管理思想,并且制定了軍用軟件能力評價工作程序,申請CMM認(rèn)證的企業(yè)逐年增多,且總裝備部每年舉辦一次軟件能力評估與評價技術(shù)培訓(xùn)班,不斷擴(kuò)大實施基礎(chǔ)。
軍用軟件能力成熟度模型CMM集中關(guān)注軟件管理問題,是評估軟件過程和評價軟件能力的重要工具,它的貫徹實施對軟件開發(fā)組織提高軟件研制開發(fā)能力,保證軟件質(zhì)量具有十分重要的意義[11]。因此,軍用軟件開發(fā)組織引進(jìn)并實施軍用軟件能力成熟度模型CMM既是必要的,也是必須的。
目前,CMM認(rèn)證已成為承接軍用軟件的重要資質(zhì),將來所有承接軍用軟件項目的企業(yè)都將必須通過相應(yīng)的CMM等級認(rèn)證,在軟件開發(fā)領(lǐng)域,CMM將逐步取代舊的開發(fā)過程而成為新的標(biāo)準(zhǔn)。
參考文獻(xiàn)
[1]石柱.軍用軟件能力成熟度模型及其應(yīng)用[M].北京: 中國標(biāo)準(zhǔn)出版社,2003.
[2]石柱.航天型號軟件工程化十年回顧與展望[J].航天控制,2006,24(4):66-72.
[3]鄭仁杰,王瑋,王方德,等.基于軟件能力成熟度模型(CMM)的軟件過程改進(jìn)——方法與實施[M].北京:清華大學(xué)出版社,2003.
[4]何新貴.軟件能力成熟度模型[M].北京:清華大學(xué)出版社,2001.
[5]王世錦,蔡愉祖.CMM實施指南[M].北京:機(jī)械工業(yè)出版社,2003.
[6]章常永,劉育.CMM的結(jié)構(gòu)和基本內(nèi)容[M].武漢:武漢大學(xué)出版社,2004.
[7]劉文威,寧傳成.CMM Level 2 實戰(zhàn)[M].北京:電子工業(yè)出版社,2004.
[8]孟迎霞,唐琦.CMM布道中國:一切剛剛開始[J].計算機(jī)技術(shù)與發(fā)展,2003(3):46-48.
[9]王艷慧.基于CMM的軟件過程改進(jìn)實踐[J].計算機(jī)技術(shù)與發(fā)展,2008(18):141-143.
[10]李磊.基于CMM的軟件過程改進(jìn)方法的研究[D].西安:西北工業(yè)大學(xué),2007.
[11]王宏.軍用CMM及其在雷達(dá)軟件開發(fā)中的作用[J].現(xiàn)代雷達(dá),2005,27(1):62-65.