李 寧,袁亞南,關(guān)俊鵬
(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)
GJB5000A四級的目標(biāo)是將統(tǒng)計過程控制思想應(yīng)用于軟件項目管理中,以實現(xiàn)量化管理軟件項目。其中,統(tǒng)計過程控制是基于統(tǒng)計過程,監(jiān)控項目執(zhí)行過程中的性能狀態(tài),識別項目執(zhí)行過程中出現(xiàn)的偏差,分析產(chǎn)生偏差的原因,保證項目執(zhí)行過程中的性能建立并保持在穩(wěn)定水平,以保證項目質(zhì)量和過程性能目標(biāo)得到滿足。
組織過程能力的目的是在歷史數(shù)據(jù)的基礎(chǔ)上建立組織的過程性能基線和過程性能模型,用于預(yù)測后續(xù)項目是否能夠達到制定的質(zhì)量目標(biāo),并根據(jù)過程性能基線和模型開展定量項目管理。過程能力由過程測量值(如工作量、周期時間、缺陷消除的有效性)和產(chǎn)品測量項(如可靠性、缺陷密度、容量、響應(yīng)時間和成本)兩方面來表示其特征。有關(guān)的過程能力模型可用于表示過去和現(xiàn)在的過程能力,并預(yù)測過程未來的結(jié)果。
對已有軟件項目開展數(shù)據(jù)統(tǒng)計分類之前,需基于高成熟度過程實施框架,明確項目的質(zhì)量和過程性能目標(biāo)。本方案中,質(zhì)量和過程性能目標(biāo)圍繞第三方軟件測評的首次軟件缺陷率開展,力求降低第三方軟件測評首次軟件缺陷率。
軟件測評軟件缺陷率由多個關(guān)鍵子過程確定,包括軟件需求變更次數(shù)、單位規(guī)模評審工作量、系統(tǒng)開發(fā)人員單位規(guī)模工作量、系統(tǒng)開發(fā)人員平均技能、合格性測試單位規(guī)模用例數(shù)、合格性測試單位規(guī)模工作量、系統(tǒng)測試單位規(guī)模用例數(shù)、系統(tǒng)測試單位規(guī)模工作量等多類因素。
從產(chǎn)生/移除缺陷的角度來看,關(guān)鍵過程包括方案設(shè)計、方案評審、方案實現(xiàn)、需求變更、單元測試、系統(tǒng)測試、三方測評等多個方面。其中,方案設(shè)計、方案實現(xiàn)的過程均有缺陷的注入。通過魚骨圖分析找到影響缺陷密度高的主要原因,通過柏拉圖進行分析,找出影響缺陷密度的最重要的幾個關(guān)鍵原因。影響三方測評缺陷密度的原因有技術(shù)方法、資源、項目管理和開發(fā)工具等,需確定其中最關(guān)鍵的幾個潛在原因。通過潛在失效模式與后果分析(FMEA:Failure Mode and Effects Analysis)方法,在項目方案設(shè)計階段,對構(gòu)成產(chǎn)品的各子系統(tǒng)、對影響產(chǎn)品質(zhì)量的各個關(guān)鍵過程逐一進行分析,找出引起潛在失效模式的關(guān)鍵過程,分析這些潛在失效模式可能引起的后果,評估這些后果可能帶來的風(fēng)險,從而可以在找出的關(guān)鍵過程中預(yù)先采取解決方法,降低失效模式的發(fā)生概率,有效提高產(chǎn)品質(zhì)量和可靠性。在FMEA分析的基礎(chǔ)上,對影響三方測評缺陷密度的風(fēng)險優(yōu)先度做柏拉圖分析,找出影響缺陷密度的少數(shù)最關(guān)鍵的潛在因素,本項目需重點考慮需求變更、軟件開發(fā)人員技能和系統(tǒng)測試通過率三個方面的因素。
2.3.1 數(shù)據(jù)處理
本項目基于積累的項目過程數(shù)據(jù)進行收集,梳理出包含軟件開發(fā)組成員、系統(tǒng)開發(fā)人員平均技能系數(shù)、開發(fā)周期(人天數(shù))、代碼行數(shù)、軟件類型、軟件需求變更次數(shù)、項目啟動時間、系統(tǒng)測試用例數(shù)量、系統(tǒng)測試用例非預(yù)期數(shù)量、系統(tǒng)測試用例偏差數(shù)量、三方測評首輪靜態(tài)測試軟件問題數(shù)、三方測評首輪動態(tài)測試用例數(shù)/執(zhí)行用例數(shù)/通過數(shù)/問題數(shù)、三方測評回歸靜態(tài)測試軟件問題數(shù)、三方測評回歸動態(tài)測試用例數(shù)/執(zhí)行用例數(shù)/通過數(shù)/問題數(shù)等多個數(shù)據(jù)項目,基于這些數(shù)據(jù)推導(dǎo)出系統(tǒng)開發(fā)人員平均技能系數(shù)、系統(tǒng)測試通過率、系統(tǒng)測試首次缺陷率、軟件千行缺陷數(shù)(靜態(tài)和動態(tài)問題)、軟件千行缺陷數(shù)(動態(tài)問題)等相關(guān)數(shù)據(jù)。其中,軟件千行缺陷數(shù)由第三方測評首次測試問題數(shù)量和軟件代碼行數(shù)確定,依據(jù)動態(tài)測試中發(fā)現(xiàn)的問題數(shù)量獲??;系統(tǒng)開發(fā)人員平均技能系數(shù)根據(jù)軟件開發(fā)人員的技術(shù)職稱與數(shù)量確定,高級工程師取1分,工程師取0.5分,助理工程師取0.1分;軟件需求變更次數(shù)根據(jù)軟件需求規(guī)格說明的版本變更確定;系統(tǒng)測試單位規(guī)模用例數(shù)由軟件代碼行數(shù)和系統(tǒng)測試用例確定;系統(tǒng)測試首次缺陷率所檢開展系統(tǒng)測試時的缺陷率。
系統(tǒng)開發(fā)人員平均技能系數(shù)=(1.0×高級工程師人數(shù)+0.5×工程師人數(shù)+0.1×助理工程師人數(shù))/(高級工程師人數(shù)+工程師人數(shù)+助理工程師人數(shù))
系統(tǒng)測試通過率=(所檢首輪測試用例數(shù)量-非預(yù)期數(shù)量-有偏差數(shù)量)/所檢首輪測試用例數(shù)量
系統(tǒng)測試首次缺陷率=1-系統(tǒng)測試通過率
軟件千行缺陷數(shù)(2類問題)=1000×(三方測評首輪靜態(tài)測試軟件問題數(shù)+三方測評首輪動態(tài)測試軟件問題數(shù))/代碼行
軟件千行缺陷數(shù)(動態(tài)問題)=1000×三方測評首輪動態(tài)測試軟件問題)/代碼行
2.3.2 數(shù)據(jù)分析與建模
利用Minitab工具開展多元線性回歸分析,建立過程能力基線和過程能力模型如下。
系統(tǒng)開發(fā)人員平均技能系統(tǒng)基線上限為1.256,下限為0,均值為0.578。Ln(軟件需求變更次數(shù))基線上限為2.975,下限為0,均值為1.484。系統(tǒng)測試首次缺陷率基線上限為32.05%,下限度為0,均值為10.76%。建立第三方測試軟件缺陷率與系統(tǒng)開發(fā)人員平均技能系數(shù)、軟件需求變更次數(shù)、系統(tǒng)測試首次缺陷率多個參數(shù)之間的回歸模型方程為:軟件千行缺陷數(shù)=0.430-0.266系統(tǒng)開發(fā)人員平均技能系數(shù)-0.134Ln(軟件需求變更次數(shù))+1.06系統(tǒng)測試首次缺陷率。
方差分析結(jié)果中,F(xiàn)=98.76,P=0.00,說明系統(tǒng)開發(fā)人員平均技能系數(shù)、Ln軟件需求變更次數(shù)、系統(tǒng)測試首次缺陷率與軟件千行缺陷數(shù)之間有顯著相關(guān)性,建立的回歸模型方程是顯著的。各個自變量的P值均小于0.05,說明每個自變量均具有顯著意義。R-Sq(調(diào)整)=96.7%,說明該模型是合理的。本項目基于的歷史數(shù)據(jù)有限,隨著項目的開展、數(shù)據(jù)的積累,可以在更充分?jǐn)?shù)據(jù)的支撐下重新建立過程性能基線和模型,對軟件研制過程進行定量項目管理,提高軟件質(zhì)量。
GJB5000A四級中,通過對軟件研制過程開展定量項目,確保實現(xiàn)對設(shè)定質(zhì)量目標(biāo)的控制。基于前期已有的項目數(shù)據(jù),確定質(zhì)量和過程績效目標(biāo)為第三方軟件測評軟件缺陷率,識別得出需求變更、軟件開發(fā)人員技能和系統(tǒng)測試等關(guān)鍵子過程,對積累的數(shù)據(jù)進行分析、處理,從而建立了過程能力基線和過程能力模型,相關(guān)工作流程對項目量化管理具有一定的參考價值。