真实的国产乱ⅹxxx66v_欧美a级免费_26uuu第四色_亚洲AV日韩AV天堂一区二区三区_男男GAY啪啪网站18禁_国产精品无码永久免费888_欧美性猛交视频_国产亚洲视频系列_免费观看亚洲_免费国产欧美国日产_欧美日韩亚洲在线观看_ww国产_懂色av中文一区二区在_精品性影院一区二区三区内射_去去色_欧美日韩一区视频_久久婷婷网站_裸模一区二区三区免费_亚洲成a_aaaa黄百度影音_av第一福利在线导航_国产97色在线_青青草国产精品一区二区_国产乱日_国产 日韩 欧美 亚洲_亚洲精选视频在线_91?合在线?看_成人av影视在线_亚洲精品成人网站在线观看_免费视频二区

軟件開發(fā)COD引入缺陷預(yù)測模型的建立

來源:http://www.xfzhuw.com/ 作者:余氯檢測儀 時間:2019-10-11

  摘 要:本文論述了基于ACV-Average Competency Value和系統(tǒng)圈復(fù)雜度系數(shù)構(gòu)建COD階段缺陷預(yù)測模型的過程和思路,通過建立的預(yù)測模型軟件項目管理者可以預(yù)測預(yù)先設(shè)定的項目QCD目標實現(xiàn)概率,提前預(yù)測風(fēng)險并適時增強項目團隊的開發(fā)力量。
中國論文網(wǎng) /8/view-3801726.htm
  關(guān) 鍵 詞:ACV;圈復(fù)雜度;缺陷預(yù)測模型
  借鑒人力資本管理領(lǐng)域中關(guān)鍵能力項的統(tǒng)計學(xué)識別方法,我們識別出對于A業(yè)務(wù)方向嵌入式項目質(zhì)量有重大影響的因素有:C語言技術(shù)&編碼的能力水平和軟件的復(fù)雜程度(圈復(fù)雜度)。從邏輯上分析,由于在車載導(dǎo)航軟件開發(fā)中基本使用的都是C語言的開發(fā)技術(shù),在中小型開發(fā)項目中,C語言技術(shù)&編碼的能力水平和軟件的復(fù)雜程度確實對于項目的質(zhì)量會有很大的影響。在這里我們引入一個新的概念A(yù)CV-Average Competency Value及項目成員關(guān)鍵能力平均值,在我們此次車載導(dǎo)航軟件開發(fā)研究的范圍內(nèi)關(guān)鍵能力項為C語言技術(shù)&編碼。
  基于CMMI軟件成熟度模型和實際軟件開發(fā)過程,軟件開發(fā)的主要過程分為幾個階段:RD(需求開發(fā))、RU(需求理解)、SD(系統(tǒng)設(shè)計)、PD(概要設(shè)計)、DD(詳細設(shè)計)、COD(編碼)、UT(單元測試)、IT(集成測試)、ST(系統(tǒng)測試)和QC階段。軟件項目的一個關(guān)鍵目標就是質(zhì)量,ST階段的缺陷密度是項目質(zhì)量的關(guān)鍵度量項[1]。但是,在ST階段發(fā)現(xiàn)的缺陷往往是由其他之前的階段引入的,這些可能引入缺陷的階段包括COD、DD、IT、PD等[2]。我們使用了Crystal Ball工具對相關(guān)數(shù)據(jù)進行了敏感度分析,包括ST、COD和DD階段的缺陷引入對于項目的質(zhì)量目標都有相當(dāng)?shù)挠绊憽?br>  為了達成軟件開發(fā)的質(zhì)量目標,我們必須想辦法控制各階段引入的缺陷數(shù)量。從敏感度分析結(jié)果上看,COD階段的缺陷密度對于QC指標的影響比較大,同時,如果能在ST階段更多地發(fā)現(xiàn)和處理實際已經(jīng)存在的軟件缺陷,QC目標達成的可能性會大大增加。
  各階段引入的缺陷數(shù)量也與軟件程序本身的復(fù)雜度有關(guān),在軟件測試的概念里,圈復(fù)雜度用來衡量一個模塊判定結(jié)構(gòu)的復(fù)雜程度,數(shù)量上表現(xiàn)為獨立路徑條數(shù),即合理的預(yù)防錯誤所需測試的最少路徑條數(shù),圈復(fù)雜度大則說明代碼可能質(zhì)量低且難于測試和維護[3]。經(jīng)驗表明:一般圈復(fù)雜度越高,Bug發(fā)生的可能性越高。
  圈復(fù)雜度過高會造成下列問題:
  1.復(fù)用困難。代碼復(fù)雜度過高,說明一個函數(shù)內(nèi)覆蓋的邏輯過多,程序耦合性(各個模塊之間接口的復(fù)雜度)較高,所以也不易于移植復(fù)用。
  2.測試困難。圈復(fù)雜度代表路徑覆蓋的條數(shù),即case數(shù)。所以,需要更多的測試才能覆蓋一個復(fù)雜度較高的程序。
  3.易讀性差。代碼復(fù)雜度過高的程序不易于閱讀。
  4.缺陷率高。一般復(fù)雜度越高,缺陷密度越高。代碼復(fù)雜度過高的程序,變更時更容易產(chǎn)生缺陷。
  從圖1的兩個例子中,我們可以使用一種簡單的方法來計算兩段程序的圈復(fù)雜度。在Example 1中,while循環(huán)圈復(fù)雜度加1,if語句圈復(fù)雜度加1,每個&&語句圈復(fù)雜度加1,總體程序執(zhí)行圈復(fù)雜度加1,圈復(fù)雜度總和為5。在Example 2中,if語句圈復(fù)雜度加1,else語句圈復(fù)雜度加1,總體程序執(zhí)行圈復(fù)雜度加1,圈復(fù)雜度總和為3。這種方法的基本計算原則是:程序中出現(xiàn)下列關(guān)鍵字的次數(shù)再加1,關(guān)鍵字主要包括for、if、while、switch、&&、||、goto和case等。
  以上是比較簡單的圈復(fù)雜度計算方法,另外一種計算方法是利用有向圖理論(Sequense)計算由一段代碼演化來的有向圖中線性獨立的路徑的個數(shù),來得出圈復(fù)雜度的數(shù)值。
  圈復(fù)雜度=E-N+2 (1)
  其中,E:程序流程有向圖中邊的個數(shù);N:程序流程有向圖中節(jié)點的個數(shù)。
  目前可以使用的計算圈復(fù)雜度工具有:
  1.JAVA平臺:PMD靜態(tài)分析源代碼工具(付費)、JavaNCSS(開源)、CheckStyle(付費);
  2..NET平臺:FxCop(開源)、NDepend(付費);
  3.C/C++平臺:QAC(付費)、Source Monitor(開源)。
  我們在實際的項目開發(fā)中主要使用Source Monitor開源工具,進行函數(shù)圈復(fù)雜度研究和統(tǒng)計。
  基于之前對于項目開發(fā)者能力水平和軟件圈復(fù)雜度的研究,我們嘗試進行數(shù)據(jù)收集分析并構(gòu)建COD階段引入缺陷密度、ACV(C語言技術(shù)&編碼)和圈復(fù)雜度之間的數(shù)學(xué)預(yù)測模型。
  基于ACV和圈復(fù)雜度建立COD引入缺陷模型構(gòu)建的目標如下:
  1.在項目策劃或者COD階段活動之前,項目經(jīng)理參考此模型調(diào)配項目組成員、安排項目級培訓(xùn),策劃在設(shè)計階段控制圈復(fù)雜度,并基于此進行程序設(shè)計工作。
  2.COD階段開始后,項目管理人員可以根據(jù)代碼復(fù)雜度管理表中的相關(guān)要求進行實際圈復(fù)雜度數(shù)據(jù)的收集,并利用此模型進行預(yù)測,進行COD過程中的動態(tài)編碼控制,適當(dāng)降低系統(tǒng)和程序文件的圈復(fù)雜度。
  基于上述的研究目標進行了建模方法的研究,確定了相應(yīng)的預(yù)測前提和思路。
  1.通過對動態(tài)PPM中數(shù)據(jù)的敏感度計算結(jié)果,COD階段的引入缺陷數(shù)對項目質(zhì)量的敏感度最大,對項目質(zhì)量目標的達成有較大的影響。
  2.同時根據(jù)相關(guān)專家前期對COD階段引入缺陷數(shù)及相關(guān)因素的相關(guān)性分析結(jié)論,COD階段引入缺陷數(shù)與代碼規(guī)模、圈復(fù)雜度、開發(fā)人員職級平均值有較強的相關(guān)性。
  3.基于上述結(jié)論和成果,考慮選擇使用開發(fā)人員的具體關(guān)鍵能力預(yù)測COD階段缺陷數(shù)量,以期待獲得更加可控的PPM模型,采用回歸分析的方法建立預(yù)測模型。
  在基礎(chǔ)數(shù)據(jù)收集方面,為了保證數(shù)據(jù)的同質(zhì)性,選擇同一業(yè)務(wù)線相關(guān)項目進行分析,保證模型的針對性和有效性。實際選擇A業(yè)務(wù)線,基于2008年度至2010年度20余個項目數(shù)據(jù)進行分析。   使用MiniTab 15.1軟件中的Pearson計算方法計算了上述相關(guān)數(shù)據(jù)的相關(guān)性,最終發(fā)現(xiàn)COD引入缺陷密度、項目平均圈復(fù)雜度和編碼&C能力均值有較強的相關(guān)性,而項目有效代碼行數(shù)與COD引入缺陷密度無明顯的相關(guān)性。
  基于模型建立的思路和統(tǒng)計分析結(jié)果,初步設(shè)定數(shù)學(xué)模型的公式為:
  Y=a+b×X1+c×X2 (2)
  其中,Y:COD階段引入缺陷密度;X1:項目平均圈復(fù)雜度;X2:ACV—項目COD階段所有開發(fā)人員的關(guān)鍵能力項(編碼&C)的平均值。
  在相關(guān)性分析的基礎(chǔ)上,使用MiniTab 15.1進行回歸分析,能夠初步得到COD階段引入缺陷密度Y、項目平均圈復(fù)雜度X1和項目COD階段所有開發(fā)人員的關(guān)鍵能力項(編碼&C)的平均值X2之間的數(shù)學(xué)關(guān)系。
  通過回歸方法得到最后的回歸方程為:
  Y=4.81+1.37×X1-3.17×X2 (3)
  從最后的回歸方程中我們可以推斷:
  1.項目COD階段所有開發(fā)人員的關(guān)鍵能力項(編碼&C)的平均值X2越大,COD階段引入的缺陷密度就越小,那么項目的總體質(zhì)量就會越好;
  2.項目平均圈復(fù)雜度X1越小,COD階段引入的缺陷密度就越小,那么項目的總體質(zhì)量就會越好。
  下面是使用MiniTab 15.1工具進行回歸分析的結(jié)果。
  利用上述模型我們可以在合適的項目中進行應(yīng)用,比如我們可以在項目策劃階段就開始使用模型,通過計算同類項目的平均圈復(fù)雜度、擬進入項目組的開發(fā)成員的C&編碼能力水平來對項目質(zhì)量進行預(yù)測(COD階段引入缺陷密度)。
  如果預(yù)測的項目質(zhì)量目標沒有達到客戶和組織的要求,項目經(jīng)理可以根據(jù)情況調(diào)整項目組的成員,將在C&編碼能力方面具有更高水平的人員調(diào)入項目,以便減少在COD階段引入的缺陷數(shù)量,降低COD階段引入缺陷密度。同時,我們還可以在系統(tǒng)設(shè)計、概要設(shè)計和詳細設(shè)計階段不斷優(yōu)化軟件設(shè)計水平,通過降低程序圈復(fù)雜度的方式提升項目質(zhì)量,降低COD階段引入的缺陷數(shù)量和缺陷密度。
  在COD階段開始之前項目經(jīng)理或者技術(shù)總監(jiān)可以通過模型預(yù)測COD階段的缺陷密度,如果發(fā)現(xiàn)項目質(zhì)量存在高風(fēng)險的問題可以提前采取措施進行缺陷預(yù)防。
  以上提到基于能力的項目質(zhì)量預(yù)測模型在車載導(dǎo)航軟件開發(fā)中具有一定的普遍意義,相關(guān)的分析思路和模型建立的方法可以被應(yīng)用到軟件開發(fā)的其他業(yè)務(wù)領(lǐng)域之中。通過質(zhì)量預(yù)測模型的建立和應(yīng)用,組織可以不斷定量分析、控制其質(zhì)量目標的制定和達成。
  參考文獻
  [1] Jamaiah H.Yahaya,Aziz Deraman.Measuring the Unmeasurable Characteristics of Software Product Quality[J].IJACT,2010,2(4):95-106.
  [2] Hajar Mat Jani,Salama A. Mostafa.Implementing Case-Based Reasoning Technique to Software Requirements Specifications Quality Analysis[J].IJACT,2011,3(1):23-31.
  [3] Zhang Xue-mei,Hoang Pham.An analysis of factors affecting software reliability[J].The Journal of Systems and Software,2000,50(1):43-56.

——本文由豐臨科技整理發(fā)布,內(nèi)容供參考,如有侵權(quán),請聯(lián)系刪除,謝謝!上海豐臨科技有限公司為你提供濁度儀(濁度計)在線濁度儀、余氯儀、余氯分析儀、工業(yè)在線pH計、cod測定儀、pH計等多種水質(zhì)檢測儀,水質(zhì)分析儀,歡迎您前來選購,豐臨科技竭誠為您服務(wù)!

上一篇:關(guān)于測定水質(zhì)COD方法的探討

下一篇:COD快速測定方法分析
水質(zhì)檢測分析儀廠家,掃一掃,微信報價
掃一掃微信詢價
掃一掃微信二維碼,獲得水質(zhì)檢測分析儀優(yōu)惠價格

分享到

取消
诏安县| 常宁市| 沂南县| 雷山县| 凤冈县| 平谷区| 曲水县| 陵川县| 太仆寺旗| 麦盖提县| 普陀区| 长宁区| 宿州市| 无锡市| 镶黄旗| 阳曲县| 塘沽区| 庆阳市| 和田县| 惠州市| 铜陵市| 阜新| 鸡西市| 红桥区| 莱西市| 浮山县| 纳雍县| 根河市| 贵港市| 枣强县| 邵武市| 常宁市| 天全县| 宁夏| 扶沟县| 克拉玛依市| 乌兰浩特市| 大关县| 武安市| 桦甸市| 石台县|