GQM實施介紹.doc_第1頁
GQM實施介紹.doc_第2頁
GQM實施介紹.doc_第3頁
GQM實施介紹.doc_第4頁
GQM實施介紹.doc_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

GQM模型及實施方法賽寶認證中心一、 GQM模型概述如何選擇和定義度量,確定度量目標、選擇適當的測量項是做好度量的基礎。目前國際上廣泛采用的比較典型的目標驅動的方法就是GQM(Goals-Questions-Metrics)和GQ(I)M度量定義模型。GQM是一種系統地對軟件及其開發過程實施定量化的度量方法。GQM模型是20世紀80年代中期由美國馬里蘭大學巴士利博士(Dr.Victor Basili)及其助手提出的一種面向目標、自上而下由目標逐步細化到度量的度量定義方法,用以告訴組織或者機構應該采集哪些數據。它基于如下的假設:對于一個有目的地進行度量的軟件組織,首先必須指定組織和項目的目標,然后跟蹤目標到數據,這些數據旨在可操作化地定義目標,最后提供一個解釋數據與相關目標的框架。每一個組織、項目均有一系列目標要實現;而要實現每一個目標,均要回答一系列問題才能知道目標是否實現;而對提出的每個問題,都可以找到一個完整、可以量化的滿意解答。它把組織的目標歸納、分解為度量的指標,并把這些指標提煉成可以測量的值,從而能更好的預測、 控制過程性能,實現軟件開發的定量化管理。GQM是一種面向目標的度量方法,也是管理者的一種科學的、具有邏輯性的思考問題的方式。GQM模型提供了自頂向下的度量定義方法和自底向上的數據采集、 解釋方法 ,首先定義需要度量的目標, 再針對各個目標,提出可能會遇到的問題,來定義這個目標;然后通過回答問題的形式來衡量這些目標是否被實現。將一個個模糊的、抽象的目標,分解成具體的、可測量的問題,最后,針對每一個問題再給出一組測量方法,并用這一組 測量方法測量出來的數據就是對這個問題的回答。分析過程的目的是把概念化的目標轉化成比較具體的問題,再進一步把問題分解成可以度量的指 標。因此,這一過程著重分析目標 問題指標的層次結構與相互之間的關聯。GQM模型基于目標自上而下有三個層次。這三層分別是:概念層-目標(Goals)、 操作層-問題 (Questions)、 數據層-度量 (Metric)。GQM的三層模型如圖1所示。這三層是一個繼承性的結構,下一層是對上面一層的細化,通過這種細化和逐步求精,最終由目標得到需要的度量。圖1 GQM三層模型(1)概念層(目標)。目標是對特定對象定義的,基于不同原因,同不同質量模型相關,基于不同觀點,與特定的環境相關聯。它描述了度量目的,通過給定目標,度量過程得到了清晰地表達。 GQM一般包括五個要素:度量的對象、目的、屬性 、角度 ( 為誰服務 )及度量的環境。它描述了通過度量期望達到的度量目標。每一個度量目標都包含三個特征,即關注點、對象和視角,同時還包括一個度量目的。關注點定義了對特定對象需要研究的特定特征,視角描述了需要相應度量信息的執行者的觀察角度,度量目的描述了是如何使用度量結果模型的。特定環境下項目的目標的定義由諸多的原因所決定 ,其中主要的是產品、 過程和資源。(2)可操作層(問題)。該層針對上一層的目標定義了一組問題,用一系列的問題來定義所研究對象的模型,然后得出評價或達到特定目標。這些問題從各個角度對度量的目標進行描述。問題同狀態模型有關,它更加詳細地定義了目標所關注的對象。用來評測既定目標的一系列問題應該建立在一定的具有相關特性的模型基礎之上 ,所選擇的問題應該盡可能地來刻畫一個度量目標,而不是沒有原則的來選擇數據 ,否則將造成工作量的增大和數據的浪費。 (3)量化層(問題)。基于上述模型的一系列度量,與每個問題相關聯,并以可度量的方法回答這些問題。對于每個問題都定義了一組數據與之相關聯,通過這些數據可以對每一個問題有個量化的回答,是對問題特征的一種刻畫。指標的數據來自主、客觀的測量,并且要仔細選擇,力求從不同角度來刻畫每一個問題。同一個測量項也可以被用來回答相同目標中的不同的問題,好幾個 GQM模型也可以共享一些問題和測量項,站在不同的角度來看相同的度量也會有不同的數據值。二、GQ(I)M模型概述卡內基梅隆大學軟件工程研究所軟件工程度量和分析組在GQM模型的基礎上提出了GQ(I)M模型,GQ(I)M區別于GQM的地方就在于它在Q和M之間加入了一個中間步驟,即在GQM模型的問題層和度量層之間增加了可視化的指示器層,用它在問題和度量數據之間建立聯系。指示器(Indicator),或稱為指標,是用于評價或預測其他度量的度量。指示器是一個或多個度量的綜合,是對軟件產品或過程的某一方面特征的反映,它通常利用圖表、文本和表格等形式來描述,模型使用者可根據問題先定義指示器,然后再確定構建該指示器所需要的度量和數據。不同的度量目的,有不同的度量指示器選擇。在具體的實施過程中可操作的度量成千上萬,應選擇最能反映當時度量環境的指標作為度量指示器。這些指示器可以作為測量要求說明書,指導需要收集什么數據,對這些數據需要做哪些處理和分析,為這些活動做計劃。如針對各個階段分別注入和清除了多少缺陷問題,可以建立指示器:缺陷的階段分布。圖2給出了GQ(I)M度量模型。圖2 GQ(I)M示意圖三、GQM及GQ(I)M實施原則及主要步驟1、GQM及GQ(I)M實施原則包括三個:度量目標源于商業目標。度量不是為了度量而度量,度量是為了實現某個目標。它可以是為了加強對過程的理解,也可以是為了改進過程。但無論是哪種目標,它都是為軟件公司商業目標服務的。因此,在確定度量目標時,一定要確保其源于商業目標,并保持其可跟蹤性。(2)發展思想模型提供環境和焦點在度量實施中,度量目標可以有很多。我們常常會在大量的數據淹沒之下不知所措,因此必須確定關注焦點,確定度量目標的優先級。除此以外,為了實現這些目標,就必須建立可以實現這些目標的環境。用GQM/GQ(I)M將非形式化的目標轉化為可以執行的度量結構確定了度量目標,根據這些目標提出問題,解決了這些問題實際上就是實現了度量目標。從這些問題中引出直觀的指示器或者度量,從而實現從度量目標到度量數據項的映射。2、GQM的實施步驟在項目和組織的特定需要的基礎之上,GQM模型的工作原理就是提供一種模式來幫助軟件管理者為了達到管理上的目標而設計一整套軟件度量體系 ,運用系統的方法來對軟件過程和產品模型中的各個目標進行裁減/ 整合。GQM可以有效回答正在收集的數據目的是“為什么”這個問題。“為什么”的問題是重要的,因為基于它可以確定如何解釋所獲得的數據,而且,該問題的答案也為后續在未來項目和活動中重用度量計劃和過程提供了基礎。軟件開發 中應用 GQM 方法力求形式化表達這個特殊的過程,通過定義目標和測量的指標,使之能和有形產品一樣,能方便地觀察和測量GQM方法具有許多優點:思路清晰,便于理解,便于培訓,便于知識的重用和計算機管理,以及適應于復雜、多變的應用環境等。采用GQM方法的測量活動包括四個階段:1、計劃階段:選擇度量應用的項目,經過定義、特征化并且制定計劃,產生項目計劃。2、定義階段:定義度量程序(目標、問題、度量和確定假設)并文檔化。3、數據收集階段:收集、確認、分析數據,產生結果集,并采取正確的行動;4、解釋階段:按照度量的定義收集的數據轉化為度量結果,回答提出的問題評估所要達到的目的。通過事后剖析的方式分析數據以評估是否與目標一致,并為其后的改善提供建議;為測量結果利益相關者提供反饋信息。其中GQ(I)M定義階段包括如下實施細節。(l)確定商業目標(2)確定需要獲取什么(3)確定子目標將相關的問題分組,產生一系列與你管理或執行的活動相關的子目標。(4)確定與子目標相關的實體和屬性本過程步提供為實現子目標必須獲取的實體和屬性信息。(5)格式化度量目標格式化后的度量目標應該包括以下四個元素:關注對象、關注目的、關注人群和度量環境。制定度量計劃。對目標進行分解時,可以參照過程模型的結構進行。根據過程的子過程組成情況,把度量目標分解為針對子過程的子度量目標。(6)確定有助于達到度量目標的可度量的問題和相關的指示器。由格式化后的度量目標推出實現這些目標必須量化的問題和指示器(包括各種類型的圖表)。(7)確定為了解決問題構造指示器所需收集的數據要素。(8)定義使用的度量并使之可行。在組織內明確定義度量的公式、度量數據的含義,使用結構化的方法確保不遺漏重要的度量。(9)確定實現度量的活動這些活動主要包括:確定數據源,確定收集報告數據的方法、頻率、執行人,確定可以使用數據的用戶,定義這些數據將如何被分析報告,定義輔助過程自動化和過程管理的工具,確定收集數據的過程等。(10)準備實現度量的計劃,開發數據收集和分析的機制;該計劃應該包括:度量目的、度量的背景、度量的范圍、與其它過程改進活動的關系、實現度量應該進行的任務、活動和人力資源、度量進度、度量職責以及支持活動等。由以上的原則和實現步驟可以看出:過程步(l)一(5)是對組織的商業目標進行分析分解,產生GQ(l)M中的G。在(6)一(10)步將目標映射為相應的度量。在整個過程中,必須保持兩個可跟蹤性:一個是目標(G)到商業目標的可回溯,另一個是度量(M)到目標(G),這樣就可以確保度量不偏離組織目標,避免收集不必要的數據,浪費人力。四 度量目標確認方法采用GQM方法定義將要測量的范疇,首先必須定義出目標,再由目標提出相應的問題,問題的答案整理一下就可以成為度量的范疇了,可見度量范疇定義的難點就是目標的選取。一個沒有明確目標的項目,是不可能明確地實現其目標的。在目標驅動度量中,首要的問題不是“我應當運用什么指標?”,而是“什么是我想要知道的或要學習的?”,需要建立過程性能度量目標。過程性能度量目標不是憑空產生的,而來源于具體的商業目標。而關鍵過程是實現商業目標的主要貢獻部分,因此可以通過商業目標在關鍵過程的劃分進一步明確我們要度量的問題。建立從商業目標到具體的度量目標的映射關系,如圖3所示。圖3 商業目標、關鍵過程目標和度量目標的映射關系從最初的度量動機逐層分解到各個關鍵的過程,分析關鍵過程目標。由關鍵過程目標的實現來決定商業目標的實現,再把關鍵過程的目標細化為可度量的度量目標。進行軟件過程度量具體到子過程,確定過程目標和度量目標的活動是一個復合活動,該子過程的輸入產品是“準備好的度量環境”消息信息、項目管理要求、過程管理需求和軟件過程特征,輸出的是度量目標,這里的度量目標在確定了度量子過程之后通過下面六步來實現。(l)確定商業目標本過程的產品是一系列具有不同優先級的商業目標,在對這些目標進行分解前最好讓管理層進行評審以確定正確的優先級,并且保證不會遺漏重要的目標。如建立如下目標,一年內降低50%維護成本;將進度估計的準確性實際提高到10%;內;將下一個項目的系統測試時間減少15%。度量目標是由信息需求發展來的,可能的來源涉及諸如估計項目計劃參數、實施項目狀態的監督、已建立的管理目標、商業計劃、正規需求或合同義務、其他項目或組織級實體的經驗,以及過程改進計劃等內容。客戶滿意、自適應能力強和生產效率高是軟件組織的三大基本商業目標。其他商業目標可從這三大目標中演化出來,例如增強功能、降低成本、縮短產品推出時間和增強產品的質量等。過程管理需求和項目管理需求中實際包含了從軟件組織的各個角度和階層提出的目標,在該活動中不僅要對這些目標進行匯總和評審,而且要按優先級排出順序。不同的商業目標的實現,只要跟軟件產品和服務相關,總可以映射到質量、成本、進度三要素上來。比如對財務盈利,因為針對的軟件研發,所以通過降低成本來提高在相同市場分額情況下的利潤。當然,有些商業目標映射不是簡單的一一對應,而是一對多,如表3所示。比如市場占有率是通過上市速度、產品或服務的質量以及價格來衡量。表1 商業目標與基本目標映射表商業目標與基本目標的映射財務盈利項目或產品的成本項目過程進度進度公司形象產品、過程和服務的質量(客戶滿意度)市場占有率進度(新產品或升級產品)、質量、成本公司業務規模成本(人力成本)多樣化的產品線產品的質量(產品的不同功能).(2)確定關鍵過程。軟件生產過程中有很多的過程, SPICE中把軟件過程為為35個關鍵過程域,15012207中把軟件過程分為28個關鍵過程域, CMM1.3把軟件過程為為24個過程域,各個關鍵過程所占的位置和起的作用各不相同。在該活動中,軟件過程組組長要結合商業目標,決定哪些關鍵過程對達到目標會產生關鍵的影響,從正面和負面兩個方面來分析產生關鍵影響的過程,并確定對其實施度量。商業目標對應到關鍵過程就是對目標的分解,分解到不同的職能角色上,這樣職責才清楚,才可操作。僅僅空談商業目標的意義不大,關鍵誰去實現這些商業目標。而且,從數據采集的角度看,項目中可收集的信息量非常龐大,如果所有信息都收集,那么度量工作的成本就會成為項目組很中的負擔,度量反而成為管理的累贅而不是支撐了,所以就要確定關鍵的項目過程區域。(3)分析關鍵過程目標在具體的關鍵過程內,結合過程定義,分解商業目標,指定關鍵過程的目標。如在某個項目的實施過程中,項目內容是企業管理系統,技術實施上采用.NET實現,沒有什么技術難點,項目成功的關鍵受需求變更的影響。那怎樣考慮把商業目標與關鍵過程對應,并分析關鍵過程目標呢?項目質量是其重要的商業目標,那么,對于該項目,影響其目標實現的關鍵過程分別是需求開發過程和需求管理過程。需求過程的目標可以確定為兩個,一是及時、準備地獲取需求,二是有效地管理需求變更,這兩個目標的實現與否直接影響項目的商業目標(項目產品的的質量)。(4)分析關鍵過程問題結合過程的定義,明確過程中的可度量對象實體,分析要達到關鍵過程目標可能遇到的問題,對過程進行度量,應首先明確度量的實體對象。瀑布模型、原型法模型、原型法模型及CMMI描敘的相關過程模型都可以表示成圖4中的模式。任何實例過程都是對過程輸入、過程組成、過程消耗、過程保留及過程輸出的實例化,每一個部分都存在可度量的實體。圖4 通用的過程實體描述模型過程輸入: 過程運作前接收的信息,包括資源、規范或前續過程輸入等。過程輸出: 過程運作后產生的結果,包括產品、副產品等。過程組成: 包括過程的活動、流程,它表示過程的結構。過程消耗:過程運作中消耗的資源、人力投入和時間等。過程保留:表示過程完成后留下來的東西,如工具、方法和經驗等。對于例子中提高的需求過程的兩個目標,項目組在分析時提出很多實現這兩個目標會遇到的問題,包括:什么時候獲取需求才及時?需求按照什么方式進行優先級排序?有多少需求項可能處于不穩定狀態?需求有多少變更?變更都是在什么階段引入的?本過程步驟產生的是一系列問題列表,此時不一定需要正確地分類,此時最關鍵的是要列出所有重要的問題。設定一系列描述目標的問題。對于每個目標,設想一下必須回答的問題,看看是否達到目標。如目標是一年內降低50%維護成本問題1,每個月我們花在維護上的費用是多少?問題2,花在我們支持的每個應用軟件上的維護成本是多少?問題3,我們花在調整(調整以適應變更的環境)、完善(增加、提高)和修正(糾正缺陷)上的費用是多少?度量目標及問題舉例如表2。表2 度量目標及問題舉例信息分類度量目標可度量概念要解決的問題進度控制進度完成的里程碑關鍵路徑性能工作單元進展增量式能力項目符合預定的里程碑嗎關鍵任務或交付日期延遲了嗎特定的活動和產品進展如何要交付的能力像在增量式構造和發布中預定的那樣嗎資源和費用控制成本人員工作量財務性能環境和支持資源所花工作量是按計劃的嗎是否有足夠的具備所需技能的員工項目是否滿足預算和進度目標需要的設施、設備和材料是否可獲得產品規模和穩定性監控規模物理規模穩定性功能規模穩定性產品的規模、內容、物理特性或接口變更有多少需求和相關的功能變更有多少產品質量控制質量功能正確性可維護性效率可移植性可用性可靠性產品質量是否達到了交付給用戶的水平?已標識的問題解決了嗎系統要求多少維護?維護的難度如何目標系統能有效地使用系統資源嗎功能在另一平臺上重新部署,達到了什么程度用戶接口是足夠的且便于操作嗎?操作員的錯誤是在可接受的范圍內嗎給用戶的服務常常被中斷嗎?故障率是在可接受的范圍內嗎過程性能提高過程性能過程符合性過程效率過程有效性項目實現已定義的過程的一致性如何過程效率是否達到了滿足當前委托和計劃的目標因返工需要花多少額外的工作量技術有效性加強技術有效性技術適合性技術易變性技術滿足所有的已分配的需求嗎?需要額外的技術嗎新的技術是否因太多的變更而造成風險客戶滿意度了解和提高客戶滿意度客戶反饋客戶支持我們的客戶多大程度上理解項目的性能?項目滿足用戶的期望嗎客戶的支持請求多快能得到處理(5)分組關鍵過程問題把所有關鍵過程的問題進行歸納和分組,整理后的提問單是建立度量目標的基礎,度量目標是直接對應這些問題的。在項目中需要考慮可以通過什么指標來衡量項目產品的質量?如果給定的商業目標是提高項目產品的質量,應該從項目的重用率、客戶的介入度、項目的產品的缺陷數三個方面來識別項目中所有關鍵過程,并把這些過程的實施歸結到滿足質量要求這個目標上來:因為影響產品的質量的是需求、開發(設計/編碼)和質量控制措施,相對來說,項目的重用率(不論是設計重用或代碼重用)越高,質量越容易得到保障;其次是客戶的介入,如果客戶與項目組在一起封閉開發,項目經理不會擔心開發出來的產品不是客戶想要的,反之,可能會需要很多返工;最后一個指標才是缺陷數。這就是從質量這個商業目標出發,綜合整個項目過程中影響質量的關鍵過程,得出項目經理更應該考慮這幾個指標。(6)定義度量目標在關鍵過程的目標、問題和過程定義的基礎上,定義度量目標。為了增強從商業目標到度量的可追溯性,對度量目標采用明確的格式進行準確和結構化的定義,準確地界定度量目標的對象、目的內容、用戶對象和度量環境等信息。針對項目產品的質量,需求過程、開發過程和質量控制過程是關鍵過程,那么度量目標可以是:a)度量項目中復用的程度。b)度量項目中客戶的介入度。c)度量項目中的缺陷數。由此,可以建立商業目標、關鍵過程目標和度量目標之間的映射表,如表3所示。表3商業目標、關鍵過程目標和度量目標之間的映射商業目標關鍵過程度量目標項目產品的質量需求過程客戶介入度需求缺陷業務模型復用度開發過程開發復用度客戶介入度開發缺陷質量控制過程開發缺陷五、度量指標的確定指標既是目標的量化,也是過程度量的基礎。評價過程的實施是否達到組織目標,應該使用一組平衡的指標,這組指標是能夠作為評價軟件質量和性能的指標,而每一個指標對應一個目標值,即每一個子目標對應一個指標。指標與目標的關系如圖5所示。圖5 定量指標與子目標的對應關系圖因此,為保證度量活動的有效性,就必須采用合理的方法選取度量指標。可以遵循以下(GQ(I)M方法步驟選取度量指標:(l)確定目標。制定度量計劃。對目標進行分解時,可以參照過程模型的結構進行。根據過程的子過程組成情況,把度量目標分解為針對子過程的子度量目標。(2)提出問題。針對各個度量目標,劃分實現這些目標必須量化的問題度量問題。(3)定義指示器。根據問題,定義相關指示器(包括各種類型的圖表).指示器是對基礎度量的綜合,以圖形、圖表等多種表達方式表現過程的某方面的特性。基礎度量是過程實體的單因素反映,例如過程活動的時間特性;而度量指示器通常是多因素的影響結果,例如過程生產效率是過程活動時間和過程工作產品規模的綜合反映,因此,一個基礎度量可以應用在多個度量指示器上。度量指示器可以直接與目標對應。(4)標識關鍵屬性。確定為了解決問題構造指示器所需收集的數據要素,在屬性層定義關鍵屬性,這些屬性就是過程中所關注的或是對項目有關鍵作用。從標識出的屬性得到具體度量。定義需要回答這些問題的度量標準,選擇回答每個問題所必需的度量如針對問題:我們花在調整、完善和修正上的費用是多少?回答的度量項可以包括如下:每類維護活動所花的時間每類維護活動所花的時間內的總維護成本根據已建立的測量目標,采用“目標-提問-測量(G/Q/M,)”方法,通過提問的方式,確定測量項,測量項分為“基本測量項”和“派生測量項”。“基本測量項”可以通過直接測量得到,“派生測量項”可以取自其他數據,一般是通過兩個或更多的基本測量組合而成。如:GQM加強項目估計,提高計劃的有效性項目工作量估計的準確性如何?基本測量:計劃工作量(工時)、實際工作量(工時)派生測量:工作量估計偏差(%)計算:ABS(實際-計劃)/計劃*100%項目進度估計的準確性如何?項目成本估計的準確性如何?項目規模估計的準確性如何?在定義測量項時,考慮以下原則:1)無歧義2)可追溯性3)可重復

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論