第5章軟件外包中的質量管理_第1頁
第5章軟件外包中的質量管理_第2頁
第5章軟件外包中的質量管理_第3頁
第5章軟件外包中的質量管理_第4頁
第5章軟件外包中的質量管理_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章

軟件外包中的質量管理目錄1、軟件質量2、軟件質量保證與質量控制3、質量體系認證與軟件企業(yè)4、軟件外包與質量管理學習目標1、理解軟件質量的概念;2、了解軟件質量和軟件外包過程的關系;3、理解軟件質量度量的概念和基本內(nèi)容;4、掌握軟件質量體系,軟件質量控制與軟件保證相關概念;5、了解發(fā)包方和承包方對于軟件質量相關問題的對策。第一節(jié)

軟件質量1.1.案例:Oracle11g提前發(fā)布的秘密Gartner公司(高德納,又譯顧能公司)公布的2006年全球關系型數(shù)據(jù)庫管理系統(tǒng)市場份額報告中,Oracle的市場份額為47.1%,是全球排名第一的數(shù)據(jù)庫廠商。市場份額繼續(xù)保持比最接近的兩個競爭對手市場份額之和還高的局面。2007年7月12日,Oracle公司在美國紐約宣布推出數(shù)據(jù)庫Oracle11g,這是Oracle數(shù)據(jù)庫的最新版本。Oracle介紹說,Oracle11g有400多項功能,經(jīng)過了1500萬個小時的測試,開發(fā)工作量達到了3.6萬人/月。有趣的是,根據(jù)Oracle以往幾個版本的發(fā)行經(jīng)驗,發(fā)布新版Oracle數(shù)據(jù)庫的頻率在3年左右,以此類推,Oracle11g應該在07年年底發(fā)布,選擇在7月份發(fā)布,不知道是否和代號Katmai的SQLServer2008有關,因為當時還處于測試階段的SQLServer2008將在08年2月發(fā)布。1.3.軟件質量管理概述(1)什么是軟件質量1983年,ANSI/IEEEStd729給出了軟件質量定義:軟件產(chǎn)品滿足規(guī)定的和隱含的與需求能力有關的全部特征和特性,它包括以下幾個方面:軟件產(chǎn)品質量滿足用戶要求的程度。軟件各種屬性的組合程度。用戶對軟件產(chǎn)品的綜合反映程度。軟件在使用過程中滿足用戶要求的程度。1.3.軟件質量管理概述(1)什么是軟件質量(續(xù))來源定義IEEEStd610.12-1990系統(tǒng)、部件或過程滿足規(guī)定需求的程度;系統(tǒng)、部件或過程滿足顧客或用戶需要或期望的程度。ISO/IEC9126與軟件產(chǎn)品滿足聲明的或隱含的需求能力有關的特征和特性的總和零缺陷之父PhilipB.Crosby質量意味著符合需求。根據(jù)這個定義,高質量的軟件就是指寫好的軟件符合顧客和他的專業(yè)組編制的規(guī)格說明書Fisher和Baker軟件產(chǎn)品滿足明示需求程度的一組屬性的集合現(xiàn)代質量保證的另一個奠基者Juran質量在于滿足顧客需要的產(chǎn)品特性病因而提供產(chǎn)品的滿意度,質量在于除掉缺點。Juran的定義旨在達到顧客的滿意度,并將滿足顧客的實際需求作為軟件質量的真正目標Pressman符合明確陳述功能和性能需求、明確文檔化的開發(fā)標準和所有專業(yè)開發(fā)軟件預期的隱含特性1.3.軟件質量管理概述(1)什么是軟件質量(續(xù))總結不同的軟件質量定義,可以得到以下結論:軟件需求是度量軟件質量的基礎,與需求不一致的軟件質量不高。沒有按照軟件開發(fā)規(guī)范開發(fā)的軟件,肯定會導致軟件質量不高。軟件通常會有一些沒有顯示描述的隱含需求(如期望軟件是容易維護的)。如果軟件滿足明確描述的需求,但卻不滿足隱含的需求,那么軟件的質量仍然是值得懷疑的。1.3.軟件質量管理概述(1)什么是軟件質量(續(xù))隨著軟件產(chǎn)品廣泛的應用到各個領域,軟件質量逐漸成為了大家關注的一個焦點。在一些關鍵應用中,軟件的質量問題有可能造成災難性的后果,例如,銀行結算系統(tǒng)、證券交易系統(tǒng)、飛機上的飛行控制系統(tǒng)等。1.3.軟件質量管理概述(2)軟件質量模型①McCall質量模型McCall質量模型產(chǎn)品變遷產(chǎn)品運行產(chǎn)品修訂

可移植性可復用性可操作性

正確性可靠性可用性完整性功效性可維護性可測試性靈活性1.3.軟件質量管理概述(2)軟件質量模型(續(xù))②Boehm質量模型1.3.軟件質量管理概述(2)軟件質量模型(續(xù))③ISO9126質量模型1.3.軟件質量管理概述(2)軟件質量模型(續(xù))軟件質量模型為考察軟件質量提供了依據(jù),在整個軟件的開發(fā)過程中,需要通過一些方法來確定各種質量因素的需求是否符合,對不符合項則需要跟蹤處理,這些都需要良好的軟件質量管理來保證。1.3.軟件質量管理概述(3)軟件質量管理軟件質量管理主要任務:了解每一個開發(fā)活動和開發(fā)過程對軟件所產(chǎn)生的結果,及時發(fā)現(xiàn)和控制開發(fā)過程中可能產(chǎn)生的或已經(jīng)產(chǎn)生的質量問題;對應軟件生命周期各階段,應用相應的、有效的技術和方法對軟件階段性產(chǎn)品的質量進行驗證,從而保證軟件產(chǎn)品的質量。1.3.軟件質量管理概述(3)軟件質量管理(續(xù))軟件開發(fā)生命周期中的質量檢驗1.3.軟件質量管理概述(3)軟件質量管理(續(xù))

軟件質量管理分為三個部分:質量計劃制定、質量保證和質量控制。質量計劃:是針對特定的產(chǎn)品、項目或合同,規(guī)定專門的質量措施、資源和活動順序的文件,是質量管理的第一過程域。其內(nèi)容全面反應用戶的要求,為質量小組成員有效工作提供了指南;為項目小組成員以及項目相關人員了解在項目進行中如何實施質量保證和控制提供依據(jù);為確保項目質量得到保障提供堅實的基礎。1.3.軟件質量管理概述(3)軟件質量管理(續(xù))質量保證:是貫穿整個項目生命周期的有計劃和有系統(tǒng)的活動,經(jīng)常針對整個項目質量計劃的執(zhí)行情況進行評估、檢查與改進等工作,向管理者、顧客或其它方提供信任,確保項目質量與計劃保持一致。質量控制:是為了保證每一件工作產(chǎn)品都能夠滿足它的需求而在整個軟件過程中所運用的一系列審查、評審和測試。1.4.軟件質量度量軟件質量度量是衡量軟件品質的一種手段。軟件度量通過對軟件開發(fā)項目、過程及其產(chǎn)品進行數(shù)據(jù)定義、收集以及分析的持續(xù)性定量化過程,以達到對軟件產(chǎn)品加以理解、預測、評價、控制和改善的目的。軟件度量可以改進軟件開發(fā)過程,促進項目成功,從而開發(fā)出高質量的軟件產(chǎn)品。1.4.軟件質量度量(1)軟件度量活動軟件度量活動可以分為項目度量、產(chǎn)品度量和過程度量。

項目度量是戰(zhàn)術性的,針對具體的項目展開,度量的內(nèi)容主要包括規(guī)模、成本、工作量、進度、生產(chǎn)力、風險、顧客滿意度等。1.4.軟件質量度量(1)軟件度量活動(續(xù))產(chǎn)品度量側重于理解和控制當前產(chǎn)品的質量狀況,用于對產(chǎn)品質量的預測和控制。產(chǎn)品度量以質量度量為中心,度量內(nèi)容主要包括產(chǎn)品的可靠性、可維護性、產(chǎn)品規(guī)模、軟件復雜度、軟件質量、可移植性、開發(fā)文檔的頁碼數(shù)等。產(chǎn)品度量是度量軟件開發(fā)階段從需求到系統(tǒng)維護等過程中的各種中間產(chǎn)品及最終產(chǎn)品,度量反映軟件產(chǎn)品的設計特性和質量特性。1.4.軟件質量度量(1)軟件度量活動(續(xù))

過程度量是戰(zhàn)略性的,不局限于一個項目,而是針對軟件組織與開發(fā)的流程、執(zhí)行效率等展開測量,是組織內(nèi)大量項目實踐的總結和模型化,為項目度量提供指導意義。過程度量的內(nèi)容包括成熟度、生命周期、生產(chǎn)率、缺陷率等。1.4.軟件質量度量(2)軟件質量度量企業(yè)使用軟件系統(tǒng)的過程中,會遇到如下問題:定制的軟件可能難于理解,難于修改,在維護期間,企業(yè)的維護費用大幅度增加。企業(yè)對軟件質量存在懷疑,企業(yè)評價軟件質量沒有一個恰當?shù)闹笜?,對軟件可靠性和功能性指標了解不足。軟件開發(fā)商缺乏歷史數(shù)據(jù)作為指南,所有關于進度和成本的估算都是粗略的。因為沒有切實的生產(chǎn)率指標,沒有過去關于軟件開發(fā)過程的數(shù)據(jù),企業(yè)無法精確評價開發(fā)商的工作質量。1.4.軟件質量度量(2)軟件質量度量(續(xù))軟件質量度量的層次模型為FCM模型,該模型指出幾個最主要的比較高層的影響著軟件質量的因素,并把他們分為軟件質量要素(factor)、評價準則(criteria)和度量標準(metrics)三個層次。1.4.軟件質量度量(2)軟件質量度量(續(xù))

第1層:質量要素功能性、可靠性、易用性、效率性、可維護性、可移植性

第2層:衡量標準第3層:度量標準準確性、穩(wěn)健性、安全性、通訊有效性、處理有效性、設備有效性、可操作性、培訓性、完備性、一致性、可追蹤性、可見性、硬件系統(tǒng)無關性、軟件系統(tǒng)無關性、可擴充性、公用性、模塊性、清晰性、自描述性、簡單性、結構性、產(chǎn)品文件完備性根據(jù)軟件的需求分析、概要設計、詳細設計、編碼、測試、確認、維護與使用等階段,針對第一個階段制定問卷表,以此實現(xiàn)軟件開發(fā)過程的質量度量1.4.軟件質量度量(2)軟件質量度量(續(xù))FCM模型各層內(nèi)容如下:A、第一層是軟件質量要素①功能性:軟件所實現(xiàn)的功能滿足用戶需求的程度。功能性反映了所開發(fā)的軟件滿足用戶稱述的或蘊涵的需求的程度,即用戶要求的功能是否已經(jīng)全部實現(xiàn)。②可靠性:在規(guī)定的時間和條件下,軟件所能維持其性能水平的程度。可靠性對某些軟件是重要的質量要求,它除了反映軟件滿足用戶需求正常運行的程度,還反映了在故障發(fā)生時軟件能繼續(xù)運行的程度。1.4.軟件質量度量(2)軟件質量度量(續(xù))A、第一層是軟件質量要素(續(xù))③易使用性:對于一個軟件,用戶學習、操作、準備輸入和理解輸出時,所做努力的程度。易使用性反映了對用戶的友善性,即用戶在使用本軟件時是否方便。④效率:在指定的條件下,用軟件實現(xiàn)某種功能所需的計算機資源(包括時間)的有效程度。效率反映了在完成功能要求時,有沒有浪費資源,這里的資源包括內(nèi)存、外存的使用,通道能力及處理時間等。1.4.軟件質量度量(2)軟件質量度量(續(xù))A、第一層是軟件質量要素(續(xù))⑤可維護性:在一個可運行軟件中,為了滿足用戶需求、環(huán)境改變或軟件錯誤發(fā)生時,進行相應修改所做的努力程度??删S修性反映了在用戶需求改變或軟件環(huán)境發(fā)生變更時,對軟件系統(tǒng)進行相應修改的容易程度。一個易于維護的軟件系統(tǒng)也是一個易理解、易測試和易修改的軟件系統(tǒng)。⑥可移植性:從一個計算機系統(tǒng)或環(huán)境轉移到另一個計算機系統(tǒng)或環(huán)境的容易程度。1.4.軟件質量度量(2)軟件質量度量(續(xù))B、第二層是評價準則分為22點。C、第三層是度量標準分為7個階段。第二節(jié)

軟件質量保證與質量控制2.1.案例:軟件質量事故(1)1999年美國宇航局的火星基地登陸飛船試圖登陸火星表面時突然墜毀失蹤。問題就出在當飛船的腳迅速擺開準備著陸時,機械震動觸發(fā)了著地開關,設置錯誤的數(shù)據(jù)位,計算機關閉了推進器。飛船下墜1800米之后沖向地面,撞成碎片。這主要是由于測試小組單獨進行測試,沒有很好的溝通,缺少一個集成測試的階段所導致的。(2)美國愛國者導彈防御系統(tǒng)首次用于在海灣戰(zhàn)爭對抗伊拉克飛毛腿導彈的防御戰(zhàn)爭中,總體看上去效果不錯。但它還是存在幾次失利,沒有成功攔截,其中一枚落在沙特的多哈造成28名美軍死亡。專家分析發(fā)現(xiàn),癥結在于一個軟件缺陷,即多哈襲擊發(fā)生前,系統(tǒng)運行時間已經(jīng)累計超過100多個小時,顯然那時跟蹤系統(tǒng)已經(jīng)不準確,從而造成意想不到的結果。2.2.軟件質量保證軟件質量保證(SoftwareQualityAssurance,SQA)是為了保證軟件質量而進行的一系列有計劃、有組織的活動。軟件質量保證組織的主要責任是:審計,檢查、監(jiān)督、記錄軟件開發(fā)任務的執(zhí)行,查看軟件項目是否遵循事先制定的計劃、標準和規(guī)程,然后向項目經(jīng)理和管理層提供反映產(chǎn)品過程質量的信息和數(shù)據(jù),同時輔助軟件開發(fā)組產(chǎn)出高質量的最終產(chǎn)品。2.2.軟件質量保證(1)為項目制定SQA計劃SQA計劃應該在制定項目計劃時制定,由相關部門審定。規(guī)定了軟件開發(fā)小組和質量保證小組需要執(zhí)行的質量保證活動,其要點包括:需要進行哪些評價?需要進行哪些審計和評審?項目采用的標準;錯誤報告的要求和跟蹤過程;SQA小組應產(chǎn)生哪些文檔?為軟件項目組提供的反饋數(shù)量等。2.2.軟件質量保證(2)參與開發(fā)該軟件項目的軟件過程描述軟件開發(fā)小組為將要開展的工作選擇軟件過程,SQA小組則要評審過程說明,以保證該過程域組織政策、內(nèi)部的軟件標準、外界所制定的標準(如ISO9001)以及軟件項目計劃的其他部分相符。(3)評審各項軟件工程活動核實各項軟件工程活動是否符合已定義的軟件工程。SQA小組識別、記錄和跟蹤所有偏離過程的偏差,核實其是否已經(jīng)改正。2.2.軟件質量保證(4)審計產(chǎn)品審計指定的軟件工程產(chǎn)品,核實其是否符合已定義的軟件過程中的相應部分。SQA小組對選出的產(chǎn)品進行評審,識別、記錄,并跟蹤出現(xiàn)的偏差,核實其是否已經(jīng)改正,定期向項目負責人報告工作結果。(5)記錄與處理確保軟件工作及工作產(chǎn)品中的偏差已被記錄在案,并根據(jù)預定規(guī)程進行處理。偏差可能出現(xiàn)在項目計劃、規(guī)程描述、采用的標準或技術工作產(chǎn)品中。2.2.軟件質量保證(6)跟蹤記錄所有不符合部分,并向上級管理部門報告。跟蹤不符合的部分直到問題得到解決。2.2.軟件質量保證SQA小組還需要協(xié)調變更的控制與管理,并幫助收集和分析軟件度量的信息。軟件質量保證流程是有效開展軟件質量保證工作的基礎,為軟件質量保證人員的工作提供了相應的指導。2.2.軟件質量保證軟件質量保證流程2.2.軟件質量保證軟件項目計劃通過評審以后,就要開始制定軟件質量保證計劃,并對質量保證計劃進行評審,評審合格后質量保證人員按計劃執(zhí)行,隨著項目推進,對項目進行階段性的評審和審計,對項目日常行為進行檢查,對配置管理進行評審和審計,SQA人員將評審和審計結果寫入報告,發(fā)布給軟件工程組,協(xié)商解決問題,對不能解決的問題或遲遲沒有解決的問題應向上層管理人員匯報。2.3.軟件質量控制軟件質量控制(SoftwareQualityControl,SQC)是為了保證每個過程產(chǎn)品都能滿足需求而進行的一些列的審查,評審和測試的工作。審查、評審主要針對需求的正確性,它屬于設計軟件質量的范疇;測試主要針對需求實現(xiàn)的功能,是一致性軟件質量的范疇。2.3.軟件質量控制審查時保證成功完成項目開發(fā)任務的一種有效方法,其主要作用是發(fā)現(xiàn)和記錄文檔缺陷。被審查對象必須是文檔,且需要有參照的規(guī)范。如審查概要設計時,概要設計說明書是審查對象,項目技術規(guī)范是審查概要設計的參照文檔。審查應根據(jù)軟件質量保證計劃,按日常工作進行,因為審查只能對一個完整的文檔產(chǎn)品進行,所有審查一般發(fā)生在項目的某些里程碑上。2.3.軟件質量控制評審時項目管理者為確定當前的階段性產(chǎn)品能否釋放,能否進行階段性轉移而組織的正式的審查。評審是項目管理者評估開發(fā)隊伍的技術輸出,為了使評審更加可信,評審人員必須是產(chǎn)生輸出者以外的人員,即同行。同行評審(PeerReview)是由軟件產(chǎn)品生產(chǎn)者的同行遵循已定義的規(guī)程對產(chǎn)品進行的技術評審,其目的是及早發(fā)現(xiàn)軟件產(chǎn)品的缺陷,并對發(fā)現(xiàn)的錯誤分類統(tǒng)計,提供今后對同類錯誤進行控制的數(shù)據(jù)。2.3.軟件質量控制評審以會議的方式進行,最后生成評審報告和記錄保存。正式的技術評審是一種發(fā)現(xiàn)錯誤和提高軟件質量的有效手段。測試是軟件質量控制的重要手段之一。2.3.軟件質量控制軟件生命周期內(nèi)的質量控制軟件開發(fā)過程是分階段實施的,軟件質量控制貫穿于軟件產(chǎn)品開發(fā)的整個生命周期,與軟件項目同時啟動,在不同的階段承擔著不同的質量保證工作。(1)需求分析階段在此階段必須進行軟件需求評審,以保證所有的需求都在軟件需求說明書中得到正確的反映;確認用戶的這些需求已在文檔中被正確地、完整地描述。確認承辦方提出的項目開發(fā)計劃符合軟件任務書要求,需求規(guī)格說明、接口和數(shù)據(jù)說明符合軟件任務書的技術指標要求,確認評審文檔可以作為概要設計的依據(jù)。2.3.軟件質量控制(2)概要設計階段質量控制工作主要是審查各類設計文檔,考察系統(tǒng)設計結構的合理性、處理過程的正確性、數(shù)據(jù)庫規(guī)范化、模塊的獨立性等。(3)詳細設計階段質量控制工作主要是審查集成單元這間的信息流和控制流的可追蹤性;數(shù)據(jù)加工處理與數(shù)據(jù)結構的一致性;并發(fā)信息處理的正確性;數(shù)據(jù)安全設計的完整性;數(shù)據(jù)字典和數(shù)據(jù)編碼與規(guī)定格式的一致性等。2.3.軟件質量控制(4)代碼開發(fā)階段質量控制工作通過單元測試的形式進行。單元測試一般由開發(fā)人員進行,主要是考察程序是否遵守規(guī)范,具備模塊的高內(nèi)聚性、功能實現(xiàn)的一致性和正確性。(5)集成測試階段軟件集成測試應保證軟件滿足各項設計要求,模塊間無錯誤地連接;軟件系統(tǒng)或子系統(tǒng)有對數(shù)據(jù)的正確處理能力和經(jīng)受錯誤的能力;人機界面正確無誤;滿足全部操作要求,包括啟動、從外部設備輸入數(shù)據(jù)、程序裝入、重新啟動等。2.3.軟件質量控制(6)確認測試階段確認測試是針對軟件的全部功能和性能要求的黑盒測試。質量控制人員的任務是通過測試判別軟件是否達到了軟件包任務書和軟件需求規(guī)格說明的要求,是否存在缺陷。發(fā)現(xiàn)的問題由項目組負責人組織討論,慎重研究,共同決定是否修改及如何修改。2.4.軟件測試1、軟件測試概述軟件測試就是在軟件投入運行前,對軟件需求分析、設計規(guī)格說明和編碼的最終復審。是軟件質量保證的重要手段。軟件測試過程由一系列測試階段組成,具體包括需求分析審查、設計審查、單元測試、集成測試、功能測試、系統(tǒng)測試、驗收測試、回歸測試等。具體在每一個測試階段,都有相似的軟件測試流程:即測試計劃創(chuàng)建、測試設計、執(zhí)行測試及更新測試文檔。2.4.軟件測試2、白盒測試和黑盒測試軟件測試的技術歸結為兩大類:白盒測試和黑盒測試白盒測試(white-boxtesting,又稱邏輯驅動測試或結構測試)是知道產(chǎn)品內(nèi)部工作過程,按照程序內(nèi)部的結構對程序進行測試,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。2.4.軟件測試2、白盒測試和黑盒測試(續(xù))通過白盒測試可以達到以下目標:檢查代碼是否符合預定的編碼規(guī)則;分析軟件的內(nèi)部結構;根據(jù)質量度量模型度量軟件的質量指標;檢查軟件是否存在內(nèi)存管理錯誤;檢查軟件內(nèi)部代碼邏輯與路徑的執(zhí)行情況。白盒測試通常在軟件編碼階段中使用,被測試對象是看得到的功能源碼。2.4.軟件測試2、白盒測試和黑盒測試(續(xù))黑盒測試(black-boxtesting,又稱功能測試或數(shù)據(jù)驅動測試)是站在最終用戶的立場上,檢驗輸入輸出信息及系統(tǒng)性能指標是否符合規(guī)格說明書中有關功能需求及性能需求的規(guī)定。2.4.軟件測試2、白盒測試和黑盒測試(續(xù))黑盒測試可以發(fā)現(xiàn)以下類型的錯誤:功能錯誤或遺漏;界面錯誤;數(shù)據(jù)結構或外部數(shù)據(jù)庫訪問錯誤;性能錯誤;初始化和終止錯誤。許多高層的測試(如:確認測試、系統(tǒng)測試、驗收測試)都采用黑盒測試。設計黑盒測試用例可以和軟件實現(xiàn)同時進行,從而縮短整個測試的時間。2.4.軟件測試白盒測試技術主要應用在軟件測試過程的單元測試階段,可以發(fā)現(xiàn)程序內(nèi)部邏輯問題;黑盒測試技術主要應用在軟件測試過程的集成測試或系統(tǒng)測試階段,可以發(fā)現(xiàn)整個系統(tǒng)的問題,如主要業(yè)務流程、功能等等。白盒測試和黑盒測試兩種技術沒有優(yōu)劣之分,在整個測試過程中是互補的關系。2.4.軟件測試3、軟件測試和軟件質量管理的關系軟件測試流程包括項目技術檢測、測試技術創(chuàng)建、測試設計、測試執(zhí)行、更新測試文檔;SQA的活動可以總結為:協(xié)調度量、風險管理、文檔檢測、促進/協(xié)助流程改進、監(jiān)察測試工作。2.4.軟件測試3、軟件測試和軟件質量管理的關系(續(xù))SQA使得測試工作可以被客觀的檢查與評價,同時也可以協(xié)助測試流程的改進。測試為SQA提供數(shù)據(jù)和依據(jù),幫助SQA更好地了解質量計劃的執(zhí)行情況、過程質量、產(chǎn)品質量和過程改進進展,從而使SQA更好地做好下一步工作。2.4.軟件測試3、軟件測試和軟件質量管理的關系(續(xù))軟件測試和軟件質量保證是軟件質量工程的兩個不同層面的工作。SQA側重于流程中過程的管理與控制,是一項管理工作,側重于流程和方法。測試是對流程中各過程管理與控制策略的具體執(zhí)行實施,其對象是軟件產(chǎn)品(包括階段性的產(chǎn)品),即測試時對軟件產(chǎn)品的檢驗,是一項技術性的工作。2.5.軟件質量保證與軟件質量控制的關系軟件質量保證和軟件質量控制各司其職,相輔相成,統(tǒng)一于質量管理(QualityManagement,QM)。質量保證和質量控制都是實現(xiàn)質量管理目標不可或缺的部分。2.5.軟件質量保證與軟件質量控制的關系項目階段類別軟件質量保證(SQA)軟件質量控制(SQC)工作內(nèi)容工作產(chǎn)品工作內(nèi)容工作產(chǎn)品項目計劃編制QA計劃過程審計項目QA計劃QA階段工作報告測試計劃管理參加評審測試計劃需求分析階段交付物審計過程審計QA階段工作報告分析測試需求參加評審測試需求概要設計階段交付物審計過程審計QA階段工作報告設計測試用例參加評審測試用例詳細設計階段交付物審計過程審計QA階段工作報告2.5.軟件質量保證與軟件質量控制的關系項目階段類別軟件質量保證(SQA)軟件質量控制(SQC)工作內(nèi)容工作產(chǎn)品工作內(nèi)容工作產(chǎn)品編碼階段交付物審計過程審計QA階段工作報告單元測試集成測試參加評審缺陷報告測試報告測試階段交付物審計過程審計QA階段工作報告集成測試系統(tǒng)測試性能測試回歸測試測試管理工作用戶手冊驗證測試腳本缺陷報告測試報告用戶手冊驗證報告軟件交付產(chǎn)品質量狀態(tài)評估過程審計項目交付審計產(chǎn)品質量評估報告QA階段工作報告內(nèi)部接收測試驗收測試缺陷報告測試報告2.5.軟件質量保證與軟件質量控制的關系SQA是從過程和標準來控制開發(fā)過程,審計過程的質量,保證過程被正確執(zhí)行,SQA是過程質量審計者。SQC是通過測試、評審、驗證、確認等手段來發(fā)現(xiàn)軟件中的缺陷,并確保該缺陷得到解決,保證產(chǎn)品符合客戶的需求從而達到提高軟件質量的目的,是產(chǎn)品質量檢查者。SQA通過控制過程來保證軟件產(chǎn)品的質量,而SQC是通過控制每個階段的結果來保證軟件產(chǎn)品的質量。第三節(jié)

質量體系認證與軟件企業(yè)3.2.軟件質量認證1、質量體系認證質量體系認證,又稱質量體系評價與注冊。指由權威的、公正的、具有獨立第三方法人資格的認證機構(由國家管理機構認可并授權的)派出合格審核員組成的檢查組,對申請方質量體系的質量保證能力依據(jù)三種質量保證模式標準進行檢查和評價,對符合標準要求者授予合格證書并予以注冊的全部活動。3.2.軟件質量認證2、質量體系認證工作程序企業(yè)要去的質量體系認證,主要應做好兩方面工作:①建立健全的質量保證體系;②做好與體系認證直接有關的各項工作。經(jīng)常用于軟件質量評估模型主要有:ISO/IEC15504ISO9001SW-CMM/CMMIBootstrapTrillium3.2.軟件質量認證質量體系認證流程3.3.軟件質量標準最早進入國內(nèi)的質量標準是ISO系列。在軟件方面主要使用ISO9000系列標準。ISO9001是一個符合軟件開發(fā)與維護的標準。對企業(yè)的質量管理體系給出了一個宏觀的框架。ISO9001包含了20個要素,描述了軟件企業(yè)質量管理和控制的各個環(huán)節(jié),給出了一般質量系統(tǒng)的需求。使基于ISO9000建立軟件企業(yè)的質量保證平臺具有良好的可操作性。3.3.軟件質量標準軟件能力成熟度模型CMM是目前國際軟件企業(yè)中受歡迎的一個質量標準。CMM標準已經(jīng)成為業(yè)界一個事實上的標準。3.3.軟件質量標準1、ISO9001標準ISO9001標準是由ISO/TC176(國際標準化組織質量管理和質量保證技術委員會)制定的國際標準。ISO9001標準是世界上許多經(jīng)濟發(fā)達國家質量質量管理實踐經(jīng)驗的科學總結,具有通用性和指導性。ISO9001國際標準體系是以過程為基礎的質量管理體系。3.3.軟件質量標準1、ISO9001標準(續(xù))3.3.軟件質量標準1、ISO9001標準(續(xù))ISO9001對于軟件企業(yè)具有作用可歸納如下:使企業(yè)內(nèi)部各類人員的職責明確,避免推諉扯皮,減少管理問題。文件化的管理體系使全部質量工作有可知性、可見性和可查性,通過培訓使員工更理解質量的重要性及對其工作的要求??梢允巩a(chǎn)品質量得到根本的保證??梢詼p低企業(yè)的各種管理成本和損失成本,提高效益。為客戶和潛在的客戶提供信心。提高企業(yè)的形象,增加了競爭的實力。滿足市場準入的要求。3.3.軟件質量標準2、CMMI能力成熟度模型CMM的基本思想是:軟件問題是由管理軟件過程的方法引起的,新軟件技術的運用不會自動提高生產(chǎn)率和利潤率,只有建立一個有規(guī)律的、成熟的軟件過程,才能生產(chǎn)出質量更好的軟件,使更多的軟件項目免受時間和費用的超支之苦。3.3.軟件質量標準2、CMMI能力成熟度模型(續(xù))CMM成熟度等級3.3.軟件質量標準2、CMMI能力成熟度模型(續(xù))1997年美國政府和卡內(nèi)基·梅隆大學軟件工程研究所(SEI)率先倡導把現(xiàn)在所有的以及將被發(fā)展出來的各種能力成熟度模型,集成到一個框架中去,即CMMI,能力成熟度集成模型。3.3.軟件質量標準2、CMMI能力成熟度模型(續(xù))CMMI的一種實施方法為連續(xù)式主要是衡量一個企業(yè)的項目能力。企業(yè)接受評估時可以選擇自己希望評估的項目來進行評估。企業(yè)自己挑選項目,其評估通過的可能性就比較大一點。反映的內(nèi)容比較窄一點,僅代表企業(yè)在該項目或類似項目的實施能力達到了某一等級。CMMI的第二種實施方法為階段性主要是衡量一個企業(yè)的成熟度,亦即是企業(yè)在項目實施上的綜合實力。企業(yè)進行評估時,一定要由評估師來挑選企業(yè)內(nèi)部的任何項目,甚至于任何項目的任何部分。3.3.軟件質量標準2、CMMI能力成熟度模型(續(xù))CMMI評估采用SCAMPI方法。制定SCAMPI的目的在于確保評估的一致性,即要求對不同的評估組織,在多次評估中其結果是相同的。SCAMPI有A類、B類和C類三類評估。3.3.軟件質量標準2、CMMI能力成熟度模型(續(xù))評估等級指標客觀證據(jù)數(shù)量評級資源需求團隊規(guī)模SCAMPIAHigh(高)Yes(有)High(高)Large(大)正式的最嚴厲的評價,目的是獲得評估等級。需要組建正式評估小組,并需要SEI授權的主任評估師領導評估組進行評估。評估方式為文件審查和人員訪談。評估輸出物為最終評估報告,并由主任評估師向SEI注冊評估結果每個Practice需要有一個直接(文檔)證據(jù)和一個間接(文檔或人)證據(jù)向SEI報告評級結果,自由選擇對外公示SEI授權主任評估師領導評估最少4人以上SCAMPIBMedium(中)No(無)Medium(中)Medium(中)檢查的對象可以是一個項目或一系列相關的Practice,全部或部分PAS過程域根據(jù)自定義評估范圍確定證據(jù),每個Practice目標達成情況評價為紅、黃、綠三種執(zhí)行狀態(tài)無評級,公示有相關知識經(jīng)驗的人員或主任評估師領導實施無特殊規(guī)定SCAMPICLow(低)No(無)Low(低)Small(?。┳钚】舍槍σ粋€Practice的執(zhí)行情況進行檢查,檢查和評價的標準可由用戶界定可根據(jù)評估目的,在任何層級選擇評價對象和范圍無評級,公示有相關知識經(jīng)驗的評估小組成員無特殊規(guī)定3.3.軟件質量標準企業(yè)實施CMMI認證的意義歸納如下:指導軟件組織提高軟件開發(fā)管理能力。降低軟件承包方和采購者的風險。評估軟件承包方的軟件開發(fā)管理能力。幫助軟件企業(yè)識別為達到CMMI更高成熟等級所必須的關鍵實踐。幫助企業(yè)擴大知名度、擴展海外市場、促成企業(yè)速效上市,增加軟件企業(yè)的國際競爭力。CMMI認證是衡量軟件企業(yè)工程開發(fā)能力的一個重要指標,是軟件產(chǎn)品進入市場的有力通行證。3.4.我國軟件質量管理區(qū)的的進展(1)軟件企業(yè)對軟件質量認證越來越重視,大部分國內(nèi)軟件企業(yè)對軟件開發(fā)過程進行了CMMI及ISO認證。(2)截止到2009年9月末,我國獲得CMM/CMMI評估證書為1300張,世界排名第二。(3)我國已經(jīng)初步建立了軟件過程改進服務體系,目前過程改進領域咨詢公司數(shù)量已經(jīng)達到50多家,認證機構達到20多家,咨詢公司從業(yè)人員數(shù)量超過300名。(4)截止2009年,我國通過ISO27001認證的企業(yè)數(shù)量是180家左右,約占全球總量的3.46%。3.4.我國軟件質量管理區(qū)的的進展中國大多數(shù)企業(yè)處于CMMI2~3級水平,而印度則大多數(shù)處于3~5級水平。截止2009年底,中國通過CMMI認證的企業(yè)中3級或以上的企業(yè)占88.73%,印度占96.65%。印度已經(jīng)有189家軟件企業(yè)通過了CMMI5認證,占其通過認證企業(yè)總數(shù)的37.2%,而中國通過CMMI5的認證企業(yè)只有48家,僅占中國通過認證企業(yè)總數(shù)的3.98%。第四節(jié)

軟件外包與質量管理4.2.軟件外包中質量管理的重要性從2002年以來,中國一直是日本離岸外包中交易額最多的國家,占整體交易額的60%,并以年均30%的速度在增長。中國所承接的業(yè)務主要是詳細設計、編碼、單體測試、結合測試。中國正在逐步成為日本高端離岸外包業(yè)務的承接地。4.2.軟件外包中質量管理的重要性軟件外包存在的問題中,最大的問題就是質量問題。引起質量問題的原因很多,主要是發(fā)包方和承包方在以下方面的不統(tǒng)一,例如:企業(yè)文化管理模式開發(fā)過程溝通方式開發(fā)標準文檔格式。。。。。。4.2.軟件外包中質量管理的重要性軟件質量是軟件企業(yè)的生命,質量好壞,決定著企業(yè)的市場、企業(yè)的經(jīng)濟效益,甚至企業(yè)的生存和發(fā)展。軟件質量是軟件企業(yè)進入國際市場的前提條件,是有機會進入國際市場的“通行證”。軟件企業(yè)想在國際上站穩(wěn)腳跟,就必須有過硬的軟件產(chǎn)品質量。4.3.發(fā)包方的軟件質量管理外包是發(fā)包方和承包方相互信任、高度協(xié)作的共同行為。發(fā)包方企業(yè)必須具有一定的技術水平、項目管理水平、人力資源和溝通控制能力。承包方企業(yè)則必須具有一定的成本、質量控制能力,國際市場開拓能力,包括業(yè)務能力、交流能力、承包渠道和商業(yè)信譽等。4.3.發(fā)包方的軟件質量管理(1)評價選擇承包方選擇合格的承包方,是決定軟件外包項目成功的關鍵。發(fā)包方應到承包方的現(xiàn)場去考察,以確定承包方是否具備完成外包過程的能力,包括質量保證能力、軟件過程能力、設備的能力、人員的能力等。4.3.發(fā)包方的軟件質量管理(2)與承包方簽訂合同或協(xié)議為了明確外包過程雙方的職責,發(fā)包方英語承包方簽訂外包合同或協(xié)議。在合同或協(xié)議中,應明確對承包方的要求,如承包過程的結果所要達到的要求。必要時,還應包括對承包方質量管理體系的要求及過程、程序、設備和人員的要求;有關法律法規(guī)的要求等。對承包方的要求應與承包方進行溝通,并明確各方的職責及有關問題的協(xié)調、處理。4.3.發(fā)包方的軟件質

溫馨提示

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

評論

0/150

提交評論