軟件質(zhì)量測試第七章軟件質(zhì)量和質(zhì)量保證課件_第1頁
軟件質(zhì)量測試第七章軟件質(zhì)量和質(zhì)量保證課件_第2頁
軟件質(zhì)量測試第七章軟件質(zhì)量和質(zhì)量保證課件_第3頁
軟件質(zhì)量測試第七章軟件質(zhì)量和質(zhì)量保證課件_第4頁
軟件質(zhì)量測試第七章軟件質(zhì)量和質(zhì)量保證課件_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第七章軟件質(zhì)量和質(zhì)量保證沈陽師范大學(xué)軟件學(xué)院1軟件工程系孟磊netmenglei@126.com沈陽師范大學(xué)軟件學(xué)院1軟件工程系1本章內(nèi)容7.1軟件質(zhì)量7.2軟件度量7.3軟件能力成熟度模型7.4軟件質(zhì)量保證沈陽師范大學(xué)軟件學(xué)院2本章內(nèi)容沈陽師范大學(xué)軟件學(xué)院22本節(jié)內(nèi)容7.1軟件質(zhì)量7.1.1軟件質(zhì)量的含義7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件學(xué)院3本節(jié)內(nèi)容7.1軟件質(zhì)量沈陽師范大學(xué)軟件學(xué)院337.1.1軟件質(zhì)量的含義7.1.1軟件質(zhì)量的含義首先來看一些關(guān)于質(zhì)量的定義。1990年,Juran和Gryna把質(zhì)量定義為“適于使用”。1999年,Crosby將質(zhì)量定義為“符合需求”。在GB/T6583-ISO8404(1994版)中,將質(zhì)量定義為“反映實(shí)體滿足明確和隱含需要的能力的特性的總和”,這里的實(shí)體是“可以單獨(dú)描述和研究的事物”,如產(chǎn)品、活動、過程、組織的體系等。在ISO9000:2000中,將質(zhì)量定義為“一組固有特性滿足要求的程度”。至于軟件質(zhì)量,很容易從上述質(zhì)量的定義中作擴(kuò)展。IEEE對軟件質(zhì)量的定義如下。軟件質(zhì)量是:系統(tǒng)、部件或過程滿足顧客或者用戶需要或期望的程度。系統(tǒng)、部件或過程滿足規(guī)定需求的程度。沈陽師范大學(xué)軟件學(xué)院47.1.1軟件質(zhì)量的含義7.1.1軟件質(zhì)量的含義沈陽師范大學(xué)47.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型為了避免軟件質(zhì)量評價(jià)的盲目性,需要制定軟件質(zhì)量模型,從多方面、客觀地、定量地對軟件質(zhì)量進(jìn)行度量和評價(jià)。比較常見的三個軟件質(zhì)量模型是McCall模型、Boehm模型和ISO9126。沈陽師范大學(xué)軟件學(xué)院57.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件57.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型McCall模型是McCall和他同事在1999年提出的,如圖所示。沈陽師范大學(xué)軟件學(xué)院6McCall質(zhì)量模型將軟件質(zhì)量分為3個重要的方面:操作特性(產(chǎn)品運(yùn)行)承受可改變能力(產(chǎn)品修訂)新環(huán)境適應(yīng)能力(產(chǎn)品變遷)圖McCall質(zhì)量模型7.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件67.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件學(xué)院7Boehm模型是Boehm和他的同事在1778年提出的,如圖10-2所示。Boehm質(zhì)量模型是一個分層的模型,除了包含用戶的期望和需要,它還包含了McCall模型所沒有的硬件質(zhì)量特性。Boehm質(zhì)量模型關(guān)注不同類型的用戶需要。第一類用戶是初始用戶,第二類用戶是要將軟件移植到其他軟硬件系統(tǒng)中使用的用戶,第三類用戶是系統(tǒng)維護(hù)人員。也可以說,Boehm質(zhì)量模型反映了不同類型的用戶對軟件質(zhì)量的理解。圖Boehm質(zhì)量模型7.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件77.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件學(xué)院81991年,ISO頒布了ISO9126-1991標(biāo)準(zhǔn)《軟件產(chǎn)品評價(jià)—質(zhì)量特性及其使用指南》。我國也于1996年頒布了同樣的軟件產(chǎn)品質(zhì)量評價(jià)標(biāo)準(zhǔn)GB/T16260-1996。ISO9126模型如圖10-3所示。ISO9126模型定義了6個影響軟件質(zhì)量的質(zhì)量特性,而每個質(zhì)量特性又可通過若干子特性來測量,每個子特性在評價(jià)時(shí)要進(jìn)行定義并實(shí)施若干度量。ISO9126質(zhì)量模型使得軟件最大限度地滿足用戶的明確的和潛在的需求,且從用戶、開發(fā)人員、管理者等各類人員的角度全方位地考慮軟件質(zhì)量。圖ISO7126質(zhì)量模型7.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件8本節(jié)內(nèi)容7.2軟件度量7.2.1軟件度量概述7.2.2軟件度量的目標(biāo)7.2.3軟件度量的三個方面沈陽師范大學(xué)軟件學(xué)院9本節(jié)內(nèi)容7.2軟件度量沈陽師范大學(xué)軟件學(xué)院997.2.1軟件度量概述軟件度量的含義度量是指在現(xiàn)實(shí)的世界中把數(shù)字或符號指定給實(shí)體的某一屬性,以便以這種方式來根據(jù)已明確的規(guī)則來描述它們。度量關(guān)注的是獲取關(guān)于實(shí)體屬性的信息。那么什么是軟件度量呢?軟件度量(SoftwareMeasurement)是對軟件開發(fā)項(xiàng)目、過程及其產(chǎn)品進(jìn)行數(shù)據(jù)定義、收集以及分析的持續(xù)性量化過程,目的在于對項(xiàng)目質(zhì)量、過程質(zhì)量及產(chǎn)品質(zhì)量進(jìn)行理解、預(yù)測、評估、控制和改善。沈陽師范大學(xué)軟件學(xué)院107.2.1軟件度量概述軟件度量的含義沈陽師范大107.2.1軟件度量概述軟件度量的意義在軟件開發(fā)中,軟件度量的根本目的是為了軟件管理的需要,利用度量來改進(jìn)軟件過程,以提高軟件開發(fā)效率和軟件質(zhì)量。通過軟件度量,使人們能夠可預(yù)測、可重復(fù)、準(zhǔn)確地控制軟件開發(fā)過程和軟件產(chǎn)品。度量使得對軟件質(zhì)量的評價(jià)從定性走向了定量,避免了軟件質(zhì)量評價(jià)的模糊性。沈陽師范大學(xué)軟件學(xué)院117.2.1軟件度量概述軟件度量的意義沈陽師范大117.2.1軟件度量概述軟件度量的現(xiàn)狀

在軟件界,軟件度量目前的情況并不盡如人意,如下一些現(xiàn)象是時(shí)常存在的。設(shè)計(jì)和開發(fā)軟件產(chǎn)品的時(shí)候,并未制定出度量的目標(biāo)。未能對構(gòu)成軟件項(xiàng)目實(shí)際費(fèi)用的各個不同部分進(jìn)行有效的度量。由于缺乏清晰的度量目標(biāo),使得開發(fā)人員不能使開發(fā)的產(chǎn)品質(zhì)量的各方面特性都合格,因此不能使用術(shù)語向潛在的用戶說明軟件產(chǎn)品具有很高的質(zhì)量。由于缺乏對軟件的度量,看不到清晰的實(shí)效,因而人們對所使用的軟件開發(fā)技術(shù)沒有足夠的信心。沈陽師范大學(xué)軟件學(xué)院127.2.1軟件度量概述軟件度量的現(xiàn)狀沈陽師范大127.2.3軟件度量的三個方面軟件度量的三個方面

軟件度量貫穿于軟件開發(fā)的整個生命周期。軟件度量包括3個方面:項(xiàng)目度量產(chǎn)品度量過程度量沈陽師范大學(xué)軟件學(xué)院137.2.3軟件度量的三個方面軟件度量的三個方面137.2.3軟件度量的三個方面具體情況如表所示

沈陽師范大學(xué)軟件學(xué)院147.2.3軟件度量的三個方面具體情況如表所示沈14實(shí)訓(xùn)一:軟件質(zhì)量保證計(jì)劃沈陽師范大學(xué)軟件學(xué)院15實(shí)訓(xùn)一:軟件質(zhì)量保證計(jì)劃沈陽師范大學(xué)軟件學(xué)院1515本節(jié)內(nèi)容7.3軟件能力成熟度模型7.3.1軟件能力成熟度模型概述7.3.2軟件能力成熟度模型的建立和評估沈陽師范大學(xué)軟件學(xué)院16本節(jié)內(nèi)容7.3軟件能力成熟度模型沈陽師范大學(xué)軟件學(xué)院16167.3.1軟件能力成熟度模型概述起源卡內(nèi)基·梅隆大學(xué)軟件工程研究所CMU/SEI(CarnegieMellonUniversity/SoftwareEngineeringInstitute)于1989年研究發(fā)布了軟件過程成熟度框架,并提供了軟件過程評估和軟件能力評價(jià)兩種評估方法和軟件成熟度模型。4年之后,SEI將軟件過程成熟度框架進(jìn)化為軟件能力成熟度模型(theCapabilityMaturityModelForSoftware,簡稱SW-CMM),并發(fā)布了最早的SW-CMM1.0版。經(jīng)過兩年的試用,1993年SEI正式發(fā)布了SW-CMM1.1版,這是目前使用最為廣泛的版本。沈陽師范大學(xué)軟件學(xué)院177.3.1軟件能力成熟度模型概述起源沈陽師范大177.3.1軟件能力成熟度模型概述軟件能力成熟度模型中的重要概念過程(Process):CMM中引用了IEEE對過程的定義,即過程是“為達(dá)到目的而執(zhí)行的所有步驟的系列”。軟件過程(SoftwareProcess):人們用于開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品的一系列活動、方法、實(shí)踐和革新。軟件和其相關(guān)產(chǎn)品是指項(xiàng)目計(jì)劃、需求文檔、設(shè)計(jì)文檔、代碼、測試用例、用戶手冊等。軟件過程能力(SoftwareProcessCapability):在遵循一個軟件過程后能得到的預(yù)期結(jié)果的范圍。它可用來預(yù)測一個機(jī)構(gòu)在承接一個軟件項(xiàng)目后,所能得到的最可能的結(jié)果。軟件過程性能(SoftwareProcessPerformance):在遵循一個軟件過程后所得到的實(shí)際結(jié)果。軟件過程成熟度(SoftwareProcessMaturity):一個具體的軟件過程被明確定義、管理、評價(jià)、控制和產(chǎn)生實(shí)效的程度。所謂成熟度,包含著能力的一種增長潛力,同時(shí)也表明了軟件機(jī)構(gòu)實(shí)施軟件過程的實(shí)際水平。沈陽師范大學(xué)軟件學(xué)院187.3.1軟件能力成熟度模型概述軟件能力成熟度187.3.1軟件能力成熟度模型概述軟件能力成熟度模型的作用企業(yè)實(shí)施CMM模型可為企業(yè)帶來如下好處:指導(dǎo)軟件機(jī)構(gòu)提高軟件開發(fā)管理能力。降低軟件承包商和采購者的風(fēng)險(xiǎn)。評估軟件承包商的軟件開發(fā)管理能力。幫助軟件企業(yè)識別開發(fā)和維護(hù)軟件的有效過程和關(guān)鍵實(shí)踐。幫助軟件企業(yè)識別為達(dá)到CMM更高成熟等級所必須的關(guān)鍵實(shí)踐。增加軟件企業(yè)的國際競爭能力。沈陽師范大學(xué)軟件學(xué)院197.3.1軟件能力成熟度模型概述軟件能力成熟度197.3.1軟件能力成熟度模型概述軟件能力成熟度模型的5個等級CMM將軟件過程的成熟度分為5個等級,如圖所示沈陽師范大學(xué)軟件學(xué)院207.3.1軟件能力成熟度模型概述軟件能力成熟度207.3.1軟件能力成熟度模型概述軟件能力成熟度模型的5個等級在

CMM中,等級越高,軟件開發(fā)生產(chǎn)精度則越高,每單位工程的生產(chǎn)周期也越短。在CMM的5個等級中,除了初始級,其他4個等級均有若干個指導(dǎo)軟件機(jī)構(gòu)改進(jìn)軟件過程的要點(diǎn),稱為關(guān)鍵過程域(KeyProcessArea,簡稱KPA)。

所謂關(guān)鍵過程域是指一系列相互關(guān)聯(lián)的操作活動,這些活動反映了一個軟件機(jī)構(gòu)改進(jìn)過程時(shí)必須集中精力改進(jìn)的幾個方面。只有一個軟件機(jī)構(gòu)的所有項(xiàng)目都達(dá)到某個關(guān)鍵過程域的目標(biāo),該軟件機(jī)構(gòu)的以該關(guān)鍵過程域?yàn)樘卣鞯倪^程能力才是規(guī)范化了的。沈陽師范大學(xué)軟件學(xué)院217.3.1軟件能力成熟度模型概述軟件能力成熟度217.3.1軟件能力成熟度模型概述軟件能力成熟度模型的5個等級在CMM中一共有18個關(guān)鍵過程域,分布在2~5級中。任何一個成熟度級別的關(guān)鍵過程域集都是本級描述的關(guān)鍵過程域集和所有下級的關(guān)鍵過程域集的并集。如第3級的關(guān)鍵過程域就應(yīng)有13個不同的域,其中7個是第3級自己包含的,6個屬于第2級,而第4級應(yīng)有15個域。沈陽師范大學(xué)軟件學(xué)院227.3.1軟件能力成熟度模型概述軟件能力成熟度227.3.1軟件能力成熟度模型概述關(guān)鍵實(shí)踐和共同特征為達(dá)到某個成熟度級別的關(guān)鍵過程域的目標(biāo),必須實(shí)施若干關(guān)鍵實(shí)踐。關(guān)鍵實(shí)踐(Key

Practice)是指對關(guān)鍵過程域起重要作用的方針、規(guī)程、措施、活動以及相關(guān)基礎(chǔ)設(shè)施的建立。關(guān)鍵實(shí)踐涉及5個方面,分別為執(zhí)行約定、執(zhí)行能力、執(zhí)行的活動、測量和分析、驗(yàn)證實(shí)施,被稱作5個共同特征(Common

Features)。每個關(guān)鍵過程域所包含的關(guān)鍵實(shí)踐均按這5個共同特征進(jìn)行組織。沈陽師范大學(xué)軟件學(xué)院237.3.1軟件能力成熟度模型概述關(guān)鍵實(shí)踐和共同237.3.1軟件能力成熟度模型概述可用圖來概括CMM的邏輯結(jié)構(gòu)沈陽師范大學(xué)軟件學(xué)院247.3.1軟件能力成熟度模型概述可用圖來概括C247.3.2軟件能力成熟度模型的建立和評估CMM的實(shí)施步驟企業(yè)實(shí)施CMM,可從如下幾個步驟進(jìn)行:

①提高思想認(rèn)識,了解必要性和迫切性;②確定合理的目標(biāo);③進(jìn)行CMM培訓(xùn)和咨詢工作;④成立工作組;⑤制定和完善軟件過程;⑥內(nèi)部評審;⑦初期評估;⑧正式評估;⑨根據(jù)評估的結(jié)果改進(jìn)軟件過程。沈陽師范大學(xué)軟件學(xué)院257.3.2軟件能力成熟度模型的建立和評估CM257.3.2軟件能力成熟度模型的建立和評估CMM的評估方法

CMM的評估方法為CBA-IPI(CMM-BasedAppraisalforInternalProcessImprovement,基于CMM的內(nèi)部過程改進(jìn)評估)。CMM評估包括5個等級,共計(jì)18個關(guān)鍵過程域,52個目標(biāo),300多個關(guān)鍵實(shí)踐。每一個CMM等級評估周期約需12-30個月。每一級別的評估由CMU/SEI授權(quán)的主任評估師領(lǐng)導(dǎo)一個評審小組進(jìn)行。評估過程包括員工培訓(xùn)、問卷填寫和統(tǒng)計(jì)、文檔審查、數(shù)據(jù)分析、與企業(yè)的高層領(lǐng)導(dǎo)討論和撰寫評估報(bào)告等。沈陽師范大學(xué)軟件學(xué)院267.3.2軟件能力成熟度模型的建立和評估CM267.3.2軟件能力成熟度模型的建立和評估實(shí)施CMM應(yīng)把握的原則任何軟件開發(fā)單位在提升自己的CMM等級時(shí),只能由所處的層次向緊鄰的上一層次進(jìn)化,不可越級。通過CMM某個等級的評估并不是軟件企業(yè)最終的目的,顯然,最終目的應(yīng)是通過CMM評估來改進(jìn)企業(yè)的軟件過程,提升軟件開發(fā)的能力。沈陽師范大學(xué)軟件學(xué)院277.3.2軟件能力成熟度模型的建立和評估實(shí)施C27本節(jié)內(nèi)容7.4軟件質(zhì)量保證7.4.1軟件質(zhì)量保證概述7.4.2軟件質(zhì)量保證的工作內(nèi)容7.4.3軟件質(zhì)量保證的實(shí)施沈陽師范大學(xué)軟件學(xué)院28本節(jié)內(nèi)容7.4軟件質(zhì)量保證沈陽師范大學(xué)軟件學(xué)院28287.4.1軟件質(zhì)量保證概述

軟件質(zhì)量保證

軟件質(zhì)量保證,即SQA(SoftwareQualityAssurance),是CMM第2級中的一個關(guān)鍵過程域,它是貫穿整個軟件過程的第三方獨(dú)立審查活動,出現(xiàn)在大多數(shù)關(guān)鍵過程域的檢查與驗(yàn)證的公共特性中。沈陽師范大學(xué)軟件學(xué)院297.4.1軟件質(zhì)量保證概述軟件質(zhì)量保證沈陽師297.4.1軟件質(zhì)量保證概述軟件質(zhì)量保證的目的

SQA的目的是向管理者提供對軟件過程進(jìn)行全面監(jiān)控的手段,包括評審和審計(jì)軟件產(chǎn)品和活動,驗(yàn)證它們是否符合相應(yīng)的規(guī)程和標(biāo)準(zhǔn),同時(shí)給項(xiàng)目管理者提供這些評審和審計(jì)的結(jié)果,以反映產(chǎn)品和過程質(zhì)量,提高項(xiàng)目透明度。沈陽師范大學(xué)軟件學(xué)院307.4.1軟件質(zhì)量保證概述軟件質(zhì)量保證的目的沈307.4.1軟件質(zhì)量保證概述SQA組織的主要工作包括以下兩方面:監(jiān)控軟件的開發(fā)過程,保證軟件開發(fā)過程符合相應(yīng)的標(biāo)準(zhǔn)與規(guī)程。保證軟件產(chǎn)品、軟件過程中存在的不符合問題得到處理,必要時(shí)將問題反映給高級管理者。軟件工程過程小組SEPG的職責(zé)是提供軟件過程的指導(dǎo),幫助項(xiàng)目組制定項(xiàng)目過程,實(shí)施過程改進(jìn)。如果項(xiàng)目組和SQA對過程的理解不一致,SEPG作為最終仲裁者??捎昧⒎ㄕ吆蛨?zhí)法者形容SEPG和SQA之間的關(guān)系。沈陽師范大學(xué)軟件學(xué)院317.4.1軟件質(zhì)量保證概述SQA組織的主要工317.4.1軟件質(zhì)量保證概述SQA組織的主要工作

SQA的主要作用是給管理者提供實(shí)現(xiàn)軟件過程的保證,因此SQA組織要保證如下幾點(diǎn):選定的開發(fā)方法被采用。選定的標(biāo)準(zhǔn)和規(guī)程得到采用和遵循。進(jìn)行獨(dú)立的審查。偏離標(biāo)準(zhǔn)和規(guī)程的問題得到及時(shí)地反映和處理。項(xiàng)目定義的每個軟件任務(wù)得到實(shí)際的執(zhí)行。沈陽師范大學(xué)軟件學(xué)院327.4.1軟件質(zhì)量保證概述SQA組織的主要工327.4.2軟件質(zhì)量保證的工作內(nèi)容軟件質(zhì)量保證的工作內(nèi)容1.計(jì)劃2.審計(jì)/證實(shí)3.處理不符合問題沈陽師范大學(xué)軟件學(xué)院337.4.2軟件質(zhì)量保證的工作內(nèi)容軟件質(zhì)量保證的337.4.3軟件質(zhì)量保證的實(shí)施軟件質(zhì)量保證的實(shí)施軟件質(zhì)量保證的實(shí)施過程中需要注意如下幾方面的問題。企業(yè)的高級管理者必須重視軟件質(zhì)量保證活動。要考慮SQA人員的素質(zhì)。某項(xiàng)目的SQA人員不能是該項(xiàng)目組的開發(fā)人員、配置管理人員或測試人員.SQA人員在工作過程中一定要抓住問題的重點(diǎn)與本質(zhì),不要陷入對細(xì)節(jié)的爭論之中。SQA人員要客觀、有責(zé)任心。SQA人員要能應(yīng)對繁雜的工作。沈陽師范大學(xué)軟件學(xué)院347.4.3軟件質(zhì)量保證的實(shí)施軟件質(zhì)量保證的347.4.3軟件質(zhì)量保證與測試的區(qū)別軟件質(zhì)量保證與測試的區(qū)別在闡述兩者區(qū)別之前,先來看QA和QC的概念。

QA(QualityAssurance,質(zhì)量保證):監(jiān)控公司質(zhì)量保證體系的運(yùn)行狀況,審計(jì)項(xiàng)目的實(shí)際執(zhí)行情況和公司規(guī)范之間的差異,并出具改進(jìn)建議和統(tǒng)計(jì)分析報(bào)告,對公司的質(zhì)量保證體系的質(zhì)量負(fù)責(zé)。QC(QualityControl,質(zhì)量控制):對每一個階段或者關(guān)鍵點(diǎn)的產(chǎn)出物(工件)進(jìn)行檢測,評估產(chǎn)出物是否符合預(yù)計(jì)的質(zhì)量要求,對產(chǎn)出物的質(zhì)量負(fù)責(zé)。QC有時(shí)也被稱為質(zhì)量檢驗(yàn)或質(zhì)量檢查。QA在軟件企業(yè)中實(shí)際上就是SQA,即軟件質(zhì)量保證;而QC在軟件企業(yè)中實(shí)際上就是SQC,即軟件質(zhì)量控制。沈陽師范大學(xué)軟件學(xué)院357.4.3軟件質(zhì)量保證與測試的區(qū)別軟件質(zhì)量保證357.4.3軟件質(zhì)量保證與測試的區(qū)別軟件質(zhì)量保證與測試的區(qū)別如果將軟件的生產(chǎn)比喻成一條產(chǎn)品加工生產(chǎn)線的話,那么SQA只負(fù)責(zé)生產(chǎn)線本身的質(zhì)量,而不管生產(chǎn)線中單個產(chǎn)品的實(shí)際質(zhì)量情況。SQA在軟件企業(yè)內(nèi)對應(yīng)的角色為軟件質(zhì)量保證人員。而SQC則不管生產(chǎn)線本身的質(zhì)量,而只關(guān)注按現(xiàn)有生產(chǎn)線生產(chǎn)的階段性產(chǎn)品的質(zhì)量是否符合預(yù)期的要求。即SQC只負(fù)責(zé)檢查軟件開發(fā)過程中各個階段產(chǎn)出的工件的質(zhì)量。SQC在軟件企業(yè)內(nèi)對應(yīng)的角色為軟件測試人員。沈陽師范大學(xué)軟件學(xué)院367.4.3軟件質(zhì)量保證與測試的區(qū)別軟件質(zhì)量保證367.4.3軟件質(zhì)量保證與測試的區(qū)別軟件質(zhì)量保證與測試的區(qū)別SQA和SQC對于企業(yè)軟件質(zhì)量的保證是缺一不可的,這兩類人員常需進(jìn)行配合。SQA和SQC的共同點(diǎn)在于它們的最終目標(biāo)一致,都是提高軟件的質(zhì)量。而它們的區(qū)別在于:任務(wù)不同:SQA是審計(jì)軟件過程的質(zhì)量,而SQC則是檢驗(yàn)每個階段產(chǎn)品的質(zhì)量。層次不同:SQA是站在比SQC更高的層次上保證軟件質(zhì)量,SQC關(guān)注的內(nèi)容是局部的,而SQA關(guān)注的則是整個軟件過程。因此,SQC人員(軟件測試人員)的工作是受SQA人員的監(jiān)督的,即SQA可保證測試工作是按照定義好的流程執(zhí)行的。沈陽師范大學(xué)軟件學(xué)院377.4.3軟件質(zhì)量保證與測試的區(qū)別軟件質(zhì)量保證37實(shí)訓(xùn)二:編寫SQA報(bào)告沈陽師范大學(xué)軟件學(xué)院38實(shí)訓(xùn)二:編寫SQA報(bào)告沈陽師范大學(xué)軟件學(xué)院3838

第七章軟件質(zhì)量和質(zhì)量保證沈陽師范大學(xué)軟件學(xué)院39軟件工程系孟磊netmenglei@126.com沈陽師范大學(xué)軟件學(xué)院1軟件工程系39本章內(nèi)容7.1軟件質(zhì)量7.2軟件度量7.3軟件能力成熟度模型7.4軟件質(zhì)量保證沈陽師范大學(xué)軟件學(xué)院40本章內(nèi)容沈陽師范大學(xué)軟件學(xué)院240本節(jié)內(nèi)容7.1軟件質(zhì)量7.1.1軟件質(zhì)量的含義7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件學(xué)院41本節(jié)內(nèi)容7.1軟件質(zhì)量沈陽師范大學(xué)軟件學(xué)院3417.1.1軟件質(zhì)量的含義7.1.1軟件質(zhì)量的含義首先來看一些關(guān)于質(zhì)量的定義。1990年,Juran和Gryna把質(zhì)量定義為“適于使用”。1999年,Crosby將質(zhì)量定義為“符合需求”。在GB/T6583-ISO8404(1994版)中,將質(zhì)量定義為“反映實(shí)體滿足明確和隱含需要的能力的特性的總和”,這里的實(shí)體是“可以單獨(dú)描述和研究的事物”,如產(chǎn)品、活動、過程、組織的體系等。在ISO9000:2000中,將質(zhì)量定義為“一組固有特性滿足要求的程度”。至于軟件質(zhì)量,很容易從上述質(zhì)量的定義中作擴(kuò)展。IEEE對軟件質(zhì)量的定義如下。軟件質(zhì)量是:系統(tǒng)、部件或過程滿足顧客或者用戶需要或期望的程度。系統(tǒng)、部件或過程滿足規(guī)定需求的程度。沈陽師范大學(xué)軟件學(xué)院427.1.1軟件質(zhì)量的含義7.1.1軟件質(zhì)量的含義沈陽師范大學(xué)427.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型為了避免軟件質(zhì)量評價(jià)的盲目性,需要制定軟件質(zhì)量模型,從多方面、客觀地、定量地對軟件質(zhì)量進(jìn)行度量和評價(jià)。比較常見的三個軟件質(zhì)量模型是McCall模型、Boehm模型和ISO9126。沈陽師范大學(xué)軟件學(xué)院437.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件437.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型McCall模型是McCall和他同事在1999年提出的,如圖所示。沈陽師范大學(xué)軟件學(xué)院44McCall質(zhì)量模型將軟件質(zhì)量分為3個重要的方面:操作特性(產(chǎn)品運(yùn)行)承受可改變能力(產(chǎn)品修訂)新環(huán)境適應(yīng)能力(產(chǎn)品變遷)圖McCall質(zhì)量模型7.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件447.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件學(xué)院45Boehm模型是Boehm和他的同事在1778年提出的,如圖10-2所示。Boehm質(zhì)量模型是一個分層的模型,除了包含用戶的期望和需要,它還包含了McCall模型所沒有的硬件質(zhì)量特性。Boehm質(zhì)量模型關(guān)注不同類型的用戶需要。第一類用戶是初始用戶,第二類用戶是要將軟件移植到其他軟硬件系統(tǒng)中使用的用戶,第三類用戶是系統(tǒng)維護(hù)人員。也可以說,Boehm質(zhì)量模型反映了不同類型的用戶對軟件質(zhì)量的理解。圖Boehm質(zhì)量模型7.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件457.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件學(xué)院461991年,ISO頒布了ISO9126-1991標(biāo)準(zhǔn)《軟件產(chǎn)品評價(jià)—質(zhì)量特性及其使用指南》。我國也于1996年頒布了同樣的軟件產(chǎn)品質(zhì)量評價(jià)標(biāo)準(zhǔn)GB/T16260-1996。ISO9126模型如圖10-3所示。ISO9126模型定義了6個影響軟件質(zhì)量的質(zhì)量特性,而每個質(zhì)量特性又可通過若干子特性來測量,每個子特性在評價(jià)時(shí)要進(jìn)行定義并實(shí)施若干度量。ISO9126質(zhì)量模型使得軟件最大限度地滿足用戶的明確的和潛在的需求,且從用戶、開發(fā)人員、管理者等各類人員的角度全方位地考慮軟件質(zhì)量。圖ISO7126質(zhì)量模型7.1.2軟件質(zhì)量模型7.1.2軟件質(zhì)量模型沈陽師范大學(xué)軟件46本節(jié)內(nèi)容7.2軟件度量7.2.1軟件度量概述7.2.2軟件度量的目標(biāo)7.2.3軟件度量的三個方面沈陽師范大學(xué)軟件學(xué)院47本節(jié)內(nèi)容7.2軟件度量沈陽師范大學(xué)軟件學(xué)院9477.2.1軟件度量概述軟件度量的含義度量是指在現(xiàn)實(shí)的世界中把數(shù)字或符號指定給實(shí)體的某一屬性,以便以這種方式來根據(jù)已明確的規(guī)則來描述它們。度量關(guān)注的是獲取關(guān)于實(shí)體屬性的信息。那么什么是軟件度量呢?軟件度量(SoftwareMeasurement)是對軟件開發(fā)項(xiàng)目、過程及其產(chǎn)品進(jìn)行數(shù)據(jù)定義、收集以及分析的持續(xù)性量化過程,目的在于對項(xiàng)目質(zhì)量、過程質(zhì)量及產(chǎn)品質(zhì)量進(jìn)行理解、預(yù)測、評估、控制和改善。沈陽師范大學(xué)軟件學(xué)院487.2.1軟件度量概述軟件度量的含義沈陽師范大487.2.1軟件度量概述軟件度量的意義在軟件開發(fā)中,軟件度量的根本目的是為了軟件管理的需要,利用度量來改進(jìn)軟件過程,以提高軟件開發(fā)效率和軟件質(zhì)量。通過軟件度量,使人們能夠可預(yù)測、可重復(fù)、準(zhǔn)確地控制軟件開發(fā)過程和軟件產(chǎn)品。度量使得對軟件質(zhì)量的評價(jià)從定性走向了定量,避免了軟件質(zhì)量評價(jià)的模糊性。沈陽師范大學(xué)軟件學(xué)院497.2.1軟件度量概述軟件度量的意義沈陽師范大497.2.1軟件度量概述軟件度量的現(xiàn)狀

在軟件界,軟件度量目前的情況并不盡如人意,如下一些現(xiàn)象是時(shí)常存在的。設(shè)計(jì)和開發(fā)軟件產(chǎn)品的時(shí)候,并未制定出度量的目標(biāo)。未能對構(gòu)成軟件項(xiàng)目實(shí)際費(fèi)用的各個不同部分進(jìn)行有效的度量。由于缺乏清晰的度量目標(biāo),使得開發(fā)人員不能使開發(fā)的產(chǎn)品質(zhì)量的各方面特性都合格,因此不能使用術(shù)語向潛在的用戶說明軟件產(chǎn)品具有很高的質(zhì)量。由于缺乏對軟件的度量,看不到清晰的實(shí)效,因而人們對所使用的軟件開發(fā)技術(shù)沒有足夠的信心。沈陽師范大學(xué)軟件學(xué)院507.2.1軟件度量概述軟件度量的現(xiàn)狀沈陽師范大507.2.3軟件度量的三個方面軟件度量的三個方面

軟件度量貫穿于軟件開發(fā)的整個生命周期。軟件度量包括3個方面:項(xiàng)目度量產(chǎn)品度量過程度量沈陽師范大學(xué)軟件學(xué)院517.2.3軟件度量的三個方面軟件度量的三個方面517.2.3軟件度量的三個方面具體情況如表所示

沈陽師范大學(xué)軟件學(xué)院527.2.3軟件度量的三個方面具體情況如表所示沈52實(shí)訓(xùn)一:軟件質(zhì)量保證計(jì)劃沈陽師范大學(xué)軟件學(xué)院53實(shí)訓(xùn)一:軟件質(zhì)量保證計(jì)劃沈陽師范大學(xué)軟件學(xué)院1553本節(jié)內(nèi)容7.3軟件能力成熟度模型7.3.1軟件能力成熟度模型概述7.3.2軟件能力成熟度模型的建立和評估沈陽師范大學(xué)軟件學(xué)院54本節(jié)內(nèi)容7.3軟件能力成熟度模型沈陽師范大學(xué)軟件學(xué)院16547.3.1軟件能力成熟度模型概述起源卡內(nèi)基·梅隆大學(xué)軟件工程研究所CMU/SEI(CarnegieMellonUniversity/SoftwareEngineeringInstitute)于1989年研究發(fā)布了軟件過程成熟度框架,并提供了軟件過程評估和軟件能力評價(jià)兩種評估方法和軟件成熟度模型。4年之后,SEI將軟件過程成熟度框架進(jìn)化為軟件能力成熟度模型(theCapabilityMaturityModelForSoftware,簡稱SW-CMM),并發(fā)布了最早的SW-CMM1.0版。經(jīng)過兩年的試用,1993年SEI正式發(fā)布了SW-CMM1.1版,這是目前使用最為廣泛的版本。沈陽師范大學(xué)軟件學(xué)院557.3.1軟件能力成熟度模型概述起源沈陽師范大557.3.1軟件能力成熟度模型概述軟件能力成熟度模型中的重要概念過程(Process):CMM中引用了IEEE對過程的定義,即過程是“為達(dá)到目的而執(zhí)行的所有步驟的系列”。軟件過程(SoftwareProcess):人們用于開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品的一系列活動、方法、實(shí)踐和革新。軟件和其相關(guān)產(chǎn)品是指項(xiàng)目計(jì)劃、需求文檔、設(shè)計(jì)文檔、代碼、測試用例、用戶手冊等。軟件過程能力(SoftwareProcessCapability):在遵循一個軟件過程后能得到的預(yù)期結(jié)果的范圍。它可用來預(yù)測一個機(jī)構(gòu)在承接一個軟件項(xiàng)目后,所能得到的最可能的結(jié)果。軟件過程性能(SoftwareProcessPerformance):在遵循一個軟件過程后所得到的實(shí)際結(jié)果。軟件過程成熟度(SoftwareProcessMaturity):一個具體的軟件過程被明確定義、管理、評價(jià)、控制和產(chǎn)生實(shí)效的程度。所謂成熟度,包含著能力的一種增長潛力,同時(shí)也表明了軟件機(jī)構(gòu)實(shí)施軟件過程的實(shí)際水平。沈陽師范大學(xué)軟件學(xué)院567.3.1軟件能力成熟度模型概述軟件能力成熟度567.3.1軟件能力成熟度模型概述軟件能力成熟度模型的作用企業(yè)實(shí)施CMM模型可為企業(yè)帶來如下好處:指導(dǎo)軟件機(jī)構(gòu)提高軟件開發(fā)管理能力。降低軟件承包商和采購者的風(fēng)險(xiǎn)。評估軟件承包商的軟件開發(fā)管理能力。幫助軟件企業(yè)識別開發(fā)和維護(hù)軟件的有效過程和關(guān)鍵實(shí)踐。幫助軟件企業(yè)識別為達(dá)到CMM更高成熟等級所必須的關(guān)鍵實(shí)踐。增加軟件企業(yè)的國際競爭能力。沈陽師范大學(xué)軟件學(xué)院577.3.1軟件能力成熟度模型概述軟件能力成熟度577.3.1軟件能力成熟度模型概述軟件能力成熟度模型的5個等級CMM將軟件過程的成熟度分為5個等級,如圖所示沈陽師范大學(xué)軟件學(xué)院587.3.1軟件能力成熟度模型概述軟件能力成熟度587.3.1軟件能力成熟度模型概述軟件能力成熟度模型的5個等級在

CMM中,等級越高,軟件開發(fā)生產(chǎn)精度則越高,每單位工程的生產(chǎn)周期也越短。在CMM的5個等級中,除了初始級,其他4個等級均有若干個指導(dǎo)軟件機(jī)構(gòu)改進(jìn)軟件過程的要點(diǎn),稱為關(guān)鍵過程域(KeyProcessArea,簡稱KPA)。

所謂關(guān)鍵過程域是指一系列相互關(guān)聯(lián)的操作活動,這些活動反映了一個軟件機(jī)構(gòu)改進(jìn)過程時(shí)必須集中精力改進(jìn)的幾個方面。只有一個軟件機(jī)構(gòu)的所有項(xiàng)目都達(dá)到某個關(guān)鍵過程域的目標(biāo),該軟件機(jī)構(gòu)的以該關(guān)鍵過程域?yàn)樘卣鞯倪^程能力才是規(guī)范化了的。沈陽師范大學(xué)軟件學(xué)院597.3.1軟件能力成熟度模型概述軟件能力成熟度597.3.1軟件能力成熟度模型概述軟件能力成熟度模型的5個等級在CMM中一共有18個關(guān)鍵過程域,分布在2~5級中。任何一個成熟度級別的關(guān)鍵過程域集都是本級描述的關(guān)鍵過程域集和所有下級的關(guān)鍵過程域集的并集。如第3級的關(guān)鍵過程域就應(yīng)有13個不同的域,其中7個是第3級自己包含的,6個屬于第2級,而第4級應(yīng)有15個域。沈陽師范大學(xué)軟件學(xué)院607.3.1軟件能力成熟度模型概述軟件能力成熟度607.3.1軟件能力成熟度模型概述關(guān)鍵實(shí)踐和共同特征為達(dá)到某個成熟度級別的關(guān)鍵過程域的目標(biāo),必須實(shí)施若干關(guān)鍵實(shí)踐。關(guān)鍵實(shí)踐(Key

Practice)是指對關(guān)鍵過程域起重要作用的方針、規(guī)程、措施、活動以及相關(guān)基礎(chǔ)設(shè)施的建立。關(guān)鍵實(shí)踐涉及5個方面,分別為執(zhí)行約定、執(zhí)行能力、執(zhí)行的活動、測量和分析、驗(yàn)證實(shí)施,被稱作5個共同特征(Common

Features)。每個關(guān)鍵過程域所包含的關(guān)鍵實(shí)踐均按這5個共同特征進(jìn)行組織。沈陽師范大學(xué)軟件學(xué)院617.3.1軟件能力成熟度模型概述關(guān)鍵實(shí)踐和共同617.3.1軟件能力成熟度模型概述可用圖來概括CMM的邏輯結(jié)構(gòu)沈陽師范大學(xué)軟件學(xué)院627.3.1軟件能力成熟度模型概述可用圖來概括C627.3.2軟件能力成熟度模型的建立和評估CMM的實(shí)施步驟企業(yè)實(shí)施CMM,可從如下幾個步驟進(jìn)行:

①提高思想認(rèn)識,了解必要性和迫切性;②確定合理的目標(biāo);③進(jìn)行CMM培訓(xùn)和咨詢工作;④成立工作組;⑤制定和完善軟件過程;⑥內(nèi)部評審;⑦初期評估;⑧正式評估;⑨根據(jù)評估的結(jié)果改進(jìn)軟件過程。沈陽師范大學(xué)軟件學(xué)院637.3.2軟件能力成熟度模型的建立和評估CM637.3.2軟件能力成熟度模型的建立和評估CMM的評估方法

CMM的評估方法為CBA-IPI(CMM-BasedAppraisalforInternalProcessImprovement,基于CMM的內(nèi)部過程改進(jìn)評估)。CMM評估包括5個等級,共計(jì)18個關(guān)鍵過程域,52個目標(biāo),300多個關(guān)鍵實(shí)踐。每一個CMM等級評估周期約需12-30個月。每一級別的評估由CMU/SEI授權(quán)的主任評估師領(lǐng)導(dǎo)一個評審小組進(jìn)行。評估過程包括員工培訓(xùn)、問卷填寫和統(tǒng)計(jì)、文檔審查、數(shù)據(jù)分析、與企業(yè)的高層領(lǐng)導(dǎo)討論和撰寫評估報(bào)告等。沈陽師范大學(xué)軟件學(xué)院647.3.2軟件能力成熟度模型的建立和評估CM647.3.2軟件能力成熟度模型的建立和評估實(shí)施CMM應(yīng)把握的原則任何軟件開發(fā)單位在提升自己的CMM等級時(shí),只能由所處的層次向緊鄰的上一層次進(jìn)化,不可越級。通過CMM某個等級的評估并不是軟件企業(yè)最終的目的,顯然,最終目的應(yīng)是通過CMM評估來改進(jìn)企業(yè)的軟件過程,提升軟件開發(fā)的能力。沈陽師范大學(xué)軟件學(xué)院657.3.2軟件能力成熟度模型的建立和評估實(shí)施C65本節(jié)內(nèi)容7.4軟件質(zhì)量保證7.4.1軟件質(zhì)量保證概述7.4.2軟件質(zhì)量保證的工作內(nèi)容7.4.3軟件質(zhì)量保證的實(shí)施沈陽師范大學(xué)軟件學(xué)院66本節(jié)內(nèi)容7.4軟件質(zhì)量保證沈陽師范大學(xué)軟件學(xué)院28667.4.1軟件質(zhì)量保證概述

軟件質(zhì)量保證

軟件質(zhì)量保證,即SQA(SoftwareQualityAssurance),是CMM第2級中的一個關(guān)鍵過程域,它是貫穿整個軟件過程的第三方獨(dú)立審查活動,出現(xiàn)在大多數(shù)關(guān)鍵過程域的檢查與驗(yàn)證的公共特性中。沈陽師范大學(xué)軟件學(xué)院677.4.1軟件質(zhì)量保證概述軟件質(zhì)量保證沈陽師677.4.1軟件質(zhì)量保證概述軟件質(zhì)量保證的目的

SQA的目的是向管理者提供對軟件過程進(jìn)行全面監(jiān)控的手段,包括評審和審計(jì)軟件產(chǎn)品和活動,驗(yàn)證它們是否符合相應(yīng)的規(guī)程和標(biāo)準(zhǔn),同時(shí)給項(xiàng)目管理者提供這些評審和審計(jì)的結(jié)果,以反映產(chǎn)品和過程質(zhì)量,提高項(xiàng)目透明度。沈陽師范大學(xué)軟件學(xué)院687.4.1軟件質(zhì)量保證概述軟件質(zhì)量保證的目的沈687.4.1軟件質(zhì)量保證概述SQA組織的主要工作包括以下兩方面:監(jiān)控軟件的開發(fā)過程,保證軟件開發(fā)過程符合相應(yīng)的標(biāo)準(zhǔn)與規(guī)程。保證軟件產(chǎn)品、軟件過程中存在的不符合問題得到處理,必要時(shí)將問題反映給高級管理者。軟件工程過程小組SEPG的職責(zé)是提供軟件過程的指導(dǎo),幫助項(xiàng)目組制定項(xiàng)目過程,實(shí)施過程改進(jìn)。如果項(xiàng)目組和SQA對過程的理解不一致,SEPG作為最終仲裁者??捎昧⒎ㄕ吆蛨?zhí)

溫馨提示

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

最新文檔

評論

0/150

提交評論