![過程和項目度量概述_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c1.gif)
![過程和項目度量概述_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c2.gif)
![過程和項目度量概述_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c3.gif)
![過程和項目度量概述_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c4.gif)
![過程和項目度量概述_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/27/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c/f5eeb4d0-7ef2-4d59-98be-ea948b176b1c5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Software Project ManagementSoftware Project Management第2 講 過程和項目度量過程領域和項目領域中的度量過程領域和項目領域中的度量主要內容軟件測量軟件測量軟件質量度量軟件質量度量有軟件過程中集中度量有軟件過程中集中度量小型組織的度量小型組織的度量制定軟件度量大綱制定軟件度量大綱 通過提供目標評估的機制,測量使我們能夠對項目和過程有更通過提供目標評估的機制,測量使我們能夠對項目和過程有更深入的了解。深入的了解。Lord Kelvin曾經說過:曾經說過: 當你能夠測量你所說的事物,并能用數字表達它時,你就對它有了一定的了解;但當你不能測量它,也
2、不能用數字表達時,就說明你對它的了解還很貧乏,不令人滿意:這可能是知識的開始,但你在思想上還遠遠沒有進入科學的境地。測量可以應用于軟件過程中,目的是持續(xù)地改進軟件過程。測量可以應用于軟件過程中,目的是持續(xù)地改進軟件過程。測量也可以應用于整個軟件項目中,輔助進行估算、質量控制、測量也可以應用于整個軟件項目中,輔助進行估算、質量控制、生產率評估及項目控制。生產率評估及項目控制。最后,軟件工程師還可以使用測量來幫助評估工作產品的質量,最后,軟件工程師還可以使用測量來幫助評估工作產品的質量,并在項目進展過程中輔助進行戰(zhàn)術決策。并在項目進展過程中輔助進行戰(zhàn)術決策。n 進行測量的理由:進行測量的理由:刻畫
3、刻畫通過刻畫而獲得對過程、產品、資源和環(huán)境的了解,并建立同未來評估進行比較的基線;評價評價通過評價來確定相對于計劃的狀況;預測預測通過理解過程和產品間的關系,并構造這些關系的模型來進行預測;改進改進通過識別障礙、根本原因、低效率和其他改進產品質量和過程性能的機會來進行改進。n 測量是一個管理工具,如果能正確地使用,它將為項目管理者提測量是一個管理工具,如果能正確地使用,它將為項目管理者提供洞察力。因此,測量能夠幫助項目管理者和軟件團隊制定出使供洞察力。因此,測量能夠幫助項目管理者和軟件團隊制定出使項目成功的決策。項目成功的決策。6測度、度量和指標測度、度量和指標 雖然術語雖然術語“measur
4、e”(測量測量)、“measurement”(測度測度)和和“metrics”(度量度量)經常被互換經常被互換地使用,但注意到它們之間的細微差別是很重要的。因為地使用,但注意到它們之間的細微差別是很重要的。因為“measure”(測量測量)和和“Measurement”(測度測度)既可以作為名詞也可以作為動詞,所以它們的定義可能會既可以作為名詞也可以作為動詞,所以它們的定義可能會混淆。在軟件工程領域中,混淆。在軟件工程領域中, “measure”(測量測量)對一個產品過程的某個屬性的范圍、數量、維度、容量或大對一個產品過程的某個屬性的范圍、數量、維度、容量或大小提供了一個定量的指示小提供了一個
5、定量的指示。 “Measurement”(測度測度)則是確定一個測量的行為則是確定一個測量的行為。 IEEE的軟件工程術語標準辭典的軟件工程術語標準辭典(IEEE Standard Glossary of Software Engineering Terms)IEE93中定義中定義“metric”(度量度量)為為“對一個系統(tǒng)、構件或過程具有的某個給定屬性的度的一個對一個系統(tǒng)、構件或過程具有的某個給定屬性的度的一個定量測量定量測量”。7測度、度量和指標測度、度量和指標 當獲取到單個的數據點當獲取到單個的數據點(如在一個模塊的復審中發(fā)現(xiàn)的錯誤數如在一個模塊的復審中發(fā)現(xiàn)的錯誤數)時,就建立了一個測時
6、,就建立了一個測量。量。 測度的發(fā)生是收集一個或多個數據點的結果測度的發(fā)生是收集一個或多個數據點的結果(如調研若干個模塊的復審,以收集每如調研若干個模塊的復審,以收集每一次復審所發(fā)現(xiàn)的錯誤數的測量一次復審所發(fā)現(xiàn)的錯誤數的測量)。 軟件度量在某種程度上與單個的測量相關軟件度量在某種程度上與單個的測量相關(如每一次復審所發(fā)現(xiàn)的錯誤的平均數,如每一次復審所發(fā)現(xiàn)的錯誤的平均數,或復審中每人或復審中每人/小時所發(fā)現(xiàn)的錯誤的平均數小時所發(fā)現(xiàn)的錯誤的平均數)。 軟件工程師收集測量結果并產生度量,這樣就可以獲得指標軟件工程師收集測量結果并產生度量,這樣就可以獲得指標“indicator”。指標是。指標是一個度
7、量或度量的組合,它對軟件過程、軟件項目或產品本身提供了更深入的了一個度量或度量的組合,它對軟件過程、軟件項目或產品本身提供了更深入的了解解RAG95。指標所提供的更深入的理解,使得項目管理者或軟件工程師能夠調。指標所提供的更深入的理解,使得項目管理者或軟件工程師能夠調整開發(fā)過程、項目或產品,這樣使事情進行得更順利,能被更好地完成。整開發(fā)過程、項目或產品,這樣使事情進行得更順利,能被更好地完成。9過程領域和項目過程領域和項目領域中的度量領域中的度量 測量在工程界中是常事。我們測量動力消耗、重量、物理體積、溫度、電壓、信測量在工程界中是常事。我們測量動力消耗、重量、物理體積、溫度、電壓、信號號噪音
8、比噪音比 不勝枚舉。不勝枚舉。 過程度量過程度量的收集涉及所有的項目,而且要經歷相當長的時間,目的是提供能夠引導長期的軟件過程改進的一組過程指標。 項目度量項目度量使得軟件項目管理都能夠:(1)評估正在進行的項目的狀態(tài);(2)跟蹤潛在的風險;(3)在問題造成不良影響之前發(fā)現(xiàn)它們;(4)調整工作流程或任務;(5)評估項目團隊控制軟件工程工作產品質量的能力。 測量數據由項目團隊收集,然后被轉換成度量數據在項目期間使用。測量數據也測量數據由項目團隊收集,然后被轉換成度量數據在項目期間使用。測量數據也可傳送給那些負責軟件過程改進的人員。因此,很多相同的度量既可以用于過程可傳送給那些負責軟件過程改進的人
9、員。因此,很多相同的度量既可以用于過程領域,又可用于項目領域。領域,又可用于項目領域。10過程領域和項目過程領域和項目領域中的度量領域中的度量過程度量和軟件過程改進 改進任何過程的唯一合理的方法是測量該過程的特定屬性,再根據這些屬性建立改進任何過程的唯一合理的方法是測量該過程的特定屬性,再根據這些屬性建立一組有意義的度量,然后使用這組度量提供的指標來導出過程改進策略。一組有意義的度量,然后使用這組度量提供的指標來導出過程改進策略。 但是,在我們討論軟件度量及它們對軟件過程改進的影響之前,必須注意到過程但是,在我們討論軟件度量及它們對軟件過程改進的影響之前,必須注意到過程僅是眾多僅是眾多“改進軟
10、件質量和組織性能的控制因素改進軟件質量和組織性能的控制因素”中的一種中的一種PAU94。圖21 軟件質量和組織有效性的決定因素 在圖在圖21中,過程位于三角形的中央,連接了三中,過程位于三角形的中央,連接了三個對軟件質量和組織績效有重大影響的因素。人個對軟件質量和組織績效有重大影響的因素。人員的技能和激勵被認為是對質量和績效最有影響員的技能和激勵被認為是對質量和績效最有影響的因素的因素BOE81。產品復雜性對質量和團隊績。產品復雜性對質量和團隊績效也有相當大的影響。過程中采用的技術效也有相當大的影響。過程中采用的技術(如軟件如軟件工程方法工程方法)也有影響。另外,過程三角形存在于環(huán)也有影響。另
11、外,過程三角形存在于環(huán)境條件的圓圈之內,環(huán)境條件包括:開發(fā)環(huán)境境條件的圓圈之內,環(huán)境條件包括:開發(fā)環(huán)境(如如CASE工具工具)、商業(yè)條件、商業(yè)條件(如交付期限,業(yè)務規(guī)則如交付期限,業(yè)務規(guī)則)、客戶特性客戶特性(如通信的容易程度如通信的容易程度)。11過程領域和項目過程領域和項目領域中的度量領域中的度量過程度量和軟件過程改進n 我們可以間接地測量一個軟件過程的功效。也就是說,我們可以根據從過程中我們可以間接地測量一個軟件過程的功效。也就是說,我們可以根據從過程中獲得的結果導出一組度量。這些結果包括:獲得的結果導出一組度量。這些結果包括: 在在軟件發(fā)布之前發(fā)現(xiàn)的錯誤數的測量軟件發(fā)布之前發(fā)現(xiàn)的錯誤數
12、的測量, 交付交付給最終用戶并由最終用戶報告的缺陷的測量給最終用戶并由最終用戶報告的缺陷的測量, 交付交付的工作產品的測量的工作產品的測量, 花費花費的工作量的測量的工作量的測量, 花費花費的時間的測量的時間的測量, 與與進度計劃是否一致的測量,以及其他測量進度計劃是否一致的測量,以及其他測量。n 我們還可以通過測量特定軟件工程任務的特性來導出過程度量。如測量一般軟我們還可以通過測量特定軟件工程任務的特性來導出過程度量。如測量一般軟件工程活動所花費的工作量和時間。件工程活動所花費的工作量和時間。12過程領域和項目過程領域和項目領域中的度量領域中的度量過程度量和軟件過程改進n 不同類型的過程數據
13、的使用可以分為不同類型的過程數據的使用可以分為“私有的和公用的私有的和公用的”。因為某個軟件工程。因為某個軟件工程師可能對在其個人基礎上收集的度量的使用比較敏感,這是很自然的,這些數師可能對在其個人基礎上收集的度量的使用比較敏感,這是很自然的,這些數據對此人應該是私有的,是僅供此人參考的指標。私有度量的例子有據:據對此人應該是私有的,是僅供此人參考的指標。私有度量的例子有據: 個人缺陷率個人缺陷率 軟件構件缺陷率軟件構件缺陷率 開發(fā)過程中開發(fā)過程中發(fā)現(xiàn)的發(fā)現(xiàn)的錯誤數。錯誤數。 私有過程數據是軟件工程師個人改進其工作的重要驅動力。私有過程數據是軟件工程師個人改進其工作的重要驅動力。13過程領域和
14、項目過程領域和項目領域中的度量領域中的度量過程度量和軟件過程改進 某些過程度量對軟件項目團隊是私有的,但對所有團隊成員是公用的。例如:某些過程度量對軟件項目團隊是私有的,但對所有團隊成員是公用的。例如: 主要主要軟件功能軟件功能(由多個開發(fā)人員完成由多個開發(fā)人員完成)的缺陷報告的缺陷報告、 正式正式技術復審中發(fā)現(xiàn)的錯誤技術復審中發(fā)現(xiàn)的錯誤、 以及每個構件或功能以及每個構件或功能的代碼的代碼行數或行數或功能功能點數。點數。 這些數據可由團隊進行復查,以找出能夠改善小組性能的指標。這些數據可由團隊進行復查,以找出能夠改善小組性能的指標。 公用度量一般吸取了原本是個人的或團隊的私有信息。收集和評估項
15、目級的缺公用度量一般吸取了原本是個人的或團隊的私有信息。收集和評估項目級的缺陷率陷率(肯定不能歸因于某個個人肯定不能歸因于某個個人)、工作量、時間及相關的數據,以找出能夠改善、工作量、時間及相關的數據,以找出能夠改善組織過程性能的指標。組織過程性能的指標。14過程領域和項目過程領域和項目領域中的度量領域中的度量過程度量和軟件過程改進 軟件度量規(guī)則:軟件度量規(guī)則: 解釋度量數據時解釋度量數據時使用常識,使用常識,并考慮組織并考慮組織的敏感性的敏感性。 向向收集收集測量和度量的個人測量和度量的個人及團隊定期及團隊定期提供提供反饋。反饋。 不要不要使用度量去評價個人。使用度量去評價個人。 與與開發(fā)者
16、開發(fā)者和團隊一起和團隊一起設定清晰的設定清晰的目標,并確定為達到目標,并確定為達到這些這些目標需要使用的目標需要使用的度度量。量。 不要不要用度量去威脅個人用度量去威脅個人或團隊?;驁F隊。 指出問題區(qū)域的指出問題區(qū)域的度量數據不應該度量數據不應該被被“消極地消極地”看待,這些看待,這些數據僅僅是過程改數據僅僅是過程改進的指標。進的指標。 不要在某一個別的度量上糾纏,而無暇顧及其他重要的度量。不要在某一個別的度量上糾纏,而無暇顧及其他重要的度量。15過程領域和項目過程領域和項目領域中的度量領域中的度量項目度量 軟件過程度量主要用于戰(zhàn)略的目的。軟件項目度量則是戰(zhàn)術的。即,項目管理軟件過程度量主要用
17、于戰(zhàn)略的目的。軟件項目度量則是戰(zhàn)術的。即,項目管理者和軟件項目組經過使用項目度量及從其中導出的指標,可以改進項目工作流者和軟件項目組經過使用項目度量及從其中導出的指標,可以改進項目工作流程和技術活動。程和技術活動。 在大多數軟件項目中,項目度量的第一個應用是在估算階段。從過去的項目中在大多數軟件項目中,項目度量的第一個應用是在估算階段。從過去的項目中收集的度量可以作為估算當前軟件工作工作量及時間的基礎。隨著項目的進展收集的度量可以作為估算當前軟件工作工作量及時間的基礎。隨著項目的進展,可以將花費的工作量及時間的測量與最初的估算值,可以將花費的工作量及時間的測量與最初的估算值(及項目進度及項目進
18、度)進行比較。項進行比較。項目管理者可以使用這些數據來監(jiān)控項目的進展。目管理者可以使用這些數據來監(jiān)控項目的進展。 隨著技術工作的啟動,其他項目度量也開始有意義了。生產率可以根據創(chuàng)建的隨著技術工作的啟動,其他項目度量也開始有意義了。生產率可以根據創(chuàng)建的模型、評審的時間、功能點以及交付的源代碼行數來測量。此外,對每個軟件模型、評審的時間、功能點以及交付的源代碼行數來測量。此外,對每個軟件工程任務中所發(fā)現(xiàn)的錯誤也要進行跟蹤。在軟件從需求到設計的演化過程中,工程任務中所發(fā)現(xiàn)的錯誤也要進行跟蹤。在軟件從需求到設計的演化過程中,需要收集技術度量來評估設計質量,并提供若干指標,這些指標將會影響代碼需要收集技
19、術度量來評估設計質量,并提供若干指標,這些指標將會影響代碼生成及測試所采用的方法。生成及測試所采用的方法。16過程領域和項目過程領域和項目領域中的度量領域中的度量項目度量 項目度量的目的是雙重的。項目度量的目的是雙重的。 首先首先,這些度量能夠指導進行一些必要的調整以避免延遲,并減少潛在問題,這些度量能夠指導進行一些必要的調整以避免延遲,并減少潛在問題及風險,從而使得開發(fā)時間減到最少及風險,從而使得開發(fā)時間減到最少。 其次其次,項目度量可在項目進行的基礎上評估產品質量,并且可在必要時修改,項目度量可在項目進行的基礎上評估產品質量,并且可在必要時修改技術方法以改進質量。技術方法以改進質量。 隨著
20、質量的提高,錯誤會減到最小,而隨著錯誤數的減少,項目中所需的修改隨著質量的提高,錯誤會減到最小,而隨著錯誤數的減少,項目中所需的修改工作量也會降低。這就導致整個項目成本的降低。工作量也會降低。這就導致整個項目成本的降低。18軟件測量軟件測量 測量在現(xiàn)實世界中可分為兩類:直接測量測量在現(xiàn)實世界中可分為兩類:直接測量(如螺釘的長度如螺釘的長度)和間接測量和間接測量(如生產的如生產的螺釘的螺釘的“質量質量”,由計算其次品率來測量,由計算其次品率來測量)。 軟件測量也有兩種分類方法:軟件測量也有兩種分類方法: 軟件工程過程的直接測量,包括花費的成本和軟件工程過程的直接測量,包括花費的成本和工作量;產品
21、工作量;產品的直接測量,的直接測量,包括產生的代碼行包括產生的代碼行( lines of code,LOC )、運行速、運行速度、內存大小及某段時間內度、內存大小及某段時間內報告的缺陷報告的缺陷。 產品產品的間接測量,包括功能、質量、復雜性、有效性、可靠性、可維護性及的間接測量,包括功能、質量、復雜性、有效性、可靠性、可維護性及許多許多其他的其他的“產品特性產品特性”。19軟件測量軟件測量 將項目度量聯(lián)合起來可以得到整個軟件組織公用的過程度量。但是,一個組織將項目度量聯(lián)合起來可以得到整個軟件組織公用的過程度量。但是,一個組織如何將來自不同個人或項目的度量結合起來吶?如何將來自不同個人或項目的度
22、量結合起來吶? 為了說明這個問題,我們看一個簡單的例子:為了說明這個問題,我們看一個簡單的例子: 兩兩個不同個不同項目團隊中的人將他們項目團隊中的人將他們在軟件工程過程中所發(fā)現(xiàn)的所有在軟件工程過程中所發(fā)現(xiàn)的所有錯誤進行了錯誤進行了記錄和分類。然后,將這睦個人記錄和分類。然后,將這睦個人的的測量結合起來就產生了團隊的測量結合起來就產生了團隊的測量測量。 在軟件發(fā)布在軟件發(fā)布前前,團隊,團隊A在在軟件過程軟件過程中發(fā)現(xiàn)了中發(fā)現(xiàn)了342個錯誤個錯誤,團隊,團隊B發(fā)現(xiàn)發(fā)現(xiàn)了了184個錯個錯誤。所有其他情況都相同誤。所有其他情況都相同,那么在整個過程中哪個團隊能更有效,那么在整個過程中哪個團隊能更有效地
23、發(fā)現(xiàn)錯誤地發(fā)現(xiàn)錯誤呢呢? 因為不知道因為不知道項目的規(guī)?;驈碗s性,所以我們不能回答這個問題。不過,如果項目的規(guī)?;驈碗s性,所以我們不能回答這個問題。不過,如果度量采用規(guī)范化度量采用規(guī)范化的的方法方法,就有可能產生能夠在更大的組織范圍內進行比較的就有可能產生能夠在更大的組織范圍內進行比較的軟件度量軟件度量。如此說來,面向規(guī)模的度量和面向功能的度量都是規(guī)范化的方法。如此說來,面向規(guī)模的度量和面向功能的度量都是規(guī)范化的方法。20軟件測量軟件測量面向規(guī)模的度量 面向規(guī)模的軟件度量是通過規(guī)范化質量和(或)生產率的測量值而得到的,這面向規(guī)模的軟件度量是通過規(guī)范化質量和(或)生產率的測量值而得到的,這些測量
24、都基于已經開發(fā)的軟件的些測量都基于已經開發(fā)的軟件的“規(guī)模規(guī)模”。 如果軟件組織一直在做簡單的記錄,就會產生一個如圖如果軟件組織一直在做簡單的記錄,就會產生一個如圖22所示的面向規(guī)模測所示的面向規(guī)模測量的表。該表列出了在過去幾年中完成的每一個軟件開發(fā)項目及其相關的測量量的表。該表列出了在過去幾年中完成的每一個軟件開發(fā)項目及其相關的測量數據。數據。 查看查看alpha項目的數據項目的數據(圖圖22):花費了:花費了24個人個人月的工作量,成本為月的工作量,成本為168 000美元美元,產生了,產生了12 100行代碼。行代碼。 應該注意到表中記錄的工作量和成本涵蓋了所有軟件工程活動應該注意到表中記
25、錄的工作量和成本涵蓋了所有軟件工程活動(分析、設計、編分析、設計、編碼及測試碼及測試),而不僅僅是編碼。,而不僅僅是編碼。 alpha項目更進一步的信息包括:產生了項目更進一步的信息包括:產生了365頁的文檔;在軟件發(fā)布之前,發(fā)現(xiàn)頁的文檔;在軟件發(fā)布之前,發(fā)現(xiàn)了了134個錯誤;軟件發(fā)布給客戶之后運行的第一年中遇到了個錯誤;軟件發(fā)布給客戶之后運行的第一年中遇到了29個缺陷;有個缺陷;有3個人個人參加了參加了alpha項目的軟件開發(fā)工作。項目的軟件開發(fā)工作。圖22 面向規(guī)模的度量22軟件測量軟件測量面向規(guī)模的度量 為了產生能和其他項目中同類度量進行比較的度量,我們選擇代碼行作為規(guī)范為了產生能和其他
26、項目中同類度量進行比較的度量,我們選擇代碼行作為規(guī)范化值。根據表中所包含的基本數據,每個項目都能產生一組簡單的面向規(guī)模度化值。根據表中所包含的基本數據,每個項目都能產生一組簡單的面向規(guī)模度量:量: 每千每千行代碼行代碼(KLOC)的錯誤數。的錯誤數。 每千每千行代碼行代碼(KLOC)的缺陷數的缺陷數。 每千行每千行代碼代碼(KLOC)的成本的成本。 每千每千行代碼行代碼(KLOC)的文檔頁數。的文檔頁數。 除此之外,還能夠計算出其他有意義的度量:除此之外,還能夠計算出其他有意義的度量: 每人每人月月錯誤數錯誤數。 每人每人月千代碼月千代碼行行( KLOC )。 每每頁文檔的成本。頁文檔的成本。
27、23軟件測量軟件測量面向規(guī)模的度量 面向規(guī)模的度量并不被普遍認為是測量軟件開發(fā)過程的最好方法面向規(guī)模的度量并不被普遍認為是測量軟件開發(fā)過程的最好方法JON86。大多數的爭議都是圍繞著使用代碼行大多數的爭議都是圍繞著使用代碼行(LOC)作為關鍵的測量是否合適。作為關鍵的測量是否合適。 LOC測量的支持者們聲稱測量的支持者們聲稱LOC是所有軟件開發(fā)項目的是所有軟件開發(fā)項目的“生成品生成品”,并且很容易進,并且很容易進行計算;許多現(xiàn)有的軟件估算模型使用行計算;許多現(xiàn)有的軟件估算模型使用LOC或或KLOC作為關鍵的輸入,并且已經作為關鍵的輸入,并且已經有大量的文獻和數據涉及到有大量的文獻和數據涉及到L
28、OC。 另一方面,反對者們則認為另一方面,反對者們則認為LOC測量依賴于程序設計語言;它們對設計得很好測量依賴于程序設計語言;它們對設計得很好,但較小的程序會產生不利的評判;它們不適用于非過程語言;而且它們在估,但較小的程序會產生不利的評判;它們不適用于非過程語言;而且它們在估算時需要一些可能難以得到的信息算時需要一些可能難以得到的信息(如,早在分析和設計完成之前,計劃者就必如,早在分析和設計完成之前,計劃者就必須估算出要產生的須估算出要產生的LOC)。24軟件測量軟件測量面向功能的度量 面向功能的軟件度量使用功能(由應用系統(tǒng)提供)測量數據作為規(guī)模化值。應面向功能的軟件度量使用功能(由應用系統(tǒng)
29、提供)測量數據作為規(guī)模化值。應用最廣泛的面向功能的度量是功能點(用最廣泛的面向功能的度量是功能點(Function Point,FP)。功能點是根據軟件)。功能點是根據軟件信息域的特性及復雜性來計算的。信息域的特性及復雜性來計算的。 與與LOC測量一樣,功能點測量也是有爭議的。支持者們認為測量一樣,功能點測量也是有爭議的。支持者們認為FP與程序設計語言無與程序設計語言無關,對于使用傳統(tǒng)語言和非過程語言應用系統(tǒng)來說,它都比較理想的;而且它關,對于使用傳統(tǒng)語言和非過程語言應用系統(tǒng)來說,它都比較理想的;而且它所依據的數據是在項目開發(fā)初期就可能得到的數據。因此,作為一種估算方法所依據的數據是在項目開發(fā)
30、初期就可能得到的數據。因此,作為一種估算方法,F(xiàn)P更有吸引力。更有吸引力。 反對者們則聲稱這種方法需要某種反對者們則聲稱這種方法需要某種“熟練手法熟練手法”,因為計算的依據是主觀的而,因為計算的依據是主觀的而非客觀的數據,信息域(及其他方面)的計算可能難以在事后收集。而且非客觀的數據,信息域(及其他方面)的計算可能難以在事后收集。而且FP沒沒有直接的物理意義,它僅僅是一個數字而已。有直接的物理意義,它僅僅是一個數字而已。25軟件測量軟件測量調和代碼行和功能點的度量方法 代碼行和功能點度量之間的關系依賴于實現(xiàn)軟件所采用的程序設計語言及設代碼行和功能點度量之間的關系依賴于實現(xiàn)軟件所采用的程序設計語
31、言及設計的質量。很多研究試圖將計的質量。很多研究試圖將FP測量和測量和LOC測量聯(lián)系起來。引用測量聯(lián)系起來。引用Albrecht和和GaffneyALB83的話說:的話說:本研究的論點是:應用本研究的論點是:應用( (程序程序) )所提供的功能數能夠從所使用的所提供的功能數能夠從所使用的數據或提供的數據或提供的數據的主要數據的主要組成部分的詳細記錄中估算出來,或是直接從記錄中得到。更進組成部分的詳細記錄中估算出來,或是直接從記錄中得到。更進一步,功能的估算應該與要開發(fā)的一步,功能的估算應該與要開發(fā)的LOCLOC數及開發(fā)所需的工作量關聯(lián)起來數及開發(fā)所需的工作量關聯(lián)起來。 表表2-1QSM02給出
32、了在不同的程序設計語言中實現(xiàn)一個功能點所需的平均給出了在不同的程序設計語言中實現(xiàn)一個功能點所需的平均代碼行數的粗略估算:代碼行數的粗略估算:28 查看上表可知:查看上表可知:C+的一個的一個LOC所提供的所提供的“功能性功能性”大約是大約是C的一個的一個LOC的的2.4倍(倍(平均來講)。而且,平均來講)。而且,Smalltalk的一個的一個LOC所提供的所提供的“功能性功能性”至少是傳統(tǒng)程序設至少是傳統(tǒng)程序設計語言(如計語言(如Ada、COBOL或或C)的)的4倍。利用上表中所包含的信息,只要知道了程倍。利用上表中所包含的信息,只要知道了程序設計語言的語句行數,就可以序設計語言的語句行數,就
33、可以“逆向逆向”估算出現(xiàn)有軟件的功能點數量。估算出現(xiàn)有軟件的功能點數量。軟件測量軟件測量調和代碼行和功能點的度量方法 基于功能點和基于功能點和LOC的度量都是對軟件開發(fā)工作量和成本的比較精確的判定。然的度量都是對軟件開發(fā)工作量和成本的比較精確的判定。然而,如果使用而,如果使用LOC和和FP進行估算,還必須要建立一個歷史信息基線。進行估算,還必須要建立一個歷史信息基線。 在過程度量和項目度量中,最關心的是生產率和質量軟件開發(fā)“輸出量”(作為投入的工作量和時間的函數)的測量和對生產的工作產品的“適用 性”測量。為了進行過程改進和項目策劃,必須掌握歷史的情況。在以往的項目中,軟件開發(fā)的生產率是多少?
34、生產的軟件質量如何?怎樣利用以往的生產率數據和質量數據推斷現(xiàn)在的生產率和質量?如何利用這些數據幫助我們改進過程,以及更精確地規(guī)劃新項目?29 傳統(tǒng)的軟件項目度量(傳統(tǒng)的軟件項目度量(LOC或或FP)也可以用于估算面向對象的軟件項目。但是,)也可以用于估算面向對象的軟件項目。但是,這些度量并沒有提供對進度和工作量進行調整的粒度,而這卻是我們在演化模這些度量并沒有提供對進度和工作量進行調整的粒度,而這卻是我們在演化模型或增量模型中進行迭代時所需要的。型或增量模型中進行迭代時所需要的。 用于用于OO項目的度量:項目的度量: 場景腳本的數量場景腳本的數量 關鍵類的數量關鍵類的數量 支持類的數量支持類的
35、數量 每個關鍵偶氮染料平均支持類數量每個關鍵偶氮染料平均支持類數量 子系統(tǒng)的數量子系統(tǒng)的數量軟件測量軟件測量面向對象的度量軟件測量軟件測量用于OO 項目的度量n 場景腳本的數量場景腳本的數量 場景腳本是一個詳細的步驟序列,用來描述用戶和應用系統(tǒng)之間的交互。應用系統(tǒng)的規(guī)模及測試用例的數量都與場景腳本的數量緊密相關。n 關鍵類的數量關鍵類的數量 關鍵類是“高度獨立的構件”,在面向對象分析的早期進行定義。由于關鍵類是問題域的核心,因此這些類的數量既是開發(fā)軟件所需工作量的指標,也是系統(tǒng)開發(fā)中潛在的復用數量的指標。n 支持類的數量支持類的數量 支持類是實現(xiàn)系統(tǒng)所必需的但又不與問題域直接相關的類。例如,U
36、I類、數據庫訪問及操作類、計算類。另外,對于每一個關鍵類,都可以開發(fā)其支持類。支持類的數量既是開發(fā)軟件所需工件量的指標,也是系統(tǒng)開中潛在的復用數量的指標。軟件測量軟件測量用于OO 項目的度量n 每個關鍵類的平均支持類數量每個關鍵類的平均支持類數量 通常,關鍵類在項目的早期就可以確定下來,而支持類的定義則貫穿于項目通常,關鍵類在項目的早期就可以確定下來,而支持類的定義則貫穿于項目的始終。對于給定的問題域,如果知道了每個關鍵類的平均支持類數量,估的始終。對于給定的問題域,如果知道了每個關鍵類的平均支持類數量,估算(根據類的總數)將應得非常簡單。在采用算(根據類的總數)將應得非常簡單。在采用GUIG
37、UI的應用的應用 中,支持類是關鍵中,支持類是關鍵類的類的2323倍;在不采用倍;在不采用GUIGUI的應用中,支持類是關鍵類的的應用中,支持類是關鍵類的1212倍。倍。n 子系統(tǒng)的數量子系統(tǒng)的數量 子系統(tǒng)是實現(xiàn)某個功能(對系統(tǒng)最終用戶可見)的類的集合。一旦確定了子子系統(tǒng)是實現(xiàn)某個功能(對系統(tǒng)最終用戶可見)的類的集合。一旦確定了子系統(tǒng),人們就更容易制定出合理的進度計劃,并將子系統(tǒng)的工作在項目人員系統(tǒng),人們就更容易制定出合理的進度計劃,并將子系統(tǒng)的工作在項目人員之間進行分配。之間進行分配。軟件測量軟件測量面向對象的度量 為了將類似于上述的那些度量有效地應用于面向對象的軟件工程環(huán)境中,必須為了將類
38、似于上述的那些度量有效地應用于面向對象的軟件工程環(huán)境中,必須將它們隨同項目測量(例如花費的工作量、發(fā)現(xiàn)的錯誤和缺陷、建立的模型或將它們隨同項目測量(例如花費的工作量、發(fā)現(xiàn)的錯誤和缺陷、建立的模型或文檔資料)一起收集。文檔資料)一起收集。 隨著數據庫規(guī)模的增長(在完成大量項目之后),面向對象的測量數據和項目隨著數據庫規(guī)模的增長(在完成大量項目之后),面向對象的測量數據和項目測量數據之間關系將提供有助于項目估算的度量。測量數據之間關系將提供有助于項目估算的度量。軟件測量軟件測量 面向用例的度量 與與LOCLOC或或FPFP相類似,使用用例作為規(guī)范化的測量應該是合理的。同相類似,使用用例作為規(guī)范化的
39、測量應該是合理的。同F(xiàn)PFP一樣,用一樣,用例也是在軟件過程早期進行定義的。在重大的建?;顒雍蜆嬙旎顒娱_始之前,就例也是在軟件過程早期進行定義的。在重大的建?;顒雍蜆嬙旎顒娱_始之前,就允許使用用例進行估算。允許使用用例進行估算。 用例描述了(至少是間接地)用戶可見的功能和特性,這些都是系統(tǒng)的基本需求用例描述了(至少是間接地)用戶可見的功能和特性,這些都是系統(tǒng)的基本需求。用例與程序設計語言無關。另外,用例數量同應用系統(tǒng)的規(guī)模(。用例與程序設計語言無關。另外,用例數量同應用系統(tǒng)的規(guī)模(LOCLOC)和測試)和測試用例的數量成正比,而測試用例是為了充分測試該應用系統(tǒng)而必須設計的。用例的數量成正比,而
40、測試用例是為了充分測試該應用系統(tǒng)而必須設計的。 由于可以在不同的抽象級別上創(chuàng)建用例,所以用例的大小沒有標準。由于對用例由于可以在不同的抽象級別上創(chuàng)建用例,所以用例的大小沒有標準。由于對用例本身還沒有標準的測量,因此將用例作為規(guī)范化的測量(如,每個用例花費的工本身還沒有標準的測量,因此將用例作為規(guī)范化的測量(如,每個用例花費的工作量)是不可信的。盡管許多研究人員試圖推導出用例度量,但仍有很工作要做作量)是不可信的。盡管許多研究人員試圖推導出用例度量,但仍有很工作要做。軟件測量軟件測量Web 工程項目度量 所有Web工程項目的目標都是建立一個Web應用(WebApp),交付給最終用戶一個內容和功能
41、的結合體。很難將那些用于傳統(tǒng)軟件工程項目的測量和度量直接轉化應用于Web應用系統(tǒng)中。然而,Web工程組織應該建立一個數據庫,隨著大量項目的完成,就可以使用該數據庫來評估組織內部的生產率和質量。在這些測量中,可以收集的有: 靜態(tài)靜態(tài)WebWeb頁的數量頁的數量 動態(tài)動態(tài)WebWeb頁的數量頁的數量 內部頁面鏈接的數量內部頁面鏈接的數量 永久數據對象的數量永久數據對象的數量 通過界面連接的外部系統(tǒng)的數量通過界面連接的外部系統(tǒng)的數量 靜態(tài)內容對象的數量靜態(tài)內容對象的數量 動態(tài)內容對象的數量動態(tài)內容對象的數量 可執(zhí)行的功能數量可執(zhí)行的功能數量軟件測量軟件測量Web 工程項目度量n 靜態(tài)靜態(tài)Web頁的數
42、量頁的數量 靜態(tài)內容的靜態(tài)內容的WebWeb頁(即最終用戶不能控制頁面顯示的內容)是所有頁(即最終用戶不能控制頁面顯示的內容)是所有WebWeb應用應用系統(tǒng)最普通的特征。這些頁面復雜性較低,通常構造靜態(tài)頁面所需的工作量系統(tǒng)最普通的特征。這些頁面復雜性較低,通常構造靜態(tài)頁面所需的工作量少于動態(tài)頁面。這項測量提供了一個指標,標志著應用系統(tǒng)的整體規(guī)模和開少于動態(tài)頁面。這項測量提供了一個指標,標志著應用系統(tǒng)的整體規(guī)模和開發(fā)應用系統(tǒng)所需的工作量。發(fā)應用系統(tǒng)所需的工作量。n 動態(tài)動態(tài)Web頁的數量頁的數量 在所有的電子商務應用、搜索引擎、金融應用以及許多其他在所有的電子商務應用、搜索引擎、金融應用以及許多
43、其他WebWeb應用中,動應用中,動態(tài)內容的態(tài)內容的WebWeb頁(即根據最終用戶的操作,頁面上顯示出相應的定制內容)頁(即根據最終用戶的操作,頁面上顯示出相應的定制內容)是必需的要素。動態(tài)頁面復雜性較高,構造動態(tài)頁面所需的工作量高于靜態(tài)是必需的要素。動態(tài)頁面復雜性較高,構造動態(tài)頁面所需的工作量高于靜態(tài)頁面。這項測量提供了一個指標,標志著應用系統(tǒng)的整體規(guī)模和開發(fā)應用系頁面。這項測量提供了一個指標,標志著應用系統(tǒng)的整體規(guī)模和開發(fā)應用系統(tǒng)所需的工作量。統(tǒng)所需的工作量。軟件測量軟件測量Web 工程項目度量n 內部頁面鏈接的數量內部頁面鏈接的數量 內部頁面鏈接就是一個指針,它在內部頁面鏈接就是一個指針
44、,它在WebWeb應用中提供了到達其他某個應用中提供了到達其他某個WebWeb頁的頁的超鏈接。這項測量提供了一個超鏈接。這項測量提供了一個WebWeb應用內部結構互連程度的指標。隨著頁面應用內部結構互連程度的指標。隨著頁面鏈接的增加,花費在導航設計和開發(fā)上的工作量也會增加。鏈接的增加,花費在導航設計和開發(fā)上的工作量也會增加。n 永久數據對象的數量永久數據對象的數量 WebWeb應用可以訪問一個或多個永久數據對象(如數據庫或數據文件)。隨著應用可以訪問一個或多個永久數據對象(如數據庫或數據文件)。隨著永久數據對象數量的增加,永久數據對象數量的增加,WebWeb應用系統(tǒng)的復雜性也會增加,實現(xiàn)應用系
45、統(tǒng)應用系統(tǒng)的復雜性也會增加,實現(xiàn)應用系統(tǒng)所需的工作量也會成比例地增加。所需的工作量也會成比例地增加。軟件測量軟件測量Web 工程項目度量n 通過界面連接的外部系統(tǒng)的數量通過界面連接的外部系統(tǒng)的數量 WebWeb應用系統(tǒng)必須經常與應用系統(tǒng)必須經常與“后臺的后臺的”業(yè)務應用相連接。隨著界面連接需求的業(yè)務應用相連接。隨著界面連接需求的增多,系統(tǒng)復雜性和開發(fā)工作量也會增加。增多,系統(tǒng)復雜性和開發(fā)工作量也會增加。n 靜態(tài)內容對象的數量靜態(tài)內容對象的數量 靜態(tài)內容對象包括靜態(tài)文本、圖像、視頻、動畫和音頻信息,它們在靜態(tài)內容對象包括靜態(tài)文本、圖像、視頻、動畫和音頻信息,它們在WebWeb應應用中被集成在一起
46、。在一個用中被集成在一起。在一個WebWeb頁中,可能同時出現(xiàn)多個內容對象。頁中,可能同時出現(xiàn)多個內容對象。軟件測量軟件測量Web 工程項目度量n 動態(tài)內容對象的數量動態(tài)內容對象的數量 動態(tài)內容對象是根據最終用戶的操作而產生的,包括內部產生的文本、圖動態(tài)內容對象是根據最終用戶的操作而產生的,包括內部產生的文本、圖像、視頻、動畫和音頻信息,它們在像、視頻、動畫和音頻信息,它們在WebWeb應用中被集成應用中被集成 在一起。在一個在一起。在一個WebWeb頁中,可能同時出現(xiàn)多個內容對象頁中,可能同時出現(xiàn)多個內容對象。n 可執(zhí)行的功能的數量可執(zhí)行的功能的數量 可執(zhí)行的功能(如,腳本和小程序)為最終用
47、戶提供了某些計算服務。隨可執(zhí)行的功能(如,腳本和小程序)為最終用戶提供了某些計算服務。隨著可執(zhí)行功能數量的增加,建模和構造的工作量也會隨之增加。著可執(zhí)行功能數量的增加,建模和構造的工作量也會隨之增加。軟件測量軟件測量Web 工程項目度量上面提到的每個測量都可以在上面提到的每個測量都可以在Web工程過程的初期就確定下來。工程過程的初期就確定下來。 例如,我們可以定義一個度量,來反映Web應用所需的最終用戶的定制程度,并使它與Web工程項目花費的工作量以及評審中發(fā)現(xiàn)的錯誤關聯(lián)起來。為此,我們進行以下定義: Nsp = 靜態(tài)Web頁的數量 Ndp = 動態(tài)Web頁的數量那么 定制指數 C = Ndp
48、 /( Ndp + Nsp )C的取值范圍是0到1。隨著C值的增大,Web應用的定制水平將成為一個重大的技術問題。類似的類似的Web應用度量也呆以被計算出來,并同項目測量(如花費的工作量、發(fā)現(xiàn)的錯誤和缺陷、應用度量也呆以被計算出來,并同項目測量(如花費的工作量、發(fā)現(xiàn)的錯誤和缺陷、已建立的模型或文檔)關聯(lián)起來。隨著數據庫規(guī)模的擴大(在完成了很多項目之后),已建立的模型或文檔)關聯(lián)起來。隨著數據庫規(guī)模的擴大(在完成了很多項目之后),Web應用應用測量與項目測量之間的關系將提供有助于項目估算的指標。測量與項目測量之間的關系將提供有助于項目估算的指標。41軟件質量度量軟件質量度量 軟件工程的基本高目標
49、就是在某個時間框架內開發(fā)出滿足市場需要的高質量的系統(tǒng)、應用軟件或產品。為了達到這個目標,軟件工程師必須掌握在成熟的軟件過程背景下,使用有效的方法及現(xiàn)代化的工具。此外,一個優(yōu)秀的軟件工程師(及優(yōu)秀的軟件工程管理者)必須通過測量來判斷能否實現(xiàn)高質量。 將軟件工程師個人收集的私有度量結合起來,可以提供項目級的度量。雖然可以收集到很多質量測量數據,但在項目級上最主要的還是測量錯誤和缺陷的數目。從這些測量中導出的度量能夠提供一個指標,表明個人及小組在軟件質量保證和控制活動上的效率。 度量比如說工作產品(如需求或設計)每功能點的錯誤數、在評審中每小時發(fā)現(xiàn)的錯誤數、及測試中每小時發(fā)現(xiàn)的錯誤數,使我們能夠深入
50、了解度量所涉及的活動的功效。有關錯誤的數據也能用來計算每個過程框架活動的缺陷排除率(defect removal efficiency, DRE) 。軟件質量度量軟件質量度量測量質量 雖然有很多軟件質量的測量方法,但對軟件進行正確性、可維護性、完整性、及可用性的測量為項目組提供了有用的技術指標。GilbGIL88給出了這些屬性的定義及測量。 正確性:正確性:一個程序必須能夠正確地執(zhí)行,否則對于用戶就沒有價值了。正確性是軟件完成所要求的功能的程度。最常用的關于正確性的測量是每千行(KLOC)的缺陷數,這里缺陷是指已被證實不符合需求的地方。當考慮軟件產品的的整體質量時,缺陷是指在程序發(fā)布后經過了全
51、面使用,由程序用戶報告的問題。為了進行質量評估,缺陷是按標準時間段來計數的,典型的是一年。軟件質量度量軟件質量度量測量質量 可維護性:可維護性:與任何其他軟件工程活動相比,軟件維護需要更多的工作量。 可維護性是指遇到錯誤時程序能夠被修改的容易程度, 環(huán)境發(fā)生變化時程序能夠適應的容易程度, 用戶希望變更需求時程序能被增強的容易程度。 可維護性無法直接測量;因此我們必須采用間接測量。有一種簡單的面向時間的度量,稱為平均變更時間( mean-time-to-change,MTTC )。它包括分析變更請求、設計合適的修改方案、實現(xiàn)變更并進行測試、以有把該變更發(fā)布給全部用戶所花的時間。一般情況下,與那些
52、不可維護的程序相比,可維護的程序應有較低的 MTTC(相對于相同類型的變更)。軟件質量度量軟件質量度量測量質量 完整性:在防火墻和完整性:在防火墻和在黑客在黑客時代,時代,軟件完整性已變得日益重要。軟件完整性已變得日益重要。 這個屬性測量的是一個系統(tǒng)對安全性攻擊(包括偶然的和蓄意的)的抵抗能力。軟件的所有三個成分(即程序、數據及文檔)都會遭到攻擊。 為了測量完整性,必須定義另外兩個屬性:危險性和安全性。危險性是指一個特定類型的攻擊在給定時間內發(fā)生的概率(能夠估算或根據經驗數據導出)。安全性是指一個特定類型的攻擊將被擊退的概率(能夠估算或根據經驗數據導出)。一個系統(tǒng)的完整性可以定義為: 完整性完
53、整性 = 1 危險性危險性 ( 1 安全性安全性 ) 例如,假設危險性(發(fā)生攻擊的可能性)是 0.25,安全性(擊退攻擊的可能性)是 0.95,則系統(tǒng)的完整性是 0.99(很高);另一方面,假設危險性是 0.5,擊退攻擊的可能性僅是 0.25,則系統(tǒng)的完整性只有 0.63(低得無法接受)。軟件質量度量軟件質量度量測量質量 可用性:如果一個程序不容易使用,即使它完成的功能很有價值,也常常注定要可用性:如果一個程序不容易使用,即使它完成的功能很有價值,也常常注定要失敗。失敗。 可用性力圖對“使用的容易程度”進行量化,根據四個特性來測量:(1)學會一個系統(tǒng)所需的體力的和/或智力的投入;(2)在系統(tǒng)的
54、使用上達到中等效率所需的時間;(3)當系統(tǒng)由某個具有中等效率的人使用時,測量到的生產率的凈增長(與被該系統(tǒng)替代的老系統(tǒng)相比);以及(4)用戶對系統(tǒng)的態(tài)度的一個主觀評估(有時可以通過調查表獲得)。 上述的四個因素僅僅是被建議作為軟件質量測量的眾多因素中的一個樣板。上述的四個因素僅僅是被建議作為軟件質量測量的眾多因素中的一個樣板。軟件質量度量軟件質量度量缺陷排除效率 DRE 缺陷排除效率缺陷排除效率(DRE)是在)是在項目級和過程級都項目級和過程級都有意義的有意義的質量度量。本質上,質量度量。本質上,DRE是對質量保證及控制活動的過濾能力的一個測量,是對質量保證及控制活動的過濾能力的一個測量,而而
55、這些活動貫穿這些活動貫穿應用應用于于所有所有過過程框架活動程框架活動中中。 當把項目作為一個整體來考慮時,當把項目作為一個整體來考慮時,DRE 按如下方式定義:按如下方式定義: DRE = E /( E D ) 其中其中 E = 軟件交付給最終用戶之前所發(fā)現(xiàn)的錯誤數軟件交付給最終用戶之前所發(fā)現(xiàn)的錯誤數 D = 軟件交付之后所發(fā)現(xiàn)的缺陷數。軟件交付之后所發(fā)現(xiàn)的缺陷數。軟件質量度量軟件質量度量缺陷排除效率 DRE 最理想的最理想的DRE值是值是1,即軟件中沒有發(fā)現(xiàn)缺陷。,即軟件中沒有發(fā)現(xiàn)缺陷。 現(xiàn)實中,D會大于0,但隨著E值的增加,DRE的值仍能接近1。 事實上,隨著E的增加,D的最終值可能會降低
56、(錯誤在變成缺陷之前已經被過濾了)。 如果如果DRE作為一個度量,提供關于質量控制和保證活動的過濾能力的衡量指標,作為一個度量,提供關于質量控制和保證活動的過濾能力的衡量指標,則則DRE就能促進就能促進軟件項目軟件項目團隊團隊采用先進采用先進的的技術,技術,力求力求在在軟件軟件交付之前發(fā)現(xiàn)盡可能交付之前發(fā)現(xiàn)盡可能多的錯誤。多的錯誤。軟件質量度量軟件質量度量缺陷排除效率 DRE 在項目內部,也可以使用在項目內部,也可以使用 DRE 來評估一個團隊在錯誤傳遞到下一個框架活動或來評估一個團隊在錯誤傳遞到下一個框架活動或軟件工程任務之前發(fā)現(xiàn)錯誤的能力。軟件工程任務之前發(fā)現(xiàn)錯誤的能力。 例如,在需求分析
57、任務中創(chuàng)建了一個分析模型,而且對該模型進行了評審以發(fā)現(xiàn)和改正其中的錯誤。那些在評審過程中未被發(fā)現(xiàn)的錯誤會傳遞給了設計(在設計中它們可能被發(fā)現(xiàn),也可能不被發(fā)現(xiàn))。在這種情況下,我們重新定義DRE為:DREi = Ei / ( Ei Ei1 ) 其中 Ei = 在軟件工程活動i中所發(fā)現(xiàn)的錯誤數; Ei1=在軟件工程活動i1中所發(fā)現(xiàn)的錯誤數,這些錯誤都是在軟件工程活動 i 中沒被發(fā)現(xiàn)的錯誤。 軟件項目軟件項目團隊團隊(或軟件工程師或軟件工程師個人個人)的質量目標是使的質量目標是使 DREi 接近接近1。即錯誤應該在傳。即錯誤應該在傳遞到下一個活動之前被過濾掉。遞到下一個活動之前被過濾掉。50在軟件過
58、程中集在軟件過程中集成度量成度量 大多數軟件開發(fā)者仍然沒有進行測量,更可悲的是,他們中大多數根本沒有開大多數軟件開發(fā)者仍然沒有進行測量,更可悲的是,他們中大多數根本沒有開始測量的愿望。正如我們在本章開始所說的,這是文化的問題。試圖收集過去始測量的愿望。正如我們在本章開始所說的,這是文化的問題。試圖收集過去從來沒有人收集的測量常常會遇到阻力。從來沒有人收集的測量常常會遇到阻力。備受折磨備受折磨的項目的項目經理會經理會問問“為什么我們?yōu)槭裁次覀円鲞@個?要做這個?”。超負荷工作超負荷工作的開發(fā)者抱怨的開發(fā)者抱怨“我看不出這樣做有什么用我看不出這樣做有什么用”。 在本節(jié)中,我們要考慮一些有關軟件度量
59、的觀點,并給出軟件工程組織內部制在本節(jié)中,我們要考慮一些有關軟件度量的觀點,并給出軟件工程組織內部制定度量收集計劃的方法。但在此這前,先看看定度量收集計劃的方法。但在此這前,先看看Grady和和Casewell GRA87所說的所說的話:話:我們在這里描述的一些事情聽起來似乎相當容易。但實際上,成功地制定全公司范圍內的軟件度量計劃是很困難的工作。如果我們說,你必須至少等上3年才能在組織內形成顯著的趨勢,你就可以對這一工作量的規(guī)模有個概念。51在軟件過程中集在軟件過程中集成度量成度量支持軟件度量的論點 測量軟件工程及其生產出來的產品(軟件)為什么這么重要?答案其實很明顯。測量軟件工程及其生產出來
60、的產品(軟件)為什么這么重要?答案其實很明顯。如果不進行測量,就無法確定我們是否在改進。如果我們沒有在改進,就會導致如果不進行測量,就無法確定我們是否在改進。如果我們沒有在改進,就會導致失敗失敗 通過對生產率測量和質量測量提出要求,并進行評估,軟件團隊(及其管理者)通過對生產率測量和質量測量提出要求,并進行評估,軟件團隊(及其管理者)能夠建立改進軟件工程過程的有意義的目標。如果軟件開發(fā)過程能夠得到改進,能夠建立改進軟件工程過程的有意義的目標。如果軟件開發(fā)過程能夠得到改進,對最終結果(對最終結果(bottom line)將產生直接的影響。而要建立改進目標,就必須了解軟)將產生直接的影響。而要建立
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合同管理專家咨詢服務合同
- 2025年度信息技術項目勞務分包合同規(guī)范范本
- 2025年度公司股份分紅權管理合同范本
- 2025年度智慧城市建設大數據分析合同
- 2025年度公墓墓碑設計與雕刻工藝傳承合同范本
- 2025年度交通樞紐管溝土方回填及交通安全設施合同
- 2025年度農產品溯源及回購服務合同
- 2025年度房屋裝修工程量追加及費用調整合同范本
- 2025年度互聯(lián)網企業(yè)品牌并購股權交割合同
- 2025年度國道橋梁檢測與加固施工合同
- 反走私課件完整版本
- 四年級下冊數學知識點總結
- 第三屆全國石油工程設計大賽作品(油藏工程設計單項)
- (人衛(wèi)版第九版?zhèn)魅静W總論(一))課件
- 壓力性損傷護理質控細則及集束化管理措施
- 《批判性思維原理和方法》全套教學課件
- 產后康復-腹直肌分離
- 丙烯-危險化學品安全周知卡
- 粉條加工廠建設項目可行性研究報告
- 《配電網設施可靠性評價指標導則》
- 2024年國家電網招聘之通信類題庫附參考答案(考試直接用)
評論
0/150
提交評論