摘 要:改革開放以來,我國經濟水平與科技水平不斷提高,計算機及網絡技術等現代化信息技術快速發展,為軟件的開發利用奠定了堅實基礎,在這一背景下,加強軟件質量度量研究有助于提高軟件產品的質量,開發出更多復雜的軟件,具有十分重要的現實價值與參考價值。本文從CMMI理論出發,詳細論述了軟件度量的基本理論,并論述了C-G模型及其具體應用,希望能以此改進軟件過程,提高軟件質量的可控性與可測性,進而為軟件行業的可持續發展奠定堅實基礎。
關鍵詞:CMMI;軟件過程;軟件質量度量;C-G模型
中圖分類號:TP311.52 文獻標識碼:A 文章編號:2096-4706(2018)06-0021-03
Abstract:Since the reform and opening up,China’s economic level and the level of science and technology have been improved,and the rapid development of modern information technology,such as computer and network technology,has laid a solid foundation for the development and utilization of software. Under this background,strengthening the research of software quality measurement is helpful to improve the quality of software products and develop more complex software. Miscellaneous software is of great practical value and reference value. In this paper,the basic theory of software measurement is discussed in detail from the CMMI theory,and the C-G model and its application are discussed. It is hoped that the software process can be improved and improve the controllability and measurability of software quality,and then lay a solid foundation for the sustainable development of the software industry.
Keywords:CMMI;software process;software quality metrics;C-G model
0 引 言
隨著軟件行業的快速發展,取得巨大利益與輝煌成就的同時,也帶來了較大的軟件開發風險,直接影響著軟件企業的生存與發展。目前,如何降低軟件開發風險及加強軟件質量度量研究已經成為軟件企業應重點思考的問題。CMMI在軟件質量度量中有著重要應用價值,能顯著降低開發風險,提高了經濟效益與社會效益,為軟件企業的健康發展提供助力,需加強重視。與發達國家相比,我國在這方面的研究起步較晚,還存在較多問題急需解決,應積極探索實踐,對軟件過程進行科學管理,進而開發出質量更高的軟件產品。
1 緒論
1.1 研究背景與意義
計算機行業剛剛崛起時,軟件只是作為某些特定應用而設計的程序,開發規模有限,但隨著各類計算機硬件設備的高速發展,對軟件質量的要求也隨之提高,軟件開發規模逐漸擴大,廣泛應用于人們的日常生活與工作,顯著提高了工作質量與效率。但隨著軟件復雜性的提高,軟件產品質量難以控制,現有的測試條件下很難保證產品完好,容易影響使用效果,帶來不可挽回的經濟損失?;诖耍訌娷浖|量度量分析至關重要,可有效控制軟件開發使用過程的安全風險,提高軟件企業的經營效益。與傳統工業及計算機硬件設備開發生產不同,軟件過程具有邏輯性強、可控性低及檢驗標準不明確等特點,需利用CMMI理論建立完善可靠的質量度量體系,從根本上消除軟件開發應用中的不良影響,從而提高生產效率,爭取用最小成本創造最大收益。
1.2 國內外研究現狀
歐美國家早在20世紀中期便意識到了軟件度量的重要性與必要性,加大了人力、物力及財力投入,希望能獲得良好的研究成果,為本國軟件行業及現代化信息技術的快速發展注入新的力量。在早期研究中,工作重點是優化度量產品的功能,隨著時間的推移,這些國家已經制定了較為系統的軟件度量理論與方法。有學者認為度量是一個過程,將軟件度量過程作為整個組織軟件過程的一部分,同時實現了重復度量。另外,還建立了完善的度量過程模型,實際應用效果良好。國內在這方面的研究雖然起步較晚,但通過不懈努力,已經取得了一定成果,逐步構建了軟件過程建模方法GQM-D度量框架。不過還缺乏對一些實用性度量工具的研究。筆者認為應從CMMI角度出發,優化軟件質量度量模型的各項性能,提高實用性與高效性。
2 軟件質量度量概述
2.1 軟件度量的基本理論
目前,對于軟件度量的涵義眾說紛紜,尚未有統一定義,可將其理解為對軟件開發及使用中收集分析相關數據的定量化過程,有助于加快軟件開發進程,提升軟件產品的整體質量。度量取向包含眾多方面,需以數據、模型、原理、法則為依據,實現軟件過程的質量控制。軟件過程度量具有系統性特點,應構建度量框架,按照框架流程完成工作內容,避免出現遺漏。軟件質量度量中的主要活動包括四項內容,分別是度量計劃、數據收集、實施度量及度量分析。制定計劃時需做好準備工作,明確目的目標,了解過程管理問題,選擇合適的度量并對其進行定義,并將所有因素集成到軟件過程中來。收集數據是軟件質量度量的關鍵環節,需保證全面性、及時性與準確性,為后續工作做好鋪墊。實施度量之前應先進行小范圍試驗,檢查數據說明與要求是否符合相關標準,確保度量效果。度量分析過程是利用各類圖標觀察軟件過程的穩定性與變化趨勢,并根據度量結果調整開發進程。
2.2 軟件度量的分類
在實際工作中,軟件度量可分為以下幾類。其一是項目度量,軟件項目是度量的重要對象,它通過對整個項目加以控制,加快了開發速度。其二是規模度量,其功能的實現可為成本預算等工作提供一定的指導,具體度量內容包括項目人員、實際開發數據及客戶要求變更。科學高效的規模度量能夠優化軟件開發流程,與軟件能否開發成功息息相關。其三是過程度量,對軟件開發過程的一切活動進行度量,可總結為三個方面,即生命周期度量、管理度量與成熟度度量,該過程需注意細節問題,以全面改善軟件質量。其四是產品度量,產品指的是軟件開發的中間產物及最終成果,同時還涉及品牌設計及服務活動等,需重點關注代碼的復雜性與有效性,解決軟件運行中存在的弊端。
2.3 軟件質量及其評價體系
軟件質量需具有良好的內在特性,滿足用戶的各項需求,總結來說,就是控制軟件在運行過程中避免發生故障問題?,F如今,社會發展已經離不開軟件,它為促進國民經濟快速發展提供助力?;诖?,其質量問題受到了社會各界的廣泛關注,科學的評價體系能準確判斷軟件的功能與效益,促進軟件產業良好發展。我國應用SSC軟件質量評價體系判斷軟件能否滿足綜合期望程度,在該模型中,利用可追蹤性、完備性、精確性、模塊性及可操作性等22個標準作為評價原則,從六個方面(功能性、可靠性、易用性、效率、可維護性及可移植性)度量軟件質量,全面升級軟件的實用價值。
3 CMMI理論分析
3.1 CMMI模型的構成與表達方式
CMMI的中文翻譯是軟件能力成熟度模型集成,具有科學性與可擴充性,大大提高了軟件開發使用質量與生產效率。CMMI屬于模型集合,其中包含的各類模型有著自身特點與使用范圍,例如CMMI-SW適用于軟件過程,在軟件立項、制定技術目標及測試過程中應用較多。而CMMI-SE則同時適用于軟件工程與系統工程,兼容性更好。相關人員需具備豐富的專業知識,根據實際情況選擇適合的模型進行軟件過程度量。CMMI模型的表達方式為連續式與階段式兩種,前者的表達重點是過程域,能有效改進與過程域相關的組織過程。后者則更加關注組織成熟度,通過5個等級改進結果。
3.2 CMMI的度量與分析過程域
度量與分析過程域是CMMI模型中的重要功能,可指導企業按照正確方向開展軟件質量度量,對軟件開發工作產生了積極影響。度量與分析過程域包含兩個方面,即度量與分析。度量的意義是獲取軟件產品的有效數據;分析則通過科學方法處理數據,以便發現開發工作中的不足之處。度量與分析過程是建立企業財務數據庫的基礎與前提下,為提高企業的核心競爭力貢獻了巨大貢獻。CMMI的度量與分析過程域能協調度量與分析活動,并可提供可靠的結果,有助于確保軟件開發項目順利落實。
3.3 CMMI的度量與分析執行流程
CMMI的度量與分析執行流程主要包含計劃、收集與分析三個步驟。(1)計劃。根據企業經營情況確定度量目標,保證該目標具有科學性與可行性,并逐步細化度量目標,為后續工作提供詳實具體的參考。(2)收集。運用計算機技術實現數據收集與儲存,建立軟件質量度量數據庫,并在該過程中進行數據完整性檢查,發現遺漏問題及時彌補。(3)分析。嚴格按照分析流程處理數據,得到真實可靠的結果,將該結果匯總成報告。
4 基于CMMI的軟件質量度量研究
4.1 過程度量建模方法
GQM模型與GQ(I)M模型在軟件質量度量中應用較為廣泛,下文對這兩種模型進行了簡要論述。GQM模型的可操作性較強,能靈活度量軟件質量,適應性良好。在實際運用中,GQM模型會先確定一組目標,再分別對單個目標進行定義,最后根據實際情況制定科學的測量方法。GQM模型按照從上至下的順序執行軟件過程度量,將抽象問題具象化,實效性較高。GQ(I)M模型能克服GQM模型中的弊端,針對商業目標應用效果良好。在具體工作中,GQ(I)M模型先對商業目標進行分析細化,確定子目標與問題,隨后將目標映射為對應的度量。應用GQ(I)M模型需跟蹤整個過程,以免收集到錯誤數據。
4.2 構建C-G模型
C-G模型是CMMI與GQ(I)M模型的結合體,具有兩者共同的優點。例如CMMI是軟件質量度量的基礎度量元,而GQM則能提供更加全面具體的評價指標,將兩者進行結合,能顯著提高度量效率。C-G模型具有三個結構層次,首先是目的層,提取軟件過程度量的特定目標。其次是問題層,實現問題化向度量化轉變。最后是度量層,對前兩個層次中的問題加以化解,從而形成度量元。為了提升C-G模型的應用效果,相關人員需保證這三個層次具有轉化匹配性,從而更好地完成從度量目標到度量數據項的映射。
4.3 數據收集與分析
數據收集與分析對整體度量質量影響重大,需給予重視,盡量提高該項工作的質量與效率,為軟件過程度量打好基礎,進而促進軟件行業的長久發展。數據收集與分析需多名工作人員共同完成,記錄提交后進行分類匯總,以表格形式加以儲存。缺陷數據是該項工作的重點內容,基于缺陷性數據的特點,應從多個角度展開分析,明確缺陷嚴重性、缺陷類型與缺陷分布情況。通過分析缺陷性數據可了解軟件開發過程中的錯誤操作,應根據分析結果安排檢測重點,以免再次出現同樣錯誤。數據收集與分析過程中會建立缺陷錯誤類型分布圖,可協助工作人員了解限制軟件質量度量工作良好發展的不利因素,從而有針對性地提出解決策略。實踐證明,編碼錯誤引發的缺陷所占比例較大,應引起重視。
4.4 改進過程
數據收集與分析完成后需根據結果改進度量方案。首先,從高層開始,圍繞相關問題展開討論,敲定改進目標。其次,綜合考慮方方面面的影響因素,保證軟件質量度量的可行性、可靠性與經濟性,盡可能提高企業的經營效益。最后,改進完成后進行質量驗證,確保其不存在任何缺陷。過程改進是一項持續性的工作,需加以堅持,從而為開發復雜軟件做好準備,提高軟件產品的整體質量。
5 結 論
綜上所述,CMMI在軟件質量度量中占有舉足輕重的地位,對軟件企業的長久發展產生了至關重要的影響。企業需加大研究力度,明確軟件質量、過程度量及CMMI的相關理論,建立科學合理的C-G模型,加強數據收集與分析,做好綜合評價工作,嚴格控制軟件開發階段性的質量與最終產品的質量,從而最大程度地降低風險、節約成本,促進軟件企業向著更好的方向發展。
參考文獻:
[1] 杜金環,金璐璐.軟件質量度量過程及模型研究 [J].計算機技術與發展,2014,24(4):38-40+44.
[2] 劉紅云.度量與分析域在同行評審中的實踐 [J].信息安全與技術,2012,3(8):96-98.
[3] 彭西西,梁云,陶邦勝,等.基于CMMI的不符合項分析理論在軟件質量保證中的應用 [J].價值工程,2013,32(1):169-172.
作者簡介:吳穎(1983.05-),女,漢族,重慶人,工程師,本科。研究方向:軟件度量。