主要討論的是度量軟件開發(fā)過程能力中所用到的統(tǒng)計(jì)方法。度量過程能力,實(shí)際上就是對(duì)某個(gè)特定的軟件開發(fā)過程進(jìn)行特征化描述,其目的就是要實(shí)現(xiàn)對(duì)開發(fā)過程的控制、預(yù)測和改進(jìn)。還給出了一些例子,用來說明在評(píng)估軟件過程的穩(wěn)定性、能力以及執(zhí)行程度中,如何貫徹和使用統(tǒng)計(jì)過程控制的方法和工具。
關(guān)鍵詞:過程能力,控制表,指定界限,統(tǒng)計(jì)過程控制,SEI CMM,IPF密集度,正態(tài)分布,柱狀圖
1、 引言
SEI CMM等級(jí)4描述了兩個(gè)關(guān)鍵過程域(KPA):定量過程管理和軟件質(zhì)量管理。其中前者針對(duì)的是軟件過程的執(zhí)行,而后者針對(duì)的是軟件產(chǎn)品的質(zhì)量。主要討論過程執(zhí)行程度如何被度量,以及如何通過度量過程執(zhí)行程度來提高軟件產(chǎn)品的質(zhì)量。
文章中還給出了Cpk指數(shù)及其使用的簡短描述,并通過幾個(gè)具體案例分析了針對(duì)所選定的度量標(biāo)準(zhǔn),如何使用Cpk指數(shù)對(duì)項(xiàng)目定義軟件過程進(jìn)行度量和分析。
“要想獲得透徹的了解,必須首先進(jìn)行精確的度量!
2、 縮寫
CMM | Capability Maturity Model(能力成熟度模型) |
IPF | In Process Faults(過程缺陷) |
KPA | Key Process Area(關(guān)鍵過程域) |
LL | Lower Limit(下限) |
SEI | Software Engineering Institute(軟件工程研究所) |
SPC | Statistic Process Control(統(tǒng)計(jì)過程控制) |
SQA | Software Quality Assurance(軟件質(zhì)量保證) |
UL | Upper Limit(上限) |
3、 分析中所使用的和所度量的度量標(biāo)準(zhǔn)
IPF密集度是一種度量標(biāo)準(zhǔn),可以用來判定過程產(chǎn)品的質(zhì)量以及檢測過程的執(zhí)行程度。
IPF密集度可以表示
其中缺陷數(shù)目是指每次檢測所發(fā)現(xiàn)的缺陷數(shù)目;工作產(chǎn)品大小是指每次檢測的代碼頁數(shù)或行數(shù)。
4、 過程能力分析
進(jìn)行過程能力分析,實(shí)質(zhì)上就是通過系統(tǒng)地分析和研究來評(píng)定過程能力與指定需求的一致性。在我們所舉的案例中,指定需求就是所建立的軟件度量基線。
之所以要進(jìn)行過程能力分析,有兩個(gè)主要原因。首先,我們需要知道過程度量所能夠提供的基線在數(shù)量上的受控性;其次,由于我們的度量計(jì)劃還相當(dāng)“不成熟”,因此需要對(duì)過程度量基線進(jìn)行評(píng)估,來決定是否對(duì)其進(jìn)行改動(dòng)以反映過程能力的改進(jìn)情況。根據(jù)過程能力的數(shù)量指標(biāo),我們可以相應(yīng)地放寬或縮小基線的控制條件。
5、 建立和使用基線
5.1相對(duì)于均值的標(biāo)準(zhǔn)偏差
由于軟件的過程能力度量技術(shù)還處于“初步探索”階段,傳統(tǒng)的做法仍然是通過建立標(biāo)準(zhǔn)偏差的上限和下限來設(shè)置基線。當(dāng)發(fā)現(xiàn)超出上限或下限的度量值及其產(chǎn)生原因時(shí),就可以有系統(tǒng)地將其去除,并在必要的情況下采取一些改進(jìn)措施。
整個(gè)過程可以總結(jié)
(1) 收集關(guān)于度量的所有可用數(shù)據(jù)
(2) 建立均值(即所有數(shù)據(jù)點(diǎn)的平均值)
(3) 建立上限(均值+標(biāo)準(zhǔn)偏差)
(4) 建立下限(均值-標(biāo)準(zhǔn)偏差)
(5) 刪除超出上下限的數(shù)據(jù)值
(6) 找出刪除原因并文檔化
5.2比較產(chǎn)品度量與基線
在項(xiàng)目開發(fā)過程中可以使用所建立的基線。通過將項(xiàng)目度量值與基線進(jìn)行比較,可以找出哪些度量指標(biāo)高于上限、哪些低于下限以及哪些處在控制條件之內(nèi)。
這種做法一般是可以接受的,因?yàn)檫@提供了對(duì)過程進(jìn)行評(píng)估的一種公正的方法。但是使用這種方法并不能從數(shù)量上給出過程執(zhí)行程度的度量。特別是,我們可能需要得出某個(gè)特定過程執(zhí)行的σ級(jí)別。例如,我們需要通過數(shù)量化的方式比較在相同或者不同的項(xiàng)目中檢測過程的執(zhí)行程度。最后可能需要以下面這種方式給出比較結(jié)果:需求檢測過程執(zhí)行程度為5.3σ,而代碼檢測過程的執(zhí)行程度為3σ。然后就可以根據(jù)這種數(shù)量化的結(jié)果來判定檢測過程想對(duì)于當(dāng)前的過程能力等級(jí)的執(zhí)行程度如何。
5.3過程能力度量
參照組織當(dāng)前的實(shí)際開發(fā)過程,我們可以通過使用Cpk指數(shù)進(jìn)行過程能力度量來評(píng)定實(shí)際過程與基線的目標(biāo)均值的接近程度以及過程變更的數(shù)量。
要度量組織的過程能力,首先需要有如下信息:
1) 指定界限(即上限和下限)
2) 指定寬度(可根據(jù)指定界限得出)
3) 過程界限(通過過程度量所得出的上限和下限)
4) 過程寬度(可根據(jù)過程界限得出)
5.4設(shè)定基線的指定界限
在控制表中,可以使用相對(duì)于均值的1σ標(biāo)準(zhǔn)偏差來設(shè)定界限。但是在過程能力度量中,如果也使用1σ標(biāo)準(zhǔn)偏差來設(shè)定規(guī)范界限,將會(huì)大大限制過程范圍而產(chǎn)生很多界外值。在正態(tài)曲線中,均值± 1s只能給出68%的覆蓋程度,而使用均值± 3s則可以界定正態(tài)曲線中99%的覆蓋程度。
圖1 使用m±1s界定的需求文檔缺陷密集度
在過程能力度量中,我們可以使用相對(duì)于均值的3s標(biāo)準(zhǔn)偏差來確定指定界限。
圖2使用m±3s界定的需求文檔缺陷密集度
可以使用柱狀圖來描述實(shí)際過程輸出與正態(tài)分布曲線的相似性。柱狀圖能夠比較直觀地展示度量數(shù)值集合。我們可以使用Microsoft Excel中的Analysis Toolpak工具繪制柱狀圖。根據(jù)大多數(shù)統(tǒng)計(jì)方法參考書的建議,在繪制的柱狀圖中所采用的柱形條不能少于6個(gè),但也不能多于15個(gè)。在Excel工具中可以設(shè)定這一條件。這樣做可以或多或少地避免在定義柱形條間隔距離時(shí)的個(gè)人偏見。
轉(zhuǎn)帖于:軟件水平考試_考試吧