葉赪镠,程春姬,馬 晉
(中國航空無線電電子研究所,上海 200233)
近年來,我國武器裝備正處于快速發(fā)展時(shí)期,軟件的需求日趨增多,軟件的規(guī)模、應(yīng)用范圍、功能和性能都呈指數(shù)級增長,軟件逐步成為武器裝備的靈魂與核心。例如,隨著信息技術(shù)的飛速發(fā)展,綜合到航電系統(tǒng)的功能越來越復(fù)雜,任務(wù)更加多樣化,系統(tǒng)高度綜合化,航電軟件呈現(xiàn)出大規(guī)模、多學(xué)科、復(fù)雜性等特點(diǎn),已成為大規(guī)模甚至超大規(guī)模的復(fù)雜軟件系統(tǒng)。同時(shí),航電軟件的交付質(zhì)量、周期、成本對飛機(jī)研制影響越來越大,也越來越受到重視。
由于軍用軟件和硬件環(huán)境的匹配要求非常嚴(yán)格,各分系統(tǒng)各模塊間接口交聯(lián)復(fù)雜、信息交換頻繁,實(shí)時(shí)性,安全性、穩(wěn)定性要求極高,軟件的質(zhì)量與可靠性要求越來越高。
自總裝備部出臺GJB5000-2003《軍用軟件能力成熟度模型》和GJB5000A-2008《軍用軟件研制能力成熟度模型》以來,軍用軟件研制單位根據(jù)軟件工程化要求開展軟件質(zhì)量管理工作[1]。
在 GJB5000A軍用軟件研制能力成熟度等級 4中,有兩個(gè)過程域:組織過程績效和定量項(xiàng)目管理[2]。組織過程績效收集以往項(xiàng)目的歷史數(shù)據(jù),利用各種統(tǒng)計(jì)技術(shù),建立和維護(hù)組織的過程績效基線和模型。定量項(xiàng)目管理使用組織的過程績效基線和模型,以幫助項(xiàng)目預(yù)測是否能達(dá)到其質(zhì)量和過程績效目標(biāo),并標(biāo)識應(yīng)采取怎樣的糾正措施。引入GJB5000A四級的定量項(xiàng)目管理可實(shí)時(shí)監(jiān)控軟件研發(fā)質(zhì)量,采用科學(xué)的方法確保軟件研發(fā)質(zhì)量目標(biāo)的實(shí)現(xiàn)。
本文首先介紹了GJB5000A四級軟件定量管理的作用,然后介紹了GJB5000A四級軟件定量管理的步驟,并舉例說明了質(zhì)量方面的定量管理方法。
GJB5000A四級定量項(xiàng)目管理使用組織的過程績效基線和模型,以幫助項(xiàng)目預(yù)測達(dá)到目標(biāo)的確定性概率。通過定量項(xiàng)目管理,快速定位影響軟件質(zhì)量和成本的關(guān)鍵因素,及時(shí)調(diào)整策略,降低項(xiàng)目開發(fā)風(fēng)險(xiǎn),提高軟件產(chǎn)品質(zhì)量和降低軟件研發(fā)成本[3]:
(1)基于歷史項(xiàng)目度量,通過目標(biāo)分解和組織提供的基線和模型,客觀、科學(xué)地確定項(xiàng)目的目標(biāo),并通過預(yù)測確定達(dá)到目標(biāo)的確定性概率,避免盲目的制定目標(biāo)。
(2)在項(xiàng)目執(zhí)行過程中定期監(jiān)控,通過階段預(yù)測來確定達(dá)到目標(biāo)的確定性概率,主動掌握項(xiàng)目目標(biāo)的執(zhí)行情況,有助于對風(fēng)險(xiǎn)進(jìn)行量化,對目標(biāo)偏離的情況主動采取最優(yōu)措施,確保目標(biāo)的最終實(shí)現(xiàn)。
軟件定量管理的前提是組織具有大量的歷史項(xiàng)目數(shù)據(jù),并依據(jù)歷史數(shù)據(jù)準(zhǔn)確地建立了組織的質(zhì)量和過程績效基線和模型。
定量管理首先需要確定項(xiàng)目的質(zhì)量和過程績效目標(biāo)。軟件策劃階段,軟件負(fù)責(zé)人應(yīng)分析組織年度質(zhì)量和過程績效目標(biāo),分析項(xiàng)目特性,識別本項(xiàng)目的績效目標(biāo),包括來自于客戶、最終用戶和開發(fā)團(tuán)隊(duì)的需求,并確認(rèn)各目標(biāo)之間的關(guān)系和優(yōu)先級[4]。
軟件負(fù)責(zé)人可參考組織庫中類似項(xiàng)目的過程績效基線和模型,制定軟件項(xiàng)目的質(zhì)量和過程績效目標(biāo)。通過模擬預(yù)測,對目標(biāo)達(dá)成的確定性概率進(jìn)行分析。當(dāng)目標(biāo)確定性概率不符合要求時(shí),需要通過模擬預(yù)測對項(xiàng)目的績效目標(biāo)進(jìn)行調(diào)整,以確定最精準(zhǔn)的項(xiàng)目目標(biāo)。當(dāng)目標(biāo)發(fā)生沖突或不能達(dá)成時(shí),提交管理指導(dǎo)委會員決策。
軟件項(xiàng)目的質(zhì)量和過程績效目標(biāo)確定后,通過分析組織過程績效基線和模型,識別能幫助實(shí)現(xiàn)項(xiàng)目目標(biāo)的候選子過程。當(dāng)組織過程績效模型復(fù)雜時(shí),項(xiàng)目各階段子過程具有不同方法,即具有不同的基線,例如需求開發(fā)有原型法和訪談法,對應(yīng)兩個(gè)基線,同行評審有會議法和審核法,也對應(yīng)兩個(gè)基線。對于這種情況,策劃階段就需要模擬決策,找出符合績效目標(biāo)的最佳方法組合,也即各子過程的基線組合。
當(dāng)定量管理的子過程確定后,項(xiàng)目的階段定量管理時(shí)機(jī)也就確定了。
然后識別并確定子過程中需要定量管理的產(chǎn)品和過程測量屬性,確定測量項(xiàng)[5],如:缺陷密度、測試覆蓋率等。確定對應(yīng)測量項(xiàng)的量化分析統(tǒng)計(jì)技術(shù),如統(tǒng)計(jì)過程控制圖等。
根據(jù)以上的分析,需要制訂一份軟件定量管理計(jì)劃,作為項(xiàng)目過程中的定量管理依據(jù),內(nèi)容應(yīng)包含以上分析的結(jié)果。
項(xiàng)目研制過程中,根據(jù)軟件定量管理計(jì)劃,在項(xiàng)目執(zhí)行的各子過程階段,采集用于定量管理的測量項(xiàng)的實(shí)際數(shù)據(jù)。在定量分析之前,需要對測量數(shù)據(jù)進(jìn)行有效性驗(yàn)證[6]。
在各子過程階段,把采集的實(shí)際測量數(shù)據(jù)和對應(yīng)子過程的績效目標(biāo)進(jìn)行比較。當(dāng)實(shí)際數(shù)據(jù)不符合目標(biāo)要求時(shí),需要進(jìn)行原因分析,識別不能達(dá)成目標(biāo)的風(fēng)險(xiǎn),采取必要的糾正措施,調(diào)整相應(yīng)的項(xiàng)目目標(biāo)基線,通過組織績效模型重新執(zhí)行模擬預(yù)測,以檢驗(yàn)后面階段項(xiàng)目質(zhì)量和過程績效目標(biāo)是否能達(dá)成[7]。此過程可能需要多次調(diào)整和預(yù)測,直致滿足后面階段項(xiàng)目目標(biāo)。如果多次調(diào)整,超出了項(xiàng)目組實(shí)際能力范圍仍不能滿足項(xiàng)目目標(biāo),需提交項(xiàng)目負(fù)責(zé)人決策。
監(jiān)控項(xiàng)目目標(biāo)過程中,對已識別的風(fēng)險(xiǎn)納入風(fēng)險(xiǎn)管理,確定的問題納入問題跟蹤管理。
項(xiàng)目結(jié)束時(shí),由軟件負(fù)責(zé)人整理項(xiàng)目的定量管理數(shù)據(jù)并提交軟件工程過程小組(SEPG)[8]。
假設(shè)某類型軟件的年度階段質(zhì)量績效基線和模型如表1和表2所示,表1中的基線符合正態(tài)分布。本文結(jié)合這些質(zhì)量基線和模型,進(jìn)行軟件質(zhì)量方面的定量管理說明。
表1 某類型軟件年度階段質(zhì)量和過程績效基線Tab.1 Organizational stage Quality and process-performance baseline for certain type of softwares
表2 某類型軟件階段質(zhì)量和過程績效模型Tab.2 Organizational Quality and processperformance model for certain type of softwares
需求評審缺陷密度的子因子:需求評審單位規(guī)模工作量。
3.2.1 初定項(xiàng)目的質(zhì)量和過程績效目標(biāo)
策劃階段,根據(jù)軟件估計(jì),某配置項(xiàng)軟件需求條數(shù)大概100條,按照表1中需求評審缺陷密度轉(zhuǎn)換為缺陷數(shù)約為【12,18】。由于需求評審缺陷密度對最終質(zhì)量目標(biāo)驗(yàn)收缺陷密度影響最大,該范圍不滿足驗(yàn)收缺陷密度目標(biāo),通過預(yù)測,需求評審缺陷數(shù)范圍為【14,20】能滿足驗(yàn)收缺陷密度目標(biāo)。初步制訂項(xiàng)目的階段質(zhì)量和過程績效目標(biāo),如表 3。由表2中模型公式得出,應(yīng)變量需求評審缺陷密度是項(xiàng)目的一個(gè)階段質(zhì)量目標(biāo),其是否滿足階段目標(biāo)依賴于自變量子因子需求評審單位規(guī)模工作量的定量管理。項(xiàng)目要求達(dá)到質(zhì)量目標(biāo)的確定性概率大于等于95%。
表3 初定的項(xiàng)目階段質(zhì)量績效目標(biāo)Tab.3 Preliminary project stage quality performance objectives
3.2.2 調(diào)整項(xiàng)目質(zhì)量和過程績效目標(biāo)
使用蒙特卡洛模擬法來預(yù)測表3中目標(biāo)的確定性概率是否能滿足要求,這可通過模擬分析軟件或者編寫相應(yīng)的程序完成。
每次蒙特卡洛模擬采樣的次數(shù)越多(即參與預(yù)測的隨機(jī)樣本數(shù)據(jù)越多),預(yù)測的準(zhǔn)確性會越高。表3中自變量子因子需求評審單位規(guī)模工作量基線隨機(jī)樣本數(shù)據(jù)代入表2中的過程績效模型,進(jìn)行模擬。模型的模擬結(jié)果顯示為一張預(yù)測圖,如圖1為需求評審缺陷密度預(yù)測圖。
圖1 需求評審缺陷密度預(yù)測圖Fig.1 The forecast chart for requirement review defect density
根據(jù)項(xiàng)目的質(zhì)量目標(biāo),本項(xiàng)目的需求評審缺陷密度應(yīng)該為(0.14,0.2)。在當(dāng)前項(xiàng)目質(zhì)量目標(biāo)條件下,按照需求評審缺陷密度目標(biāo)進(jìn)行估算的確定性概率為63.02%,見圖1,低于95%的質(zhì)量要求,信心指數(shù)過低。
通過模型公式看出,為了達(dá)到需求評審缺陷密度質(zhì)量目標(biāo)的確定性概率大于等于95%,需要增加需求評審單位規(guī)模工作量。項(xiàng)目組根據(jù)組織的能力范圍和項(xiàng)目實(shí)際情況,調(diào)整需求評審單位規(guī)模工作量,計(jì)算出新的均值和標(biāo)準(zhǔn)差?;谛碌男枨笤u審單位規(guī)模工作量的基線,預(yù)測出新的需求評審缺陷密度目標(biāo)的確定性概率。如果質(zhì)量目標(biāo)確定性概率滿足要求,項(xiàng)目組應(yīng)策劃新的需求評審措施,例如可采用對需求評審檢查單內(nèi)容重新制訂、增加或更換評審專家、重新增加需求的評審次數(shù)等方案,以增加需求評審單位規(guī)模工作量。
需求評審單位規(guī)模工作量均值調(diào)整到0.25后,重新模擬結(jié)果如圖2所示。
圖2 最終需求評審缺陷密度預(yù)測圖Fig.2 Final forecast chart for requirement review defect density
由模擬結(jié)果看出,加大需求評審單位規(guī)模工作量后需求評審缺陷密度達(dá)到目標(biāo)的確定性概率為99.23%,符合質(zhì)量目標(biāo)要求,且未超出組織的能力范圍。調(diào)整后項(xiàng)目質(zhì)量目標(biāo)如表4所示。
表4 調(diào)整后的階段項(xiàng)目質(zhì)量目標(biāo)Tab.4 Adjusted project stage quality performance objectives
如果再次模擬仍未達(dá)到質(zhì)量目標(biāo)要求,則需要反復(fù)調(diào)整質(zhì)量模型子因子基線數(shù)據(jù),多次模擬質(zhì)量目標(biāo)并分析確定性概率。
以上例子中模型為一元方程。如果模型為多元公式,即應(yīng)變量績效目標(biāo)有多個(gè)自變量子因子,例如最終驗(yàn)收缺陷密度可能和需求評審缺陷密度、編碼人員平均技能系數(shù)、集成測試單位規(guī)模用例數(shù)量、系統(tǒng)測試缺陷密度等多個(gè)過程子因子有關(guān),該模型應(yīng)是一個(gè)多元公式。這種情況下調(diào)整項(xiàng)目績效目標(biāo),首先需要進(jìn)行敏感度分析,以找出模型中各子因子對績效目標(biāo)的影響大小。敏感度分析可使用方差貢獻(xiàn)圖表示,子因子的相關(guān)系數(shù)百分比絕對值越大表示對績效目標(biāo)的敏感度越大。調(diào)整時(shí)需要按模型子因子的敏感度由大到小的順序調(diào)整,先調(diào)整敏感度大的子因子基線,如果在組織能力范圍內(nèi)調(diào)整后不能滿足要求,再調(diào)整敏感度小的子因子基線,直致滿足要求。4.2.1節(jié)中就是通過敏感度分析找出需求評審缺陷密度對驗(yàn)收缺陷密度的影響最大。
在調(diào)整模型子因子基線數(shù)據(jù)時(shí),依據(jù)經(jīng)驗(yàn)和組織實(shí)際能力相結(jié)合的原則調(diào)整,并需要進(jìn)行原因分析。如果有不可控情況或超出組織能力范圍,需要采取措施、進(jìn)行風(fēng)險(xiǎn)管理并提交領(lǐng)導(dǎo)決策。
3.2.3 確定軟件階段定量管理內(nèi)容
項(xiàng)目質(zhì)量目標(biāo)確定后,軟件負(fù)責(zé)人需要根據(jù)組織的過程績效基線和模型,確定項(xiàng)目的階段定量管理時(shí)機(jī)。
項(xiàng)目過程中,模型公式的各應(yīng)變量和自變量子因子對應(yīng)的測量項(xiàng)都需要采集實(shí)際數(shù)據(jù),其所屬的子過程都需要定量管理。
例如,表2模型公式中需求評審缺陷密度和需求評審單位規(guī)模工作量都是和定量管理相關(guān)的測量項(xiàng),需要在需求評審階段結(jié)束時(shí)采集需求評審缺陷數(shù)、需求條數(shù)、需求評審工作量,并派生計(jì)算和定量分析。
把以上的內(nèi)容寫入軟件定量管理計(jì)劃,包含年度組織質(zhì)量和過程績效目標(biāo)要求、項(xiàng)目質(zhì)量目標(biāo)、項(xiàng)目測量集、子過程定量分析方法、項(xiàng)目風(fēng)險(xiǎn)及目標(biāo)達(dá)成、預(yù)防措施等。
項(xiàng)目過程中,項(xiàng)目組按照軟件定量管理計(jì)劃進(jìn)行階段定量管理,定量管理方法和軟件策劃階段的方法類似。
例如,本例中在需求評審結(jié)束后,采集實(shí)際的需求評審的缺陷數(shù),需求條數(shù)和需求評審工作量。計(jì)算出實(shí)際的需求評審缺陷密度和需求評審單位規(guī)模工作量。
如果實(shí)際的需求評審缺陷密度超出項(xiàng)目階段質(zhì)量目標(biāo)基線上下限范圍,則需調(diào)整需求評審缺陷密度的子因子“需求評審單位規(guī)模工作量”,并模擬得到新的需求評審缺陷密度。
如果需求評審缺陷密度目標(biāo)新的確定性概率仍不滿足項(xiàng)目的質(zhì)量要求,則需要反復(fù)調(diào)整需求評審單位規(guī)模工作量基線數(shù)據(jù)并多次模擬質(zhì)量目標(biāo)。如果有不可控情況或超出組織能力范圍,需要進(jìn)行風(fēng)險(xiǎn)管理并提交領(lǐng)導(dǎo)決策。
模型子因子基線數(shù)據(jù)調(diào)整后需要按照新的基線數(shù)據(jù)制定方案,重新進(jìn)行階段工作。例如本例中需要重新進(jìn)行需求評審,需求評審結(jié)束后再次進(jìn)行定量管理,直至滿足階段質(zhì)量目標(biāo)。
如果模型為多元公式,項(xiàng)目過程中,采用相同方法,在模型公式的各應(yīng)變量和自變量子因子所屬的子過程采集實(shí)際數(shù)據(jù)和定量管理。
項(xiàng)目結(jié)束時(shí),軟件負(fù)責(zé)人整理項(xiàng)目的定量管理數(shù)據(jù),進(jìn)行原因分析,找出各階段影響質(zhì)量目標(biāo)的因素及風(fēng)險(xiǎn),記錄在階段報(bào)告和研制總結(jié)報(bào)告中,作為后續(xù)項(xiàng)目的風(fēng)險(xiǎn)防范。
本文介紹了GJB5000A四級軟件定量管理的方法。通過軟件定量管理,在項(xiàng)目研發(fā)過程中能預(yù)先預(yù)測影響項(xiàng)目目標(biāo)的風(fēng)險(xiǎn),及時(shí)采取措施,確保項(xiàng)目目標(biāo)的最終實(shí)現(xiàn)。
本文的方法對于軍用軟件的定量項(xiàng)目管理具有很好的參考價(jià)值。
[1] 倪亭. 在軟件研發(fā)與測試中推廣GJB5000A[J]. 軟件, 2013,34(2): 31-35.
[2] 石柱. 軍用軟件研制能力成熟度模型及其應(yīng)用[M]. 北京:中國標(biāo)準(zhǔn)出版社, 2009.
[3] 歐陽樹生, 胡勇, 沈華紅. 提高軟件開發(fā)項(xiàng)目定量預(yù)測模型準(zhǔn)確率的研究[J]. 信息技術(shù)與標(biāo)準(zhǔn)化, 2016, (8): 68-70.
[4] 張旭, 劉浩馳. 基于CMMI的量化管理在項(xiàng)目中的應(yīng)用與研究[J]. 電腦與電信, 2016, (4): 62-65.
[5] 馮聽雷. GJB5000A測量與分析過程域研究[J]. 軟件, 2012,33(4): 118-119.
[6] 解群, 鄒步青, 王勇. 軍用軟件過程質(zhì)量度量實(shí)施方法研究[J]. 微型機(jī)與應(yīng)用, 2014, 33(17): 1-4.
[7] 丁岳偉, 劉玉敬. 軟件項(xiàng)目量化管理的實(shí)踐[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2012, 21(6): 254-257.
[8] 劉文紅, 馬賢穎, 董銳, 張敏, 陳青, 吳欣, 張光迎. 基于CMMI的軟件工程實(shí)施:高級指南[M]. 北京: 清華大學(xué)出版社, 2015.