SQE-Ch.7 軟件質(zhì)量度量_第1頁
SQE-Ch.7 軟件質(zhì)量度量_第2頁
SQE-Ch.7 軟件質(zhì)量度量_第3頁
SQE-Ch.7 軟件質(zhì)量度量_第4頁
SQE-Ch.7 軟件質(zhì)量度量_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2.1 軟件開發(fā)生命周期的度量活動 2.2 軟件的項目度量 2.3 軟件產(chǎn)品的規(guī)模度量 2.4 代碼行度量方法2.5 功能點分析法2.6 面向?qū)ο筌浖亩攘寇浖a(chǎn)品度量:主要用來描述軟件產(chǎn)品的特征,用于產(chǎn)品評估和決策。產(chǎn)品度量包括軟件規(guī)模大小、產(chǎn)品復(fù)雜度、設(shè)計特征、性能以及質(zhì)量水平。本書主要討論產(chǎn)品的質(zhì)量度量,測量產(chǎn)品的各個質(zhì)量指標(biāo)并最終對產(chǎn)品整體質(zhì)量做出合理的評估。軟件項目度量:用來描述項目的特性和執(zhí)行狀態(tài),如項目計劃的有效性、項目資源使用效率、成本效益、項目風(fēng)險、進(jìn)度和生產(chǎn)力等。目的是評估項目開發(fā)過程的質(zhì)量、預(yù)測項目進(jìn)度、工作量等,輔助管理者進(jìn)行質(zhì)量控制和項目控制。軟件過程度量:用于軟件開

2、發(fā)、維護(hù)過程的優(yōu)化和改進(jìn),如開發(fā)過程中的缺陷移除效率、測試階段中的缺陷到達(dá)模式以及缺陷修復(fù)過程的效率等。對于軟件過程本身的度量,目的是形成適合軟件組織應(yīng)有的各種模型,作為對項目、產(chǎn)品的度量基礎(chǔ);以及對軟件開發(fā)過程進(jìn)行持續(xù)改進(jìn),提高軟件生產(chǎn)力。軟件開發(fā)生命周期中的測量活動軟件開發(fā)生命周期中的測量活動 1.規(guī)模度量 (size measurement):以代碼行數(shù)、功能點數(shù)、對象點或特征點等來衡量。軟件規(guī)模度量是工作量度量、進(jìn)度度量的基礎(chǔ),用于估算軟件項目工作量、編制成本預(yù)算、策劃項目進(jìn)度的基礎(chǔ)。2.復(fù)雜度度量(complexity measurement):確定程序控制流或軟件系統(tǒng)結(jié)構(gòu)的復(fù)雜程度

3、指標(biāo)。復(fù)雜度度量用于估計或預(yù)測軟件產(chǎn)品的可測試性、可靠性和可維護(hù)性,以便選擇最優(yōu)化、最可靠的程序設(shè)計方法,來確定測試策略、維護(hù)策略等。3.缺陷度量(defect measurement):幫助確定產(chǎn)品缺陷分布的情況、缺陷變化的狀態(tài)等,從而幫助分析修復(fù)缺陷所需的工作量、設(shè)計和編程中存在哪些弱點、預(yù)測產(chǎn)品發(fā)布時間、預(yù)測產(chǎn)品的遺留缺陷等。4.工作量度量工作量度量(workload measurement):任務(wù)分解并結(jié)合人力資源:任務(wù)分解并結(jié)合人力資源水平來度量,合理地分配研發(fā)資源和人力,獲得最高的效率比。水平來度量,合理地分配研發(fā)資源和人力,獲得最高的效率比。工作量度量是在軟件規(guī)模度量和生產(chǎn)率度量

4、的基礎(chǔ)上進(jìn)行。工作量度量是在軟件規(guī)模度量和生產(chǎn)率度量的基礎(chǔ)上進(jìn)行。5.進(jìn)度度量進(jìn)度度量(schedule measurement):通過任務(wù)分解、工作量度量、:通過任務(wù)分解、工作量度量、有效資源分配等做出計劃,然后將實際結(jié)果和計劃值進(jìn)行對比來有效資源分配等做出計劃,然后將實際結(jié)果和計劃值進(jìn)行對比來度量。度量。6.風(fēng)險度量風(fēng)險度量(risk measurement):一般通過兩個參數(shù):一般通過兩個參數(shù)“風(fēng)險發(fā)生的風(fēng)險發(fā)生的概率概率”和和“風(fēng)險發(fā)生后所帶來的損失風(fēng)險發(fā)生后所帶來的損失”來評估風(fēng)險。來評估風(fēng)險。7.其他的項目度量,如需求穩(wěn)定性或需求穩(wěn)定因子其他的項目度量,如需求穩(wěn)定性或需求穩(wěn)定因子(

5、RSI,Requirement Stability Index)、資源利用效率)、資源利用效率(Resource Utilization)、文檔復(fù)審水平(、文檔復(fù)審水平(Review level)、問題)、問題解決能力(解決能力(Issue-resolving ability)、代碼動態(tài)增長等。)、代碼動態(tài)增長等。1.德爾菲法 德爾菲法(Delphi technique)是一種專家評估技術(shù),適用于在沒有或沒有足夠的歷史數(shù)據(jù)情況下,來評定軟件采用不同的技術(shù)、新技術(shù)所帶來的差異,但專家的水平及對項目的理解程度是工作中的關(guān)鍵點。 2. COCOMO模型建造成本模型(COCOMO:constructi

6、ve cost model)是一種精確、易于使用的基于模型的成本估算方法 。它有分為基本COCOMO模型 ,中間COCOMO模型和詳細(xì)COCOMO模型3. 代碼行度量方法4. 功能點分析法5. 面向?qū)ο筌浖膶ο簏c方法1.1.每個類的加權(quán)方法每個類的加權(quán)方法(WMC-weighted methods per class)假定對類假定對類C定義了復(fù)雜度為定義了復(fù)雜度為c1,c2,cn的的n個方法,所選擇的特定個方法,所選擇的特定的復(fù)雜性度量應(yīng)該規(guī)范化,使得對某方法的名義上的復(fù)雜性取值的復(fù)雜性度量應(yīng)該規(guī)范化,使得對某方法的名義上的復(fù)雜性取值1.0。WMC=ci2.繼承樹的深度繼承樹的深度(DIT-

7、DepthofInheritanceTree)3.子女的數(shù)量子女的數(shù)量(NOC-NumberofimmediateChildrenofaclass)4.對象類之間的耦合對象類之間的耦合(CBO-CouplingBetweenObjects)一個類的CBO是它與別的類有耦合耦合關(guān)系的類的數(shù)目,屬于系統(tǒng)層次級的度量。CBO值越小,表明該類影響到的類越少,獨立性越強(qiáng),修改所涉及的類也越少,維護(hù)的代價越小。5.對類的響應(yīng)對類的響應(yīng)(RFC-ResponseforaClass):類的RFC越大,該類的測試和調(diào)試將越 復(fù)雜,復(fù)雜度越大6.方法中缺少內(nèi)聚方法中缺少內(nèi)聚(LCOM-LackofCohesion

8、inMethods):LorenzLorenz和和KiddKidd建議的度量建議的度量MOODMOOD度量套件度量套件耦合因子(耦合因子(CFCF):):CF=CF=i ij jis_clientis_client( (C Ci i,C,Cj j)/(TC)/(TC-TC)-TC) 多態(tài)因子(多態(tài)因子(PF):重新定義被繼承方法的方法數(shù)量,):重新定義被繼承方法的方法數(shù)量,除以可能的不同多態(tài)情形的最大數(shù)量除以可能的不同多態(tài)情形的最大數(shù)量.這樣,這樣,PF是是對系統(tǒng)中的動態(tài)綁定相對數(shù)量的間接測量。對系統(tǒng)中的動態(tài)綁定相對數(shù)量的間接測量。PF=iMo(Ci)/iMn(Ci)*DC(Ci)這里對這里對

9、i從從1到到TC求和。且求和。且Md(Ci)=Mn(Ci)+Mo(Ci)其中,其中,Mn(Ci)為新方法的數(shù)量,為新方法的數(shù)量,Mo(Ci)為覆寫方法的為覆寫方法的數(shù)量,數(shù)量,DC(Ci)為后代計數(shù)(某基類的后代類的數(shù)量)為后代計數(shù)(某基類的后代類的數(shù)量)面向操作的度量面向操作的度量平均操作大?。ㄆ骄僮鞔笮。∣SOSavgavg): :可以用操作發(fā)送的消息的數(shù)量可以用操作發(fā)送的消息的數(shù)量作為對操作大小的一種度量。作為對操作大小的一種度量。操作復(fù)雜度(操作復(fù)雜度(OCOC):可使用針對傳統(tǒng)軟件提出的任何):可使用針對傳統(tǒng)軟件提出的任何復(fù)雜度度量來計算。應(yīng)保持復(fù)雜度度量來計算。應(yīng)保持OCOC盡可

10、能低。盡可能低。每個操作的平均參數(shù)的數(shù)量(每個操作的平均參數(shù)的數(shù)量(NPNPavgavg):操作參數(shù)的數(shù)):操作參數(shù)的數(shù)量越大,對象間的協(xié)作越復(fù)雜。量越大,對象間的協(xié)作越復(fù)雜。NPNPavgavg應(yīng)保持盡可能低應(yīng)保持盡可能低。封裝封裝在方法中內(nèi)聚性的缺乏(在方法中內(nèi)聚性的缺乏(LCOMLCOM):):LCOMLCOM值越高,必須值越高,必須被被 測試的狀態(tài)越多,以保證方法不產(chǎn)生副作用。測試的狀態(tài)越多,以保證方法不產(chǎn)生副作用。公共和保護(hù)屬性的百分比(公共和保護(hù)屬性的百分比(PAPPAP):):PAPPAP的高值增加了類的高值增加了類 間副作用的可能性。間副作用的可能性。對數(shù)據(jù)成員的公共訪問(對數(shù)

11、據(jù)成員的公共訪問(PADPAD):):PADPAD的高值導(dǎo)致了類間的高值導(dǎo)致了類間 副作用的潛在可能。副作用的潛在可能。繼承繼承根類的數(shù)量(根類的數(shù)量(NORNOR):):NORNOR增加時,測試工作量也增加;增加時,測試工作量也增加;扇入(扇入(FINFIN):):OOOO語境中,語境中,F(xiàn)INFIN是多繼承的指標(biāo),是多繼承的指標(biāo),F(xiàn)IN1FIN1 指明類從多于一個的根類繼承屬性和操作。指明類從多于一個的根類繼承屬性和操作。FIN1FIN1應(yīng)盡應(yīng)盡 量避免。量避免。子女?dāng)?shù)子女?dāng)?shù)(NOC)和繼承樹的深度和繼承樹的深度(DIT):超類的方法必須:超類的方法必須針對每個子類被測試。針對每個子類被測

12、試。3.1基于時間的缺陷到達(dá)模式- S曲線模型3.2 PTR累積模型微軟公司的缺陷到達(dá)模式微軟公司的缺陷到達(dá)模式 缺陷達(dá)到模式的理想趨勢圖缺陷達(dá)到模式的理想趨勢圖 在測試階段初期,缺陷率增長很快。在達(dá)到峰值后,就隨時間以較慢的速率下降,降低到最低點零點 不同的缺陷統(tǒng)計方法:1)一定時間內(nèi)的總?cè)毕輸?shù);2)一定時間內(nèi)的嚴(yán)重程度前兩個等級的缺陷數(shù)之和;3)一定時間內(nèi)的新引進(jìn)的缺陷及回歸的缺陷之和;4)一定時間內(nèi)的新引進(jìn)的缺陷及回歸的缺陷,而且嚴(yán)重程度在前兩個等級的缺陷之和。PTR累積模型累積模型4.1 軟件復(fù)雜性的度量4.2 軟件缺陷度量 4.3 顧客滿意度度量 語法構(gòu)造方法 基本思路是根據(jù)程序中可

13、執(zhí)行代碼行的操作符和操作數(shù)的數(shù)量來計算程序的復(fù)雜性。操作符和操作數(shù)的量越大,程序結(jié)構(gòu)就越復(fù)雜。 語法構(gòu)造方法可以揭示程序中單獨的語法構(gòu)造和缺陷率之間的關(guān)系:缺陷率= 0.15 + 0.23 DO WHILE + 0.22 SELECT + 0.07 IF-THEN-ELSE結(jié)構(gòu)度量方法 Henry給出的復(fù)雜性定義:Cp = ( 扇入 扇出)2其中:扇入 調(diào)用外部模塊的模塊數(shù)扇出 被外部模塊調(diào)用的次數(shù) 缺陷密度軟件缺陷在規(guī)模上的分布如:每KLOC或每個功能點(或類似功能點的度量對象點、數(shù)據(jù)點、特征點等)的缺陷數(shù) 缺陷率缺陷在時間上的分布如:從應(yīng)用軟件的角度來說,90%以上的缺陷是在發(fā)布后兩年內(nèi)被

14、發(fā)現(xiàn)出來 。 整體缺陷清除率在軟件開發(fā)過程中發(fā)現(xiàn)的被清除的所有缺陷數(shù) / /發(fā)現(xiàn)的總?cè)毕輸?shù) 階段性缺陷清除率產(chǎn)品中潛伏的缺陷數(shù)開發(fā)階段清除的缺陷數(shù)100顧客滿意度要素顧客滿意度要素顧客滿意度要素的內(nèi)容顧客滿意度要素的內(nèi)容技術(shù)解決方案質(zhì)量、可靠性、有效性、易用性、價格、安裝、新技術(shù)支持與維護(hù)靈活性、易達(dá)性、產(chǎn)品知識市場營銷解決方案、接觸點、信息管理購買流程、請求手續(xù)、保證期限、注意事項交付準(zhǔn)時、準(zhǔn)確、交付后過程企業(yè)形象技術(shù)領(lǐng)導(dǎo)、財務(wù)穩(wěn)定性、執(zhí)行印象軟件組織的顧客滿意度要素及其內(nèi)容軟件組織的顧客滿意度要素及其內(nèi)容 顧客滿意度要素顧客滿意度要素顧客滿意度度量內(nèi)容顧客滿意度度量內(nèi)容軟件產(chǎn)品功能性、可靠

15、性、易用性、效率性、可維護(hù)性、可移植性開發(fā)文檔文檔的構(gòu)成、質(zhì)量、外觀、圖表以及索引、用語項目進(jìn)度以及交期交期的根據(jù)、進(jìn)度遲延情況下的應(yīng)對、進(jìn)展報告技術(shù)水平項目組的技術(shù)水平、項目組的提案能力、項目組的問題解決能力溝通能力事件記錄、格式確認(rèn)、問題解答運(yùn)用維護(hù)支持、問題發(fā)生時的應(yīng)對速度、問題解決能力軟件項目的顧客滿意度要素及其內(nèi)容軟件項目的顧客滿意度要素及其內(nèi)容 5.1軟件需求過程的質(zhì)量度量5.2軟件過程生產(chǎn)率的度量5.3 測試階段的過程質(zhì)量度量5.4 維護(hù)階段的過程質(zhì)量度量需求一致性度量Q1 Q1 n nuiui /n /nr rn nuiui是所有復(fù)審者都有相同解釋的需求數(shù)目n nr r是需求說

16、明書中需求的個數(shù),包含功能和非功能需求需求完整性度量Q2 Q2 n nu u /(n/(ni i n ns s) ) n nu u是唯一功能需求的數(shù)目n ni i是由需求規(guī)格定義或包含的輸入的個數(shù)n ns s是被表示的狀態(tài)的個數(shù)。 需求確認(rèn)程度度量Q3Q3n nc c /(n/(nc cnnvnv) ) n nc c是已經(jīng)確認(rèn)為正確的需求的個數(shù)nnvnv是尚未被確認(rèn)的需求的個數(shù) 需求穩(wěn)定性度量需求穩(wěn)定性度量是通過需求穩(wěn)定因子RSI 來表示:RSI = (所有確定的需求數(shù) - 累計的需求變化請求數(shù))/所有確定的需求數(shù) 所有確定的需求數(shù) = 初始需求請求列表數(shù) + 接受的需求變化請求數(shù) 軟件生產(chǎn)率

17、的三維關(guān)系軟件生產(chǎn)率的三維關(guān)系度量量 代碼行 功能點 類 測試用例度量單位 人時(man-hour) 人日(man-day) 人月(man-month) 人年(man-year)測試用例的深度(TCD, Test Case Depth)- - 每每KLOCKLOC的測試用例數(shù)的測試用例數(shù)- - 每個功能點每個功能點/ /對象點的測試用例數(shù)對象點的測試用例數(shù)測試用例的有效性- - 每每100100或或10001000個測試用例所發(fā)現(xiàn)的缺陷數(shù)個測試用例所發(fā)現(xiàn)的缺陷數(shù)測試用例的質(zhì)量(TCQ, Test Case Quality) - - 測試用例發(fā)現(xiàn)的缺陷數(shù)量測試用例發(fā)現(xiàn)的缺陷數(shù)量/ /總的缺陷數(shù)量

18、總的缺陷數(shù)量 測試執(zhí)行的效率和質(zhì)量 - - 每個人日所執(zhí)行的測試用例數(shù)每個人日所執(zhí)行的測試用例數(shù) - - 每個人日所發(fā)現(xiàn)的缺陷數(shù)每個人日所發(fā)現(xiàn)的缺陷數(shù) - - 每修改的每修改的KLOCKLOC所運(yùn)行的測試用例數(shù)所運(yùn)行的測試用例數(shù) 缺陷報告的質(zhì)量 - - 報告的質(zhì)量不高的缺陷數(shù)報告的質(zhì)量不高的缺陷數(shù)/ /報告的總?cè)毕輸?shù)報告的總?cè)毕輸?shù)質(zhì)量不高的缺陷包含:1)狀態(tài)為“需要補(bǔ)充信息”的缺陷2)狀態(tài)為“不是缺陷”的缺陷基于需求的測試覆蓋- - 已執(zhí)行的測試覆蓋已執(zhí)行的測試覆蓋 TxTxRft Rft - - 成功的測試覆蓋成功的測試覆蓋 TsTsRftRft Tx表示已執(zhí)行的測試過程數(shù)或測試用例數(shù) Ts

19、是已執(zhí)行的完全成功、沒有缺陷的測試過程數(shù)或測試用例數(shù) Rft是測試需求的總數(shù) 基于代碼的測試覆蓋- - 已執(zhí)行的測試覆蓋已執(zhí)行的測試覆蓋 TcTcTncTnc Tc是用代碼語句、條件分支、代碼路徑、數(shù)據(jù)狀態(tài)判定點或數(shù)據(jù)元素名表示的已執(zhí)行項目數(shù) Tnc(Total number of items in the code)是代碼中的項目總數(shù) 平均失效時間MTTF (mean time to failure)基于時間缺陷 (或用戶問題數(shù)) 的到達(dá)率軟件成熟度指標(biāo) (SMI)質(zhì)量度量的統(tǒng)計方法包含以下步驟:1) 收集和分類軟件缺陷信息;2) 找出導(dǎo)致每個缺陷的原因(例如,不符合規(guī)格說明書、設(shè)計錯誤、代

20、碼錯誤、數(shù)據(jù)處理不對、對客戶需求誤解、違背標(biāo)準(zhǔn)、界面不友好等);3) 使用Pareto規(guī)則(80缺陷主要是由20的主要因素造成的,20缺陷是由另外80的次要因素造成的),要將這20的主要因素分離出來。4) 一旦標(biāo)出少數(shù)的主要因素,就比較容易糾正引起缺陷的問題。錯誤的根本原因來源于下面幾個方面:說明不完整或說明錯誤(IES)與客戶交流不夠所產(chǎn)生的誤解(MCC)故意與說明偏離(IDS)違反編程標(biāo)準(zhǔn)(VPS)數(shù)據(jù)表示有錯(EDR)模塊接口不一致(IMI)設(shè)計邏輯有錯(EDL)不完整或錯誤的測試(IET)不準(zhǔn)確或不完整的文檔(IID)將設(shè)計翻譯成程序設(shè)計語言中的錯誤(PLT)不清晰或不一致的人機(jī)界面(

21、HCI)雜項(MIS)質(zhì)量度量的統(tǒng)計數(shù)據(jù)收集質(zhì)量度量的統(tǒng)計數(shù)據(jù)收集總計總計(Ei)嚴(yán)重嚴(yán)重(Si)一般一般(Mi)微小微小(Ti)錯誤錯誤數(shù)量數(shù)量百分比百分比數(shù)量數(shù)量百分比百分比數(shù)量數(shù)量百分比百分比數(shù)量數(shù)量百分比百分比IES29622.3%5528.2%9518.6%14623.4%MCC20415.3%189.2%8717.0%9915.9%IDS644.8%21.0%311%315.0%VPS342.6%10.5%193.7%142.2%EDR18213.7%3819.5%9017.6%548.7%IMI822%147.2%214.1%477.5%EDL644.8%2010.3%173.3

22、%274.3%IET14010.5%178.7%5110.0%7211.6%IID544.1%31.5%285.5%233.7%PLT875%2211.3%265.1%393%HCI423.2%42.1%275.3%111.8%MIS811%10.5%203.9%609.6%總計1330100%195100%512100%623100%PMDPMDLicense:License:Open SourceCurrent version:Current version:5.0.2 (released 03.02.2013)URL:URL:http:/ is a source code analyze

23、r. It finds unused variables, empty catch blocks, unnecessary object creation, and so forth.”PMD is used for detecting bad practices in code, which is intended decrease the number of bugs in your code. The theory is that conforming to good practices in coding leads to better code, which we definitely agree with. With tagline tha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論