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