• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于缺陷逃逸率的過程性能模型研究與實(shí)踐

      2016-12-22 21:32王丹李鶴群
      軟件導(dǎo)刊 2016年11期

      王丹+李鶴群

      摘 要:隨著CMMI過程能力成熟度模型在軟件開發(fā)行業(yè)的普及,大多數(shù)通過CMMI3級的企業(yè)已經(jīng)開始探索建立適用的過程性能模型,以期達(dá)到預(yù)測項目目標(biāo)、持續(xù)優(yōu)化開發(fā)過程的目的。然而,CMMI模型中并沒有給出具體的建模步驟。結(jié)合CMMI4、5級實(shí)踐經(jīng)驗,以缺陷逃逸率預(yù)測模型為例,介紹了如何高效建立過程性能模型,以及如何有效運(yùn)用該模型的方法。

      關(guān)鍵詞關(guān)鍵詞:CMMI過程性能模型; PPM; 缺陷逃逸率

      DOIDOI:10.11907/rjdk.162205

      中圖分類號:TP302

      文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:16727800(2016)011001503

      0 引言

      過程性能模型(Process Performance Model, PPM)是CMMI4級過程域“組織性能管理”中的一個術(shù)語,主要是對軟件開發(fā)過程中一項或多項過程或工作產(chǎn)品的可度量屬性的相互關(guān)系進(jìn)行描述。它根據(jù)選定的過程或子過程,通過分析組織內(nèi)長期積累的相關(guān)歷史數(shù)據(jù)進(jìn)行開發(fā)[1]。過程性能模型被用來預(yù)測選定過程的性能,比如項目進(jìn)度、成本及質(zhì)量狀態(tài)等,從而為項目計劃及監(jiān)控提供調(diào)整或決策依據(jù)。

      從QCD角度劃分,一般以缺陷密度、生產(chǎn)效率、成本及進(jìn)度偏差、顧客滿意度為監(jiān)控和預(yù)測目標(biāo)來建立過程性能模型。最好的過程性能模型就是利用企業(yè)自己長期積累的歷史數(shù)據(jù)回歸出來的模型。筆者結(jié)合在軟件企業(yè)的CMMI4及CMMI5級高成熟度組織的改進(jìn)實(shí)踐,將重點(diǎn)探討如何建立以缺陷逃逸率為監(jiān)控和預(yù)測目標(biāo)的質(zhì)量過程性能模型。

      1 缺陷逃逸率

      缺陷逃逸率指軟件產(chǎn)品發(fā)布后發(fā)現(xiàn)的缺陷數(shù)量與該軟件產(chǎn)品在整個生命周期發(fā)現(xiàn)的所有缺陷數(shù)量之比。缺陷逃逸率通常用來衡量軟件開發(fā)團(tuán)隊及測試團(tuán)隊對軟件質(zhì)量控制的水平。在很多軟件外包行業(yè),客戶通常用缺陷逃逸率評價軟件開發(fā)能力。

      其中i為缺陷注入階段,根據(jù)項目生命周期階段定義不同,可分為需求開發(fā)、概要設(shè)計、詳細(xì)設(shè)計、編碼階段。j為缺陷移除階段,缺陷移除的手段主要有評審及測試,所以此處j可分為需求評審、概要設(shè)計評審、詳細(xì)設(shè)計評審、代碼評審、單元測試、集成測試以及系統(tǒng)測試等幾個階段。如果某一個階段不能100%移除缺陷,則必定有部分缺陷漏出到下一階段,最終漏出到客戶的缺陷數(shù)量就是缺陷逃逸數(shù)量。

      2 缺陷逃逸率預(yù)測

      實(shí)際開發(fā)中,項目結(jié)束前難以得到缺陷注入的整體數(shù)據(jù)。但是對于高成熟度組織來說,基于大量的歷史數(shù)據(jù),不難得到缺陷注入能力,從而基于缺陷注入能力以及缺陷注入目標(biāo)數(shù)據(jù)得到缺陷逃逸率公式,通過合并移除缺陷的開發(fā)階段以達(dá)到簡化輸入的目的。公式變換如下:

      DER=DIRB*(1-DERInDesign-DERInCoding-DERInTest)(2)

      式(2)中,DIRB為根據(jù)歷史數(shù)據(jù)識別的缺陷注入能力(基線),DERInDesign為設(shè)計階段的缺陷移除率,DERInCoding為代碼階段的缺陷移除率,DERInTest為測試階段的移除率。由于設(shè)計階段及代碼階段的缺陷移除主要依賴于評審過程的執(zhí)行,因此上述公式還可以繼續(xù)簡化為:DER=DIR*(1-DERByReview-DERInTest) (3) DERByReview為通過評審發(fā)現(xiàn)的缺陷移除率。

      綜上分析結(jié)果,只要建立評審及測試子過程的性能模型,即可預(yù)測出整體缺陷逃逸率。

      3 過程性能模型建立

      3.1 量化目標(biāo)識別

      將企業(yè)的商業(yè)目標(biāo)逐層分解到可量化的質(zhì)量及過程性能目標(biāo),是建立過程性能模型的第一步。缺陷逃逸率為客戶考核企業(yè)的一個指標(biāo),因此將該模型對應(yīng)的商業(yè)目標(biāo)描述為“降低缺陷逃逸率,提高客戶滿意度”。經(jīng)過層層分解,得到相應(yīng)的質(zhì)量與過程性能量化目標(biāo),再根據(jù)選定的質(zhì)量及過程性能目標(biāo),選擇對應(yīng)的子過程??梢允且粋€子過程,也可以是多個子過程。建立的模型可以直接或間接預(yù)測相關(guān)結(jié)果,或者預(yù)測在開發(fā)生命周期中處于更下游的結(jié)果。表2列出了基于缺陷逃逸率的量化目標(biāo)及子過程描述。

      3.2 模型因子識別

      每個子過程與多個因子相關(guān),在建立模型之前,需要識別這些因子。因子分為可控因子和不可控因子兩大類??煽匾蜃邮悄P椭行枰R別的關(guān)鍵要素,通過調(diào)整可控因子可在一定程度上控制過程性能,從而指導(dǎo)項目開發(fā)和過程改善。不可控因子則代表過程實(shí)施的環(huán)境要素,是過程實(shí)施的制約條件,對過程性能的預(yù)測準(zhǔn)確性也起到一定的作用[3]。分析因子需要重點(diǎn)關(guān)注導(dǎo)致結(jié)果的根本原因及和結(jié)果相互關(guān)聯(lián)的要素,通常使用魚骨圖方法或頭腦風(fēng)暴方法進(jìn)行分析。針對設(shè)計評審子過程、編碼評審子過程,經(jīng)過分析得出可控因子為設(shè)計評審?fù)度氡壤?、設(shè)計評審檢出效率、編碼評審?fù)度氡壤?、編碼評審檢出效率;針對測試子過程,識別可控因子為測試實(shí)施投入比例、測試設(shè)計人員經(jīng)驗。表2的最后一列定義了該模型因子。

      3.3 歷史數(shù)據(jù)收集,數(shù)據(jù)質(zhì)量評估

      識別了模型的可控因子后,就要收集相關(guān)的歷史數(shù)據(jù),進(jìn)行數(shù)據(jù)初步分析。分析方法包括因子相關(guān)性分析、正態(tài)分布等。實(shí)際操作中,往往在建立PPB(過程性能基線)時,就已經(jīng)完成了數(shù)據(jù)收集及質(zhì)量評估工作。最方便的評估數(shù)據(jù)質(zhì)量方法是觀察法,通過對數(shù)據(jù)分布情況的觀察,找出明顯的異常點(diǎn),分析異常點(diǎn)原因。圖1為19個設(shè)計評審檢出效率分布圖,其中黑色圈出來的幾個點(diǎn)與其它點(diǎn)相比差異較大,經(jīng)過與相關(guān)執(zhí)行者討論分析,發(fā)現(xiàn)這3個點(diǎn)由于沒有經(jīng)過自查活動,導(dǎo)致評審的問題相對較多。因此,將這3個點(diǎn)提出后,數(shù)據(jù)大致在相同的范圍內(nèi)。依次類推,可以完成所有數(shù)據(jù)的評估,確保數(shù)據(jù)之間不會偏差過大。

      3.4 歷史數(shù)據(jù)回歸分析

      對每個模型的因子及預(yù)測目標(biāo)進(jìn)行回歸分析,得出自變量X與因變量Y之間的部分相關(guān)性[4]?;貧w方程擬合結(jié)果需要滿足如下條件才能認(rèn)定其有效。

      (1)回歸方程的顯著性檢驗。需要從總體上判定回歸方程是否有效,即R2和調(diào)整后的R2越接近,說明模型擬合得越好。兩者的值越接近1,代表模型擬合越好。

      (2)回歸系數(shù)的顯著性檢驗。當(dāng)回歸方程效果顯著時,還需要判定回歸方程中哪些自變量顯著,同時將效果不顯著的自變量刪除,并優(yōu)化模型?;貧w系數(shù)的顯著性主要通過對應(yīng)因子的P值來判斷,如果小于0.05就說明自變量是顯著因子[5]。

      圖2和圖3為評審移除百分比模型以及測試移除百分比的回歸結(jié)果。

      從回歸結(jié)果可以看出,R2及調(diào)整后的R2基本有效,各因子的P值也證明了其顯著性?;貧w方法如下:

      評審移除百分比=設(shè)計評審工作量/總工作量*5.621 46+ 編碼評審工作量/總工作量*6.275 48 + 設(shè)計評審檢出效率*0.086 8+編碼評審檢出效率*0.313 14。

      從這個模型的回歸結(jié)果可以看出,R2及調(diào)整后的R2基本有效,但因子測試實(shí)施投入比例0.31,不滿足0.05的條件,不是顯著因子。在數(shù)據(jù)量有限的情況下,繼續(xù)分析該子過程的因子是否還包含其它因子。如果分析后的結(jié)果沒有改變,那么可以暫時認(rèn)可該回歸結(jié)果,待數(shù)據(jù)量積累到一定程度,再對模型因子作進(jìn)一步調(diào)整、分析及再回歸。這里回歸方程為:

      測試移除百分比=測試實(shí)施投入比例*0.283 96 - 評審移除百分比*0.377 + 測試設(shè)計經(jīng)驗*0.112 76

      4 過程性能模型應(yīng)用

      4.1 應(yīng)用場景

      前面論述了模型在預(yù)測缺陷逃逸率方面的作用,然而在實(shí)際項目中,過程性能模型應(yīng)用是貫穿項目始終的。仍然以該模型為例,應(yīng)用場景如圖4所示。

      (1) 項目計劃階段。 根據(jù)計劃,設(shè)計評審?fù)度牍r、編碼評審?fù)度牍r、測試投入工時與總工時的比例

      結(jié)果,使用模型預(yù)測缺陷逃逸率目標(biāo),如果低于預(yù)期目標(biāo)(例如,70%),則調(diào)整上述計劃結(jié)果,提高目標(biāo)達(dá)成可能性。

      (2) 設(shè)計階段。 設(shè)計評審結(jié)束后,根據(jù)實(shí)際的設(shè)計評審?fù)度牍r與總工時比例結(jié)果,設(shè)計評審檢出效率再次代入模型,預(yù)測目標(biāo)達(dá)成可能性,如果低于預(yù)期,可以通過組織二次評審或者提高編碼計劃投入工時、提高后續(xù)的測試計劃投入工時,以此提高目標(biāo)達(dá)成可能性。

      (3) 編碼階段。與設(shè)計階段思路一致,調(diào)整后續(xù)測試階段計劃。

      (4) 測試階段。作為缺陷檢出的最后階段,將所有因子相關(guān)的實(shí)際數(shù)據(jù)代入到模型中。如果仍然低于預(yù)期目標(biāo),則考慮增加測試輪次降低缺陷逃逸率;如果沒有更好的手段,則降低客戶預(yù)期,提前做好應(yīng)急預(yù)案。

      4.2 實(shí)現(xiàn)方式

      過程性能模型建立以后,為了更直觀地展示和預(yù)測,通過VBA將上述回歸模型嵌入到Excel表中,形成可視化的過程性能預(yù)測模型。

      5 結(jié)語

      在CMMI模型中,僅對過程性能模型作了簡要介紹,并未給出過程性能模型建立指南。筆者通過總結(jié)工作經(jīng)驗,詳細(xì)介紹了如何快速、有效地建立實(shí)用且適用的過程性能模型,以及如何應(yīng)用模型指導(dǎo)項目開發(fā)的方法,希望能夠為高成熟度組織建立有效的過程性能模型提供幫助。

      參考文獻(xiàn):

      [1] CMMI PRODUCT TEAM.CMU/SEI2010TR0332010[S].CMMI for Development, Version 1.3.

      [2] ROBERT W STODDARD, DENNIS R GOLDENSON.Approaches to process performance modeling:a summary from the SEI series of workshops on CMMI high maturity measurement and analysis[R].America: SEI Administrative Agent, 2010.

      [3] 任甲林. 術(shù)以載道軟件過程改進(jìn)實(shí)踐指南[M].北京:人民郵電出版社, 2014:391396.

      [4] 王慧,周伯生,羅文劼.基于CMMI的軟件過程性能模型[J].計算機(jī)工程與設(shè)計, 2009(1):109112.

      [5] 徐俊,李軍.軟件研發(fā)過程性能基線和模型建立方法及應(yīng)用分析[J].現(xiàn)代計算機(jī),2013(21):1418.

      (責(zé)任編輯:杜能鋼)

      南陵县| 保靖县| 林西县| 汤原县| 水城县| 双鸭山市| 东乡县| 定西市| 新巴尔虎左旗| 蓬莱市| 资源县| 安丘市| 正蓝旗| 常德市| 无棣县| 宁都县| 大港区| 东乡族自治县| 玉溪市| 遵义县| 宁乡县| 静安区| 米易县| 肃北| 湖南省| 株洲县| 那曲县| 揭阳市| 威信县| 太湖县| 大余县| 静宁县| 墨江| 宜丰县| 西平县| 开阳县| 辽阳市| 景德镇市| 鹰潭市| 南雄市| 恩平市|