楚 菲 宿魯艷
(中國電子科技集團公司第二十八研究所 南京 210023)
指揮信息系統(tǒng)[1]軟件的研制過程有著軟件系統(tǒng)復(fù)雜、軟件需求變化快,軟件規(guī)模龐大,研制周期短等特征。為了適應(yīng)指揮信息系統(tǒng)軟件研制特點,對于軍工企業(yè)而言進行軟件工程的過程改進是必由之路,要不斷地優(yōu)化企業(yè)的軟件工程實踐,采取適合企業(yè)情況的最佳實踐。
軍用軟件能力成熟度模型是軍用軟件全生存周期過程技術(shù)和管理最佳實踐的集合[2]。這些“最佳實踐”是對過程活動所獲得的經(jīng)驗、做法進行總結(jié)和萃取,將其形成標(biāo)準(zhǔn)化的,可推廣實施的操作、流程、規(guī)則等,以有效地在整改組織范圍內(nèi)最大地利用改進過程所創(chuàng)造的價值[3]。這些實踐可以指導(dǎo)組織實施精細(xì)化過程管理,不斷改進組織過程,提高質(zhì)量和過程績效[4],提升組織整體交付效率,降低交付后缺陷率,進而實現(xiàn)組織核心競爭力的提升,提升客戶滿意度。在軍用軟件能力成熟度模型四級“量化級”中明確要求“采取量化分析技術(shù),實現(xiàn)較高的質(zhì)量和過程績效”。一個組織整體運作的關(guān)鍵因素在于組織過程績效,建立和維護組織過程績效基線和模型是非常關(guān)鍵的,是提升組織能力和進行定量管理的基礎(chǔ)[5]。
本文選取軟件設(shè)計評審過程進行量化改進,給出了建立軟件設(shè)計評審過程性能模型的方法。在模型建立過程的工具選擇方面,由于Minitab 是一款體積小、功能全面的質(zhì)量管理工具軟件,它涵蓋了基本統(tǒng)計技術(shù)、回歸分析、方差分析、實驗設(shè)計分析、控制圖、質(zhì)量工具和可靠性工具等功能[6],本模型建立過程選用Minitab工具。
軟件質(zhì)量之父Watts S.Humphrey 多年前就提出了團隊軟件過程TSP(Team Software Process)模型[7],在該模型中提出了十個量化法則,其中兩個量化法則能夠充分說明軟件設(shè)計評審的重要性。具體描述如下。
關(guān)于工作量分布的定量法則:在設(shè)計評審上花費的時間比設(shè)計時間多50%以上時,評審一般比較徹底。這條法則告訴我們相比設(shè)計過程,設(shè)計結(jié)果是否正確、合理、足夠優(yōu)秀更為重要。而要確保好的設(shè)計結(jié)果就要抓好設(shè)計評審。
關(guān)于質(zhì)量分布的定量法則:80%的軟件缺陷[8]應(yīng)該在編譯之前發(fā)現(xiàn)。這條法則告訴我們軟件缺陷越早發(fā)現(xiàn)越好。越早發(fā)現(xiàn)缺陷,修復(fù)軟件缺陷的成本越低。研究表明,評審在發(fā)現(xiàn)規(guī)格說明錯誤和設(shè)計錯誤方面的有效性高達(dá)75%。由于能夠檢測出并排除掉絕大部分的這類錯誤,評審過程將極大地降低后續(xù)開發(fā)和維護階段的成本[9]。
指揮信息系統(tǒng)軟件的研制過程中,擬制軟件設(shè)計說明是不可或缺的一個環(huán)節(jié),軟件設(shè)計說明主要描述計算機軟件配置項的設(shè)計,包括計算機軟件配置項級設(shè)計決策、計算機軟件配置項體系結(jié)構(gòu)設(shè)計和實現(xiàn)該軟件所需的詳細(xì)設(shè)計[10]。軟件設(shè)計過程是軟件編碼前非常重要的一個環(huán)節(jié),所以在軟件設(shè)計評審過程中充分挖掘問題顯得至關(guān)重要。建立模型,能夠掌握已研制軟件過程狀態(tài)的穩(wěn)定性和過程之間的關(guān)系,開展后續(xù)軟件預(yù)測,對目標(biāo)實現(xiàn)的達(dá)成情況進行分析并有針對性地采取措施[11]。因此,為了把好軟件編碼前最后一道關(guān),提升軟件設(shè)計評審有效性,研究軟件設(shè)計評審過程性能模型的建立方法是十分必要的。
建立軟件設(shè)計評審過程性能模型要盡可能地識別出所有對過程性能有影響的因子,并對影響因子進行分類、排序后,初步確定影響軟件設(shè)計評審質(zhì)量的因子是:軟件設(shè)計人員能力、軟件設(shè)計投入工作量、評審人員能力、評審速率、項目難度、軟件需求評審清除缺陷密度,即:軟件設(shè)計評審清除問題密度Y=f(項目難度X1、軟件設(shè)計人員能力X2、評審人員能力X3、評審速率X4、軟件設(shè)計單頁投入工作量X5、軟件需求評審清除缺陷密度X6)。
模型因子取值如下。
項目難度X1取值說明見表1。
表1 項目難度X1取值說明
表2 單個設(shè)計人員能力取值說明
表3 單個設(shè)計人員能力取值說明
評審速率X4=軟件設(shè)計文檔頁數(shù)/評審所花工時;
軟件設(shè)計單頁投入工作量X5=軟件設(shè)計總工作量/軟件設(shè)計文檔頁數(shù);
軟件需求評審清除缺陷密度X6=軟件需求評審問題數(shù)量/軟件需求文檔頁數(shù)。
按照如下原則收集原始有效數(shù)據(jù),作為建立軟件設(shè)計評審質(zhì)量過程績效模型的樣本數(shù)據(jù):
1)近五年軟件研制類或含軟件的系統(tǒng)研制類項目;
2)開展了軟件設(shè)計評審活動的項目數(shù)據(jù);
3)軟件設(shè)計評審度量數(shù)據(jù)完整,詳實。
軟件設(shè)計評審原始數(shù)據(jù)收集表見圖1,為了達(dá)到能建立模型的要求,篩選后至少保留20 組數(shù)據(jù)。
圖1 軟件設(shè)計評審原始數(shù)據(jù)收集表模板
對原始數(shù)據(jù)進行整理、分析,首先刪除無效數(shù)據(jù),如:設(shè)計評審問題密度等于零的項目數(shù)據(jù);然后分別對設(shè)計評審問題密度和各模型因子進行排序,識別出設(shè)計評審問題密度特別小或特別大的數(shù)據(jù),對數(shù)據(jù)的特殊性進行研判,如果項目存在特殊性導(dǎo)致設(shè)計評審問題密度數(shù)據(jù)異常,則剔除該異常數(shù)據(jù)。
按照圖1 模板建立原始數(shù)據(jù)表,導(dǎo)入初步篩選后的模型預(yù)測值和所有模型因子數(shù)據(jù)。將設(shè)計評審量化模型因子X1~X6和軟件設(shè)計評審清除問題密度Y 拷貝至Minitab 工具中,為便于在Minitab 工具中顯示,預(yù)測模型和部分模型因子簡稱如下。
軟件設(shè)計評審清除問題密度Y 簡稱為“設(shè)計評審問題密度”;
軟件設(shè)計人員能力X2簡稱為“設(shè)計能力”;
評審人員能力X3簡稱為“評審能力”;
軟件設(shè)計單頁投入工作量X5 簡稱為“設(shè)計工作量”;
軟件需求評審清除缺陷密度X6 簡稱為“需求評審問題密度”。
建立如表4 的工作表,設(shè)計評審清除問題密度值Y對應(yīng)C8列,各模型因子值X對應(yīng)C2~C7列。
表4 建立模型Minitab原始數(shù)據(jù)表
所有統(tǒng)計分析的過程都是基于樣本服從正態(tài)分布的假設(shè),所以樣本數(shù)小于30 的樣本必須先進行數(shù)據(jù)正態(tài)性檢驗,只有服從正態(tài)分布的樣本得到的控制圖才有意義。
對軟件設(shè)計評審清除問題密度Y 和各連續(xù)型模型因子X 數(shù)據(jù)分析進行正態(tài)性檢驗,概率圖見圖2。
圖2 選定正態(tài)性檢驗圖
圖2 直觀地展示了樣本點和標(biāo)準(zhǔn)正態(tài)性分布的擬合程度,并列出了樣本數(shù)據(jù)的均值、標(biāo)準(zhǔn)差、樣本量(N)、樣本數(shù)據(jù)的累積分布與理論正態(tài)的累積正態(tài)分布的面積差(AD 值)、統(tǒng)計量指標(biāo)(P 值)。AD值越小,樣本數(shù)據(jù)越接近正態(tài)分布。圖3中P值小于0.005,說明樣本數(shù)據(jù)不服從正態(tài)分布。則對數(shù)據(jù)進行穩(wěn)定性檢查,區(qū)分過程的普通原因和特殊原因的簡單有力工具是控制圖[12],嘗試借助控制圖識別異常點,刪除異常點后再進行數(shù)據(jù)正態(tài)性檢驗。
圖3 變量控制圖
控制圖基于正態(tài)分布理論建立,按順序繪點成圖,以此監(jiān)控過程是否處于控制狀態(tài)??刂茍D中包括中心線、上控制界限和下控制界限,上下控制界限線以內(nèi)的點可接受,上下控制線以外點為異常點[13]。使用Minitab 工具進行數(shù)據(jù)穩(wěn)定性檢查,生成變量控制圖見圖3。
控制圖中顯示有兩個點距離中心線大于兩個標(biāo)準(zhǔn)差,判定為異常點,數(shù)據(jù)不穩(wěn)定,剔除異常點后,重新進行數(shù)據(jù)正態(tài)性檢驗和數(shù)據(jù)穩(wěn)定性檢查。剔除異常數(shù)據(jù)的樣本數(shù)據(jù)符合正態(tài)分布,正態(tài)性分析見圖4,數(shù)據(jù)穩(wěn)定性分析見圖5,數(shù)據(jù)穩(wěn)定,未見異常點。
圖4 選定正態(tài)性檢驗圖
圖5 變量控制圖
為了驗證軟件設(shè)計評審清除問題密度Y 與每一個模型因子X 之間、以及模型因子X 兩兩之間的線性關(guān)聯(lián)程度。使用Minitab 工具進行數(shù)據(jù)相關(guān)性分析,相關(guān)性分析結(jié)果見圖6。
圖6 相關(guān)性分析結(jié)果
業(yè)界關(guān)于Pearson 相關(guān)系數(shù)的絕對值參考值如下:
根據(jù)Pearson相關(guān)系數(shù)進行分析:
1)軟件設(shè)計評審清除問題密度Y 與模型因子X之間的相關(guān)性分析見表5。
表5 Y與X的相關(guān)性分析表
經(jīng)分析,模型因子“設(shè)計能力”與模型預(yù)測值不相關(guān),刪除該模型因子。
2)各模型因子X之間的相關(guān)性分析見表6。
表6 X之間的相關(guān)性分析表
經(jīng)分析,“評審能力”和“項目難度”強相關(guān),為了保證模型的線性特性,在建模時需要排除其中一個模型因子,排除對預(yù)測值貢獻較小的模型因子“項目難度”。
將數(shù)據(jù)相關(guān)性分析后保留的模型因子X 進行組合,驗證各模型因子X對軟件設(shè)計評審清除問題密度Y 的影響程度。通常選擇對預(yù)測值Y 影響較大,且模型因子個數(shù)適中的因子進行建模,以簡化模型,便于模型的使用。
使用Minitab 工具分析最佳子集,最佳子集分析結(jié)果見圖7。
圖7 最佳子集分析結(jié)果
選擇模型因子組合時綜合考慮R-Sq(調(diào)整)值和模型因子的數(shù)量,選擇R-Sq(調(diào)整)值較高,同時模型因子個數(shù)適中的模型因子組合,通過回歸分析試算模型,試算后檢查是否有異常觀測值,如有異常觀測值,刪除數(shù)據(jù)后再次進行回歸分析。通過以上試算分析,最終選擇試算模型因子組合為評審能力和設(shè)計工作量。
為了研究模型因子X 與模型預(yù)測值Y 之間的線性依賴關(guān)系,對選擇的最佳子集進行回歸分析,回歸分析結(jié)果見圖8,殘差圖見圖9。
圖8 回歸分析結(jié)果
圖9 殘差圖
回歸分析結(jié)果顯示R-Sq(調(diào)整)值為87.73%,超過75%,該模型因子組合達(dá)到建模要求,以“評審能力”和“設(shè)計工作量”作為關(guān)鍵因子構(gòu)造回歸方程,獲得公式和各項參數(shù)。
分析模型公式和因子組合符合實際工作情況,各因子可控,確定最終模型公式如下:
軟件設(shè)計評審清除問題密度=0.05522×評審人員能力-0.00229×評審速率-0.1450。
以上給出了軟件設(shè)計評審過程性能模型的建立方法,該方法的運用依賴于軟件設(shè)計評審過程的穩(wěn)定,軟件設(shè)計評審過程數(shù)據(jù)收集準(zhǔn)確,影響因子識別全面,樣本量充分等因素。因此,如果在運用此方法在建立過程性能模型時遇到困難,可以從以上角度查找原因。在軟件設(shè)計評審過程性能模型初次建立完成后,應(yīng)繼續(xù)收集數(shù)據(jù),待樣本量充分后,根據(jù)后續(xù)積累的數(shù)據(jù)對模型進行持續(xù)改進,校準(zhǔn)過往的過程性能模型。量化改進是持續(xù)進行的,持續(xù)改進是提高績效的循環(huán)活動[14],持續(xù)地量化改進必將不斷提升組織的產(chǎn)品質(zhì)量和過程績效,實現(xiàn)組織核心競爭力的不斷提升。
通過建立基于GJB5000A 定量管理的型號軟件體系及實施應(yīng)用,提升了軟件研制管理能力。建立基線,能夠掌握已研制軟件的過程管理能力水平,為后續(xù)軟件的研制作參考;建立模型,能夠清楚已研制軟件過程狀態(tài)的穩(wěn)定性和過程之間的關(guān)系,開展后續(xù)軟件預(yù)測,對目標(biāo)實現(xiàn)的達(dá)成情況進行分析并有針對性地采取措施。定量管理能夠更好地對科研生產(chǎn)過程進行控制,其方法可以應(yīng)用到科研生產(chǎn)管理的方方面面。結(jié)合定量管理的預(yù)防管理思路深入推進軟件研制過程的穩(wěn)定性,全面應(yīng)用獲取更多不同研制類型、不同研制階段的過程數(shù)據(jù),建立更加精準(zhǔn)的基線和模型,推動規(guī)范管理向精益管理轉(zhuǎn)型。