摘 要:依據(jù)國家信息產(chǎn)業(yè)部有關(guān)制定構(gòu)件質(zhì)量度量標(biāo)準(zhǔn)的要求,研究并提出了對軟件構(gòu)件可復(fù)用性有著直接影響的六個子特性(接口成熟性、獨(dú)立性、易組裝性、通用性、演化兼容性和可復(fù)用依從性)以及軟件構(gòu)件可復(fù)用性質(zhì)量度量和構(gòu)件可信度使用質(zhì)量度量方案,并給出了它們相應(yīng)的度量元素和量化方法。
關(guān)鍵詞:軟件構(gòu)件;質(zhì)量度量;可復(fù)用性
中圖分類號:TP311.5文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2007)05-0280-04
0 引 言
軟件構(gòu)件是一特定的軟件,國際上有關(guān)軟件構(gòu)件的定義很多,但并沒有統(tǒng)一的標(biāo)準(zhǔn),如計算機(jī)百科全書指出,“軟件系統(tǒng)中具有相對獨(dú)立功能、可以明確辨識、接口由契約指定、和語境有明顯依賴關(guān)系、可獨(dú)立部署、且多由第三方提供的可組裝軟件實(shí)體”;美國卡內(nèi)基·梅隆大學(xué)的軟件工程研究所(CMU-SEI)在2001年的一份技術(shù)報告中對構(gòu)件是這樣定義的,“構(gòu)件是一個不透明的功能實(shí)體,能夠被第三方組裝,且符合一個構(gòu)件模型”[1];國際上第一部軟件構(gòu)件專著(作者為Szyperski)給出的構(gòu)件定義為:“一個構(gòu)件是一個組裝單元,它具有約定式規(guī)范的接口,以及明確的依賴環(huán)境。構(gòu)件可以被獨(dú)立地部署,由第三方組裝” [2]。在這三種定義中都指出軟件構(gòu)件是要能被第三方組裝使用的。也就是指軟件構(gòu)件是要能被第三方所復(fù)用的。
對于軟件構(gòu)件的開發(fā)者而言,開發(fā)軟件構(gòu)件的目的就是能否被復(fù)用。對于軟件構(gòu)件的復(fù)用者來說,通常情況下他并不關(guān)心軟件構(gòu)件內(nèi)部是怎樣實(shí)現(xiàn)的,相反,他的關(guān)注點(diǎn)在于軟件構(gòu)件是不是可復(fù)用的。
因此可復(fù)用性是軟件構(gòu)件的一重要質(zhì)量特性。早在1968年的NATO軟件工程會議上,Mcilroy在其論文“大量生產(chǎn)的軟件構(gòu)件”中首次提出了復(fù)用這一概念[3]。最近幾年來人們開始認(rèn)識到要真正實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)方式達(dá)到軟件產(chǎn)業(yè)發(fā)展所需要的軟件生產(chǎn)率和質(zhì)量,軟件復(fù)用是一條現(xiàn)實(shí)可行的途徑[4]。由此開發(fā)和使用可復(fù)用的軟件構(gòu)件成了軟件技術(shù)領(lǐng)域研究的熱點(diǎn)。
軟件復(fù)用的一個重要目的就是要提高軟件產(chǎn)品的質(zhì)量,如果可復(fù)用軟件元素的質(zhì)量較差,那就失去了軟件復(fù)用的目的和意義。因此對軟件構(gòu)件的可復(fù)用性質(zhì)量度量是提高和保證軟件產(chǎn)品質(zhì)量的重要手段。
目前國際上已經(jīng)有了有關(guān)軟構(gòu)件質(zhì)量度量的標(biāo)準(zhǔn)ISO/IEC 9126,國內(nèi)參照ISO/IEC 9126制定了GB/T 16260。而有關(guān)軟件構(gòu)件質(zhì)量度量的標(biāo)準(zhǔn)國內(nèi)外還沒有出現(xiàn)。因此信息產(chǎn)業(yè)部于2003年10月批準(zhǔn)成立了的軟件構(gòu)件標(biāo)準(zhǔn)工作組。目前有關(guān)軟件構(gòu)件質(zhì)量度量的標(biāo)準(zhǔn)還在制定中,本文對軟件構(gòu)件質(zhì)量度量方案的論述就是參考該標(biāo)準(zhǔn)制定要求中的思想而提出的。
1 國內(nèi)外有關(guān)軟件可復(fù)用性的理論研究
國外許多質(zhì)量模型都提出了軟件的可復(fù)用性,它們是:
(1) REBOOT模型
REBOOT模型可以從不同的角度、不同的側(cè)面來展現(xiàn)軟件構(gòu)件的屬性,它提出軟件的可復(fù)用性包含四個因素,即可移植性(Portability)、靈活性(Flexibility)、可理解性(Understandability)和可信度(Confidence)[4]。
(2)NATO模型
NATO通信與信息系統(tǒng)機(jī)構(gòu)在1991年制定了可復(fù)用軟件構(gòu)件開發(fā)、可復(fù)用軟件構(gòu)件管理)和軟件復(fù)用過程三個標(biāo)準(zhǔn)。其中在可復(fù)用軟件構(gòu)件管理標(biāo)準(zhǔn)中,NATO推薦在復(fù)用者復(fù)用某個模塊時,建議通過走查次數(shù)、復(fù)用次數(shù)、復(fù)雜度和問題報告數(shù)四個度量要素度量軟件構(gòu)件的質(zhì)量和可復(fù)用性[3,5]。
(3)McCall模型
在McCall復(fù)用模型中,從軟件通用性、自描述性、模塊的獨(dú)立性、機(jī)器獨(dú)立性和軟件系統(tǒng)的獨(dú)立性五個方面總結(jié)了軟件的可復(fù)用性[6]。
(4)青鳥模型
北京大學(xué)青鳥工程在其構(gòu)件模型中提出可復(fù)用構(gòu)件最主要的性質(zhì)有:可復(fù)用性、可用性和通用性[7]。
2 軟件質(zhì)量度量方法
軟件度量理論經(jīng)過多年的發(fā)展與應(yīng)用,已形成了多種多樣適應(yīng)不同情況的度量方法,常見的傳統(tǒng)軟件度量方法有:(1)代碼行數(shù)度量方法:以程序的總代碼行數(shù)(LOC)作為程序復(fù)雜性的度量值。它要求統(tǒng)計一個程序的代碼行數(shù)并以之作為度量值。
(2)COCOMO法:將軟件開發(fā)工作量(及成本)作為程序規(guī)模及一組“成本驅(qū)動因子”的函數(shù)進(jìn)行計算。
(3)功能點(diǎn)方法以軟件的功能點(diǎn)數(shù)目來度量。
(4)McCabe度量方法:是對程序控制流復(fù)雜性的度量。認(rèn)為一個程序的復(fù)雜度取決于它的程序圖所包含的判定節(jié)點(diǎn)個數(shù)。
(5)Halstead度量方法:通過計算程序中的運(yùn)算符和操作數(shù)的數(shù)量對程序的復(fù)雜性加以度量。
隨著面向技術(shù)的發(fā)展和應(yīng)用,面向?qū)ο蠖攘糠椒ㄒ呀?jīng)變得越來越重要,它有著不同于上述方法的定義和適用對象。常見的面向?qū)ο蠖攘糠椒ㄈ缦拢邯?/p>
(1)類加權(quán)法度量:用來度量單個類的復(fù)雜性,是類的方法的復(fù)雜性總計。
(2)類繼承數(shù)的深度:在繼承樹中節(jié)點(diǎn)到根節(jié)點(diǎn)的最大深度。
(3)子類的數(shù)量:類繼承關(guān)系中一個類的直接子類數(shù)量。
(4)類的響應(yīng)集合:類中有可能在收到其他類對象的消息作出反應(yīng)時被調(diào)用的方法數(shù)量。
(5)類耦合數(shù):耦合度是度量模塊獨(dú)立性的指標(biāo)之一。類耦合數(shù)越大,類越容易受其他類的影響,不利于理解和測試。
(6)類的內(nèi)聚度:在面向?qū)ο笙到y(tǒng)中,內(nèi)聚度主要是指類內(nèi)部各成分之間的聯(lián)結(jié)強(qiáng)度。可從屬性間的內(nèi)聚度度量、方法與屬性間的內(nèi)聚度以及方法間的內(nèi)聚度三個方面分別度量類的內(nèi)聚度。
3 軟件構(gòu)件可復(fù)用性質(zhì)量度量
軟件構(gòu)件的可復(fù)用性是指軟件構(gòu)件產(chǎn)品可在多種應(yīng)用中加以利用的程度。基于構(gòu)件的開發(fā)可以降低成本、縮短系統(tǒng)開發(fā)周期、提高生產(chǎn)率,開發(fā)可復(fù)用的軟件構(gòu)件應(yīng)該能夠在相關(guān)的領(lǐng)域中被復(fù)用,這也是軟件構(gòu)件產(chǎn)生的原因。
軟件構(gòu)件的特點(diǎn)就是可復(fù)用,因此可復(fù)用性是軟件構(gòu)件的重要特性之一。構(gòu)件有許多特性對可復(fù)用性有重大影響,筆者認(rèn)為依次按照影響的大小排列,接口成熟性、獨(dú)立性、易組裝性、通用性、演化兼容性和可復(fù)用性依從性對軟件構(gòu)件的可復(fù)用性有著最直接的影響。因此在考慮軟件構(gòu)件可復(fù)用性質(zhì)量度量時也是圍繞這六個子特性來展開的。對這些子特性質(zhì)量度量結(jié)果直接影響著軟件構(gòu)件可復(fù)用性質(zhì)量的度量。
ISO/IEC 9126在對軟件六大基本質(zhì)量特性度量上分為內(nèi)部度量和外部度量。內(nèi)部度量可用于開發(fā)階段的非執(zhí)行軟件產(chǎn)品(例如應(yīng)用項(xiàng)目標(biāo)書、需求定義、設(shè)計規(guī)格說明或源代碼等)[8]。內(nèi)部度量為用戶提供了測量中間可交付項(xiàng)質(zhì)量的能力,從而可以預(yù)測最終產(chǎn)品的質(zhì)量。它所采用的度量方法大多是通過評審等手段,根據(jù)用戶提供的文檔和源代碼實(shí)現(xiàn)對軟件構(gòu)件產(chǎn)品的質(zhì)量度量。外部度量可用于測試階段的可執(zhí)行軟件產(chǎn)品,它采用的度量方法是在系統(tǒng)指定的運(yùn)行環(huán)境下,通過測量該軟件產(chǎn)品的系統(tǒng)行為來測量軟件產(chǎn)品的質(zhì)量。
在實(shí)際應(yīng)用中,大多數(shù)軟件構(gòu)件并不提供源代碼,而是以打包成可執(zhí)行文件的形式提供給使用者,而且也很難從開發(fā)階段不斷跟蹤產(chǎn)品的質(zhì)量,因此本文著重從外部度量上來說明軟件構(gòu)件可復(fù)用性質(zhì)量的度量。
3.1 接口成熟性度量
軟件構(gòu)件接口設(shè)計的優(yōu)劣是體現(xiàn)軟件構(gòu)件能否被復(fù)用的關(guān)鍵因素之一。接口成熟性是指軟件構(gòu)件產(chǎn)品提供某種服務(wù)且完成其邏輯行為的能力。通常可以對提供某種服務(wù)且完成某些邏輯行為的能力的一些屬性進(jìn)行度量。度量要素包括接口的正確性和接口的易理解性。
接口的正確性的判斷依據(jù)的是產(chǎn)品接口是否符合接口規(guī)格說明。有關(guān)接口正確性的詳細(xì)度量如表1所示。
表1 接口正確性度量
度量公式X=1-A/B
A=在列入評價的接口中,檢測出未實(shí)現(xiàn)或已實(shí)現(xiàn)但有缺陷的功能數(shù)
B=被列入評價的接口的功能總數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入用戶手冊/運(yùn)行(測試)報告/評價報告
度量方法用戶閱讀完產(chǎn)品描述后,對用戶能獨(dú)立操作且正確理解的接口功能數(shù)進(jìn)行計數(shù),并將其與被評價的接口的功能總數(shù)相比較。
接口的易理解性是指接口規(guī)格說明是否能被用戶正確理解。有關(guān)接口易理解性的詳細(xì)度量如表2所示。
表2 接口的易理解性度量
度量公式X=A/B
A=在列入評價的接口中,被正確理解的功能數(shù)
B=被列入評價的接口的功能總數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入用戶手冊/運(yùn)行(測試)報告/評價報告
度量方法在列入評價的接口中,用戶閱讀完產(chǎn)品描述后,對用戶能獨(dú)立操作或者看演示等手段而能正確理解的接口功能數(shù)進(jìn)行計數(shù),并將其與被評價的接口的功能總數(shù)相比較。
3.2 獨(dú)立性度量
軟件構(gòu)件的獨(dú)立性是指在要求的運(yùn)行環(huán)境下,構(gòu)件產(chǎn)品不依賴其他環(huán)境而能獨(dú)立工作的程度。獨(dú)立性主要從功能、軟件、硬件和結(jié)構(gòu)四個方面來考慮。
功能的獨(dú)立性是指軟件構(gòu)件在功能上不依賴于其他環(huán)境的程度。有關(guān)它的質(zhì)量度量如表3所示。
表3 功能的獨(dú)立性度量
度量公式X=1-A/B
A=在列入評價的目標(biāo)環(huán)境中檢測出依賴目標(biāo)環(huán)境的功能數(shù)
B=各目標(biāo)環(huán)境中列入評價的功能總數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入用戶手冊/運(yùn)行(測試)報告/評價報告
度量方法
在所列入評價的功能中,對與目標(biāo)環(huán)境相依賴的功能進(jìn)行計數(shù),將其與各目標(biāo)環(huán)境中列入評價的功能總數(shù)相比較。
硬件的獨(dú)立性是指軟件構(gòu)件產(chǎn)品不依賴特定的硬件工作平臺而能獨(dú)立工作的程度。有關(guān)它的質(zhì)量度量如表4所示。表4 硬件的獨(dú)立性度量
度量公式X=1-A/B
A=在列入評價的硬件環(huán)境中,檢測出本構(gòu)件不能獨(dú)立運(yùn)行的硬件平臺數(shù)
B=列入評價的硬件平臺總數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入用戶手冊/運(yùn)行(測試)報告/評價報告
度量方法在列入評價的硬件環(huán)境中,對本構(gòu)件不能獨(dú)立運(yùn)行的硬件平臺進(jìn)行計數(shù),并將其與環(huán)境中總的硬件平臺數(shù)相比較。
軟件獨(dú)立性指的是軟件構(gòu)件產(chǎn)品不依賴操作系統(tǒng)或其他軟件而能獨(dú)立工作的程度。軟件獨(dú)立性度量又包括相對于操作系統(tǒng)軟件的獨(dú)立性度量和其他操作系統(tǒng)軟件的獨(dú)立性度量,這兩者的度量方法是一樣的,因篇幅有限,這里主要列出相對于操作系統(tǒng)軟件獨(dú)立性度量,如表5所示。
表5 軟件獨(dú)立性度量
度量公式X=1-A/B
A=構(gòu)件所依賴的操作系統(tǒng)個數(shù)
B=列入評價的操作系統(tǒng)個數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入用戶手冊/運(yùn)行(測試)報告/評價報告
度量方法在列入評價的操作系統(tǒng)中,對本構(gòu)件所依賴的操作系統(tǒng)進(jìn)行計數(shù),將其與列入評價的操作系統(tǒng)總數(shù)相比較。
軟件結(jié)構(gòu)的獨(dú)立性度量屬于內(nèi)部度量,主要是對構(gòu)件的耦合度和內(nèi)聚度的度量,結(jié)構(gòu)獨(dú)立性好的構(gòu)件一定是低耦合、高內(nèi)聚的,所以在應(yīng)用中主要通過計算構(gòu)件產(chǎn)品耦合度和內(nèi)聚度值來反應(yīng)構(gòu)件結(jié)構(gòu)的獨(dú)立性。表6、7分別給出的是出度比和內(nèi)聚度的度量。
表6 出度比度量
度量公式(出度比)X=1-A/(A+B)A=構(gòu)件出耦合度
B=構(gòu)件入耦合度
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入源代碼
度量方法在應(yīng)用環(huán)境中,對構(gòu)件的入耦合度和出耦合度進(jìn)行計數(shù),并將出耦合度數(shù)與耦合度總數(shù)相比較。
表7 內(nèi)聚度度量
度量公式(內(nèi)聚度)X=1M=1
Mi=1NiM×(M-1)M>1
M=構(gòu)件內(nèi)部的成分?jǐn)?shù)
Ni=構(gòu)件內(nèi)第i個成分所依賴的其他成分?jǐn)?shù)
B=構(gòu)件入耦合度
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入源代碼
度量方法對構(gòu)件內(nèi)各成分間的關(guān)系數(shù)進(jìn)行計數(shù),將其與構(gòu)件內(nèi)部成分總數(shù)相比較。
3.3 易組裝性度量
在指定的環(huán)境下,軟件構(gòu)件應(yīng)能與其他構(gòu)件一起很容易被組裝成新的軟件系統(tǒng),因此易組裝性反映了該構(gòu)件產(chǎn)品在一定的環(huán)境下與其他構(gòu)件結(jié)合的能力。從外部屬性來看,易組裝性度量就是考慮構(gòu)件組裝的友好程度。而組裝的友好性可以通過與其他構(gòu)件組裝所花費(fèi)的時間和本構(gòu)件可直接相連的構(gòu)件數(shù)進(jìn)行度量。與其他構(gòu)件組裝花費(fèi)的時間的度量可參考表8。
表8 構(gòu)件組裝花費(fèi)的時間的度量
度量公式X=T
T=與列入評價的構(gòu)件相組裝時,所花費(fèi)的時間
測量值解釋X >0且越短越好
數(shù)據(jù)輸入運(yùn)行(測試)報告/用戶手冊
度量方法在一定的運(yùn)行環(huán)境中,將本構(gòu)件與列入評價的構(gòu)件進(jìn)行組裝,并對組裝所花費(fèi)的時間進(jìn)行計數(shù)。
與本構(gòu)件可直接相連的構(gòu)件數(shù)的度量參見表9。
表9 可直接相連的構(gòu)件數(shù)的度量
度量公式X=A/B
A=在列入評價的構(gòu)件中,經(jīng)檢測可直接與度量構(gòu)件相連的構(gòu)件數(shù)
B=列入評價的構(gòu)件總數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入運(yùn)行(測試)報告/用戶手冊
度量方法在列入評價的構(gòu)件中,可直接與該構(gòu)件相連的構(gòu)件數(shù)進(jìn)行計數(shù),并將其與構(gòu)件總數(shù)相比較。
從內(nèi)部屬性來看,對構(gòu)件易組裝性的度量還應(yīng)考慮構(gòu)件接口的簡單性和與其他構(gòu)件的耦合性,內(nèi)部度量通過接口的個數(shù)來反映接口的簡單性,耦合性是通過構(gòu)件的耦合度來度量的,該項(xiàng)度量在結(jié)構(gòu)獨(dú)立性中已經(jīng)闡述,這里不再重復(fù)。
3.4 通用性度量
通用性指的是軟件構(gòu)件產(chǎn)品所應(yīng)用的領(lǐng)域或應(yīng)用的平臺覆蓋面的廣度。通用性越廣的構(gòu)件越易于復(fù)用。通用性的度量可用來度量軟件構(gòu)件產(chǎn)品應(yīng)用領(lǐng)域的覆蓋度。有關(guān)它的度量如表10所示。
表10 通用性的度量
度量公式X=A/BA=在列入評價的目標(biāo)領(lǐng)域中,本構(gòu)件已經(jīng)被采用的領(lǐng)域數(shù)目
B=列入評價的目標(biāo)領(lǐng)域總數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入運(yùn)行(測試)報告/用戶手冊
度量方法在列入評價的目標(biāo)領(lǐng)域中,對已采用本軟件構(gòu)件的領(lǐng)域進(jìn)行計數(shù),將其與列入評價的領(lǐng)域總數(shù)相比較。
3.5 演化兼容性度量
演化兼容性指的是舊版本軟件在替換新版本軟件時,前者對后者所提供的兼容性。它包含兩方面的內(nèi)容,即在線演化兼容和非在線演化兼容。在線演化兼容指的是軟件構(gòu)件在系統(tǒng)運(yùn)行狀態(tài)中新版本替換舊版本軟件構(gòu)件時,前者對后者的兼容性。非在線演化兼容性指的是新版本軟件構(gòu)件在替換非運(yùn)行的舊軟件構(gòu)件時,前者對后者的兼容性。在線演化兼容性和非演化兼容性的度量方法類似,因篇幅有限,只列出在線演化兼容性的度量。如表11所示。
表11 在線演化兼容性的度量
度量公式X=1/(A+1)
A=該軟件構(gòu)件的新版本在線替換舊版本時,在考察的運(yùn)行時間內(nèi)發(fā)生失效的次數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入運(yùn)行(測試)報告
度量方法在軟件構(gòu)件運(yùn)行所考察的時間內(nèi),新版本替換舊版本時,對發(fā)生失效的次數(shù)進(jìn)行計數(shù)。
3.6 可復(fù)用性依從度量
可復(fù)用性依從性指的是依從于可復(fù)用相關(guān)的標(biāo)準(zhǔn)或約定的能力。可復(fù)用性的依從性度量指的是具有依從性問題的功能或事件的數(shù)目,這些依從性問題是指軟件構(gòu)件產(chǎn)品不遵從標(biāo)準(zhǔn)、約定、合同或其他法定的需求。詳細(xì)度量如表12所示。
4 基于軟件構(gòu)件可復(fù)用性的可信度度量
可信度的度量是以用戶為出發(fā)點(diǎn)而考慮的,從用戶角度上,軟件能否被復(fù)用且被復(fù)用的次數(shù),直接反映了用戶對使用該構(gòu)件的信任程度。對構(gòu)件產(chǎn)品的可信度的度量可以從三方面來考慮,它們是軟件的復(fù)用用戶次數(shù)、軟件復(fù)用次數(shù)和選用度。在度量方法上一般采用的是調(diào)查問卷的形式。需要指出的是在度量這些元素之前,要先考慮的是發(fā)出的調(diào)查問卷的數(shù)量,它必須相當(dāng)于該應(yīng)用領(lǐng)域中實(shí)際潛在的平均用戶數(shù),否則調(diào)查的可信度將降低。
表12 可復(fù)用性依從性的度量
度量公式X=1-A/B
A=在列入評價的可復(fù)用性的依從性項(xiàng)中,檢測出還未實(shí)現(xiàn)的項(xiàng)數(shù)。
B=列入評價的可復(fù)用性的依從性項(xiàng)數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入產(chǎn)品對依從性的描述(用戶手冊或規(guī)格說明)和相關(guān)的標(biāo)準(zhǔn)、約定及法規(guī)/運(yùn)行(測試)報告/評價報告
度量方法對所要求的依從性已得到滿足的項(xiàng)數(shù)進(jìn)行計數(shù),并與列入評價依從性的項(xiàng)數(shù)相比較。
復(fù)用用戶數(shù)用來度量已經(jīng)復(fù)用該構(gòu)件的用戶數(shù)量。對它的度量方法如表13所示。
表13 復(fù)用用戶數(shù)的度量
度量公式X=A/B
A=已經(jīng)復(fù)用該軟件構(gòu)件的用戶數(shù)。
B=接受調(diào)查的用戶總數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入用戶調(diào)查報告
度量方法對已經(jīng)復(fù)用該軟件構(gòu)件的用戶數(shù)進(jìn)行計數(shù),并與接受調(diào)查的用戶總數(shù)相比較。
復(fù)用次數(shù)用來度量指定時間內(nèi)軟件構(gòu)件被的復(fù)用次數(shù)。對它的度量方法如表14所示。
表14 復(fù)用次數(shù)的度量
度量公式X=AA=在指定時間內(nèi),構(gòu)件已被復(fù)用的次數(shù)。
測量值解釋X≥0且越大越好
數(shù)據(jù)輸入用戶調(diào)查報告
度量方法指定時間內(nèi),統(tǒng)計該構(gòu)件已被復(fù)用的次數(shù)。
選用度用來度量軟件構(gòu)件被選用的程度。對它的度量方法如表15所示。
表15 選用度的度量
度量公式X=A/BA=構(gòu)件已被使用的總次數(shù)
B=預(yù)計使用本構(gòu)件的總次數(shù)
測量值解釋0.0≤X≤1.0且越接近1.0越好
數(shù)據(jù)輸入用戶調(diào)查報告
度量方法對構(gòu)件已被使用的總次數(shù)進(jìn)行計數(shù),并將其與預(yù)計使用本構(gòu)件的總次數(shù)相比較。
5 結(jié)束語
本文提出了對可復(fù)用性有著直接影響的六個子特性(接口成熟性、獨(dú)立性、易組裝性、通用性、演化兼容性和可復(fù)用依從性),并圍繞它們提出軟件構(gòu)件可復(fù)用性質(zhì)量度量的方法,還通過構(gòu)件的外部和內(nèi)部屬性,推薦了一些可操作的度量元和度量實(shí)例,最后站在用戶的角度,提出了基于軟件構(gòu)件可復(fù)用性的可信度質(zhì)量度量。軟件構(gòu)件可復(fù)用性質(zhì)量度量對于一般軟件構(gòu)件都可度量,對于某一特定領(lǐng)域軟件構(gòu)件還可增加相應(yīng)的度量元。所以在實(shí)際應(yīng)用中,使用者可根據(jù)自己的實(shí)際情況作增刪,也可以將每個度量元作為可復(fù)用質(zhì)量度量的一個域,將所有值通過加權(quán)等方法綜合起來對可復(fù)用性進(jìn)行度量。
本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。