關(guān)昕 賈祺
(中國(guó)電子科技集團(tuán)公司第十五研究所 北京市 100083)
軟件質(zhì)量保證的目的是使軟件組織中的管理者和各個(gè)角色對(duì)軟件過(guò)程和相關(guān)的工作產(chǎn)品能有客觀深入的了解,它是質(zhì)量管理的重要活動(dòng)之一,如圖1所示。軟件質(zhì)量保證的評(píng)價(jià)對(duì)象包括兩類(lèi):過(guò)程活動(dòng)和工作產(chǎn)品或服務(wù)。軟件質(zhì)量保證過(guò)程的主要活動(dòng)包括:質(zhì)量保證策劃;客觀地評(píng)價(jià)所實(shí)施的過(guò)程、工作產(chǎn)品和服務(wù)對(duì)適用的過(guò)程說(shuō)明、標(biāo)準(zhǔn)和規(guī)程的遵循性;記錄并通報(bào)不符合項(xiàng),跟蹤不符合項(xiàng)直至解決[1]。

圖1:軟件質(zhì)量保證過(guò)程
(1)質(zhì)量保證策劃:軟件質(zhì)量保證人員根據(jù)項(xiàng)目的軟件開(kāi)發(fā)計(jì)劃、顧客的質(zhì)量相關(guān)要求、項(xiàng)目執(zhí)行的標(biāo)準(zhǔn)、組織提供的相關(guān)準(zhǔn)則規(guī)范編制本項(xiàng)目的軟件質(zhì)量保證計(jì)劃、選取適宜的過(guò)程活動(dòng)和工作產(chǎn)品評(píng)價(jià)的準(zhǔn)則規(guī)范。
(2)客觀地評(píng)價(jià)所實(shí)施的過(guò)程、工作產(chǎn)品和服務(wù)對(duì)適用的過(guò)程說(shuō)明、標(biāo)準(zhǔn)和規(guī)程的遵循性:伴隨著軟件開(kāi)發(fā)活動(dòng)的進(jìn)行,軟件質(zhì)量保證人員按照軟件質(zhì)量保證計(jì)劃、之前選取的本項(xiàng)目的過(guò)程活動(dòng)和相關(guān)工作產(chǎn)品的準(zhǔn)則規(guī)范對(duì)軟件開(kāi)發(fā)的過(guò)程活動(dòng)、工作產(chǎn)品進(jìn)行客觀評(píng)價(jià),判斷所實(shí)施的過(guò)程、完成的產(chǎn)品和服務(wù)與之前的過(guò)程說(shuō)明、標(biāo)準(zhǔn)、規(guī)程是否符合。
(3)記錄并通報(bào)不符合項(xiàng),跟蹤不符合項(xiàng)直至解決:軟件質(zhì)量保證人員在評(píng)價(jià)過(guò)程中,及時(shí)記錄評(píng)價(jià)中發(fā)現(xiàn)的不符合項(xiàng),通報(bào)給相關(guān)人員,令其修正改進(jìn),并持續(xù)跟蹤至不符合項(xiàng)被解決關(guān)閉。
在軟件工程活動(dòng)中,軟件質(zhì)量保證應(yīng)具備獨(dú)立性和客觀性,因此軟件質(zhì)量保證人員需要獨(dú)立于軟件項(xiàng)目組,對(duì)于不符合項(xiàng)應(yīng)該具有獨(dú)立的上報(bào)渠道和處理規(guī)程。同時(shí),軟件質(zhì)量保證人員必須依據(jù)軟件項(xiàng)目的準(zhǔn)則規(guī)范對(duì)過(guò)程活動(dòng)和產(chǎn)品進(jìn)行客觀地評(píng)價(jià)。
軟件質(zhì)量保證的評(píng)價(jià)需要覆蓋到軟件項(xiàng)目的全部過(guò)程活動(dòng)、產(chǎn)品和服務(wù)。但是與測(cè)試、評(píng)審等質(zhì)量控制活動(dòng)不同,軟件質(zhì)量保證評(píng)價(jià)的檢查并不需要覆蓋產(chǎn)品的所有內(nèi)容和每個(gè)從事軟件過(guò)程的人員。軟件質(zhì)量保證的評(píng)價(jià)可以是有針對(duì)性的抽查。因此,軟件質(zhì)量保證人員在軟件過(guò)程和產(chǎn)品評(píng)價(jià)中選取使用的準(zhǔn)則規(guī)范;被抽查產(chǎn)品的范圍、內(nèi)容;被抽查的人員能力等與軟件質(zhì)量保證的有效性有直接緊密的相關(guān)性。
在實(shí)際軟件工程活動(dòng)中,為了滿足顧客的要求持續(xù)交付,越來(lái)越多的軟件項(xiàng)目采用了快速迭代的開(kāi)發(fā)模式,存在項(xiàng)目進(jìn)度緊張、軟件需求不斷變更、軟件工作產(chǎn)品版本眾多等現(xiàn)狀?;谶@樣的情形,使用有限的時(shí)間和人手快速完成軟件質(zhì)量保證的檢查,就很難實(shí)現(xiàn)覆蓋產(chǎn)品全部的內(nèi)容和全部人員。抽查內(nèi)容的判斷和選擇成為軟件質(zhì)量管理人員面臨的一道難題。為了使軟件質(zhì)量保證的有效性和效率得到保障,本文主要研究了需要基于分析風(fēng)險(xiǎn)開(kāi)展軟件質(zhì)量保證活動(dòng)。基于風(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程如圖2所示?;陲L(fēng)險(xiǎn)分析的質(zhì)量保證過(guò)程與傳統(tǒng)軟件質(zhì)量保證過(guò)程的最大區(qū)別在于質(zhì)量保證策劃和客觀地評(píng)價(jià)所實(shí)施的過(guò)程、工作產(chǎn)品和服務(wù)對(duì)適用的過(guò)程說(shuō)明、標(biāo)準(zhǔn)和規(guī)程的遵循性兩個(gè)活動(dòng),這兩個(gè)活動(dòng)都需要使用歷史項(xiàng)目數(shù)據(jù)結(jié)合項(xiàng)目特征進(jìn)行相關(guān)風(fēng)險(xiǎn)分析后開(kāi)展。

圖2:基于風(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程
基于風(fēng)險(xiǎn)分析的質(zhì)量保證策劃依然需要完成軟件質(zhì)量保證計(jì)劃的制定和準(zhǔn)則規(guī)范的選取。但軟件質(zhì)量保證人員需要根據(jù)項(xiàng)目特征(如:軟件產(chǎn)品的可靠性、安全性等方面的質(zhì)量要求)、歷史數(shù)據(jù)庫(kù)中與當(dāng)前項(xiàng)目特征匹配的項(xiàng)目測(cè)試、評(píng)審、質(zhì)量保證人員進(jìn)行評(píng)價(jià)時(shí)發(fā)現(xiàn)的過(guò)程與產(chǎn)品的不符合項(xiàng)、不符合項(xiàng)的嚴(yán)重程度(如:對(duì)最終軟件質(zhì)量的影響、對(duì)顧客滿意度的影響),以及這些不符合對(duì)應(yīng)的準(zhǔn)則規(guī)范,識(shí)別軟件產(chǎn)品質(zhì)量特性要求和對(duì)質(zhì)量特性影響相關(guān)的風(fēng)險(xiǎn),識(shí)別項(xiàng)目軟件過(guò)程活動(dòng)對(duì)產(chǎn)品質(zhì)量的相關(guān)風(fēng)險(xiǎn),進(jìn)行風(fēng)險(xiǎn)分析,找到對(duì)產(chǎn)品質(zhì)量影響最大、最廣泛的準(zhǔn)則規(guī)范,將這些準(zhǔn)則規(guī)范作為該項(xiàng)目軟件質(zhì)量保證的準(zhǔn)則規(guī)范。如圖3所示。

圖3:基于風(fēng)險(xiǎn)分析的質(zhì)量保證策劃活動(dòng)流程
基于風(fēng)險(xiǎn)分析客觀地評(píng)價(jià)所實(shí)施的過(guò)程、工作產(chǎn)品和服務(wù)對(duì)適用的過(guò)程說(shuō)明、標(biāo)準(zhǔn)和規(guī)程的遵循性需要根據(jù)開(kāi)展過(guò)程活動(dòng)、開(kāi)發(fā)軟件工作產(chǎn)品人員的特征(如:人員的技術(shù)能力、對(duì)業(yè)務(wù)的了解程度等),以及工作產(chǎn)品內(nèi)容對(duì)軟件質(zhì)量影響的重要程度進(jìn)行風(fēng)險(xiǎn)分析,確定需要重點(diǎn)檢查的人和工作產(chǎn)品的具體內(nèi)容,然后軟件質(zhì)量保證人員依據(jù)軟件質(zhì)量保證計(jì)劃、選取的準(zhǔn)則規(guī)范、確定的重點(diǎn)檢查的人和工作產(chǎn)品具體內(nèi)容,開(kāi)展對(duì)過(guò)程活動(dòng)、工作產(chǎn)品和服務(wù)進(jìn)行評(píng)價(jià),記錄評(píng)價(jià)的結(jié)果。如圖4所示。

圖4:基于風(fēng)險(xiǎn)分析進(jìn)行客觀評(píng)價(jià)活動(dòng)流程
為了有利于今后的項(xiàng)目使用歷史數(shù)據(jù)基于風(fēng)險(xiǎn)分析開(kāi)展更精細(xì)的質(zhì)量保證工作,軟件質(zhì)量保證人員在記錄評(píng)價(jià)結(jié)果的同時(shí),需要記錄發(fā)現(xiàn)的不符合項(xiàng)。不符合項(xiàng)記錄的內(nèi)容不僅包括發(fā)現(xiàn)的不符合項(xiàng)、造成不符合的人員,還必須記錄不符合項(xiàng)與準(zhǔn)則規(guī)范的對(duì)應(yīng)關(guān)系、不符合項(xiàng)與工作產(chǎn)品內(nèi)容類(lèi)型的對(duì)應(yīng)關(guān)系。同時(shí),軟件質(zhì)量保證軟件應(yīng)將發(fā)現(xiàn)的不符合向相關(guān)人員通報(bào),并跟蹤問(wèn)題直至關(guān)閉。
本文從對(duì)歷史數(shù)據(jù)的依賴、質(zhì)量保證過(guò)程的能力水平、質(zhì)量保證過(guò)程的有效性、質(zhì)量保證評(píng)價(jià)記錄的要求、不符合項(xiàng)的記錄要求、質(zhì)量保證資源投入情況等幾個(gè)方面分析了基于風(fēng)險(xiǎn)的軟件質(zhì)量保證過(guò)程與傳統(tǒng)軟件質(zhì)量保證過(guò)程的差異,如表1所示?;陲L(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程與傳統(tǒng)的軟件質(zhì)量保證過(guò)程相比,更加依賴于組織的歷史數(shù)據(jù),能夠做到定性與定量的方法相結(jié)合,可以提高軟件質(zhì)量保證過(guò)程的有效性和精細(xì)化水平。因此,基于風(fēng)險(xiǎn)的軟件質(zhì)量保證過(guò)程更加適應(yīng)目前普遍使用的快速迭代開(kāi)發(fā)模式。

表1:基于風(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程與傳統(tǒng)軟件質(zhì)量保證過(guò)程的差異
某項(xiàng)目進(jìn)度非常緊張,顧客對(duì)軟件可靠性、安全性等非功能性需求的要求較高,在不額外增加軟件質(zhì)量保證人員的基礎(chǔ)上同時(shí)要求保障軟件質(zhì)量保證的有效性,項(xiàng)目采用了基于風(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程。本文以對(duì)“軟件需求規(guī)格說(shuō)明”(SRS)的產(chǎn)品質(zhì)量保證評(píng)價(jià)策劃為例,對(duì)基于風(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程進(jìn)行說(shuō)明。
首先,軟件質(zhì)量保證人員在該組織歷史數(shù)據(jù)庫(kù)中整理歸納了同類(lèi)項(xiàng)目軟件需求規(guī)格說(shuō)明不符合項(xiàng)發(fā)生頻率的歷史數(shù)據(jù),分析了對(duì)產(chǎn)品質(zhì)量產(chǎn)生的影響,如表2所示。

表2:軟件需求規(guī)格說(shuō)明不符合項(xiàng)發(fā)生頻率
在同類(lèi)型項(xiàng)目的歷史數(shù)據(jù)中,該組織對(duì)于軟件需求規(guī)格說(shuō)明(SRS)的完整性的檢查中不符合項(xiàng)發(fā)生頻率最高。
其次,基于以上的分析,軟件質(zhì)量保證人員分析歸納對(duì)完整性進(jìn)行評(píng)價(jià)的準(zhǔn)則規(guī)范對(duì)應(yīng)評(píng)價(jià)對(duì)象不符合項(xiàng)的發(fā)生頻率。如表3所示。在該組織同類(lèi)型項(xiàng)目的歷史數(shù)據(jù)中,功能需求、接口需求和非功能性需求發(fā)生不符合項(xiàng)的頻率最高。

表3:完整性不符合項(xiàng)發(fā)生頻率
再次,軟件質(zhì)量保證人員參照該項(xiàng)目的風(fēng)險(xiǎn)管理計(jì)劃,對(duì)與軟件需求規(guī)格說(shuō)明相關(guān)的風(fēng)險(xiǎn)進(jìn)行分析整理,如表4所示。軟件質(zhì)量保證人員分析了風(fēng)險(xiǎn)的發(fā)生概率、影響程度、處理方式,提出對(duì)軟件需求規(guī)格說(shuō)明產(chǎn)品進(jìn)行質(zhì)量保證評(píng)價(jià)中具體的實(shí)施措施。

表4:某項(xiàng)目與軟件需求規(guī)格說(shuō)明的風(fēng)險(xiǎn)列表
最后,軟件質(zhì)量保證人員結(jié)合同類(lèi)項(xiàng)目的歷史數(shù)據(jù)和本項(xiàng)目的風(fēng)險(xiǎn)分析,進(jìn)行軟件需求規(guī)格說(shuō)明的評(píng)價(jià)策劃。按照慣例,對(duì)軟件需求規(guī)格說(shuō)明(SRS)的評(píng)價(jià)是在其完成后進(jìn)行的。基于對(duì)本項(xiàng)目的風(fēng)險(xiǎn)分析,軟件質(zhì)量保證人員對(duì)本項(xiàng)目的軟件需求規(guī)格說(shuō)明(SRS)評(píng)價(jià)計(jì)劃分成兩次進(jìn)行。第一次為功能需求、接口需求和非功能性需求部分完成后。第二次為軟件需求規(guī)格說(shuō)明(SRS)完成后。基于項(xiàng)目風(fēng)險(xiǎn)和歷史數(shù)據(jù)的分析,軟件需求規(guī)格說(shuō)明(SRS)兩次評(píng)價(jià)的重點(diǎn)不同。軟件質(zhì)量人員對(duì)每次評(píng)價(jià)的準(zhǔn)則規(guī)范進(jìn)行了選擇和調(diào)整,如表5所示。

表5:某項(xiàng)目軟件需求規(guī)格說(shuō)明(SRS)的風(fēng)險(xiǎn)列表
隨著信息技術(shù)飛速發(fā)展,軟件以用戶為中心,為了實(shí)現(xiàn)快速、高質(zhì)量地交付軟件,多種開(kāi)發(fā)模式應(yīng)運(yùn)而生,給傳統(tǒng)的軟件質(zhì)量管理帶來(lái)了挑戰(zhàn)。軟件質(zhì)量保證是質(zhì)量管理的重要活動(dòng)之一。本文利用風(fēng)險(xiǎn)分析的思想,基于定性和定量相結(jié)合的方法,構(gòu)建了基于風(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程,分析了基于風(fēng)險(xiǎn)分析的軟件質(zhì)量保證過(guò)程與傳統(tǒng)軟件質(zhì)量保證過(guò)程的差異,給出了基于歷史數(shù)據(jù)和項(xiàng)目風(fēng)險(xiǎn)如何進(jìn)行質(zhì)量保證策劃的一個(gè)示例。希望能夠?yàn)橹芷诰o、人員有限、質(zhì)量要求高的軟件項(xiàng)目,提供一種精準(zhǔn)地投入軟件質(zhì)量保證資源、快速有效開(kāi)展軟件質(zhì)量保證的解決思路。