李克文,張 郁,馬竟峰,劉洪太
(中國石油大學(華東)計算機通信與工程學院,山東 青島 266580)
隨著工業(yè)化和信息化的推進,軟件產(chǎn)品作為信息時代的產(chǎn)物逐漸成為各行各業(yè)不可或缺的工具,成為某些行業(yè)的“大腦”或“中樞神經(jīng)系統(tǒng)”,軟件質(zhì)量的高低甚至影響到人民的生命財產(chǎn)安全。
為了保證軟件質(zhì)量,很多學者以提高軟件質(zhì)量為目的對軟件質(zhì)量評價的方法進行了大量卓有成效的研究,既包括傳統(tǒng)的統(tǒng)計學方法,也包括現(xiàn)代智能計算方法等。然而,在過去的研究中,大都忽略了用戶需求對軟件質(zhì)量評價的影響,僅僅關(guān)注軟件本身的一些質(zhì)量特性,造成評價結(jié)果不全面、不客觀。軟件產(chǎn)品不同于其他實體產(chǎn)品,往往是由用戶的需求驅(qū)動的。因此,在軟件質(zhì)量評價中,用戶對于軟件的滿意程度對于軟件質(zhì)量的影響是不可忽視的,也就是說,如果生產(chǎn)出的軟件不能很好地滿足用戶需求則意味著軟件質(zhì)量差[1~3]。評價軟件質(zhì)量時,很多學者利用質(zhì)量功能展開QFD(Quality Function Deployment)將現(xiàn)階段用戶需求轉(zhuǎn)化為具體的軟件特性要求,以指導(dǎo)軟件開發(fā)[4]。質(zhì)量功能展開是采用一定的規(guī)范化方法將顧客所需特性轉(zhuǎn)化為一系列工程特性,所用的基本工具是質(zhì)量屋。Frank Liu等人[4]將QFD應(yīng)用于Web service系統(tǒng)中,將用戶的服務(wù)需求同Web service系統(tǒng)的設(shè)計屬性聯(lián)系起來,充分表達了用戶對于系統(tǒng)的需求;Sener Z等人[5]將QFD與模糊回歸相結(jié)合進行軟件質(zhì)量的評價,提出了基于對稱模糊三角數(shù)的模糊回歸方法來評價軟件質(zhì)量,將用戶需求和軟件特性用關(guān)系式表達出來;文獻[6]利用對稱三角模糊數(shù)來確定顧客需求和工程特性之間的關(guān)聯(lián)關(guān)系。文獻[7]將帶有對稱三角型模糊系數(shù)的模糊回歸理論引入到QFD系統(tǒng)中,以確定顧客需求和工程特性之間的關(guān)聯(lián)關(guān)系。而后,文獻[8]將對稱三角模糊數(shù)擴展為非對稱三角模糊數(shù)和梯形模糊數(shù),并將最小二乘回歸和模糊線性回歸相結(jié)合,提出了兩組混合的非對稱模糊線性規(guī)劃模型來確定產(chǎn)品規(guī)劃質(zhì)量屋中顧客需求和工程特性之間的關(guān)聯(lián)關(guān)系。文獻[9]利用模糊專家系統(tǒng)方法來確定顧客需求和工程特性之間的關(guān)聯(lián)關(guān)系。通過上述文獻分析結(jié)果可以看出:質(zhì)量屋中顧客需求和工程特性之間的關(guān)聯(lián)關(guān)系大多是非線性的。模糊神經(jīng)網(wǎng)絡(luò)作為一種并行的計算模型,具有并行處理、自適應(yīng)、聯(lián)想記憶及容錯和魯棒性強等特點,有很好的非線性映射能力。因此,本文對前期研究中提出的基于非對稱模糊三角數(shù)的模糊回歸方法進行了改進,引入了模糊神經(jīng)網(wǎng)絡(luò),提出了一種基于非對稱模糊三角數(shù)的模糊神經(jīng)網(wǎng)絡(luò)方法來模擬用戶需求同軟件特性之間的非線性關(guān)系,更加符合現(xiàn)實情況中軟件質(zhì)量評價的復(fù)雜性。
在傳統(tǒng)的基于神經(jīng)網(wǎng)絡(luò)方法的軟件質(zhì)量評價中,大都將可靠性、可維護性等軟件評價指標作為模型輸入,利用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)建立評價指標與軟件質(zhì)量之間的非線性關(guān)系,最終得到軟件質(zhì)量的一個綜合評價值來衡量軟件的好壞。本文將通過模糊神經(jīng)網(wǎng)絡(luò)將線性回歸模型擴展為非線性模型模擬用戶需求同軟件特性之間的非線性關(guān)系,得到用戶對某一軟件性能評價值。本文構(gòu)建了一個三層前向反饋神經(jīng)網(wǎng)絡(luò),將基于非對稱模糊三角數(shù)的線性回歸模型擴展為非線性的模型。由于系數(shù)是非對稱模糊三角數(shù),因此我們構(gòu)建的神經(jīng)網(wǎng)絡(luò)是有n個輸入、h個隱藏層及一個輸出的模糊神經(jīng)網(wǎng)絡(luò)[2,10]。 該模糊神經(jīng)網(wǎng)絡(luò)構(gòu)建了一個非線性模糊模型,將n個非模糊的輸入向量映射到一個模糊輸出。我們設(shè)F(x)為非線性映射函數(shù),那么通過該模糊神經(jīng)網(wǎng)絡(luò)得到的模糊輸出Op可以表示為Op=F(x),我們通過模糊神經(jīng)網(wǎng)絡(luò),將線性模糊回歸模型擴展為非線性模糊回歸模型F(x)[11]。
2.2.1 誤差代價函數(shù)的確定
(1)
上文中構(gòu)建的基于模糊三角數(shù)的模糊神經(jīng)網(wǎng)絡(luò)的學習訓(xùn)練目的就是最大程度地滿足上述不等式。為了實現(xiàn)模糊神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目的,定義了以下三種情況下的誤差代價函數(shù):
Figure 1 Relationship between actual output values and fuzzy output values when [Op≤yp≤[Op圖1 [Op≤yp≤[Op時實際輸出與模糊輸出之間的關(guān)系
此時,我們定義如下誤差代價函數(shù):
(2)
其中,
(3)
(4)
上式中,ε稱為懲罰系數(shù),是一個很小的正數(shù)(如ε=0.01)。
Figure 2 Relationship between actual output values and fuzzy output values when yp<[Op≤[Op圖2 yp<[Op≤[Op時實際輸出與模糊輸出之間的關(guān)系
此時,我們定義如下誤差代價函數(shù):
(5)
Figure 3 Relationship between actual output values and fuzzy output values when [Op≤[Op 此時,我們定義如下誤差代價函數(shù): (6) 使用以上誤差代價函數(shù),可以訓(xùn)練該模糊神經(jīng)網(wǎng)絡(luò)最大程度地滿足不等式(1)。 由于訓(xùn)練神經(jīng)網(wǎng)絡(luò)時,給出的標準輸出是非模糊的,因此在隱藏層和輸出層之間,我們定義如下誤差函數(shù): epl=(yp-[Op]h=1)2/2 (7) 在訓(xùn)練該模糊神經(jīng)網(wǎng)絡(luò)時,我們同時運用了兩個誤差函數(shù)eph和epl,因此我們定義該模糊神經(jīng)網(wǎng)絡(luò)輸入輸出之間的誤差函數(shù)為: ep=eph+epl (8) 2.2.2 學習算法 根據(jù)eph的h截集的定義衍生出模糊神經(jīng)網(wǎng)絡(luò)的學習算法。由于模糊三角數(shù)由三個參數(shù)決定,因此我們衍生的學習算法就是模糊三角數(shù)三個參數(shù)的更新算法[10]。我們假設(shè)隱藏層與輸出層之間的權(quán)重為Wj,輸入層與隱藏層之間的權(quán)重為Wji,且Wj和Wji用如下形式表示: (9) 其中,大寫字母L、C、U作為參數(shù)的上標,分別表示模糊三角數(shù)的下限值、最可能值和上限值。另外,為了簡化算法,我們假設(shè)模糊三角數(shù)是對稱的,因此, (10) (11) 模糊權(quán)重通過下面的規(guī)則調(diào)整: (12) (13) (14) 根據(jù)公式(12)~公式(14)調(diào)整后,模糊權(quán)重Wj的下限值可能會比上限值大,因此我們用下面的公式進行調(diào)整: (15) (16) 模糊神經(jīng)網(wǎng)絡(luò)的輸入層第i個節(jié)點和隱藏層第j個節(jié)點之間的模糊權(quán)重Wji的調(diào)整方法和Wj的方法相同。 根據(jù)Frank Liu等人搜索引擎的資料,以軟件生產(chǎn)廠商生產(chǎn)的搜索引擎軟件為例,利用質(zhì)量屋將收集到的用戶需求與軟件特性信息表示出來,實驗數(shù)據(jù)[5]采用Sener Z等人表述的質(zhì)量屋形式。本實驗使用Matlab工具進行模擬仿真實驗,通過模糊三角數(shù)的模糊神經(jīng)網(wǎng)絡(luò)模擬本實例中用戶需求與各生產(chǎn)廠商生產(chǎn)的搜索引擎軟件特性之間的非線性關(guān)系,仿真結(jié)果會得到各廠商搜索引擎軟件對于某一用戶需求的競爭力指標值,通過該指標值來評價各廠商搜索引擎軟件競爭力差異,也可為軟件開發(fā)人員提供參考。該實例通過對用戶的需求分析得到了五個用戶需求,分別是可擴展性、可靠性、速度、正確性以及易用性。根據(jù)經(jīng)驗及軟件生產(chǎn)人員的分析得出可能對用戶需求產(chǎn)生影響的八個軟件特性分別是響應(yīng)時間、數(shù)據(jù)庫大小、精確性、語言數(shù)、特殊點擊、死鏈接、更新時間和格式數(shù)。 為了統(tǒng)一量綱,將該質(zhì)量屋軟件特性的數(shù)值進行了歸一化處理,與Sener Z等人計算的結(jié)果一致,用如下矩陣A表示。 A= 我們以y2和x3,x6及x7之間的關(guān)系為例構(gòu)建一個三個輸入、一個輸出的非線性模糊神經(jīng)網(wǎng)絡(luò)模型。輸入值X為: 目標輸出值T=[5.0 3.7 3.6 4.7]T,歸一化后T=[0.2947 0.2177 0.2118 0.2765]T。我們用本文中介紹的學習算法進行Matlab仿真,算法中用到的參數(shù)如下: (1)隱藏層節(jié)點數(shù):3個節(jié)點; (2)h的取值:h=0.5; (3)迭代次數(shù):250代; (4)學習常量:η=0.5; (5)動量系數(shù):α=0.9。 訓(xùn)練算法迭代250次時的實驗結(jié)果如圖4所示。 Table 1 Actual output and target output of the fuzzy neural network表1 模糊神經(jīng)網(wǎng)絡(luò)的實際輸出和目標輸出值 而后,我們運用文獻[5]中模糊回歸和最優(yōu)化方法對軟件的用戶需求與軟件特性之間的關(guān)系進行定量,實驗數(shù)據(jù)依然采用Sener Z等人[5]表述的質(zhì)量屋形式,如圖4所示。實驗中模糊參數(shù)h的值依然取0.5。通過計算得到參數(shù)結(jié)果如表2所示。 我們?nèi)砸詙2和x3,x6及x7之間的關(guān)系為例,由表2可構(gòu)建線性關(guān)系表達式如下: y2=2.611+2.612x3+(-0.130)x6+0.086x7 通過計算可得各軟件廠商對于可靠性用戶需求方面競爭力歸一化后的指標值:O(0.2986,0.2202,0.2163,0.2647)。通過對比實驗結(jié)果可以看出,運用模糊回歸和最優(yōu)值方法來模擬用戶需求與軟件特性之間的關(guān)系精確度差于本文所提出的方法。通過實驗可以看到該模糊神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果比較好,較好地逼近目標輸出,能夠為軟件開發(fā)人員調(diào)整開發(fā)策略,最大程度地滿足用戶需求。 本文構(gòu)建了基于非對稱模糊三角數(shù)的模糊神經(jīng)網(wǎng)絡(luò)模型,以處理軟件質(zhì)量評價中用戶的需求與軟件特性之間的非線性關(guān)系。該模型考慮到軟件在軟件質(zhì)量評價中的復(fù)雜性,將用戶需求作為一種特殊的軟件特性應(yīng)用于軟件質(zhì)量評價,采用模糊三角數(shù)作為模糊神經(jīng)網(wǎng)絡(luò)各層次之間的權(quán)重,更加符合現(xiàn)實情況。通過具體的實例對模糊神經(jīng)網(wǎng)絡(luò)進行了訓(xùn)練,得到了較好的訓(xùn)練結(jié)果,為軟件質(zhì)量評價提供了一種更加客觀的方法。 [1] Fung R Y K,Chena Y, Tang Jia-fu. Estimating the functional relationships for quality function deployment under uncertainties[J]. Fuzzy Sets and Systems, 2006, 157(1):98-120. [2] Abraham A,Vasant L,Bhattacharya A. Neuro-fuzzy approximation of multi-criteria decision-making QFD methodology[M]∥Fuzzy Multi-Criteria Decision Making, Berlin:Springer,2008:301-321. [3] Xiong Wei,Wang Juan-li,Cai Ming. Trustworthy software evaluation based on QFD[J]. Application Research of Computers, 2010,27(8):2991-2994.(in Chinese) [4] Liu Xiao-qing(Frank),Zhu Lian-zhang.Design of SOA based web service systems using QFD for satisfaction of quality of service requirements[C]∥Proc of International Conference on Web Services, 2009:567-574. [5] Sener Z, Karsak E E. A fuzzy regression and optimization approach for setting target levels in software quality function deployment[J]. Software Quality Jouranl, 2010, 18(3):323-339. [6] Chan L K ,Wu M L.A systematic approach to quality function deployment with a full illustrative example[J] . Omega, 2005,33(2):119-139. [7] Kim K J, Moskowitiz H, Dhingra A, et al. Fuzzy multi- criteria models for quality function deployment [J] . European Journal of Operational Research, 2000,121(2):504-518 . [8] Fung R Y K ,Chen Y, Tang J F. Estimating the functional relationships for quality function deployment under uncertainties[J]. Fuzzy Sets and Systems, 2006,157(1):98-120. [9] Kwong C K, Chen Y, Bai H, et al. A methodology of determing aggregated importance of engineering characteristics in QFD [J]. Computers and Industrial Engineering, 2007, 53(4):667-679. Table 2 Software feature parameters when fuzzy parameter h=0.5表2 模糊參數(shù)h=0.5時軟件特性參數(shù)表 [10] Ishibuchi H,Kwon K,Tanaka H. A learning algorithm of fuzzy neural networks with triangular fuzzy weights[J]. Fuzzy Sets and Systems, 1995, 71(3):277-293. [11] Kutschenreiter-Praszkiewicz I.Application of neural network in QFD matrix[J]. Journal of Intelligent Manufacturing, 2013,24(2):397-404. 附中文參考文獻 [3] 熊偉,王娟麗,蔡銘. 基于QFD技術(shù)的軟件可信性評估研究[J].計算機應(yīng)用研究, 2013,24(2):397-404.3 仿真實驗
4 結(jié)束語