(陜西交通職業(yè)技術(shù)學(xué)院,西安,710014)
軟件程序代碼質(zhì)量度量技術(shù)分析
禹 翔
(陜西交通職業(yè)技術(shù)學(xué)院,西安,710014)
隨著科學(xué)技術(shù)的發(fā)展,我國(guó)的軟件技術(shù)研究也取得了突破性的進(jìn)展。然而,在發(fā)展的同時(shí)有關(guān)軟件程序代碼的問題也是越來(lái)越多,給人們的正常使用上帶來(lái)了很多的不便,因此有關(guān)軟件質(zhì)量的必要性和重要性已經(jīng)為很多的軟件研究人士所意識(shí)到。為了融合、擴(kuò)寬、完善、改進(jìn)Log與MCCABE軟件的度量系統(tǒng),以16個(gè)主要的度量元為基礎(chǔ),進(jìn)而來(lái)對(duì)軟件的質(zhì)量進(jìn)行評(píng)價(jià),把評(píng)分值分布函數(shù)的具體模型構(gòu)建起來(lái),在確定模型參數(shù)的時(shí)候?qū)?個(gè)不一樣型號(hào)的軟件進(jìn)行測(cè)試,根據(jù)不同的度量元權(quán)值,綜合的評(píng)分每個(gè)軟件,進(jìn)而以這樣的方式對(duì)程序代碼的質(zhì)量進(jìn)行計(jì)算。
軟件程序;代碼;質(zhì)量度量
在計(jì)算機(jī)被普遍應(yīng)用的今天,軟件程序的質(zhì)量問題在一定程度上決定著它的發(fā)展前景。因?yàn)樽鳛楫a(chǎn)品的軟件,質(zhì)量上一但出現(xiàn)了問題,必然就會(huì)引起人們的強(qiáng)烈不滿,對(duì)我國(guó)的科學(xué)技術(shù)的有效發(fā)展也會(huì)帶來(lái)巨大的阻礙。因此要保證軟件生產(chǎn)的質(zhì)量,就要對(duì)軟件的度量進(jìn)行研究,及時(shí)的發(fā)現(xiàn)問題,然后針對(duì)具體的問題采取正確的方式進(jìn)行維修與補(bǔ)救。這樣才能促進(jìn)軟件技術(shù)的可持續(xù)性發(fā)展。對(duì)此本文針對(duì)軟件程序代碼的質(zhì)量度量技術(shù)進(jìn)行了詳細(xì)的闡述,給有關(guān)的使用人員以借鑒的作用。
現(xiàn)階段,對(duì)度量元可接受值的有關(guān)評(píng)判使用的是Log工具的度量體系,利用的是0至1判別的有關(guān)標(biāo)準(zhǔn),換句話說(shuō),一旦度量元的具體數(shù)值放在給定的范圍區(qū)間之內(nèi),這樣的評(píng)判數(shù)值就是1,但是沒有落在區(qū)間的里面,相應(yīng)的評(píng)判值就會(huì)是0。目前這種判別的方式只是籠統(tǒng)的對(duì)我國(guó)軟件的質(zhì)量進(jìn)行辨別,但是MCCABE這種度量的工具不參與具體的評(píng)價(jià)只是給出簡(jiǎn)單的測(cè)量值,而且該度量工具對(duì)程序復(fù)雜度的度量上面,在log這種度量的體系當(dāng)中根本滿足不了。所以,根據(jù)我國(guó)軟件工程嵌入軟件具體結(jié)構(gòu)復(fù)雜性、高安全性、高可靠性的特點(diǎn)和一些實(shí)際的需求,把這兩種度量體系的度量元進(jìn)行有效的綜合,融合、擴(kuò)寬、完善、改進(jìn)這兩種軟件的具體度量體系,進(jìn)而不斷建立起適合我國(guó)一些行業(yè)軟件度量體系,尤其是針對(duì)我國(guó)的航天系統(tǒng)軟件應(yīng)用上能提供重要的幫助,尤其是指的是嵌入式武器型號(hào)軟件的度量方法、體系及技術(shù)。
通過(guò)大量的實(shí)驗(yàn)工作驗(yàn)證和具體的研究分析,本文在對(duì)件質(zhì)量?jī)r(jià)的評(píng)價(jià)過(guò)程中,選取了16個(gè)度量元作為度量的主要指標(biāo),其中他們分別是路徑數(shù)、函數(shù)參數(shù)個(gè)數(shù)、直接調(diào)用個(gè)數(shù)、層次數(shù)、調(diào)用者的個(gè)數(shù)等等16個(gè)度量元。

X1所表示的是:在評(píng)分值g(x)是1的時(shí)候,有關(guān)度量元的取值。
X2所表示的是:在評(píng)分個(gè)g(x)是及格的時(shí)候,有關(guān)度量元的取值。
y0所表示的是:在度量元x是0的時(shí)候,有關(guān)評(píng)分值的取值。
y2所表示的是:在度量元x的值是及格的時(shí)候,有關(guān)評(píng)分g(x)的取值。
由待定參數(shù)和評(píng)分模式的建立的求解過(guò)程可以得知,只有首先對(duì)x1,X2,y0及y2這幾個(gè)值先確定出來(lái),才能對(duì)a、b、c、d的值利用方程求解出來(lái),進(jìn)而建立評(píng)分的具體模式。在文章中x1,X2,y0及y2這幾個(gè)值的確定是經(jīng)過(guò)對(duì)9個(gè)不同類型和型號(hào)的工程代碼與之前工程中的一些經(jīng)驗(yàn)實(shí)現(xiàn)的。這些數(shù)值的確定是經(jīng)過(guò)很多數(shù)據(jù)的統(tǒng)計(jì)和積累的結(jié)果,是一個(gè)不斷調(diào)整和經(jīng)驗(yàn)的結(jié)果。
2.1實(shí)現(xiàn)詞匯頻度的評(píng)分形式
通過(guò)對(duì)軟件的實(shí)際測(cè)量,獲得與9軟件所一一對(duì)應(yīng)的有關(guān)度量元詞匯頻度的具體測(cè)量值如圖1,其中縱坐標(biāo)所表示的是度量元詞匯頻度的具體實(shí)測(cè)數(shù)值,橫坐標(biāo)所表示的是所進(jìn)行測(cè)試的軟件的具體代碼。

通過(guò)對(duì)很多的度量元數(shù)值的分析與歸納得出x1,x2,y0及y2的具體數(shù)字值分別是2.87,3.94,0.00,0.06,根據(jù)具體的算法得出,對(duì)參數(shù)a,b,c,d的具體數(shù)值進(jìn)行計(jì)算,進(jìn)而對(duì)詞匯頻度評(píng)分的模型圖進(jìn)行建立,如圖2所示,其中縱坐標(biāo)所表示的是評(píng)分值g(x)的具體取值,橫坐標(biāo)所表示的是度量元詞匯頻度的具體取值。

2.2實(shí)現(xiàn)對(duì)全復(fù)雜度的有關(guān)評(píng)分模型
圖3所示的是對(duì)9個(gè)軟件所測(cè)到的度量元具體圈復(fù)的有關(guān)測(cè)量數(shù)值,其中的縱坐標(biāo)所具體表示的是度量圈復(fù)雜度的具體實(shí)測(cè)數(shù)值,橫坐標(biāo)所所具體表示的是所進(jìn)行測(cè)試的具體軟件的代碼。

依據(jù)對(duì)很多度量元數(shù)據(jù)的分析及其歸納,所得到的x1,x2,y0及y2的具體數(shù)字分別是:5087,13.26,0.00,0360對(duì)有關(guān)圈復(fù)雜度的評(píng)分形式進(jìn)行建立如圖4所示:其中縱坐標(biāo)所表示的是評(píng)分值的具體所取的數(shù)值,橫坐標(biāo)所表示的是度量元圈復(fù)雜度x的具體取值數(shù)。

根據(jù)具體的研究可以發(fā)現(xiàn),軟件的度量是軟件質(zhì)量評(píng)價(jià)的主要基礎(chǔ),因此在具體評(píng)價(jià)的時(shí)候也要以其為準(zhǔn)則,因?yàn)榇罅慷攘康臄?shù)據(jù)的積累是建立評(píng)價(jià)模型的主要依據(jù)。所以,對(duì)于度量元的度量方式及其度量元來(lái)講必須要建立一定的標(biāo)準(zhǔn),進(jìn)而方便于廣泛的、不斷的對(duì)度量的數(shù)據(jù)進(jìn)行度量,不然對(duì)于軟件的具體質(zhì)量就永遠(yuǎn)都不可能利用科學(xué)的方式進(jìn)行進(jìn)行評(píng)價(jià)。本文通過(guò)對(duì)度量元的數(shù)值進(jìn)行具體的實(shí)測(cè),依據(jù)所研究得到的對(duì)評(píng)分值分布的具體函數(shù)的模型,就可以對(duì)9個(gè)軟件的度量元的評(píng)分值計(jì)算出來(lái),然后就可以對(duì)軟件代碼的質(zhì)量進(jìn)行評(píng)估具體的好與壞。
實(shí)際上有關(guān)軟件評(píng)價(jià)質(zhì)量的有關(guān)問題就是一個(gè)以目標(biāo)決策為主的問題,在對(duì)多目標(biāo)的問題進(jìn)行處理時(shí),對(duì)各個(gè)目標(biāo)的相對(duì)重要性要進(jìn)行認(rèn)真的考慮。
在文章當(dāng)中,度量元在軟件評(píng)測(cè)中所占有的具體比重就是通過(guò)權(quán)值來(lái)進(jìn)行具體表明的,在很大的程度上會(huì)對(duì)軟件的代碼造成影響,并且把別的相關(guān)大的度量元分別賦予比較大的權(quán)值。依據(jù)偏重于判定軟件結(jié)構(gòu)方面的評(píng)價(jià)標(biāo)準(zhǔn)與具體的原則,把注釋率的度量元的具體權(quán)值規(guī)定為1/16,有關(guān)圈復(fù)雜度的具體度量元權(quán)值規(guī)定在9/112,將其他的度量元的具體權(quán)值規(guī)定在1/14。依據(jù)每個(gè)度量元的評(píng)分值和具體權(quán)值的差異以不同,就可以對(duì)軟件的綜合評(píng)分值進(jìn)行具體的計(jì)算得出。來(lái)對(duì)軟件的質(zhì)量進(jìn)行全面的評(píng)價(jià)。
有關(guān)編程軟件的工作者就可以在對(duì)整個(gè)軟件的具體研制的過(guò)程當(dāng)中,可以直接的覺察到不足之處存在于哪一方面,依據(jù)軟件的具體度量來(lái)獲得有關(guān)反饋的信息,對(duì)軟件的管理與開發(fā)研制進(jìn)行合理的安排嗎,進(jìn)而可以對(duì)軟件開發(fā)的中間結(jié)果與最終的成果的質(zhì)量進(jìn)行及時(shí)、有效的控制。
根據(jù)度量元的具體度量值,具體分為對(duì)相關(guān)特性的度量結(jié)果和對(duì)相關(guān)子特性的度量結(jié)果,對(duì)某一質(zhì)量值的特性評(píng)價(jià)是利用若干度量結(jié)果的綜合評(píng)價(jià)得到的,對(duì)某一質(zhì)量特性的評(píng)價(jià)又可以依據(jù)若干子特性的綜合評(píng)價(jià)來(lái)進(jìn)行獲得,總的質(zhì)量評(píng)價(jià)可以通過(guò)有關(guān)質(zhì)量度量的關(guān)體系中所具體定義的有關(guān)質(zhì)量的特性來(lái)得到。度量元能用于預(yù)測(cè)最終產(chǎn)品的質(zhì)量或能夠用來(lái)評(píng)價(jià)軟件的現(xiàn)有狀態(tài),主要包括以下的有關(guān)假設(shè):度量元可以對(duì)其生命周期中的某些方面或某一階段的固定性質(zhì)進(jìn)行有效的反應(yīng);最終產(chǎn)品的行為特點(diǎn)受到固有性質(zhì)本身的影響;最終的度量與度量之間的關(guān)系也是非常的明確,至少是非常的相似,而且還可以利用一模型或是一公式來(lái)進(jìn)行具體的表達(dá)。
度量值的判定可以與期望值與計(jì)劃值做有關(guān)的比較,期望值和計(jì)劃值往往是在確定了以后的比較關(guān)鍵的數(shù)值、推測(cè)值、專家的數(shù)值等,可以比較其他類似的項(xiàng)目,利用比較度量值來(lái)進(jìn)行判斷是不是正常的數(shù)值,在其他項(xiàng)目的基礎(chǔ)之上建立起一定的基線,依據(jù)這些基線期望與判定標(biāo)準(zhǔn)互相之間的實(shí)際距離,與別的項(xiàng)目進(jìn)行比較,也可以與一類中的其他項(xiàng)目進(jìn)行對(duì)比,在這樣的背景之下,就要以其他的項(xiàng)目作為基礎(chǔ),這種方式單單的只是應(yīng)用在一些約定的基本準(zhǔn)則之間,在現(xiàn)實(shí)當(dāng)中,度量值對(duì)準(zhǔn)則或標(biāo)準(zhǔn)的偏離會(huì)有多方面的原因?qū)е拢恍┻€有可能是負(fù)面的因素,而當(dāng)中的有些偏離卻是正面的,所以在進(jìn)行具體評(píng)論的時(shí)候,不能只是看到表面的現(xiàn)象,而沒有很好的從實(shí)際去出發(fā),用正確的方式認(rèn)識(shí)與區(qū)分造成偏離的因素才是最應(yīng)該做的事情,進(jìn)而可以對(duì)軟件的質(zhì)量進(jìn)習(xí)正確的評(píng)價(jià)。
預(yù)測(cè)度量元是一個(gè)新的概念,就是在具體的開發(fā)過(guò)程中,把軟件質(zhì)量的最終特性指出來(lái)。可見對(duì)于度量元的預(yù)測(cè)是非常有用的,但是具體的操作過(guò)程中又確實(shí)會(huì)遇到種種的麻煩,對(duì)于這方面的確認(rèn),最主要的目的就是利用其對(duì)軟件的質(zhì)量特性能夠進(jìn)行很好的評(píng)估,一旦具體的度量元數(shù)值在具體的規(guī)律上和對(duì)應(yīng)的質(zhì)量值存在有很大的關(guān)系,這就是一種確認(rèn)的度量元,對(duì)于這方面的活動(dòng),非常看重于在預(yù)測(cè)度量元和子軟件的質(zhì)量上,看是否能夠達(dá)到具體的標(biāo)準(zhǔn)。在具體的生存過(guò)程中對(duì)質(zhì)量的特性值進(jìn)行測(cè)量,對(duì)軟件的評(píng)價(jià)過(guò)程當(dāng)中就會(huì)用到這些度量值,而有的時(shí)候,一些具體的值會(huì)出現(xiàn)得不到的情況,只有在項(xiàng)目的后期或是釋放之后才能夠進(jìn)行利用,面對(duì)這樣得情形,在項(xiàng)目早期運(yùn)行得時(shí)候,就會(huì)用別得度量項(xiàng)目來(lái)對(duì)質(zhì)量的特性進(jìn)行度量,如果不這樣,度量就會(huì)被不正確得應(yīng)用,因此就會(huì)導(dǎo)致應(yīng)用一些和期望質(zhì)量毫無(wú)關(guān)系的度量元來(lái)對(duì)質(zhì)量進(jìn)行衡量。根據(jù)以上得描述可以看出,對(duì)于質(zhì)量的鑒定過(guò)程當(dāng)中有很多得問題需要解決,因此要正確得對(duì)度量元進(jìn)行應(yīng)用。
進(jìn)入21世紀(jì)以來(lái),我國(guó)的軟件技術(shù)獲得了很大的發(fā)展空間,在對(duì)技術(shù)不斷更新的同時(shí),不斷的對(duì)軟件的程序代碼質(zhì)量上提出了新的要求,有很多不合格的軟件研制出來(lái),在具體的應(yīng)用當(dāng)中,會(huì)造成很多的問題出現(xiàn),因此,對(duì)軟件的程序代碼進(jìn)行質(zhì)量上的研究就顯得非常的必要。因此,我國(guó)的軟件行業(yè)不斷的對(duì)這方面加大了重視。為了研制出更為合格的軟件技術(shù)而努力。通過(guò)本文系統(tǒng)化的分析,給有關(guān)的科技工作者提供些許的建議。
[1] 邢大紅,曹佳冬,王和才,等.軟件質(zhì)量度量學(xué)綜述[J].計(jì)算機(jī)工程于應(yīng)用2011(01).
[2] 王小明.一種軟件結(jié)構(gòu)復(fù)雜度量模型及其自動(dòng)實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2003(06).
[3] 弓惠生.軟件設(shè)計(jì)復(fù)雜性度量[J].計(jì)算機(jī)研究與發(fā)展,2004(05).
SHAANXI COLLEGE OF COMMUNICATION TECHNOLOGY
Yu Xiang
(Shaanxi College of Communication Technology,Xi'an,710014)
In order to measure system,perfect fusion,widening,improved Log and MCCABE software,with 16 main metrics as the basis,and for software quality evaluation,the score distribution function of the specific model constructed,tested 9 different types of software in the determination of model parameters according to different metrics,weights,comprehensive score for each software,and in this way the quality of program code to calculate.
software quality metrics;code
禹翔(1978-),女,河北邯鄲人,碩士,講師,研究方向?yàn)橛?jì)算機(jī),電子商務(wù)。