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