鄭 鵬
(莆田學院 信息工程學院, 福建 莆田 351100)
?
基于LM-BP神經網絡的軟件質量綜合評價
鄭鵬
(莆田學院 信息工程學院, 福建 莆田 351100)
摘要:由于傳統軟件質量評價存在主觀性等缺陷.針對這種情況,提出基于LM-BP神經網絡的軟件質量綜合評價方法.算法以ISO/IEC 9126為軟件質量度量標準,解決了標準BP算法存在的問題,建立了LM-BP神經網絡軟件質量綜合評價模型,為軟件質量綜合評價提供了一種新的方法.實驗結果表明,LM-BP神經網絡的軟件質量綜合評價能客觀、定量、快速且準確得到軟件質量綜合評價結果,該評價模型具有客觀性和實用性.
關鍵詞:軟件質量; ISO/IEC 9126標準; 神經網絡; LM-BP; 綜合評價
軟件產品質量的評價,即軟件產品質量特性的檢測與度量.隨著計算機技術和軟件產業的發展,軟件質量評價成為軟件工程領域的熱點問題.神經網絡方法是通過模擬大腦神經網絡處理、記憶信息的方式進行信息處理,具有自我學習以及自適應的能力.將神經網絡應用于軟件質量評價之中,能克服傳統軟件質量評價方法的一些缺陷,能快速、準確地得到軟件質量評價結果.為量化且客觀地對軟件質量進行評價,本文以ISO/IEC9126軟件質量為度量標準,利用改進的BP神經網絡算法來建立軟件質量綜合評價模型,并應用構建的算法模型對軟件質量進行評價.
1神經網絡方法
神經網絡[1]是一種以動物的神經網絡行為特征作為模擬對象的分布式數學模型,通過模擬對信息進行并行分布式處理.神經網絡是把若干個可以調整的神經元的權值連接起來,具有可大規模并行處理以及優良自我組織、自我學習能力等特點,在計算機處理、智能信息控制等諸多領域得到很好的應用.
迄今為止,神經網絡已發展成為了數十種優秀的模型,比如: Hinton模型、Hopficld模型、以及Kohonen的自我組織網絡模型和Rumelhart等的多層自我感知機模型等等.其中,應用最廣泛的是多層感知機神經網絡[2],即BP網絡.BP因其采用誤差反向傳播算法而得名,上個世紀八十年代,D.E.Rumelhart與McCelland等幾個科學家提出了BP算法,BP算法的特點是結構比較簡單且容易實現.經過了數十年的發展,在實際應用中已經有了很多的神經網絡模型變式.
BP網絡的結構是一種分層型的網絡,由三層:輸入層、隱層和輸出層組成(圖1).BP網絡各層之間既互連又獨立,網絡的各層間全互連,每一層中的各單元則相互獨立.BP網絡中可有一個或多個的隱層.BP算法步驟如下:
(1)選擇學習訓練集,設定n個學習樣本.
(2)參數的初始化,即對神經網絡模型中涉及的權值和閥值初始化賦值,初始值通常設為(-1,1)之間的隨機數,并將訓練集里的各個樣本實行歸一化處理.
(3)計算將輸入層中的加權數據輸入到隱含層中的激活函數得到的新值,再進行加權輸入處理到輸出層激活函數以得到輸出層的計算結果.
(4)如果計算的結果與預期結果存在誤差,那調整權值、閥值并重新計算每一層的輸出結果直至誤差在誤差范圍內為止.

圖1 神經網絡結構圖
2LM-BP算法
標準BP網絡算法的優點是:結構嚴謹、可操作性強等,但BP算法在收斂過程中存在收斂速度比較慢、“局部最小值”問題以及學習速率不易確定的缺點.這些缺陷可以通過Levenberg-Marquardt BP算法(簡稱LM-BP算法)來克服.相對于普通的神經網絡算法LM-BP優化算法的魯棒性好、收斂速度快.LM-BP算法是把高斯牛頓算法與梯度下降算法的結合起來,同時改善了快速特性和全局收斂特性,進而最終有效的改進收斂性能.LM-BP算法的基本思想就是在應用中要解決非最優點奇異性的問題,做法是讓目標函數在靠近最優點時對極值點附近的特性近似二次性,以加快尋優收斂過程.
對于新的權值與閥值的計算,可設x(m)以表示第m次的迭代里權值與閾值組成的向量,新的向量xm+1可表示為:
x(m+1)=x(m)+Δx
(1)
LM-BP算法是改進的高斯—牛頓法,其形式[3]為:
Δx=-[JT(x)J(x)+μI]-1J(x)e(x)
(2)
式(2)中比例系數μ>0為常數,I是單位矩陣.
當比例系數μ取值為0時,式(2)就是高斯—牛頓算法.算法在μ的取值變大時就會靠近梯度下降法.隨著成功迭代次數的增加,μ的值會減小.高斯—牛頓法的計算速度和精度在接近誤差最小值時會變得更快、更高.通過許多的實例證明,采用了近似二階導數信息的LM-BP算法的速度可比梯度下降法的速度高數十倍以上.除此之外,因為[JT(x)J(x)+μI]本身是正定的,因此式(2)中的存在解,從這方面來看,LM算法也比高斯—牛頓法來的優.
3ISO/IEC9126軟件質量度量標準
軟件產品中衡量明確或隱含的能力的有關特征的指標綜合,即是軟件質量.軟件質量的評價評估,是充分保障質量的重要方法.軟件產品的相關質量特性,通常采用經過確認或被廣泛接受之尺度來評估.ISO/IEC 9126軟件質量模型是國際標準化組織制定的一種評價軟件質量通用模型.該標準定義了六種質量特性,并描述了軟件質量評估過程的模型.
ISO/IEC 9126軟件質量度量模型[4-5]分為特性、子特性和度量三層.該度量模型中,一個質量特性由一些子特性來衡量,而每一子特性又由若干個指標來度量.按照獨立與最小關聯的原則,ISO/IEC 9126把軟件產品劃分為六大個質量特性:功能性(Enctionality)、可靠性(Reliability)、易用性(Esability)、效率(Efficiency)、維護性(Maintainability)和可移植性(Portability) (如圖2所示),并選擇了與其對應的21個子特性.ISO/IEC 912軟件度量模型中包含的軟件度量指標體系,這些指標體系針對的度量模型的三層,涵括了軟件內、外部質量度量的因素,都為定量客觀的評價軟件質量打下基礎,更為質量控制作了堅實的保障.

圖2 ISO/IEC 9126軟件質量模型
4基于LM-BP算法的軟件質量綜合評價模型
4.1指標體系及評價分級標準
依據ISO/IEC 9126標準,選取功能性、可靠性、易用性、效率、維護性、可移植性這6大特性以及下屬的21個指標作為軟件質量綜合評價的評價指標,用I1~I21表示(表1)[6].確定指標體系后,把軟件質量根據評價結果分為4個等級,分別用V1,V2,V3,V4來表示軟件質量的優秀,良好,合格,不合格.向量表示為優秀V1=(1,0,0,0),良好V2=(0,1,0,0),合格V3=(0,0,1,0),不合格V4=(0,0,0,1).
表1軟件質量評價指標體系

I評價指標I評價指標I1功能適合性I12時間特性I2功能準確性I13效率特性I3功能互操作性I14維護易分析性I4功能依從性I15維護穩定性I5功能安全性I16維護易改變性I6可靠成熟性I17維護易測試性I7可靠容錯性I18可移植適合性I8可靠易恢復性I19可移植易安裝性I9易用易理解性I20可移植遵循性I10易用易學性I21可移植易替換性I11易用易操作性
4.2確定神經網絡的拓撲結構

4.3模型參數及數據初始化
對模型進行初始化[8],包括設定訓練精度、學習因子,提供網絡初始權重文件、學習樣本文件.對于樣本數據,訓練之前將數據處理在[0,1]之間,可按式(3)進行歸一化處理:
x′=(x-xmin)/(xmax-xmin)
(3)

4.4計算模型實際輸出
4.5權值調整
為滿足迭代要求,利用遞歸方法按以下公式調整權值讓輸出節點返回到隱層節點:
Wk+1=Wk-[JT(WK)J(WK)+
μI]-1JT(Wk)E(Wk)
(4)
對權值矩陣迭代,直至滿足停止迭代要求為止.
4.6軟件質量綜合評價
在進行軟件質量綜合評價前,應選取多組能盡可能地反映各種軟件質量等級軟件質量的特征參數值供網絡系統作為學習樣本學習.網絡系統在確定各層輸入輸出節點及隱節點并調整權值并進行學習訓練后,形成了一個推理機制,最終構成一個可進行軟件質量綜合評價的知識庫.此外,還可以利用每次的軟件的評價結果不斷更新原有的軟件質量評價知識庫.如此,在對待評價軟件進行軟件質量評價時,只需要在訓練好的網絡評價模型中輸入指標值,經過模型計算,即可得到該軟件質量的綜合評價值.
5實例
該標準定義了六種質量特性,并描述了軟件質量評估過程的模型.筆者根據軟件質量標準化自評和正式評價的結果及相關資料,結合評分標準,收集了20組數據,其中前18組作為訓練樣本建立軟件質量綜合評價知識庫,最后兩組作為檢驗樣本(表2).
5.1網絡參數設置與訓練
本文使用MATLAB編寫程序進行仿真.
當采用經典BP算法時,根據以上所述的神經網絡模型生成神經網絡,系統原始初始化權值以及隱藏層和輸出層的閾值后,設定學習率為0.3、最大訓練次數為100000以及誤差精度為0.00001,輸入訓練集中的樣本數據,對神經網絡進行訓練.歷時262s,經過29736次迭代之后,訓練結束(圖3).
表2LM-BP學習訓練及驗證樣本

NI1I2I3I4I5I6I7I8I9I10I11I12I13I14I15I16I17I18I19I20I21等級1453347346963465736557V32675766968967683998979V43231329322633226132133V14435647344333446334333V25213329122333248132131V16633548322663426364553V27211349342331226332113V18897985786997684999677V49455746566665865766555V310613566546665244568777V311231728324363426162355V212655366364667664568775V313211129122331227332113V114253548342665446334555V215675766766999864766793V416211129124331248332311V117473547566665664566555V318211128122331227134311V119453567566695645366537V320233348324331446334533V2

圖3 BP算法訓練曲線
當采用LM-BP算法時,根據以上所述的神經網絡模型生成神經網絡,系統原始初始化權值以及隱藏層和輸出層的閾值后,設定學習率為0.25、最大訓練次數為100000、隱含層神經元數為7以及誤差精度為0.00001,閥值初始化為0,輸入訓練集中的樣本數據,對神經網絡進行訓練.歷時8s,經過8次迭代之后,訓練結束(圖4).本文采用仿真的計算機硬件配置是:CPU為Intel(R)Celeron(R)G530,內存1G,硬盤120G.

圖4 LM-BP算法訓練曲線
5.2實例驗證
系統訓練后,使用最后2組數據驗證的指標值(表2),經過模型驗證計算出最終的計算輸出結果(表3).實例證明,實際的評價結果和改進算法的預測結果一致,由此可以證明此LM-BP神經網絡綜合評價方法能夠達到預期效果.
表3LM-BP學習訓練及驗證樣本

樣本號標準BP算法評價結果LM-BP算法評價結果實際結果質量等級190.00270.00020-0.0194-0.029501.05161.004710.06080.00170V3200.05180.035700.89510.997310.03470.012600.00120.00030V2
5.3與標準BP算法的比較
從圖3、圖4的訓練曲線與表3的評價結果中發現,相比于標準的BP算法,采用LM-BP算法的模型精度優于標準的BP算法.LM-BP算法的誤差在訓練中急劇下降,可見該算法可節省大量的訓練時間,運算速度比標準BP算法快很多.樣本的預測結果說明此網絡的收斂速度不僅快,而且收斂性也很好,軟件質量的綜合評價精度高.
6結束語
本文通過系統的規劃、設計、實現證明,人工神經網絡方法克服了傳統分析過程的復雜性,是一種自然的非線性建模過程.然后為了解決標準BP算法收斂速度慢、計算量大的缺點,引入了基于LM-BP算法的神經網絡軟件質量綜合評價模型.實驗表明,LM-BP算法可提高網絡的訓練速度,而且預測的精度更高.因此,基于LM-BP算法的神經網絡模型為軟件質量綜合評價提供了一種新的研究思路,該方法用于實際的軟件質量綜合評價中將給決策者提供重要的參考,具有一定的科學和實用價值.
參考文獻:
[1] 艾洪福,石瑩.基于BP人工神經網絡的霧霾天氣預測研究 [J]. 計算機仿真,2015,32(01):402-415.
[2] 陳濤.專家知識與神經網絡在艦載軟件質量評價中的應用[J]. 電子制作,2015(01):77-78.
[3] 王欣彥,王立鵬,李新. 基于LM-BP神經網絡的電機轉子裂紋故障診斷[J]. 微特電機,2015,43(04):18-21.
[4] 洪流,黃海波,賈春暉,肖靜. 基于外部質量特性的軟件質量模糊綜合評價方法的研究[J]. 現代計算機(專業版) 2015, 5(15):6-8.
[5] 夏剛,樓文高,婁元英. 軟件質量綜合評價的投影尋蹤模型[J].信息技術,2014(03):72-74.
[6]鄭鵬. 基于灰色-Vague集的軟件質量綜合評價[J].莆田學院學報,2014(2):55-59.
[7] 王晶晶,王劍. 一種BP神經網絡改進算法研究[J].軟件導刊,2015(3):56-57.
[8] 路闊,鐘伯成. 基于LMBP神經網絡的建筑能耗預測[J]. 計算機技術與發展,2015(06):243-246.
(編輯:姚佳良)
The comprehensive evaluation of software quality based on LM-BP neural network
ZHENG Peng
(College of Information Engineering, Putian University, Putian 351100, China)
Abstract:Because traditional software quality evaluation has some defects such as subjectivity, we proposed a method based on levenberg marquardt-back propagation(LM-BP) neural network software quality comprehensive evaluation. Based on ISO/IEC 9126 software quality model, the algorithm solves the problems existing in the standard BP algorithm, establishes the LM-BP neural network software quality comprehensive evaluation model, and offers a new method for comprehensive evaluation of software quality. Experimental results show that the LM-BP neural network software quality comprehensive evaluation is objective, quantitative, fast and accurate. The evaluation model is objective and practical.
Key words:software quality; ISO / IEC 9126 standard; neural network; levenberg marquardt-back propagation; comprehensive evaluation
中圖分類號:TP311.52
文獻標志碼:A
文章編號:1672-6197(2016)03-0074-05
作者簡介:鄭鵬,男,595410007@qq.com
收稿日期:2015-08-01