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