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