楚 菲 宿魯艷
(中國(guó)電子科技集團(tuán)公司第二十八研究所 南京 210023)
指揮信息系統(tǒng)[1]軟件的研制過(guò)程有著軟件系統(tǒng)復(fù)雜、軟件需求變化快,軟件規(guī)模龐大,研制周期短等特征。為了適應(yīng)指揮信息系統(tǒng)軟件研制特點(diǎn),對(duì)于軍工企業(yè)而言進(jìn)行軟件工程的過(guò)程改進(jìn)是必由之路,要不斷地優(yōu)化企業(yè)的軟件工程實(shí)踐,采取適合企業(yè)情況的最佳實(shí)踐。
軍用軟件能力成熟度模型是軍用軟件全生存周期過(guò)程技術(shù)和管理最佳實(shí)踐的集合[2]。這些“最佳實(shí)踐”是對(duì)過(guò)程活動(dòng)所獲得的經(jīng)驗(yàn)、做法進(jìn)行總結(jié)和萃取,將其形成標(biāo)準(zhǔn)化的,可推廣實(shí)施的操作、流程、規(guī)則等,以有效地在整改組織范圍內(nèi)最大地利用改進(jìn)過(guò)程所創(chuàng)造的價(jià)值[3]。這些實(shí)踐可以指導(dǎo)組織實(shí)施精細(xì)化過(guò)程管理,不斷改進(jìn)組織過(guò)程,提高質(zhì)量和過(guò)程績(jī)效[4],提升組織整體交付效率,降低交付后缺陷率,進(jìn)而實(shí)現(xiàn)組織核心競(jìng)爭(zhēng)力的提升,提升客戶(hù)滿(mǎn)意度。在軍用軟件能力成熟度模型四級(jí)“量化級(jí)”中明確要求“采取量化分析技術(shù),實(shí)現(xiàn)較高的質(zhì)量和過(guò)程績(jī)效”。一個(gè)組織整體運(yùn)作的關(guān)鍵因素在于組織過(guò)程績(jī)效,建立和維護(hù)組織過(guò)程績(jī)效基線(xiàn)和模型是非常關(guān)鍵的,是提升組織能力和進(jìn)行定量管理的基礎(chǔ)[5]。
本文選取軟件設(shè)計(jì)評(píng)審過(guò)程進(jìn)行量化改進(jìn),給出了建立軟件設(shè)計(jì)評(píng)審過(guò)程性能模型的方法。在模型建立過(guò)程的工具選擇方面,由于Minitab 是一款體積小、功能全面的質(zhì)量管理工具軟件,它涵蓋了基本統(tǒng)計(jì)技術(shù)、回歸分析、方差分析、實(shí)驗(yàn)設(shè)計(jì)分析、控制圖、質(zhì)量工具和可靠性工具等功能[6],本模型建立過(guò)程選用Minitab工具。
軟件質(zhì)量之父Watts S.Humphrey 多年前就提出了團(tuán)隊(duì)軟件過(guò)程TSP(Team Software Process)模型[7],在該模型中提出了十個(gè)量化法則,其中兩個(gè)量化法則能夠充分說(shuō)明軟件設(shè)計(jì)評(píng)審的重要性。具體描述如下。
關(guān)于工作量分布的定量法則:在設(shè)計(jì)評(píng)審上花費(fèi)的時(shí)間比設(shè)計(jì)時(shí)間多50%以上時(shí),評(píng)審一般比較徹底。這條法則告訴我們相比設(shè)計(jì)過(guò)程,設(shè)計(jì)結(jié)果是否正確、合理、足夠優(yōu)秀更為重要。而要確保好的設(shè)計(jì)結(jié)果就要抓好設(shè)計(jì)評(píng)審。
關(guān)于質(zhì)量分布的定量法則:80%的軟件缺陷[8]應(yīng)該在編譯之前發(fā)現(xiàn)。這條法則告訴我們軟件缺陷越早發(fā)現(xiàn)越好。越早發(fā)現(xiàn)缺陷,修復(fù)軟件缺陷的成本越低。研究表明,評(píng)審在發(fā)現(xiàn)規(guī)格說(shuō)明錯(cuò)誤和設(shè)計(jì)錯(cuò)誤方面的有效性高達(dá)75%。由于能夠檢測(cè)出并排除掉絕大部分的這類(lèi)錯(cuò)誤,評(píng)審過(guò)程將極大地降低后續(xù)開(kāi)發(fā)和維護(hù)階段的成本[9]。
指揮信息系統(tǒng)軟件的研制過(guò)程中,擬制軟件設(shè)計(jì)說(shuō)明是不可或缺的一個(gè)環(huán)節(jié),軟件設(shè)計(jì)說(shuō)明主要描述計(jì)算機(jī)軟件配置項(xiàng)的設(shè)計(jì),包括計(jì)算機(jī)軟件配置項(xiàng)級(jí)設(shè)計(jì)決策、計(jì)算機(jī)軟件配置項(xiàng)體系結(jié)構(gòu)設(shè)計(jì)和實(shí)現(xiàn)該軟件所需的詳細(xì)設(shè)計(jì)[10]。軟件設(shè)計(jì)過(guò)程是軟件編碼前非常重要的一個(gè)環(huán)節(jié),所以在軟件設(shè)計(jì)評(píng)審過(guò)程中充分挖掘問(wèn)題顯得至關(guān)重要。建立模型,能夠掌握已研制軟件過(guò)程狀態(tài)的穩(wěn)定性和過(guò)程之間的關(guān)系,開(kāi)展后續(xù)軟件預(yù)測(cè),對(duì)目標(biāo)實(shí)現(xiàn)的達(dá)成情況進(jìn)行分析并有針對(duì)性地采取措施[11]。因此,為了把好軟件編碼前最后一道關(guān),提升軟件設(shè)計(jì)評(píng)審有效性,研究軟件設(shè)計(jì)評(píng)審過(guò)程性能模型的建立方法是十分必要的。
建立軟件設(shè)計(jì)評(píng)審過(guò)程性能模型要盡可能地識(shí)別出所有對(duì)過(guò)程性能有影響的因子,并對(duì)影響因子進(jìn)行分類(lèi)、排序后,初步確定影響軟件設(shè)計(jì)評(píng)審質(zhì)量的因子是:軟件設(shè)計(jì)人員能力、軟件設(shè)計(jì)投入工作量、評(píng)審人員能力、評(píng)審速率、項(xiàng)目難度、軟件需求評(píng)審清除缺陷密度,即:軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度Y=f(項(xiàng)目難度X1、軟件設(shè)計(jì)人員能力X2、評(píng)審人員能力X3、評(píng)審速率X4、軟件設(shè)計(jì)單頁(yè)投入工作量X5、軟件需求評(píng)審清除缺陷密度X6)。
模型因子取值如下。
項(xiàng)目難度X1取值說(shuō)明見(jiàn)表1。

表1 項(xiàng)目難度X1取值說(shuō)明

表2 單個(gè)設(shè)計(jì)人員能力取值說(shuō)明

表3 單個(gè)設(shè)計(jì)人員能力取值說(shuō)明
評(píng)審速率X4=軟件設(shè)計(jì)文檔頁(yè)數(shù)/評(píng)審所花工時(shí);
軟件設(shè)計(jì)單頁(yè)投入工作量X5=軟件設(shè)計(jì)總工作量/軟件設(shè)計(jì)文檔頁(yè)數(shù);
軟件需求評(píng)審清除缺陷密度X6=軟件需求評(píng)審問(wèn)題數(shù)量/軟件需求文檔頁(yè)數(shù)。
按照如下原則收集原始有效數(shù)據(jù),作為建立軟件設(shè)計(jì)評(píng)審質(zhì)量過(guò)程績(jī)效模型的樣本數(shù)據(jù):
1)近五年軟件研制類(lèi)或含軟件的系統(tǒng)研制類(lèi)項(xiàng)目;
2)開(kāi)展了軟件設(shè)計(jì)評(píng)審活動(dòng)的項(xiàng)目數(shù)據(jù);
3)軟件設(shè)計(jì)評(píng)審度量數(shù)據(jù)完整,詳實(shí)。
軟件設(shè)計(jì)評(píng)審原始數(shù)據(jù)收集表見(jiàn)圖1,為了達(dá)到能建立模型的要求,篩選后至少保留20 組數(shù)據(jù)。

圖1 軟件設(shè)計(jì)評(píng)審原始數(shù)據(jù)收集表模板
對(duì)原始數(shù)據(jù)進(jìn)行整理、分析,首先刪除無(wú)效數(shù)據(jù),如:設(shè)計(jì)評(píng)審問(wèn)題密度等于零的項(xiàng)目數(shù)據(jù);然后分別對(duì)設(shè)計(jì)評(píng)審問(wèn)題密度和各模型因子進(jìn)行排序,識(shí)別出設(shè)計(jì)評(píng)審問(wèn)題密度特別小或特別大的數(shù)據(jù),對(duì)數(shù)據(jù)的特殊性進(jìn)行研判,如果項(xiàng)目存在特殊性導(dǎo)致設(shè)計(jì)評(píng)審問(wèn)題密度數(shù)據(jù)異常,則剔除該異常數(shù)據(jù)。
按照?qǐng)D1 模板建立原始數(shù)據(jù)表,導(dǎo)入初步篩選后的模型預(yù)測(cè)值和所有模型因子數(shù)據(jù)。將設(shè)計(jì)評(píng)審量化模型因子X(jué)1~X6和軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度Y 拷貝至Minitab 工具中,為便于在Minitab 工具中顯示,預(yù)測(cè)模型和部分模型因子簡(jiǎn)稱(chēng)如下。
軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度Y 簡(jiǎn)稱(chēng)為“設(shè)計(jì)評(píng)審問(wèn)題密度”;
軟件設(shè)計(jì)人員能力X2簡(jiǎn)稱(chēng)為“設(shè)計(jì)能力”;
評(píng)審人員能力X3簡(jiǎn)稱(chēng)為“評(píng)審能力”;
軟件設(shè)計(jì)單頁(yè)投入工作量X5 簡(jiǎn)稱(chēng)為“設(shè)計(jì)工作量”;
軟件需求評(píng)審清除缺陷密度X6 簡(jiǎn)稱(chēng)為“需求評(píng)審問(wèn)題密度”。
建立如表4 的工作表,設(shè)計(jì)評(píng)審清除問(wèn)題密度值Y對(duì)應(yīng)C8列,各模型因子值X對(duì)應(yīng)C2~C7列。

表4 建立模型Minitab原始數(shù)據(jù)表
所有統(tǒng)計(jì)分析的過(guò)程都是基于樣本服從正態(tài)分布的假設(shè),所以樣本數(shù)小于30 的樣本必須先進(jìn)行數(shù)據(jù)正態(tài)性檢驗(yàn),只有服從正態(tài)分布的樣本得到的控制圖才有意義。
對(duì)軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度Y 和各連續(xù)型模型因子X(jué) 數(shù)據(jù)分析進(jìn)行正態(tài)性檢驗(yàn),概率圖見(jià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,說(shuō)明樣本數(shù)據(jù)不服從正態(tài)分布。則對(duì)數(shù)據(jù)進(jìn)行穩(wěn)定性檢查,區(qū)分過(guò)程的普通原因和特殊原因的簡(jiǎn)單有力工具是控制圖[12],嘗試借助控制圖識(shí)別異常點(diǎn),刪除異常點(diǎn)后再進(jìn)行數(shù)據(jù)正態(tài)性檢驗(yàn)。

圖3 變量控制圖
控制圖基于正態(tài)分布理論建立,按順序繪點(diǎn)成圖,以此監(jiān)控過(guò)程是否處于控制狀態(tài)。控制圖中包括中心線(xiàn)、上控制界限和下控制界限,上下控制界限線(xiàn)以?xún)?nèi)的點(diǎn)可接受,上下控制線(xiàn)以外點(diǎn)為異常點(diǎn)[13]。使用Minitab 工具進(jìn)行數(shù)據(jù)穩(wěn)定性檢查,生成變量控制圖見(jiàn)圖3。
控制圖中顯示有兩個(gè)點(diǎn)距離中心線(xià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)性分析見(jiàn)圖4,數(shù)據(jù)穩(wěn)定性分析見(jiàn)圖5,數(shù)據(jù)穩(wěn)定,未見(jiàn)異常點(diǎn)。

圖4 選定正態(tài)性檢驗(yàn)圖

圖5 變量控制圖
為了驗(yàn)證軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度Y 與每一個(gè)模型因子X(jué) 之間、以及模型因子X(jué) 兩兩之間的線(xiàn)性關(guān)聯(lián)程度。使用Minitab 工具進(jìn)行數(shù)據(jù)相關(guān)性分析,相關(guān)性分析結(jié)果見(jiàn)圖6。

圖6 相關(guān)性分析結(jié)果
業(yè)界關(guān)于Pearson 相關(guān)系數(shù)的絕對(duì)值參考值如下:
根據(jù)Pearson相關(guān)系數(shù)進(jìn)行分析:
1)軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度Y 與模型因子X(jué)之間的相關(guān)性分析見(jiàn)表5。

表5 Y與X的相關(guān)性分析表
經(jīng)分析,模型因子“設(shè)計(jì)能力”與模型預(yù)測(cè)值不相關(guān),刪除該模型因子。
2)各模型因子X(jué)之間的相關(guān)性分析見(jiàn)表6。

表6 X之間的相關(guān)性分析表
經(jīng)分析,“評(píng)審能力”和“項(xiàng)目難度”強(qiáng)相關(guān),為了保證模型的線(xiàn)性特性,在建模時(shí)需要排除其中一個(gè)模型因子,排除對(duì)預(yù)測(cè)值貢獻(xiàn)較小的模型因子“項(xiàng)目難度”。
將數(shù)據(jù)相關(guān)性分析后保留的模型因子X(jué) 進(jìn)行組合,驗(yàn)證各模型因子X(jué)對(duì)軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度Y 的影響程度。通常選擇對(duì)預(yù)測(cè)值Y 影響較大,且模型因子個(gè)數(shù)適中的因子進(jìn)行建模,以簡(jiǎn)化模型,便于模型的使用。
使用Minitab 工具分析最佳子集,最佳子集分析結(jié)果見(jiàn)圖7。

圖7 最佳子集分析結(jié)果
選擇模型因子組合時(shí)綜合考慮R-Sq(調(diào)整)值和模型因子的數(shù)量,選擇R-Sq(調(diào)整)值較高,同時(shí)模型因子個(gè)數(shù)適中的模型因子組合,通過(guò)回歸分析試算模型,試算后檢查是否有異常觀測(cè)值,如有異常觀測(cè)值,刪除數(shù)據(jù)后再次進(jìn)行回歸分析。通過(guò)以上試算分析,最終選擇試算模型因子組合為評(píng)審能力和設(shè)計(jì)工作量。
為了研究模型因子X(jué) 與模型預(yù)測(cè)值Y 之間的線(xiàn)性依賴(lài)關(guān)系,對(duì)選擇的最佳子集進(jìn)行回歸分析,回歸分析結(jié)果見(jiàn)圖8,殘差圖見(jiàn)圖9。

圖8 回歸分析結(jié)果

圖9 殘差圖
回歸分析結(jié)果顯示R-Sq(調(diào)整)值為87.73%,超過(guò)75%,該模型因子組合達(dá)到建模要求,以“評(píng)審能力”和“設(shè)計(jì)工作量”作為關(guān)鍵因子構(gòu)造回歸方程,獲得公式和各項(xiàng)參數(shù)。
分析模型公式和因子組合符合實(shí)際工作情況,各因子可控,確定最終模型公式如下:
軟件設(shè)計(jì)評(píng)審清除問(wèn)題密度=0.05522×評(píng)審人員能力-0.00229×評(píng)審速率-0.1450。
以上給出了軟件設(shè)計(jì)評(píng)審過(guò)程性能模型的建立方法,該方法的運(yùn)用依賴(lài)于軟件設(shè)計(jì)評(píng)審過(guò)程的穩(wěn)定,軟件設(shè)計(jì)評(píng)審過(guò)程數(shù)據(jù)收集準(zhǔn)確,影響因子識(shí)別全面,樣本量充分等因素。因此,如果在運(yùn)用此方法在建立過(guò)程性能模型時(shí)遇到困難,可以從以上角度查找原因。在軟件設(shè)計(jì)評(píng)審過(guò)程性能模型初次建立完成后,應(yīng)繼續(xù)收集數(shù)據(jù),待樣本量充分后,根據(jù)后續(xù)積累的數(shù)據(jù)對(duì)模型進(jìn)行持續(xù)改進(jìn),校準(zhǔn)過(guò)往的過(guò)程性能模型。量化改進(jìn)是持續(xù)進(jìn)行的,持續(xù)改進(jìn)是提高績(jī)效的循環(huán)活動(dòng)[14],持續(xù)地量化改進(jìn)必將不斷提升組織的產(chǎn)品質(zhì)量和過(guò)程績(jī)效,實(shí)現(xiàn)組織核心競(jìng)爭(zhēng)力的不斷提升。
通過(guò)建立基于GJB5000A 定量管理的型號(hào)軟件體系及實(shí)施應(yīng)用,提升了軟件研制管理能力。建立基線(xiàn),能夠掌握已研制軟件的過(guò)程管理能力水平,為后續(xù)軟件的研制作參考;建立模型,能夠清楚已研制軟件過(guò)程狀態(tài)的穩(wěn)定性和過(guò)程之間的關(guān)系,開(kāi)展后續(xù)軟件預(yù)測(cè),對(duì)目標(biāo)實(shí)現(xiàn)的達(dá)成情況進(jìn)行分析并有針對(duì)性地采取措施。定量管理能夠更好地對(duì)科研生產(chǎn)過(guò)程進(jìn)行控制,其方法可以應(yīng)用到科研生產(chǎn)管理的方方面面。結(jié)合定量管理的預(yù)防管理思路深入推進(jìn)軟件研制過(guò)程的穩(wěn)定性,全面應(yīng)用獲取更多不同研制類(lèi)型、不同研制階段的過(guò)程數(shù)據(jù),建立更加精準(zhǔn)的基線(xiàn)和模型,推動(dòng)規(guī)范管理向精益管理轉(zhuǎn)型。