摘要:度量分析是軟件質(zhì)量管理中的重要組成部分,是實現(xiàn)軟件數(shù)據(jù)管理的基礎(chǔ),可作為體現(xiàn)企業(yè)軟件項目管理水平的關(guān)鍵指標。文章詳細介紹了軟件度量分析的流程、模型,研制了適合企業(yè)應(yīng)用的軟件度量工具,實現(xiàn)數(shù)據(jù)收集、度量實施及度量分析等活動,以及使企業(yè)快速提升度量分析能力。軟件度量分析工具將項目實施過程中的進度、資源、過程穩(wěn)定性等參數(shù)量化,讓項目管理人員通過數(shù)據(jù)把控項目質(zhì)量。
關(guān)鍵詞:度量分析;軟件管理;量化
中圖法分類號:TP311 文獻標識碼:A
1 引言
度量分析是一種分析和測量數(shù)據(jù)的方法,旨在幫助人們更好地了解數(shù)據(jù)并從中獲取有用信息。隨著計算機技術(shù)的發(fā)展,數(shù)據(jù)復雜性的增加使得傳統(tǒng)的統(tǒng)計方法不再足夠有效,度量分析變得越來越重要。度量分析提供了一種更高效、更精確和更可靠的方法來處理數(shù)據(jù),并從中獲得有用的信息。隨著軟件規(guī)模的不斷擴大,伴隨而來的軟件質(zhì)量問題也越來越多。為解決這些問題,提高軟件的質(zhì)量,軟件質(zhì)量管理也越來越受到軟件企業(yè)的關(guān)注。如何科學合理地開展質(zhì)量管理,利用數(shù)據(jù)事實輔助決策,這就需要依賴度量分析。度量始于度量項的數(shù)據(jù)積累,量化展示項目運行過程,用數(shù)據(jù)輔助分析控制項目的進度,從而合理地分配資源,提高軟件質(zhì)量和項目的成功率。為了更加合理地實踐應(yīng)用度量分析,本文對度量分析進行了理論研究及應(yīng)用實踐。
2 度量分析定義
度量分析包含度量和分析2 個部分,是從項目開始到結(jié)束的一個持續(xù)性數(shù)據(jù)采集和量化分析的過程,包括項目過程管理數(shù)據(jù)、開發(fā)數(shù)據(jù)、測試數(shù)據(jù)等,覆蓋整個項目生命周期。其目的在于對項目的開發(fā)和過程加以理解、評估、預測、控制,最終實現(xiàn)持續(xù)改進的能力。
3 度量分析流程
度量分析流程由選擇和定義度量、制定度量計劃、數(shù)據(jù)采集、分析等活動組成,通過過程的穩(wěn)定性分析識別數(shù)據(jù)穩(wěn)定和不穩(wěn)定的原因,并制定措施、執(zhí)行改進,落實到研制過程,以提升軟件能力。度量分析流程[1] 如圖1 所示。
4 軟件度量分析主要活動
4.1 度量計劃
軟件度量分析從制定計劃出發(fā)。編制度量計劃分為4 個步驟:確認目標目的、確定過程問題、選擇與定義度量以及集成到軟件過程中。其具體如圖2所示。
度量計劃的編制需要按照步驟進行,先從確認目標和范圍出發(fā),梳理目標與軟件過程之間的關(guān)聯(lián),以確保度量結(jié)果能夠為決策提供有用信息;再找出過程問題,整理出各個過程和目標中可能發(fā)現(xiàn)問題的區(qū)域,對可能存在的問題進行分組,定位過程問題;在確認問題后,選擇與目標實現(xiàn)相關(guān)聯(lián)的數(shù)據(jù),并對數(shù)據(jù)進行定義,保證定義后的度量項可以被量化、收集和分析;最終,將已定義度量活動與軟件過程結(jié)合[2] 。
常用的度量分類有質(zhì)量、成本、進度。質(zhì)量方面度量項通常包括評審問題率、代碼走查問題率、測試缺陷率、需求變更率等。成本方面度量項包括毛利率、外協(xié)占比率、采購占比率、人工成本占比率等。進度方面有里程碑性能、工作進度、工作偏差等。
度量數(shù)據(jù)收集是開展度量分析工作的前提,數(shù)據(jù)分析和在分析結(jié)果上采取的措施都是以數(shù)據(jù)為基礎(chǔ)。
在確定度量項、制定度量計劃以及實施措施計劃后,就開始執(zhí)行收集數(shù)據(jù)。
在數(shù)據(jù)收集前,需約定統(tǒng)一采集人員、采集時間和頻率、數(shù)據(jù)記錄規(guī)范等[3] 。
4.2 實施度量
在全面部署實施度量項前,需要對度量項選擇項目進行一段時間的試點,并且總結(jié)試點效果,采取試點有效的度量項。分析度量計算數(shù)據(jù)是否符合實際、度量要求是否明確,其中最重要的是要主觀判斷數(shù)據(jù)說明是否滿足需求,收集試點度量的成本數(shù)據(jù),分析試點情況,驗證收集準確度,度量單位是否合適等,以及試點項目的關(guān)聯(lián)性、相似性、樣本范圍是否覆蓋全部項目類型等[4] 。
4.3 度量分析
在度量數(shù)據(jù)分析時,需結(jié)合度量目的、過程基線以及期望值。分析應(yīng)從2 方面進行,一方面是支持軟件過程活動的設(shè)施;另一方面是保證軟件組織擁有執(zhí)行和支持過程所需的能力。針對度量結(jié)果及時做出有效的決策,度量結(jié)果只有在被有效利用時才能產(chǎn)生價值。因此,在實施度量后,需要確保度量結(jié)果能夠被合理解釋和使用,以做出有益的決策。
常見的度量分析工具包括Excel, SPSS,MATLAB,R 等。本文度量分析工具的優(yōu)點是直接導入軟件項目開發(fā)過程積累的數(shù)據(jù),直接生成統(tǒng)計報表,易學易用,便于用戶進行高級分析。設(shè)定統(tǒng)計分析周期自行執(zhí)行并可郵件通知,缺點是前期需要基于開發(fā)工具做二次開發(fā)接入數(shù)據(jù)源??紤]后續(xù)長期使用及節(jié)約成本,度量分析工具的研究與實現(xiàn)是非常有必要且可行的。
5 度量分析工具實現(xiàn)及應(yīng)用
基于IBM 公司的協(xié)作開發(fā)平臺RTC(RationalTeam Concert)和Gitlab 開發(fā)平臺,結(jié)合軟件公司度量分析現(xiàn)狀開發(fā)設(shè)計一款度量分析工具。
度量分析工具使用“ eclipse 工具+ java 語言+SpringMVC 框架”進行實現(xiàn)和開發(fā),實現(xiàn)用戶登錄驗證、用戶權(quán)限管理、新項目信息導入、已有項目基本信息展示、以周為周期存儲項目信息、按照計算公式處理項目數(shù)據(jù)衍生出派生度量項,以及項目信息導出到Excel。
數(shù)據(jù)采集:目前RTC/ Gitlab 是作為度量分析工具的數(shù)據(jù)來源。使用javacsv 讀?。遥裕?中csv 文件,以表單的形式導入Sqlite 數(shù)據(jù)庫。將csv 文件的表頭轉(zhuǎn)換成英文,并加入時間屬性,以便MySQL 數(shù)據(jù)庫的操作(服務(wù)器的數(shù)據(jù)庫為MySQL)和使用。該數(shù)據(jù)再經(jīng)過度量數(shù)據(jù)采集工具的處理,存儲在服務(wù)器中,以做進一步的分析。
通過對數(shù)據(jù)的分析,得出進度、資源、產(chǎn)品規(guī)模和穩(wěn)定性、產(chǎn)品質(zhì)量、過程性能5 類統(tǒng)計結(jié)果,以便度量分析人員有針對地選擇方向并進行深入分析。度量分析人員可以對不同的度量指標之間的關(guān)系進行分析,以幫助用戶找出影響軟件質(zhì)量的因素。
分析過程行為:在使用度量數(shù)據(jù)采集工具對某項目的數(shù)據(jù)進行導出后,經(jīng)過質(zhì)量管理人員的整理分析,最終形成對應(yīng)項目的度量分析報告。度量分析工具可以根據(jù)用戶需求定制報表,以便用戶查看所關(guān)心的度量指標。該報告由項目負責人和相關(guān)領(lǐng)導進行審閱,并針對對應(yīng)項目制定相應(yīng)的舉措,從而合理控制項目進度。
定期對項目數(shù)據(jù)進行采集分析,通過使用度量分析工具,大大減少了度量分析人員數(shù)據(jù)采集、整理的時間,提高了過程分析效率。度量分析工具可以對歷史數(shù)據(jù)進行趨勢分析,預測后續(xù)發(fā)展趨勢,提示風險;可設(shè)置預警值,提示異常;也可設(shè)置郵件發(fā)送范圍,定期以度量分析報告形式將度量分析結(jié)果反饋給相關(guān)人員,幫助項目管理人員及時發(fā)現(xiàn)項目異常,及時識別項目風險,做好應(yīng)對措施,提高軟件開發(fā)效率和質(zhì)量,減少開發(fā)風險。
常見的度量異常包括數(shù)據(jù)異常、精度異常、邏輯異常、穩(wěn)定性異常。度量工具可以處理簡單的數(shù)據(jù)異常和精度遺產(chǎn),規(guī)避邏輯異常,但是對于穩(wěn)定性異常需要度量分析人員開展針對性分析。這些異常可能會影響軟件度量的準確性和有效性,因此需要對異常數(shù)據(jù)進行分析和處理,以確保軟件度量數(shù)據(jù)的可靠性。
6 結(jié)束語
實施度量分析能夠合理控制項目的進度、成本、規(guī)模和質(zhì)量,監(jiān)控項目穩(wěn)定性、提高過程性能等,節(jié)約了人工處理度量數(shù)據(jù)的時間成本,可直接生成度量分析報告。其有效提高了項目的效益,也使得項目的整個過程是可視可控的,便于客戶理解和交流,保證了項目按時完成,提高了軟件質(zhì)量。目前,基于RTC 和Gitlab 的度量分析工具可以直觀展示項目研制過程中存在的問題,但項目售后過程數(shù)據(jù)未完全覆蓋,可以以此為基礎(chǔ),合理優(yōu)化度量分析,不斷改進,以實現(xiàn)提高軟件質(zhì)量的目標。
參考文獻:
[1] 孫垂云.基于CMMI 的軟件質(zhì)量度量研究[D].北京:北京交通大學,2009.
[2] 孫晶.基于CMMI 的軟件質(zhì)量度量模型及工具原型研究[D].大連:大連海事大學,2006.
[3] 周曉瑩.基于軟件過程的度量方法設(shè)計與研究[D].上海:上海師范大學,2013.
[4] 李國峰.基于CMMI 的軟件開發(fā)項目質(zhì)量管理研究[D].北京:北京郵電大學,2014.
作者簡介:林贛秀(1991—),本科,工程師,研究方向:項目管理、智慧城市、信息化與信息安全。