国偷自产一区二区三区

        1. <span id="qcqmt"></span>
          1. <span id="qcqmt"><blockquote id="qcqmt"></blockquote></span>

            軟件開發COD引入缺陷預測模型的建立

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

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

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

            上一篇:關于測定水質COD方法的探討

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

            分享到

            取消
            国偷自产一区二区三区

                1. <span id="qcqmt"></span>
                  1. <span id="qcqmt"><blockquote id="qcqmt"></blockquote></span>