軟件的技術(shù)度量(精)教學(xué)文稿_第1頁
軟件的技術(shù)度量(精)教學(xué)文稿_第2頁
軟件的技術(shù)度量(精)教學(xué)文稿_第3頁
軟件的技術(shù)度量(精)教學(xué)文稿_第4頁
軟件的技術(shù)度量(精)教學(xué)文稿_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件的技術(shù)度量(精)19.1 軟件質(zhì)量軟件質(zhì)量三個重點:三個重點:1.1.軟件需求是質(zhì)量測度的基礎(chǔ)。軟件需求是質(zhì)量測度的基礎(chǔ)。2.2.特定的標(biāo)準(zhǔn)定義了一套開發(fā)標(biāo)準(zhǔn),用特定的標(biāo)準(zhǔn)定義了一套開發(fā)標(biāo)準(zhǔn),用以指導(dǎo)軟件開發(fā)的方式。以指導(dǎo)軟件開發(fā)的方式。3.3.要有一套經(jīng)常未被提及的隱式需求要有一套經(jīng)常未被提及的隱式需求( (例如,對好的可維護性的期望例如,對好的可維護性的期望) ) 。19.1.1 McCall的質(zhì)量因素的質(zhì)量因素影響軟件質(zhì)量的因素可以分為兩大類:影響軟件質(zhì)量的因素可以分為兩大類:(1)(1)可以直接測度的因素可以直接測度的因素( (例如,每個功能點例如,每個功能點 的錯誤的錯誤) )(

2、2)(2)只能間接測度的因素只能間接測度的因素( (例如,可用性和可例如,可用性和可 維護性維護性) )軟件質(zhì)量因素在軟件產(chǎn)品的三個方面:軟件質(zhì)量因素在軟件產(chǎn)品的三個方面:n操作特性操作特性n承受改變的能力承受改變的能力n對新環(huán)境的適應(yīng)能力對新環(huán)境的適應(yīng)能力n正確性正確性n可靠性可靠性n功效功效n完整性完整性n可用性可用性質(zhì)量的因素:質(zhì)量的因素:可維護性可維護性靈活性靈活性可測試性可測試性可移植性可移植性可復(fù)用性可復(fù)用性互操作性互操作性正確性正確性 可靠性可靠性 可用性可用性 完整性完整性 效率效率產(chǎn)品運行產(chǎn)品運行產(chǎn)品修訂產(chǎn)品修訂產(chǎn)品變遷產(chǎn)品變遷可移植性可移植性可復(fù)用性可復(fù)用性互操作性互操作性

3、可維護性可維護性靈活性靈活性可測試性可測試性McCall的軟件質(zhì)量因素的軟件質(zhì)量因素Fqc1m1c2m2cnmnFq是一個軟件質(zhì)量因素是一個軟件質(zhì)量因素cn是回歸系數(shù)是回歸系數(shù)mn是影響質(zhì)量因素的度量值是影響質(zhì)量因素的度量值定義一組度量,并被用于按照下面的關(guān)定義一組度量,并被用于按照下面的關(guān)系為每個因素開發(fā)表達式:系為每個因素開發(fā)表達式:考慮考慮軟件質(zhì)量的因素,簡稱為軟件質(zhì)量的因素,簡稱為FURPS:n功能性功能性(functionality)n可用性可用性(usability)n可靠性可靠性(reliability)n性能性能(performance)n支持度支持度(supportabili

4、ty)19.1.2 FURPSFURPS五個主要因素的評估方式:五個主要因素的評估方式:n功能性功能性n可用性可用性n可靠性可靠性n性能性能n支持度支持度19.1.3 ISO 9126質(zhì)量因素質(zhì)量因素6個關(guān)鍵質(zhì)量屬性:個關(guān)鍵質(zhì)量屬性:n功能性功能性n可靠性可靠性n可用性可用性n效率效率n可維護性可維護性n可移植性可移植性19.2.2 測度原則測度原則五個活動為特征:五個活動為特征:公式化公式化收集收集分析分析解釋解釋反饋反饋19.2 軟件技術(shù)度量框架軟件技術(shù)度量框架19. 2. 3 有效軟件度量的屬性有效軟件度量的屬性有效軟件度量包含的有效軟件度量包含的屬性屬性:n簡單的和可計算的簡單的和可計

5、算的n經(jīng)驗和直覺上有說服力經(jīng)驗和直覺上有說服力n一致的和客觀的一致的和客觀的n在其單位和量綱的使用上是一致的在其單位和量綱的使用上是一致的n編程語言獨立的編程語言獨立的n高質(zhì)量反饋的有效機制高質(zhì)量反饋的有效機制功能點(功能點(FP)度量(第)度量(第4章)可以用來作為預(yù)測從章)可以用來作為預(yù)測從分析模型得到的系統(tǒng)大小的手段。分析模型得到的系統(tǒng)大小的手段。19.3.2 bang度量度量n象功能點度量一樣,象功能點度量一樣,bangbang度量可以由分析模型得度量可以由分析模型得到對將要實現(xiàn)的軟件的大小的指示。到對將要實現(xiàn)的軟件的大小的指示。n為了獨立計算為了獨立計算bangbang,軟件工程師必

6、須首先評價一,軟件工程師必須首先評價一組原語組原語在分析層次不能再劃分了的分析模型在分析層次不能再劃分了的分析模型的元素。的元素。19. 3 分析模型的度量分析模型的度量 除了上述的六個原語,另外如下的計除了上述的六個原語,另外如下的計數(shù)也需確定:數(shù)也需確定:n修改的手工功能原語修改的手工功能原語(FuPM) n輸入數(shù)據(jù)元素輸入數(shù)據(jù)元素(DEI)n輸出數(shù)據(jù)元素輸出數(shù)據(jù)元素(DEO)n存儲數(shù)據(jù)元素存儲數(shù)據(jù)元素(DER) n數(shù)據(jù)記號數(shù)據(jù)記號(TCi) nRE/FuP0.7意味著一個功能很強型應(yīng)用程序意味著一個功能很強型應(yīng)用程序n0.8RE/FuP1.4意味著混合型應(yīng)用程序意味著混合型應(yīng)用程序nRE

7、/FuP1.5意味著數(shù)據(jù)復(fù)雜型應(yīng)用程序意味著數(shù)據(jù)復(fù)雜型應(yīng)用程序n因為不同的分析模型將模型分成或大或因為不同的分析模型將模型分成或大或小的細化程度,一個對每個原語的平均小的細化程度,一個對每個原語的平均記號計數(shù):記號計數(shù): TCavgTCi/FuPn它被用來控制在某應(yīng)用程序領(lǐng)域中跨越它被用來控制在某應(yīng)用程序領(lǐng)域中跨越很多不同模型劃分的一致性。很多不同模型劃分的一致性。為了計算功能很強型應(yīng)用軟件的為了計算功能很強型應(yīng)用軟件的“撞撞擊值擊值”,可以用以下算法:,可以用以下算法:set initial value of bang0;do while functional primitives rema

8、in to be evaluatedcompute tokencount around the boundary of primitive i;compute corrected FuP increment(CFuPI);Allocate primitive to class;Assess class and note assessed weight;Multiply CFuPI by the assessed weight;bangbangweighted CFuPI;enddo為了計算數(shù)據(jù)強型應(yīng)用程序,可以用為了計算數(shù)據(jù)強型應(yīng)用程序,可以用以下算法:以下算法:set initial val

9、ue of bang0;do while objects remain to be evaluated in the data modelcompute count of relationships for object i;compute corrected OB increment(COBI);bangbangCOBI;enddon明確性明確性(無二義性無二義性)n完全性完全性n正確性正確性n可理解性可理解性n可驗證性可驗證性n內(nèi)部和外部一致性內(nèi)部和外部一致性19.3.3 規(guī)約質(zhì)量的度量規(guī)約質(zhì)量的度量可完成性可完成性簡潔性簡潔性可追蹤性可追蹤性可修改性可修改性精確性精確性可復(fù)用性可復(fù)用性評

10、價分析模型和相應(yīng)的需求規(guī)約質(zhì)量的特征:評價分析模型和相應(yīng)的需求規(guī)約質(zhì)量的特征:三個軟件設(shè)計復(fù)雜度測度:三個軟件設(shè)計復(fù)雜度測度:n結(jié)構(gòu)復(fù)雜度結(jié)構(gòu)復(fù)雜度n數(shù)據(jù)復(fù)雜度數(shù)據(jù)復(fù)雜度n系統(tǒng)復(fù)雜度系統(tǒng)復(fù)雜度19.4 設(shè)計模型的度量設(shè)計模型的度量19.4.1 體系結(jié)構(gòu)設(shè)計度量體系結(jié)構(gòu)設(shè)計度量一個模塊一個模塊i的結(jié)構(gòu)復(fù)雜度,的結(jié)構(gòu)復(fù)雜度,S(i):S(i)fout(i) 其中其中fout(i)是模塊是模塊i的扇出的扇出數(shù)據(jù)復(fù)雜度,數(shù)據(jù)復(fù)雜度,D(i),提供了一個模塊,提供了一個模塊i的內(nèi)的內(nèi)部接口的復(fù)雜度的指示:部接口的復(fù)雜度的指示:D(i)v(i)/fout(i)1 其中其中V(i)是傳入傳出模塊是傳入傳出模

11、塊i的輸入輸出變量的個數(shù)。的輸入輸出變量的個數(shù)。系統(tǒng)復(fù)雜度,系統(tǒng)復(fù)雜度,C(i),定義為結(jié)構(gòu)復(fù)雜度和數(shù)據(jù)復(fù)雜,定義為結(jié)構(gòu)復(fù)雜度和數(shù)據(jù)復(fù)雜度的總和度的總和 C(i)=S(i)D(i) 復(fù)雜性度量:復(fù)雜性度量:HKM=length(i)fin(i) fout(i) 其中其中l(wèi)ength(i) 是在模塊是在模塊i中編程語言語句的數(shù)目,中編程語言語句的數(shù)目, fin(i) 是模塊是模塊i的扇入。的扇入。 構(gòu)件級設(shè)計度量集中于軟件的內(nèi)部特性構(gòu)件級設(shè)計度量集中于軟件的內(nèi)部特性且包括且包括“三個三個C”的測度的測度:n模塊內(nèi)聚模塊內(nèi)聚(cohesion)n耦合耦合(coupling)n復(fù)雜度的度量復(fù)雜度的度

12、量(complexity)19.4.2 構(gòu)件級設(shè)計度量構(gòu)件級設(shè)計度量n數(shù)據(jù)切片數(shù)據(jù)切片n數(shù)據(jù)記號數(shù)據(jù)記號n膠合記號膠合記號n超膠合記號超膠合記號n粘度粘度內(nèi)聚度量定義:內(nèi)聚度量定義:n強功能內(nèi)聚強功能內(nèi)聚(SFC)n弱功能內(nèi)聚弱功能內(nèi)聚(WFC) SFC(i)=SG(SA(i)/tokens(i)n其中其中SG(SA(i)指超膠合記號指超膠合記號位于一個模塊位于一個模塊i的所有數(shù)據(jù)片的數(shù)據(jù)記號集合。當(dāng)超膠合表征的所有數(shù)據(jù)片的數(shù)據(jù)記號集合。當(dāng)超膠合表征比上模塊比上模塊i中的所有的記號的總和上升到最大值中的所有的記號的總和上升到最大值1的時候,模塊的功能內(nèi)聚也增加。的時候,模塊的功能內(nèi)聚也增加。對

13、數(shù)據(jù)和控制流耦合:對數(shù)據(jù)和控制流耦合:ndi=輸入數(shù)據(jù)參數(shù)的個數(shù)輸入數(shù)據(jù)參數(shù)的個數(shù)nci=輸入控制參數(shù)的個數(shù)輸入控制參數(shù)的個數(shù)ndo=輸出數(shù)據(jù)參數(shù)的個數(shù)輸出數(shù)據(jù)參數(shù)的個數(shù)nco=輸出控制參數(shù)的個數(shù)輸出控制參數(shù)的個數(shù)19.4.2.2 耦合度量耦合度量ngd=用作數(shù)據(jù)的全局變量的個數(shù)用作數(shù)據(jù)的全局變量的個數(shù)ngc=用作控制的全局變量的個數(shù)用作控制的全局變量的個數(shù)對全局耦合:對全局耦合:nw=被調(diào)用模塊的個數(shù)被調(diào)用模塊的個數(shù)(扇出扇出)nr=調(diào)用所考慮的模塊的模塊數(shù)調(diào)用所考慮的模塊的模塊數(shù)(扇入扇入)n使用這些度量,一個模塊耦合指示器,使用這些度量,一個模塊耦合指示器,mc,以下面,以下面方式定義:

14、方式定義:mc=k/M 其中其中k=1,一個比例常數(shù),一個比例常數(shù),而且而且M=di+aci+do+bco+gd+cgc+w+r 其中其中a=b=c=2nmc的值越高,整體模塊耦合越低的值越高,整體模塊耦合越低n一個改進的耦合度量:一個改進的耦合度量:C=1-mc 其中耦合度在最小值其中耦合度在最小值0.66到接近到接近1的最大值之間非線性上升。的最大值之間非線性上升。對環(huán)境耦合:對環(huán)境耦合:n開銷開銷=變遷頻率變遷頻率(k)變遷開銷變遷開銷(k) 其中其中k是當(dāng)一個特定任務(wù)完成時,從一個布局是當(dāng)一個特定任務(wù)完成時,從一個布局實體到下一個實體的特定變遷實體到下一個實體的特定變遷n對完成某應(yīng)用功

15、能所需的一個特定任務(wù)或任務(wù)對完成某應(yīng)用功能所需的一個特定任務(wù)或任務(wù)集的所有變遷形成一個總和。開銷可以用時間、集的所有變遷形成一個總和。開銷可以用時間、處理延遲、或其他合理的值,例如一個鼠標(biāo)在處理延遲、或其他合理的值,例如一個鼠標(biāo)在布局實體之間移動的距離,來標(biāo)識。布局實體之間移動的距離,來標(biāo)識。19.4.3 界面設(shè)計度量界面設(shè)計度量nLA=100(LA開銷開銷-最優(yōu)布局最優(yōu)布局)/(提出提出的布局開銷的布局開銷) 其中對于一個最優(yōu)布局其中對于一個最優(yōu)布局LA=100。布局恰當(dāng)性定義成:布局恰當(dāng)性定義成:n為了計算為了計算GUI的最優(yōu)布局,界面區(qū)域的最優(yōu)布局,界面區(qū)域(屏幕的區(qū)域屏幕的區(qū)域)被分成

16、方格,每個方格代表著一個布局實體可能被分成方格,每個方格代表著一個布局實體可能的位置。對于一個有的位置。對于一個有N個可能位置的且放置個可能位置的且放置K個不個不同的布局實體的方格,可能的布局?jǐn)?shù)以下面方式同的布局實體的方格,可能的布局?jǐn)?shù)以下面方式給出給出SEA93:n可能的布局?jǐn)?shù)可能的布局?jǐn)?shù)=N!/(K!(N-K)!)K! n當(dāng)布局位置數(shù)上升,可能的布局?jǐn)?shù)增長得十分大。當(dāng)布局位置數(shù)上升,可能的布局?jǐn)?shù)增長得十分大。n為發(fā)現(xiàn)一個最優(yōu)布局,可采用樹搜索算法。為發(fā)現(xiàn)一個最優(yōu)布局,可采用樹搜索算法。nn1在一個程序中出現(xiàn)的不同操作符在一個程序中出現(xiàn)的不同操作符nn2在一個程序中出現(xiàn)的不同操作數(shù)在一個程序

17、中出現(xiàn)的不同操作數(shù)nN1操作符出現(xiàn)的總數(shù)操作符出現(xiàn)的總數(shù)nN2操作數(shù)出現(xiàn)的總數(shù)操作數(shù)出現(xiàn)的總數(shù)19.5 源代碼度量源代碼度量nHalstead展示了長度展示了長度N可以這樣來估計:可以這樣來估計:N=n1log2n1+n2log2n2 n程序體積可以如下定義:程序體積可以如下定義:V=Nlog2(n1+n2) n以基本測度而言,體積比率可以寫成:以基本測度而言,體積比率可以寫成:L=2/n1n2/N2 n使用程序體積的定義使用程序體積的定義Vn程序?qū)哟纬绦驅(qū)哟蜳Ln軟件科學(xué)工作量軟件科學(xué)工作量e:PL=1/(n1/2)(N2/n2) e=V/PL 將被分配給模塊將被分配給模塊k的整體測試工作量百分比:的整體測試工作量百分比: 測試工作量百分比測試工作量百分比(k)=e(k)/e(i) 19.6 對測試的度量對測試的度量軟件成熟度指標(biāo)軟件成熟度指標(biāo)(SMI):nMT=當(dāng)前發(fā)布中的模塊數(shù)當(dāng)前發(fā)布中的模塊數(shù)nFc=當(dāng)前發(fā)布中已經(jīng)變更的模塊數(shù)當(dāng)前發(fā)布中已經(jīng)變更的模塊數(shù)nFa=當(dāng)前發(fā)布中已經(jīng)增加的模塊數(shù)當(dāng)前發(fā)布中已經(jīng)增加的模塊數(shù)nFd=當(dāng)前發(fā)布中已刪除的前一發(fā)布中的模塊數(shù)當(dāng)前發(fā)布中已刪除的前一發(fā)布中的模塊數(shù)19.7 對維護的度量對維護的度量n軟件成熟度指標(biāo)軟件成熟度指標(biāo)以下面的方式計算:以下面的方式計算:SMI=MT-(Fa+Fc+Fd)/MT n當(dāng)當(dāng)SMI接近接近1.

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論