軟件質量保證與測試課件第3章 軟件質量度量和配置管理_第1頁
軟件質量保證與測試課件第3章 軟件質量度量和配置管理_第2頁
軟件質量保證與測試課件第3章 軟件質量度量和配置管理_第3頁
軟件質量保證與測試課件第3章 軟件質量度量和配置管理_第4頁
軟件質量保證與測試課件第3章 軟件質量度量和配置管理_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第3章 軟件質量度量和配置管理1內容提要3.1概述 3.1.1度量 3.1.2軟件度量 3.1.3軟件度量的作用 3.2軟件質量度量 3.2.1軟件質量和軟件質量要素 3.2.2影響軟件質量的因素 3.2.3質量保證模型 3.2.4缺陷排除效率 2內容提要3.3軟件過程度量 3.3.1軟件過程度量概念 3.3.2軟件過程度量常見問題 3.3.3基于目標的軟件過程度量方法 3.4軟件配置管理 3.4.1軟件配置管理的目標 3.4.2軟件配置管理角色職責 3.4.3軟件配置管理過程描述 3.4.4軟件配置管理的關鍵活動 3.4.5常用的軟件配置管理工具 3.5小結 33.1概述在軟件開發中,軟件質量度量的根本目的是為了管理的需要。利用度量來改進軟件過程。人們是無法管理不能度量的事物。在軟件開發的歷史中,我們可以意識到,在60年代末期的大型軟件所面臨的軟件危機反映了軟件開發中管理的重要性。而對于管理層人員來說:沒有對軟件過程的可見度就無法管理;而沒有對見到的事物有適當的度量或適當的準則去判斷、評估和決策,也無法進行優秀的管理。我們說軟件工程的方法論主要在提供可見度方面下工夫。但僅僅是方法論的提高并不能使其成為工程學科。這就需要使用度量。度量是一種可用于決策的可比較的對象。度量已知的事物是為了進行跟蹤和評估。對于未知的事物,度量則用于預測。本章將討論軟件度量的一些基本問題。但應認識到軟件度量的成果是非常初步的,還需要大量工作才可能真正地做到實用化,但它的實用化成就將對軟件的高質量和高速發展有不可估量的影響。43.1.1度量Measure:度量(名詞),是根據一定的規則賦予軟件過程或產品屬性的數值或類別[ISO/IEC14598-1]。數值是對軟件產品、軟件過程的特征的量化計數的結果,類別是特征的定性表示。Measure:度量(動詞),按照度量過程中的過程定義,對軟件過程或軟件產品實施度量,表示實際的動作[ISO/IEC14598-1]。Measurement:測量,是按照一定的尺度用度量(名詞)給軟件實體屬性賦值的過程[ISO/IEC14598-1]。它強調對軟件實體屬性進行量化的過程性,是提取軟件過程或軟件產品屬性的度量(名詞)的過程。它所蘊涵的內容是度量的過程,度量過程可分為評估度量的過程和直接度量的過程,評估度量的過程是對計劃實施度量的過程,直接度量的過程是在實施項目過程中收集數據和分析數據的過程。Metric:度量,是已定義的測量方法和測量尺度[ISO/IEC14598-1]。在很多場合與Indicator交叉出現,但其內涵大于Indicator,Metric概指軟件環境中任何一個軟件對象的屬性的量化表現。Indicator:指示器,或稱為指標。是用于評價或預測其他度量的度量。[ISO/IEC14598-1]。指示器是一個或多個度量的綜合,是對軟件產品或軟件過程的某一方面特征的反映。不同的度量目的,有不同的度量指示器選擇。在具體的實施過程中,可操作的度量成千上萬,應選擇最能反映當時度量環境的指標作為度量指示器。53.1.2軟件度量軟件度量或者說軟件工程度量領域是一個在過去30多年研究非常活躍的軟件工程領域。軟件度量(SoftwareMeasurement)和軟件量度(SoftwareMetrics)一樣非常有名。但目前學界還沒有明確這兩個術語的區別。參照測量理論的相關術語,我們采用軟件度量(SoftwareMeasurement)。從文獻上看,這兩個術語是同義詞。量度(metric)在這里不作度量空間理解,它理解為:度量是客觀對象到數字對象的同態映射。同態映射包括所有關系和結構映射。用另一句話說,軟件品質和軟件度量成直對關系。這是度量和軟件度量的根本理念。63.1.3軟件度量的作用可度量性是學科是否高度成熟的一大標志,度量使軟件開發逐漸趨向專業、標準和科學。盡管人們覺得軟件度量比較難操作,且不愿意在度量上花費時間和精力,甚至對其持懷疑態度,但是這無法否認軟件度量的作用。美國卡內基·梅隆大學(CarnegieMellonUniversity,CMU)軟件工程研究所在《軟件度量指南》(SoftwareMeasurementGuidebook)中認為,軟件度量在軟件工程中的作用有三:通過軟件度量增加理解;通過軟件度量管理軟件項目,主要是計劃和估算、跟蹤和確認;通過軟件度量指導軟件過程改善,主要是理解、評估和包裝。軟件度量對于不同的實施對象,具有不同的效用。7軟件度量的作用角色度量效果軟件公司改善產品質量;改善產品交付;提高生產能力;降低生產成本;建立項目估算的基線;了解使用新的軟件工程方法和工具的效果和效率;提高顧客滿意度;創造更多利潤;構筑員工自豪感項目經理分析產品的錯誤和缺陷;評估現狀;建立估算的基礎;確定產品的復雜度;建立基線;從實際上確定最佳實踐;軟件開發人員可建立更加明確的作業目標;可作為具體作業中的判斷標準;便于有效把握自身的軟件開發項目;便于在具體作業中實施漸進性軟件開發改善活動;83.2軟件質量度量3.2.1軟件質量和軟件質量要素對于軟件質量,CMM的定義是:一個系統、組件或過程符合特定需求的程度;一個系統、組件或過程符合客戶或用戶的要求或期望的程度。93.2.2影響軟件質量的因素軟件業通過多年的實踐,總結出軟件質量是人、過程和技術的函數,即Q={M,P,T}。其中,Q表示軟件質量,M表示人,P表示過程,T表示技術。103.2.3質量保證模型McCall模型Boehm模型FURPS模型ISO912611McCall模型正確性:一個程序滿足她的需求規約和實現用戶任務目標的程度。可靠性:一個程序滿足一所需的精確度完成它的預期功能的程度效率:一個程序完成其功能所需的計算資源和代碼的度量。完整性:對未授權人員訪問軟件或數據的可控制程度。可用性:學習、操作、準備輸入和解釋程序輸出所需的工作量。可維護性:定位和修復程序中一個錯誤所需的工作量。靈活性:修改一個運行的程序所需的工作量。可測試性:測試一個程序以確保她完成所期望的功能所需的工作量。可移植性:把一個程序從一個硬件和或軟件系統環境移植到另一個環境所需的工作量。可復用:性一個程序可以在另外一個應用程序中復用的程度互連性:連接一個系統和另一個系統所需的工作量。12McCall模型13Boehm模型Boehm模型著手于軟件總體的功效,也就是說,對于一個軟件系統而言,除了有用性以外,它的開發過程必定是一個時間,金錢和能量的消耗過程。考慮到系統交付時使用它的用戶類型,Boehm模型從幾個維來考慮軟件的效用。總功效可以被分解成可移植性,有效性,可維護性。其中,有效性可以細分為可靠性,效率,運行工程可維護性可以細分為測試性,可理解性,可修改性。系統功效可移植性有效性可靠性,效率,運行工程可維護性測試性,可理解性,可修改性14FURPS模型

功能性:通過評價特征集和程序的能力、交付的函數的通用性和整體系統的安全性來評估。可用性:通過考慮人的因素、整體美學、一致性和文檔來評估。可靠性:通過度量錯誤的頻率和嚴重程度、輸出結果的準確度、平均失效間隔時間、從失效恢復的能力、程序的可預測性等來評估。性能:通過側度處理速度、響應時間、資源消耗、吞吐量和效率來評估。支持度:包括擴展程序的能力可擴展性、可適應性和服務性這三個屬性代表了一個更一般的概念—可維護性、以及可測試性、兼容度、可配置性組織和控制軟件配置的元素的能力、一個系統可以被安裝的容易程度、問題可以被局部化的容易程度。15ISO9126功能性:適合性、準確性、互操作性、依從性、安全性。可靠性:成熟性、容錯性、可恢復性。可用性:可理解性、易學性、可操作性。效率:時間特性、資源特性。可維護性:可分析性、可改變性、穩定性、可測試性。可移植性:適應性、可安裝性、一致性、可替換性。163.2.4缺陷排除效率缺陷排除效率(DefectRemovalEfficiency,DRE)在項目級和過程級都能提供有益的質量度量。本質上,DRE是對質量保證及控制活動的過濾能力的一個測量,這些活動貫穿于整個過程框架活動。當把一個項目作為一個整體來考慮時,DRE按如下方式定義:DRE=E/(E+D)其中E=軟件交付給最終用戶之前所發現的錯誤數D=軟件交付之后所發現的缺陷數173.3軟件過程度量3.3.1軟件過程度量概念軟件過程度量是對軟件過程進行度量的定義、方法、活動和結果的集合。軟件過程度量不是單一的活動而是一組活動的集合,它本身也是一個系統的過程。與任何系統的過程一樣,它包括確定需求、制定計劃、執行和結果分析等一系列完整的步驟。軟件過程度量通常包括如下的活動:選擇和定義度量、制定度量計劃、收集數據、執行度量分析、評估過程性能、根據評估結果采取相應措施等。18軟件過程度量的過程19軟件過程度量概念軟件過程度量的目標軟件過程度量的對象軟件過程度量的方法軟件過程度量的結果203.3.2軟件過程度量常見問題度量的太多、太頻繁度量的太少、太遲度量了不正確的事物或屬性度量的定義不精確收集了數據卻沒有利用錯誤的解釋度量數據自動化工具欠缺213.3.3基于目標的軟件過程度量方法22一個目標主要受幾個因素的控制ISSUES(側重點):度量對象的質量重點。VIEWPOINT(立場):信息使用者。OBJECT(對象):要度量對象。PURPOSES(目的):一般是理解、控制和改進要度量的對象。23獲得問題可以從以下幾個方面來考慮對于特定目標陳述中的對象,應該抓住那些可以量化的特征?例如:什么是當前同行評審的效率?實際同行評審過程是按照文檔化的流程執行的嗎?同行評審發現缺陷的數量與評審對象規模、評審小組人數有關系嗎?結合模型中的側重點,這些特征應該怎么來描述?例如:同行評審的效率與其基線的偏差是多少?同行評審的效率正在提高嗎?結合模型中的側重點,應該如何評價度量對象的這些特征?例如:每人時發現的缺陷數量明顯提高了嗎?項目經理能夠明顯覺察到評審效率的提高嗎?24選擇數據項時至少要考慮以下幾個方面現有數據的有效性盡量利用現有數據,實在沒有相關數據積累或者現有數據的可靠性太差,也要少選、精選需要進行采集的數據項。總之,應該最大限度地利用現有數據。度量對象的穩定性對于成熟、穩定的度量對象,多應用客觀度量。對于不成熟、不穩定的對象,可以結合主觀判斷和評價來獲得數據。GQM建模的漸進性GQM建模是一個持續改進的過程。所選擇的度量項不僅可以評價度量的對象,反之也反映了模型本身的可靠性和質量。25GQM分解樣例GQM目標用途控制、改進對象同行評審過程側重點能力需求方過程改進人員環境符合CMMI4要求的研發規范問題1什么是PR的過程能力?度量項PR排錯能力同行評審過程缺陷密度的均值和控制限問題2如何判斷一次同行評審的有效性?度量項有效性項目經理評價缺陷密度值狀態項目經理對評審結論的評價缺陷密度值落在控制限之外:Y缺陷密度值落在控制限之內:N問題3項目經理對評審對象質量提高的評價問題4……263.4軟件配置管理軟件配置管理作為CMM2級的一個關鍵域(KeyPracticeArea,KPA),在整個軟件的開發活動中占有很重要的位置。正如Pressman所說的:“軟件配置管理是貫穿于整個軟件過程中的保護性活動,它被設計來:標識變化;控制變化;保證變化被適當地實現;向其他可能有興趣的人員報告變化。273.4.1軟件配置管理的目標軟件配置管理是在貫穿整個軟件生命周期中建立和維護項目產品的完整性。它的基本目標包括:軟件配置管理的各項工作是有計劃進行的。被選擇的項目產品得到識別,控制并且可以被相關人員獲取。已識別出的項目產品的更改得到控制。使相關組別和個人及時了解軟件基準的狀態和內容。283.4.2軟件配置管理角色職責項目經理(ProjectManager,PM)配置控制委員會(ConfigurationControlBoard,CCB)配置管理員(ConfigurationManagementOfficer,CMO)系統集成員(SystemIntegrationOfficer,SIO)開發人員(Developer,DEV)293.4.3軟件配置管理過程描述項目計劃階段CCB根據項目的開發計劃確定各個里程碑和開發策略;CMO根據CCB的規劃,制定詳細的配置管理計劃,交CCB審核;CCB通過配置管理計劃后交項目經理批準,發布實施。項目開發維護階段主要由CMO完成的管理和維護工作;由SIO和DEV具體執行軟件配置管理策略;變更流程。30軟件配置管理基本流程313.4.4

溫馨提示

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

評論

0/150

提交評論