国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式系統(tǒng)軟件工作量多源線性估算方法仿真

2021-11-17 06:44夏雙成
計算機仿真 2021年4期
關(guān)鍵詞:工作量線性嵌入式

夏雙成

(長春工業(yè)大學(xué)人文信息學(xué)院,吉林 長春 130000)

1 引言

嵌入式系統(tǒng)軟件工作量的估算是計劃開發(fā)軟件的基礎(chǔ),為軟件項目制定合適的開發(fā)計劃,是軟件項目管理的核心。軟件工作量估算是其中的主要部分,估算結(jié)果是否正確也十分重要,軟件工作量較低的估算會影響軟件項目的完成時間,較高的估算將會增加成本[1],導(dǎo)致公司承擔較高的費用。估算軟件工作量一直是一個難題,首先,軟件的本質(zhì)使軟件具有不可見性和復(fù)雜性;其次,由于項目經(jīng)驗數(shù)據(jù)不斷減少,或者新技術(shù)的應(yīng)用和出現(xiàn)使經(jīng)驗數(shù)據(jù)無效,導(dǎo)致評估參考準確性差,同樣也會影響軟件工作量估算結(jié)果的可信度[2];最后,軟件工作量評估人員的一些主觀因素也會影響軟件工作量的估算。目前,軟件組織和部分學(xué)者也開始投入到嵌入式系統(tǒng)軟件工作量估算的研究中。

亓卓亞[3]提出軟件項目中軟件工作量多源線性估算方法,首先,給出軟件工作量估算方法,并對COCOMO模型估算方法進行了簡單介紹;其次,對軟件工作量估算中項目規(guī)模度量方法,主要對功能點分析方法進行了描述;最后,利用三步法對軟件工作量進行多源線性估算,實驗結(jié)果表明,該方法合理性較高。盛玉強和楊春花[4]提出基于軟件量化的嵌入式系統(tǒng)軟件工作量多源線性估算方法,對軟件開發(fā)過程進行量化,可以獲得量化數(shù)據(jù),對量化數(shù)據(jù)進行統(tǒng)計和分析來確定其指標,在此基礎(chǔ)上,對嵌入式系統(tǒng)軟件工作量進行估算,實驗結(jié)果表明,該方法簡單合理。但是以上兩種方法對軟件工作量估算的平均誤差率較高,不能夠準確的完成對軟件工作量的估算。張文等[5]人對嵌入式系統(tǒng)工作量多源線性估算方法展開了相應(yīng)研究,對軟件工作量數(shù)據(jù)缺失內(nèi)在機理進行介紹,利用樸素貝葉斯算法對嵌入式軟件工作量進行估算,實驗結(jié)果表明,該方法可以對工作量的缺失數(shù)據(jù)進行處理,但該方法存在軟件工作量估算效率低的問題。

針對上述三種研究結(jié)果中存在的問題,提出基于灰色關(guān)聯(lián)分析的嵌入式系統(tǒng)軟件工作量多源線性估算方法。建立軟件度量數(shù)據(jù)模型,并計算軟件項目之間的關(guān)聯(lián)度,以嵌入式系統(tǒng)軟件項目的歷史數(shù)據(jù)為基準,采用灰色關(guān)聯(lián)分析方法對嵌入式系統(tǒng)軟件工作量進行估算。研究表明,本文方法軟件工作量的估算平均誤差率較低、估算效率較高,可以準確、有效的完成對軟件工作量的估算。

2 基于灰色關(guān)聯(lián)分析的工作量多源線性估算

2.1 軟件度量數(shù)據(jù)模型

統(tǒng)計學(xué)中的回歸分析方法可以解決軟件工作量中相互關(guān)聯(lián)變量之間的關(guān)系,多元線性回歸模型是指變量Y和多個變量X1,X2,…,Xk間的線性關(guān)系,假設(shè)Y和X1,X2,…,Xk間存在線性關(guān)系,并且為變量的多元線性函數(shù),稱其為線性回歸模型,有如下表達式

Y=β0+β1X1+β2X2+…+βkXk+μ

(1)

式中,Y表示因變量,Xj(j=1,2,…,k)表示k個自變量,βj(j=0,1,2,…,k)表示k+1個未知參數(shù),μ表示隨機誤差[6],通常情況下,設(shè)μ~N(0,σ2)。

因變量Y和自變量X1,X2,…,Xk的線性方程如下

E(Y)=β0+β1X1+β2X2+…+βkXk

(2)

式(2)被稱作總體回歸方程。對于n組觀測值X1i,X2i,…,Xki(i=1,2,…,n),方程組為

Yi=β0+β1X1i+β2X2i+…+βkXki+μi

(3)

式中,μi表示第i個隨機誤差。即

(4)

矩陣表達式如下

(5)

Y=Xβ+μ

(6)

總體回歸方程如下

E(Y)=Xβ

(7)

根據(jù)觀測樣本對模型中的參數(shù)進行估計,并統(tǒng)計和檢驗回歸方程和估計參數(shù),多元線性回歸模型中有多個因變量[8],多個因變量同時對自變量產(chǎn)生作用,若觀察一個因變量對自變量的影響,需要假定其它因變量不變來展開分析。

參數(shù)β0,β1,β2,…,βk為未知,采用樣本觀測值來估計以上參數(shù),假設(shè)計算獲得的估計值為0,1,2,…,k,利用參數(shù)的估計值來代替β0,β1,β2,…,βk,可以得到如下方程

i=0+1X1i+2X2i+…+kXkn

(8)

=X

(9)

樣本回歸方程所獲得的因變量Yi和i間的偏差為殘差ei,表達式為

ei=Yi-i=Yi-(0+1X1i+2X2i+…+kXkn)

(10)

根據(jù)獲得的殘差,構(gòu)建軟件度量數(shù)據(jù)模型U,其表達式為

U=eiβ

(11)

在選取樣本的過程中,樣本的容量需要滿足

1)最小樣本容量:以最大自然和最小二乘法原理為基礎(chǔ),可以獲得參數(shù)的估計量,其容量必須大于軟件度量數(shù)據(jù)模型中自變量的數(shù)量,由此得到樣本容量大于n+1。

2)符合基本要求的容量。從參數(shù)的估計角度出發(fā),容量應(yīng)該是自變量數(shù)量的5倍多;從檢驗有效性的方面來說,應(yīng)大于30。

3)在大樣本下,軟件度量數(shù)據(jù)模型的性質(zhì)可以得到證明。

構(gòu)建回歸方程時,估計模型中的參數(shù)有利于檢驗軟件度量數(shù)據(jù)模型的有效性。

2.2 軟件工作量多源線性估算

嵌入式系統(tǒng)軟件項目的歷史數(shù)據(jù),為軟件工作量估算提供了理論依據(jù),建立軟件項目的歷史數(shù)據(jù)對軟件工作量估算的準確性起著重要作用,采用軟件項目歷史數(shù)據(jù)可以避免對軟件工作量估算過程中出現(xiàn)的無依據(jù)性和主觀性,對采集數(shù)據(jù)進行定義以及數(shù)據(jù)的采集是構(gòu)建軟件項目歷史數(shù)據(jù)的兩個任務(wù)。在構(gòu)建軟件度量數(shù)據(jù)模型的基礎(chǔ)上,以嵌入式系統(tǒng)軟件項目的歷史數(shù)據(jù)為基準,對嵌入式系統(tǒng)軟件工作量進行估算研究。

嵌入式系統(tǒng)軟件工作量的估算屬于比較復(fù)雜的系統(tǒng)工程。通常情況下,利用特征對軟件項目進行描述,特征也能夠?qū)η度胧较到y(tǒng)軟件工作量展開估算,軟件項目特征給軟件工作量所帶來的影響不同,在估算前需要將影響最大的特征選取出來。過程為:將軟件項目特征當作比較序列,將軟件工作量當作參考序列,采用灰色關(guān)聯(lián)分析方法對軟件工作量和項目特征間的關(guān)聯(lián)度進行計算;隨后,按照回歸技術(shù)選出最優(yōu)項目特征集合,采用灰色關(guān)聯(lián)分析方法對嵌入式系統(tǒng)軟件工作量進行估算。

嵌入式系統(tǒng)軟件項目集合D的矩陣表達式如下

(12)

灰色關(guān)聯(lián)分析方法確定軟件項目子集的步驟為建立參考和比較數(shù)列。將D的每一列當作一組數(shù)據(jù),可以獲得數(shù)列

(13)

(14)

(15)

(16)

(17)

對灰色關(guān)聯(lián)度進行計算。在計算比較和參考序列灰色關(guān)聯(lián)度的過程中,關(guān)聯(lián)度越大說明軟件項目特征對工作量越重要。在計算關(guān)聯(lián)度時,需要分析不同軟件項目特征所帶來的影響,可以提高計算的準確度。

當x0(k′)與xi′(k′)為數(shù)值型特征時,有

Δi′k′=|x0(k′)-xi′(k′)|

(18)

當x0(k′)與xi′(k′)為類別型特征時,有

(19)

按照灰色關(guān)聯(lián)度構(gòu)建軟件工作量和軟件項目特征的關(guān)聯(lián)序χf。

采用回歸技術(shù)選擇最優(yōu)軟件項目特征集合Sbest,步驟為

1)將χf中對嵌入式系統(tǒng)軟件工作量帶來最大影響的特征放入Sbest中;

2)對平均誤差進行計算;

3)將χf中的剩余項目特征添加在Sbest中;

4)按照最優(yōu)項目特征集合Sbest對軟件工作量進行估算,添加項目特征之后軟件工作量估算的平均誤差率較高時,則刪除該特征集合;

5)判斷χf中的項目特征是否添加結(jié)束,結(jié)束則終止算法,輸出Sbest。

在確定了最優(yōu)軟件項目特征集合之后,采用灰色關(guān)聯(lián)分析方法對軟件工作量進行估算。步驟如下:

1)構(gòu)建數(shù)據(jù)集。將D1的每行當作一組數(shù)據(jù),參考序列為

x0={x1(1),x1(2),…,x1(q)}

(20)

比較序列為

(21)

式中,q代表Sbest中軟件項目的特征數(shù)量。

2)標準化處理。利用均值化變換方法做標準化處理,可以去除不同綱量對灰色關(guān)聯(lián)分析方法帶來的影響。

3)計算灰色關(guān)聯(lián)度。

4)估算軟件工作量。根據(jù)計算結(jié)果,確定x0與x1,x2,…,xn′的關(guān)聯(lián)序ωi′,采用關(guān)聯(lián)度較大的ι個軟件項目對x0的軟件工作量進行估算

(22)

(23)

3 實驗設(shè)計與結(jié)果分析

基于灰色關(guān)聯(lián)分析的嵌入式系統(tǒng)軟件工作量多源線性估算方法的實驗開發(fā)環(huán)境為:操作系統(tǒng)為WindowsXP,服務(wù)器為Tomcat5.5,數(shù)據(jù)庫為Microsoft SQL2000,開發(fā)工具為Eclipse。為了驗證本文方法的有效性,選取某公司網(wǎng)站的嵌入式系統(tǒng),圖1為嵌入式系統(tǒng)軟件結(jié)構(gòu)。

圖1 嵌入式系統(tǒng)軟件結(jié)構(gòu)

根據(jù)嵌入式系統(tǒng)的需求分析和概念設(shè)計,采用本文方法、文獻[3]方法和文獻[4]方法對其進行工作量估算。估算結(jié)果如表1所示。

表1 工作量估算結(jié)果對比

根據(jù)表1可知,文獻[3]方法的工作量估算平均結(jié)果為415;文獻[4]方法的工作量估算平均結(jié)果為405;本文方法的工作量估算平均結(jié)果為443,僅與實際工作量估算平均結(jié)果差5 bit,本文方法的工作量估算結(jié)果更接近實際的工作量估算結(jié)果。說明本文方法的工作量估算準確性較高。

為了驗證軟件工作量估算方法的有效性,對其估算的誤差率展開實驗研究,誤差率越高,估算的越不準確,測試結(jié)果如圖2所示。

圖2 不同方法的工作量估算誤差率對比

分析圖2可知,在對嵌入式系統(tǒng)軟件工作量進行估算的過程中,對本文方法與文獻[3]方法、文獻[4]方法的估算誤差率展開了相應(yīng)的測試。對比可知,文獻[3]方法在進行工作量估算時,呈現(xiàn)散點狀態(tài),估算誤差率最高;而本文方法的工作量估算誤差率最低,其次是文獻[4]方法,說明本文方法所得到的估算結(jié)果更加準確。

在對嵌入式系統(tǒng)軟件工作量估算平均誤差率測試的基礎(chǔ)上,進一步測試軟件工作量的估算效率,測試結(jié)果如圖3所示。

圖3 不同方法軟件工作量的估算效率對比結(jié)果

分析圖3可知,本文方法軟件工作量為200小時的估算效率為60%,文獻[5]方法軟件工作量為1400小時的估算效率為60%,本文方法工作量1400小時的估算效率為90%,對比可知,本文方法最少工作量的估算效率與文獻[5]方法最多工作量的估算效率相同,說明本文方法軟件工作量的估算效率更高。

4 結(jié)論

為了深入研究有關(guān)嵌入式系統(tǒng)的軟件工作量,提出基于灰色關(guān)聯(lián)分析的嵌入式系統(tǒng)軟件工作量多源線性估算方法,分別對軟件工作量估算的誤差率和效率展開了相應(yīng)測試。

1)提出方法軟件工作量估算的誤差率較低,并且還具有較高的估算效率,可以準確且有效的實現(xiàn)對嵌入式系統(tǒng)軟件工作量的估算,同時也驗證了提出方法的有效性。

2)提出方法在傳統(tǒng)方法的基礎(chǔ)上將軟件工作量當作參考序列,采用灰色關(guān)聯(lián)分析方法對軟件工作量和項目特征間的關(guān)聯(lián)度進行計算,從而提高計算的準確度;并采用灰色關(guān)聯(lián)分析方法對嵌入式系統(tǒng)軟件工作量進行估算,提高了軟件工作量的估算效率。

3)提出方法還能夠為軟件工作量估算的下一步研究提供參考意見,為軟件項目的開發(fā)奠定了實用性的基礎(chǔ)。

猜你喜歡
工作量線性嵌入式
基于IMX6ULL的嵌入式根文件系統(tǒng)構(gòu)建
關(guān)于非齊次線性微分方程的一個證明
非齊次線性微分方程的常數(shù)變易法
線性耳飾
思科發(fā)布云計算市場發(fā)展報告
精細績效管理與醫(yī)院科室分配制度探討
實驗室工位考勤管理軟件設(shè)計
常數(shù)變易法的理論依據(jù)
高校圖書館開展嵌入式信息素質(zhì)教育的思考
嵌入式組件技術(shù)的研究及應(yīng)用
得荣县| 陈巴尔虎旗| 广平县| 米脂县| 云南省| 江口县| 永修县| 临夏县| 新建县| 昆明市| 平遥县| 内江市| 武功县| 昭通市| 屏边| 怀仁县| 喀喇沁旗| 敖汉旗| 家居| 中西区| 南木林县| 乐山市| 龙海市| 香港 | 张家界市| 九台市| 陇西县| 确山县| 从化市| 尼勒克县| 鹿邑县| 咸阳市| 沁水县| 大田县| 稻城县| 吉木萨尔县| 建德市| 株洲县| 安远县| 白山市| 环江|