提升軟件質量從來就是軟件工程中的重要研究課題,但是也是至今沒有滿足結果的課題,因此東軟件質量無法保證目前依然是軟件企業的難題。CMM試圖從管理學的角度來解決這一問題,特別是希望控制軟件的開發過程來保證軟件質量。無疑這是個重大的進展。但是事實上,如果沒有在理論上和技術條件的支持,軟件開發過程也是難以控制的。此項研究的目標是研制適合進行軟件開發過程控制的軟件結構,技術,平臺和管理系統,為軟件企業自然地達到某一高級CMM等級提供技術,方法和管理手段。此項研究也可以看作為軟件企業CMM等級進化提供的可操作的必要條件----技術條件。同時此項研究對CMM能做什么和不能做什么進行了討論。
二 CMM簡介
2.1 什么是CMM
CMM是英文 Capability Maturity Model 的縮寫,也就是能力成熟度模型,和是由美國長內梅隆大學軟件工程研究所(SEI)提出的。
CMM的研究在美國政府的要求下開始于1186年,并于1991年推出CMM1.0版。
自CMM1.0提出之后引起軟件專家的注意,并且引起了激烈的爭論。SEI在研究了這些爭論后于1999年完成了CMM2.0版。今天我們討論的主要是CMM2.0版。
由于CMM的視點(對一個問題的著眼點)很好,使得能力成熟度短語被廣泛地應用,例如:人力資源能力成熟度和系統能力工程成熟度等。
CMM是根據軟件企業的管理模式對軟件企業的一個評估標準,例如:某企業具有某CMM等級資質。
SEI認為CMM是企業的進化模型,但是由于CMM沒有提出企業從某某CMM等級進化為更高級CMM等級進化為更高級CMM等級的方法,因此我們不認為是進化模型。
2.2 為什么提出CMM
眾所周知,在各種各樣的工程中,軟件工程是最難以控制的工程之一。因為軟件是一種邏輯系統,設計軟件比設計硬件所使用的邏輯量要多10至100倍。我們認為不僅如此,這主要是沒有有效的理論和方法來建立這個邏輯系統。由于沒有適合的邏輯系統,這意味著這么復雜的邏輯要由人腦來控制,而人腦對于復雜邏輯的控制能力是有限的。明顯,由于要由人腦來控制復雜邏輯的一困難問題,因此對于軟件工程的控制事實變為對人腦的控制,但是這是不可能。
由于上述原因,軟件工程存在著如下問題:
軟件成本過高,軟件開發進度難以控制,估計軟件工作量困難,軟件質量難以保證和修正維護軟件困難,從而造成軟件開發失敗。
為了解決這一問題,CMM認為人們面臨的不僅是技術問題,更重要的是管理問題。
文章來源于領測軟件測試網 http://www.kjueaiud.com/