現(xiàn)代軟件工程的質(zhì)量保證_第1頁(yè)
現(xiàn)代軟件工程的質(zhì)量保證_第2頁(yè)
現(xiàn)代軟件工程的質(zhì)量保證_第3頁(yè)
現(xiàn)代軟件工程的質(zhì)量保證_第4頁(yè)
現(xiàn)代軟件工程的質(zhì)量保證_第5頁(yè)
已閱讀5頁(yè),還剩137頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、?現(xiàn)代軟件工程?第七局部現(xiàn)代軟件工程的質(zhì)量保證 ?現(xiàn)代軟件工程?本局部主要參考書(shū)?軟件驗(yàn)證與確認(rèn)的最正確管理方法?美Steven R. Rakitin著于秀山等譯電子工業(yè)出版社2002?測(cè)試流程管理?美Rex Black著北京大學(xué)出版社2001?軟件工程與軟件測(cè)試自動(dòng)化教程?張克東、莊燕濱電子工業(yè)出版社?軟件工程標(biāo)準(zhǔn)?美Watts. S.Humphrey著,傅為、蘇俊、許青松譯清華大學(xué)出版社2004?軟件配置管理策略與Rational ClearCase?美Brian A. White著尤克濱等譯人民郵電出版社2003現(xiàn)代軟件工程的質(zhì)量保證過(guò)程-1軟件測(cè)試的組織與管理-2軟件系統(tǒng)的可靠性工程-

2、3配置管理方法與實(shí)踐-4第七局部 現(xiàn)代軟件工程的質(zhì)量保證第一章 現(xiàn)代軟件工程的質(zhì)量保證過(guò)程 軟件的質(zhì)量要素與度量-1.1軟件工程的質(zhì)量保證過(guò)程-1.2軟件工程的質(zhì)量保證活動(dòng)-1.3軟件質(zhì)量保證體系建設(shè)-1.4 第七局部 現(xiàn)代軟件工程的質(zhì)量保證如何描述質(zhì)量用人的健康做類(lèi)比如何判斷人是否健康?體檢因素:身高、體重、心跳、血壓、血液、體溫等如何描述軟件的質(zhì)量軟件系統(tǒng)功能齊全是不是就是質(zhì)量好?用戶界面友好是不是就是軟件的質(zhì)量好?沒(méi)有BUG是不是就是軟件的質(zhì)量好?用戶滿意?運(yùn)行正確的軟件就是高質(zhì)量的軟件嗎?不貪污的官就是好官嗎?軟件測(cè)試是不是軟件質(zhì)量的全部?答復(fù)全部是:NO!那么,什么是軟件的質(zhì)量?什么

3、是軟件的質(zhì)量?現(xiàn)代軟件工程的質(zhì)量保證與軟件測(cè)試有什么不同?技術(shù)經(jīng)理、工程經(jīng)理與質(zhì)量經(jīng)理有什么不同?什么是現(xiàn)代軟件工程的質(zhì)量管理?開(kāi)發(fā)團(tuán)隊(duì)在質(zhì)量保證方面,要做什么工作? 我們就來(lái)答復(fù)這些問(wèn)題!什么是軟件工程的質(zhì)量管理?軟件質(zhì)量軟件質(zhì)量的定義:ANSI/IEEE Std 729-1983定義軟件質(zhì)量為“與軟件產(chǎn)品滿足規(guī)定的和隱含的需求的能力有關(guān)的特征或特性的全體。M.J. Fisher 定義軟件質(zhì)量為“所有描述計(jì)算機(jī)軟件優(yōu)秀程度的特性的組合。質(zhì)量特性及其組合,是軟件開(kāi)發(fā)與維護(hù)中的重要考慮因素為滿足軟件的各項(xiàng)精確定義的功能、性能需求,符合文檔化的開(kāi)發(fā)標(biāo)準(zhǔn),需要相應(yīng)地給出或設(shè)計(jì)一些質(zhì)量特性及其組合。如

4、果這些質(zhì)量特性及其組合都能在產(chǎn)品中得到滿足,那么這個(gè)軟件產(chǎn)品質(zhì)量就是高的。軟件需求是度量軟件質(zhì)量的根底。不符合需求的軟件就不具備質(zhì)量。標(biāo)準(zhǔn)定義了一組開(kāi)發(fā)準(zhǔn)那么,用來(lái)指導(dǎo)軟件人員用工程化的方法來(lái)開(kāi)發(fā)軟件。如果不遵守這些開(kāi)發(fā)準(zhǔn)那么,軟件質(zhì)量就得不到保證。軟件質(zhì)量是各種特性的復(fù)雜組合。它隨著應(yīng)用的不同而不同,隨著用戶提出的質(zhì)量要求不同而不同。軟件質(zhì)量特性,反映了軟件的本質(zhì)。討論一個(gè)軟件的質(zhì)量,問(wèn)題最終要?dú)w結(jié)到定義軟件的質(zhì)量特性。定義一個(gè)軟件的質(zhì)量,就等價(jià)于為該軟件定義一系列質(zhì)量特性。人們通常把影響軟件質(zhì)量的特性用軟件質(zhì)量模型來(lái)描述。軟件質(zhì)量軟件質(zhì)量軟件質(zhì)量的因素與度量有關(guān)直接度量的因素如單位時(shí)間內(nèi)千

5、行代碼中所產(chǎn)生的錯(cuò)誤數(shù)。間接度量的因素如可用性或可維護(hù)性軟件質(zhì)量軟件質(zhì)量的度量模型1976年,Boehm第一次提出了軟件質(zhì)量度量的層次模型。1978年,Walters和McCall等人提出了從軟件質(zhì)量要素、準(zhǔn)那么到度量的三個(gè)層次式的模型。1985年,ISO建議軟件質(zhì)量模型由三層組成:高層:軟件質(zhì)量需求評(píng)價(jià)準(zhǔn)那么SQRC中層:軟件質(zhì)量設(shè)計(jì)評(píng)價(jià)準(zhǔn)那么SQDC低層:軟件質(zhì)量度量評(píng)價(jià)準(zhǔn)那么SQMC現(xiàn)代軟件工程的標(biāo)準(zhǔn)體系ISO/IEC12207應(yīng)用成果基礎(chǔ)產(chǎn)品實(shí)用產(chǎn)品需求軟件工程項(xiàng)目管理軟件配置管理風(fēng)險(xiǎn)管理軟件質(zhì)量保證設(shè)計(jì)實(shí)現(xiàn)測(cè)試維護(hù)1.1 軟件質(zhì)量的要素與度量1.1.1 軟件的質(zhì)量要素1.1.2 軟件

6、質(zhì)量評(píng)價(jià)的準(zhǔn)那么1.1.3 軟件質(zhì)量的度量1.1.4 軟件質(zhì)量度量的實(shí)施1.1.1 軟件的質(zhì)量要素什么是軟件的質(zhì)量?ISO9000的質(zhì)量定義:質(zhì)量的定義:反映實(shí)體滿足明確和隱含需要能力的特性綜合定義的說(shuō)明:明確需要:指合同中用戶明確提出的要求與需要隱含需要:指由生產(chǎn)企業(yè)通過(guò)市場(chǎng)調(diào)研進(jìn)行識(shí)別與探明的要求或需要質(zhì)量與等級(jí)的關(guān)系等級(jí)的含義是:對(duì)功能用途相同、但技術(shù)特性不同的存在事務(wù)的一種分類(lèi)或排序例如:高質(zhì)量無(wú)錯(cuò)誤、可讀性強(qiáng)的用戶手冊(cè) 低等級(jí)有限的功能 低質(zhì)量錯(cuò)誤百出、編排混亂的用戶手冊(cè) 高等級(jí)大量功能確定質(zhì)量和等級(jí)標(biāo)準(zhǔn)水平,是工程經(jīng)理的責(zé)任 質(zhì)量的要素討論軟件的質(zhì)量定義,一般地從4個(gè)角度來(lái)看,即用

7、戶的角度、開(kāi)發(fā)商的角度、產(chǎn)品的角度和價(jià)值的角度。1976年美國(guó)的和R.Brown 先后提出了三層次的評(píng)價(jià)度量模型:軟件質(zhì)量要素、準(zhǔn)那么、度量。隨后G.Mruine提出了自己的軟件質(zhì)量度量SQM技術(shù),波音公司在軟件開(kāi)發(fā)過(guò)程中采用了SQM技術(shù),日本的NEC公司也提出了自己的SQM工具,即SQMAT,并且在本錢(qián)控制和進(jìn)度安排方面取得了良好的效果。IEEE標(biāo)準(zhǔn)1061-1998以表格的形式,定義了有關(guān)確認(rèn)和收集與軟件質(zhì)量需求有關(guān)一個(gè)模型,或稱為一個(gè)框架。可度量的軟件的質(zhì)量要素IEEE定義的軟件質(zhì)量度量框架度量框架一種用來(lái)組織、選擇、溝通、評(píng)價(jià)軟件系統(tǒng)要求的質(zhì)量屬性的輔助決策法。它逐層分解為特性、子特性

8、和度量質(zhì)量特性一個(gè)與質(zhì)量有關(guān)的面向管理的軟件屬性質(zhì)量子特性質(zhì)量特性分解出來(lái)的技術(shù)組件直接度量一種不依賴與任何其他屬性測(cè)量的度量預(yù)計(jì)度量一種試用于開(kāi)發(fā)階段的度量,它用來(lái)預(yù)計(jì)軟件質(zhì)量特性的值質(zhì)量度量一個(gè)函數(shù)、它的輸入是軟件數(shù)據(jù),輸出是一個(gè)單一數(shù)值。它可解釋為給定的軟件屬性對(duì)其質(zhì)量的影響程度過(guò)程質(zhì)量一種用來(lái)測(cè)量在軟件系統(tǒng)開(kāi)發(fā)、實(shí)現(xiàn)和維護(hù)過(guò)程中使用的方法、技術(shù)和工具特性的度量產(chǎn)品度量一種用來(lái)測(cè)量軟件開(kāi)發(fā)過(guò)程中任何中間或最終產(chǎn)品特性的度量IEEE定義的軟件質(zhì)量度量框架第一層次:質(zhì)量需求在四層模型的第一層,軟件產(chǎn)品質(zhì)量層,是產(chǎn)品必須滿足的質(zhì)量需求。它是用用戶術(shù)語(yǔ)描述的,主要有四點(diǎn):1產(chǎn)品將在用戶所在組織當(dāng)

9、前使用的平臺(tái)和操作系統(tǒng)上運(yùn)行。2產(chǎn)品將是可靠的并能防止數(shù)據(jù)喪失的機(jī)制。3產(chǎn)品將提供完成某些任務(wù)所必需的功能。4產(chǎn)品將易于使用。第二層次:質(zhì)量特性在模型的第二層,表示與整個(gè)質(zhì)量需求有關(guān)的特殊質(zhì)量特性,它代表了用戶的質(zhì)量需求。它采用從用戶角度考慮的立場(chǎng),把軟件質(zhì)量分解成四類(lèi)質(zhì)量特性,這四個(gè)質(zhì)量特性是軟件的根本特征。IEEE的四個(gè)質(zhì)量特性是:可移植性、可靠性、功能性、可使用性。IEEE定義的軟件質(zhì)量度量框架四層模型質(zhì)量需求質(zhì)量特性質(zhì)量子特性直接度量度量描述(例子)產(chǎn)品將在多平臺(tái)和當(dāng)前用戶正在使用的操作系統(tǒng)上運(yùn)行可移植性硬件獨(dú)立性硬件依賴性計(jì)算硬件的依賴性軟件獨(dú)立性軟件依賴性計(jì)算軟件的依賴性易安裝性安

10、裝時(shí)間測(cè)量安裝時(shí)間可重用性能夠用于其他軟件中計(jì)算能夠或已經(jīng)應(yīng)用于其他軟件系統(tǒng)的模塊數(shù)量產(chǎn)品將是可靠的并能提供防止數(shù)據(jù)丟失的機(jī)制可靠性無(wú)缺陷性測(cè)試覆蓋測(cè)量測(cè)試覆蓋度審查覆蓋計(jì)算已做過(guò)的代碼審查模塊容錯(cuò)性數(shù)據(jù)完整性統(tǒng)計(jì)用戶數(shù)據(jù)被破壞情況數(shù)據(jù)恢復(fù)測(cè)量恢復(fù)被破壞的數(shù)據(jù)的能力可用性軟件可用的百分比軟件可用時(shí)間除以總的軟件使用時(shí)間產(chǎn)品將提供完成某些任務(wù)所必需的功能功能性完備性測(cè)試覆蓋計(jì)算調(diào)用或分支測(cè)量覆蓋正確性缺陷密度計(jì)算每一版本發(fā)布前的缺陷安全性數(shù)據(jù)安全性統(tǒng)計(jì)用戶數(shù)據(jù)被破壞的情況用戶安全性沒(méi)有被阻止的非法用戶入侵?jǐn)?shù)兼容性環(huán)境變化軟件安裝后必須修改的環(huán)境變量數(shù)量互操作性混合應(yīng)用環(huán)境下軟件的可操作性混合應(yīng)用

11、環(huán)境下可正確運(yùn)行的數(shù)量產(chǎn)品將易于使用可使用性易理解性學(xué)習(xí)所用時(shí)間新用戶學(xué)習(xí)軟件特性所花費(fèi)的時(shí)間易學(xué)性學(xué)習(xí)所用時(shí)間新用戶學(xué)會(huì)操作軟件提供的基本功能所花費(fèi)的時(shí)間易操作性人的因素新用戶基于人類(lèi)工程學(xué)對(duì)軟件消極方面的評(píng)價(jià)數(shù)量溝通性人的因素新用戶基于人類(lèi)工程學(xué)對(duì)軟件消極方面的評(píng)價(jià)數(shù)量質(zhì)量需求質(zhì)量特性質(zhì)量子特性直接度量度量描述(例子)1978年,Walters和McCall等人提出了從軟件質(zhì)量要素、準(zhǔn)那么到度量的三個(gè)層次式的模型。McCall選擇的軟件質(zhì)量要素評(píng)價(jià)準(zhǔn)那么共21種,它們是:1可審查性(auditability)。檢查軟件需求、規(guī)格說(shuō)明、標(biāo)準(zhǔn)、過(guò)程、指令、代碼與合同是否一致的難易程度。2準(zhǔn)確性

12、(accuracy)。計(jì)算和控制的精度,是對(duì)無(wú)誤差程序的一種定量估計(jì)。最好表示成相對(duì)誤差的函數(shù)。值越大表示精度越高。3通信通用性(communication commonality)。使用標(biāo)準(zhǔn)接口、協(xié)議、標(biāo)準(zhǔn)的程序。4完全性 (completeness)。所需功能完全實(shí)現(xiàn)的程度。 5簡(jiǎn)明性(conciseness)。程序源代碼的緊湊與簡(jiǎn)潔性。6一致性(consistency)。設(shè)計(jì)文檔與系統(tǒng)實(shí)現(xiàn)的一致性。7數(shù)據(jù)通用性(datacommonality)。在程序中使用標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)和類(lèi)型。8容錯(cuò)性(error-tolerance)。系統(tǒng)在各種異常條件下提供繼續(xù)操作的能力。9執(zhí)行效率(executi

13、on Efficiency)。程序運(yùn)行效率。10可擴(kuò)充性(expandability)。能夠?qū)Y(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)和過(guò)程設(shè)計(jì)進(jìn)行擴(kuò)充的程度。1.1.2 軟件質(zhì)量評(píng)價(jià)的準(zhǔn)那么11通用性(generality)。程序部件潛在的應(yīng)用范圍的廣泛性,即部件可重用。12硬件獨(dú)立性(hardware independence)。軟件同支持他運(yùn)行的硬件系統(tǒng)不相關(guān)的程度。13檢測(cè)性(instrumentation)。監(jiān)視程序的運(yùn)行,一旦發(fā)生錯(cuò)誤時(shí),能明確地標(biāo)識(shí)錯(cuò)誤的程度。14模塊化(modularity)。程序部件的功能獨(dú)立性。15可操作性(operability)。操作一個(gè)軟件的難易程度。16平安性(secur

14、ity)??刂苹虮Wo(hù)程序和數(shù)據(jù)不受破壞的機(jī)制,以防止程序和數(shù)據(jù)受到意外的或蓄意的存取、使用、修改、毀壞或泄密。17自文檔化(sdlf-documentation)。源代碼提供有意義文檔的程度。18簡(jiǎn)單性(simplicity)。理解程序的難易程度。19軟件系統(tǒng)獨(dú)立性(software system independence)。程序與非標(biāo)準(zhǔn)的程序設(shè)計(jì)語(yǔ)言特征、操作系統(tǒng)特征以及其他環(huán)境約束無(wú)關(guān)的程度。20可追蹤性(reacebility)。從設(shè)計(jì)表示或?qū)嶋H程序構(gòu)件,追蹤到需求的能力。21易培訓(xùn)性(training)。軟件支持新用戶使用該系統(tǒng)的能力。McCall的軟件質(zhì)量評(píng)價(jià)準(zhǔn)那么軟件質(zhì)量評(píng)價(jià)準(zhǔn)那么

15、 1、正確性正確性是指軟件按照需求正確執(zhí)行任務(wù)的能力。 “正確性的語(yǔ)義涵蓋了“精確性。正確性無(wú)疑是第一重要的軟件質(zhì)量屬性。技術(shù)評(píng)審和測(cè)試的第一關(guān)都是檢查工作成果的正確性。 機(jī)器不會(huì)主動(dòng)欺騙人,軟件運(yùn)行出錯(cuò)通常都是人造成的,所以不要找借口埋怨機(jī)器有毛病。2、健壯性 健壯性是指在異常情況下,軟件能夠正常運(yùn)行的能力。 正確性描述軟件在需求范圍之內(nèi)的行為,而健壯性描述軟件在需求范圍之外的行為。開(kāi)發(fā)者往往把異常情況當(dāng)成正常情況而不作處理,結(jié)果降低了健壯性。 用戶才不管正確性與健壯性的區(qū)別,反正軟件出了過(guò)失都是開(kāi)發(fā)方的錯(cuò)。所以提高軟件的健壯性也是開(kāi)發(fā)者的義務(wù)。健壯性有兩層含義:一是容錯(cuò)能力,二是恢復(fù)能力。

16、 3、可靠性 可靠性是指在一定的環(huán)境下,在給定的時(shí)間內(nèi),系統(tǒng)不發(fā)生故障的概率??煽啃员緛?lái)是硬件領(lǐng)域的術(shù)語(yǔ)。比方某個(gè)電子設(shè)備在剛開(kāi)始工作時(shí)挺好的,但由于器件在工作中其物理性質(zhì)會(huì)發(fā)生變化如發(fā)熱,慢慢地系統(tǒng)的功能或性能就會(huì)失常。所以一個(gè)從設(shè)計(jì)到生產(chǎn)完全正確的硬件系統(tǒng),在工作中未必就是可靠的。 軟件在運(yùn)行時(shí)不會(huì)發(fā)生物理性質(zhì)的變化,人們常以為如果軟件的某個(gè)功能是正確的,那么它一輩子都是正確的??墒俏覀儫o(wú)法對(duì)軟件進(jìn)行徹底地測(cè)試,無(wú)法鏟除軟件中潛在的錯(cuò)誤。平時(shí)軟件運(yùn)行得好好的,說(shuō)不準(zhǔn)哪一天就不正常了,如有千年等一回的“千年蟲(chóng)問(wèn)題,司空見(jiàn)慣的“內(nèi)存泄露問(wèn)題、“誤差累積問(wèn)題等等。 時(shí)隱時(shí)現(xiàn)的錯(cuò)誤一般都屬于可靠性

17、問(wèn)題,糾錯(cuò)的代價(jià)很高。軟件質(zhì)量評(píng)價(jià)準(zhǔn)那么 4、性能性能通常是指軟件的“時(shí)間-空間效率,而不僅是指軟件的運(yùn)行速度。人們總希望軟件的運(yùn)行速度高些,并且占用資源少些。 性能優(yōu)化的關(guān)鍵工作是找出限制性能的“瓶頸 可以通過(guò)優(yōu)化數(shù)據(jù)結(jié)構(gòu)、算法和代碼來(lái)提高軟件的性能。 5、易用性易用性是指用戶使用軟件的容易程度?,F(xiàn)代人的生活節(jié)奏快,圖方便。所以把易用性作為重要的質(zhì)量屬性對(duì)待無(wú)可非議。 導(dǎo)致軟件易用性差的根本原因 :教育缺陷:沒(méi)有開(kāi)設(shè)人機(jī)工程學(xué)、美學(xué)、心理學(xué)這些必修課,大局部開(kāi)發(fā)人員不知道如何設(shè)計(jì)易用的軟件產(chǎn)品。開(kāi)發(fā)人員犯了“錯(cuò)位的毛?。核詾橹灰约河闷饋?lái)方便,用戶也就會(huì)滿意。 軟件的易用性要讓用戶來(lái)評(píng)價(jià)。

18、當(dāng)用戶真的感到軟件很好用時(shí),一股溫暖的感覺(jué)油然而生,于是就用“界面友好 等詞來(lái)評(píng)價(jià)軟件產(chǎn)品。 軟件質(zhì)量評(píng)價(jià)準(zhǔn)那么 6、清晰性 清晰意味者所有的工作成果易讀、易理解,可以提高團(tuán)隊(duì)開(kāi)發(fā)效率,降低維護(hù)代價(jià)。 開(kāi)發(fā)人員只有在自己思路清晰的時(shí)候才可能寫(xiě)出讓別人易讀、易理解的程序和文檔。 可理解的東西通常是簡(jiǎn)潔的。一個(gè)原始問(wèn)題可能很復(fù)雜,但高水平的人就能夠把軟件系統(tǒng)設(shè)計(jì)得很簡(jiǎn)潔。如果軟件系統(tǒng)臃腫不堪,它遲早會(huì)出問(wèn)題。所以簡(jiǎn)潔是人們對(duì)工作“精益求精的結(jié)果,而不是潦草應(yīng)付的結(jié)果。 千萬(wàn)不要把在學(xué)校里“造文章的手法用于開(kāi)發(fā)產(chǎn)品! 7、平安性 平安性是指防止系統(tǒng)被非法入侵的能力,既屬于技術(shù)問(wèn)題又屬于管理問(wèn)題。 “

19、道高一尺,魔高一丈 ,絕對(duì)平安的信息系統(tǒng)幾乎不存在。開(kāi)發(fā)商和客戶愿意為提高平安性而投入的資金是有限的,他們要考慮值不值得。 軟件質(zhì)量評(píng)價(jià)準(zhǔn)那么 8、可擴(kuò)展性 可擴(kuò)展性反映軟件適應(yīng)“變化的能力。 在軟件開(kāi)發(fā)過(guò)程中,“變化是司空見(jiàn)慣的事情,如需求、設(shè)計(jì)的變化,算法的改進(jìn),程序的變化等等。由于軟件是“軟的,是否它天生就容易修改以適應(yīng)“變化?關(guān)鍵要看軟件的規(guī)模和復(fù)雜性。 現(xiàn)代軟件產(chǎn)品通常采用“增量開(kāi)發(fā)模式,不斷推出新版本,獲取增值利潤(rùn)??蓴U(kuò)展性越來(lái)越重要??蓴U(kuò)展性是系統(tǒng)設(shè)計(jì)階段重點(diǎn)考慮的質(zhì)量屬性。 9、兼容性兼容性是指兩個(gè)或兩個(gè)以上的軟件相互交換信息的能力。兼容性的商業(yè)規(guī)那么:弱者設(shè)法與強(qiáng)者兼容,否那

20、么無(wú)容身之地;強(qiáng)者應(yīng)當(dāng)防止被兼容,否那么市場(chǎng)將被瓜分。10、可移植性可移植性是指軟件運(yùn)行于不同軟硬件環(huán)境的能力編程語(yǔ)言越低級(jí),其程序越難移植,反之那么容易。軟件設(shè)計(jì)時(shí)應(yīng)該將“設(shè)備相關(guān)程序與“設(shè)備無(wú)關(guān)程序分開(kāi),將“功能模塊與“用戶界面分開(kāi)。軟件質(zhì)量評(píng)價(jià)準(zhǔn)那么 1985年,國(guó)際標(biāo)準(zhǔn)化組織ISO建議,軟件質(zhì)量度量模型由三層組成。高層稱軟件質(zhì)量需求評(píng)價(jià)準(zhǔn)那么SQRC,中層稱軟件質(zhì)量設(shè)計(jì)評(píng)價(jià)準(zhǔn)那么SQDC,低層稱軟件質(zhì)量度量評(píng)價(jià)準(zhǔn)那么SQMC。分別對(duì)應(yīng)McCall等人的要素、評(píng)價(jià)準(zhǔn)那么和度量。ISO認(rèn)為應(yīng)對(duì)高層和中層建立國(guó)際標(biāo)準(zhǔn),以便在國(guó)際范圍內(nèi)推廣應(yīng)用軟件質(zhì)量管理,而低層可由各使用單位自行制定。ISO

21、高層由8個(gè)要素組成、中層由23個(gè)評(píng)價(jià)準(zhǔn)那么組成。高層的8個(gè)要素為左表的行,中層的23個(gè)準(zhǔn)那么為下表的列。它們之間的關(guān)系如左表所示。ISO/IEC9126-1?產(chǎn)品質(zhì)量-質(zhì)量模型?的軟件質(zhì)量模型軟件質(zhì)量的另一種理解內(nèi)部質(zhì)量的定義是:反映軟件產(chǎn)品在規(guī)定條件下使用時(shí),滿足需求的能力的特性,是軟件開(kāi)發(fā)過(guò)程中各階段需求開(kāi)發(fā)、軟件設(shè)計(jì)、代碼編寫(xiě)等產(chǎn)生的中間軟件產(chǎn)品的質(zhì)量。了解軟件產(chǎn)品的內(nèi)部質(zhì)量,可以預(yù)計(jì)最終產(chǎn)品的質(zhì)量。外部質(zhì)量的定義是:反映軟件產(chǎn)品在規(guī)定條件下使用時(shí),滿足需求的程度。外部特性反映在預(yù)定的系統(tǒng)環(huán)境中運(yùn)行時(shí)可到達(dá)的質(zhì)量水平。軟件質(zhì)量的另一種理解使用質(zhì)量的定義是:反映軟件產(chǎn)品在規(guī)定的使用環(huán)境下,

22、使特定用戶在到達(dá)規(guī)定目標(biāo)方面的能力。反映的是從用戶角度看到的軟件產(chǎn)品在特定系統(tǒng)環(huán)境下滿足其需求的滿足程度。對(duì)內(nèi)部和外部質(zhì)量特性的度量描述包括:功能性、可靠性、易用性、效率、可維護(hù)性、可移植性等;對(duì)使用質(zhì)量特性的度量描述包括:有效性、生產(chǎn)率、平安性、滿意程度等軟件質(zhì)量的另一種理解1.1.3 軟件質(zhì)量的度量軟件度量:分析模型的度量對(duì)分析模型的度量以測(cè)試系統(tǒng)的大小設(shè)計(jì)模型的度量度量體系結(jié)構(gòu)、數(shù)據(jù)和系統(tǒng)的復(fù)雜度源代碼的度量度量程序的長(zhǎng)度、層次、開(kāi)發(fā)量、時(shí)間等對(duì)測(cè)試的度量度量測(cè)試的寬度、深度、錯(cuò)誤的級(jí)別對(duì)維護(hù)的度量度量軟件的穩(wěn)定性 軟件質(zhì)量度量每個(gè)軟件屬性都有一套度量方法,選擇度量方法時(shí),必須考慮以下因

23、素。1. 與軟件屬性的相關(guān)性相關(guān)性分為4個(gè)等級(jí):A度量方法與相應(yīng)的軟件屬性始終存在正相關(guān)AA幾乎總是存在正相關(guān)U經(jīng)常存在正相關(guān)S偶爾存在正相關(guān)軟件質(zhì)量度量2. 度量值的可理解性定量的度量方法所得到的值分為5種情況:AL通過(guò)一個(gè)自動(dòng)算法很容易理解UR不需要受過(guò)專門(mén)訓(xùn)練的人員TR需要受過(guò)專門(mén)訓(xùn)練的人員ER需要專家EX需要執(zhí)行程序3. 開(kāi)發(fā)自開(kāi)工具的容易性開(kāi)發(fā)度量工具的難易程度分為3種情況E容易M存在困難D很困難軟件質(zhì)量度量4. 自開(kāi)工具的完備性 所開(kāi)發(fā)的自開(kāi)工具是否完全等價(jià)于度量方法,有2種情況C完全等價(jià)P局部等價(jià)5. 潛在效益潛在效益分為5個(gè)級(jí)別:5、4、3、2、1軟件質(zhì)量度量軟件質(zhì)量度量?jī)蓚€(gè)軟

24、件程序質(zhì)量度量方法Halstead的軟件科學(xué)根本思路是根據(jù)程序中可執(zhí)行代碼行的操作符和操作數(shù)的數(shù)量來(lái)計(jì)算程序的復(fù)雜性。操作符和操作數(shù)的量越大,程序結(jié)構(gòu)就越復(fù)雜。McCabe復(fù)雜性度量法程序的復(fù)雜性很大程度上取決于程序控制流的復(fù)雜性單一的順序程序結(jié)構(gòu)最簡(jiǎn)單,循環(huán)和選擇所構(gòu)成的環(huán)路越多,程序就越復(fù)雜。軟件質(zhì)量的度量和評(píng)價(jià)軟件質(zhì)量特性度量有兩類(lèi):預(yù)測(cè)型和驗(yàn)收型。預(yù)測(cè)度量是利用定量或定性的方法,估算軟件質(zhì)量的評(píng)價(jià)值,以得到軟件質(zhì)量的比較精確的估算值。第一種叫做尺度度量,這是一種定量度量。它適用于一些能夠直接度量的特性,例如,出錯(cuò)率定義為:錯(cuò)誤數(shù)KLOC單位時(shí)間。第二種叫做二元度量,這是一種定性度量。它

25、適用于一些只能間接度量的特性,例如,可使用性、靈活性等等。驗(yàn)收度量是在軟件開(kāi)發(fā)各階段的檢查點(diǎn),對(duì)軟件的要求質(zhì)量進(jìn)行確認(rèn)性檢查的具體評(píng)價(jià)值,它是對(duì)開(kāi)發(fā)過(guò)程中的預(yù)測(cè)進(jìn)行評(píng)價(jià)。尺度度量檢查表二元度量檢查表基于軟件配置管理的度量和度量準(zhǔn)那么SCM 提供軟件產(chǎn)品的狀態(tài)統(tǒng)計(jì)。統(tǒng)計(jì)提供尋找軟件開(kāi)發(fā)的瓶頸和解決方法,并據(jù)此衡量軟件產(chǎn)品的成熟度。度量準(zhǔn)那么:平均嚴(yán)重程度嚴(yán)重程度級(jí)的分布平均關(guān)閉時(shí)間嚴(yán)重程度的圖示各配置項(xiàng)或子系統(tǒng)的圖示 SCM的度量和度量準(zhǔn)那么軟件產(chǎn)品成熟度數(shù)據(jù)要求: 軟件變更問(wèn)題數(shù)量 描述 計(jì)算機(jī)軟件配置項(xiàng)標(biāo)識(shí)CSCI 嚴(yán)重程度級(jí) 翻開(kāi)變更的日期或發(fā)現(xiàn)問(wèn)題 關(guān)閉變更問(wèn)題和實(shí)施日期 軟件變更統(tǒng)計(jì)

26、SCM的度量和度量準(zhǔn)那么圖表分析軟件剩余問(wèn)題剩余變更和錯(cuò)誤密度1.1.4 軟件質(zhì)量度量的實(shí)施在確定要對(duì)一個(gè)軟件系統(tǒng)進(jìn)行度量之后,一般,采取以下5個(gè)步驟,來(lái)實(shí)施對(duì)該軟件的度量: 1確定軟件質(zhì)量需求; 在用戶需求中,除功能需求外,還有非功能需求,包括:質(zhì)量需求、環(huán)境需求、設(shè)計(jì)約束、開(kāi)發(fā)策略等。質(zhì)量需求是用戶比較關(guān)心的內(nèi)容。但是,我們已經(jīng)知道,軟件的功能需求確實(shí)定,存在一定的難度。而非功能需求確實(shí)定,那么難度更大。這些困難包括:需求如何獲取,需求沖突如何協(xié)調(diào)、需求確實(shí)認(rèn)和變更的授權(quán)等。過(guò)程: 需求獲取:首先,你要理解用戶的需求,區(qū)分哪些是質(zhì)量需求,把這些需求記錄下來(lái),獲得用戶確實(shí)認(rèn)。 需求分析:拿到

27、用戶確認(rèn)的需求后,你可以開(kāi)始把用戶的質(zhì)量需求與我們?cè)O(shè)定的質(zhì)量特性聯(lián)系起來(lái),一直區(qū)分到子特性。這種聯(lián)系,就是把用戶語(yǔ)言描述的需求,轉(zhuǎn)變?yōu)橛?jì)算機(jī)工程師語(yǔ)言的需求。建立了這種關(guān)聯(lián)后,可以根據(jù)分類(lèi),分級(jí),確定直接度量。 1.1.4 軟件質(zhì)量度量的實(shí)施2確定直接度量 直接度量就是實(shí)際的軟件質(zhì)量測(cè)量活動(dòng),它的輸入是軟件或軟件過(guò)程,輸出是一個(gè)測(cè)量值。它通過(guò)執(zhí)行一系列的任務(wù),獲得一個(gè)質(zhì)量值。 例如:對(duì)一個(gè)沒(méi)有經(jīng)過(guò)培訓(xùn)的用戶,讓他使用軟件系統(tǒng)的某一功能,在界面提示、聯(lián)機(jī)幫助、使用手冊(cè)的幫助下,他學(xué)會(huì)掌握該功能所花的時(shí)間。而用戶需求對(duì)此項(xiàng)指標(biāo)的要求目標(biāo)和現(xiàn)實(shí)系統(tǒng)所到達(dá)的實(shí)際值比方:10個(gè)人次測(cè)量后統(tǒng)計(jì)意義上的的比

28、較,就是將提交質(zhì)量評(píng)審的質(zhì)量值。 在進(jìn)行直接度量前,你應(yīng)該有以下準(zhǔn)備: 1工具:有助于計(jì)算度量值的硬件/軟件工具,如:缺陷跟蹤工具; 2應(yīng)用:描述度量結(jié)果的希望值、度量值的意義、作用和對(duì)度量結(jié)果數(shù)據(jù)的使用方法; 3數(shù)據(jù):獲得度量結(jié)果所需的數(shù)據(jù)、程序、過(guò)程等度量對(duì)象; 4計(jì)算:度量程序、步驟和方法。 5費(fèi)用:測(cè)試是要花錢(qián)人力、物力、時(shí)間等的。1.1.4 軟件質(zhì)量度量的實(shí)施 3分析度量結(jié)果 對(duì)度量過(guò)程進(jìn)行跟蹤和分析,需要時(shí),可能會(huì)對(duì)度量程序、度量工具、度量方法,甚至原始數(shù)據(jù),做出補(bǔ)充和調(diào)整。 4確認(rèn)質(zhì)量度量 在度量過(guò)程中,進(jìn)行度量結(jié)果確實(shí)認(rèn)非常重要。首先,要確認(rèn)度量過(guò)程是否與事實(shí)相符,脫離現(xiàn)實(shí)真實(shí)

29、的度量,與目標(biāo)再相符的結(jié)果也是沒(méi)有意義的。其次,是確認(rèn)方法的有效性,例如:在度量中,我們用到很多統(tǒng)計(jì)學(xué)方法,在這些方法中,我們有一些概率分布假設(shè)例如:某些錯(cuò)誤的發(fā)生,我們假設(shè)符合隨機(jī)概率分布,當(dāng)這些假設(shè)并不成立時(shí),度量的結(jié)果是不真實(shí)的。一個(gè)系統(tǒng)集成工程的質(zhì)量特性與度量可交付成果的質(zhì)量采購(gòu)的主機(jī)/存儲(chǔ)/網(wǎng)絡(luò)硬件/軟件運(yùn)輸/安裝/檢驗(yàn)/調(diào)試/測(cè)試培訓(xùn)/效勞/技術(shù)支持/維護(hù)/響應(yīng)資料文檔手冊(cè)提供工程實(shí)施過(guò)程的質(zhì)量工程的方案性組織準(zhǔn)備的充分與周到性溝通與協(xié)調(diào)性操作與行為的標(biāo)準(zhǔn)性案例分析1、你已經(jīng)確認(rèn)的,你的工程的質(zhì)量需求質(zhì)量特性是什么?2、這些質(zhì)量需求的面向度量的子特性是什么?3、如何進(jìn)行這些子特性的

30、度量方法設(shè)計(jì)?4、度量結(jié)果度量值的評(píng)價(jià)標(biāo)準(zhǔn)是什么?問(wèn)題1:1.2.1 確認(rèn)過(guò)程1.2.2 驗(yàn)證過(guò)程1.2 軟件工程的質(zhì)量保證過(guò)程軟件質(zhì)量保證什么是質(zhì)量保證它是為保證產(chǎn)品和效勞充分滿足消費(fèi)者要求的質(zhì)量而進(jìn)行的有方案、有組織的活動(dòng)。質(zhì)量保證是面向消費(fèi)者的活動(dòng),是為了使產(chǎn)品實(shí)現(xiàn)用戶要求的功能,站在用戶立場(chǎng)上來(lái)掌握產(chǎn)品質(zhì)量的。什么是軟件的質(zhì)量保證就是向用戶及社會(huì)提供滿意的高質(zhì)量的產(chǎn)品。軟件的質(zhì)量保證活動(dòng)也和一般的質(zhì)量保證活動(dòng)一樣,是確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動(dòng)。即為了確定、到達(dá)和維護(hù)需要的軟件質(zhì)量而進(jìn)行的所有有方案、有系統(tǒng)的管理活動(dòng)?,F(xiàn)代軟件工程的質(zhì)量保證過(guò)程,主要包括軟件確認(rèn)與

31、驗(yàn)證二個(gè)過(guò)程軟件確實(shí)認(rèn)Validation與驗(yàn)證Verification簡(jiǎn)稱為VV 或V2,也是軟件產(chǎn)品質(zhì)量度量的具體方法。軟件確認(rèn)的概念確認(rèn)是這樣一個(gè)過(guò)程,它評(píng)價(jià)“在軟件開(kāi)發(fā)過(guò)程期間針對(duì)單元或結(jié)束針對(duì)系統(tǒng)時(shí),單元或系統(tǒng)是否滿足用戶特定的需求。換句話說(shuō),是開(kāi)發(fā)結(jié)束期間確認(rèn),我們的產(chǎn)品符合用戶要求嗎?因此,確認(rèn)的產(chǎn)品質(zhì)量。確認(rèn)活動(dòng)圍繞三個(gè)根本過(guò)程來(lái)開(kāi)展,測(cè)試、度量和軟件可靠性增長(zhǎng)軟件驗(yàn)證的概念而驗(yàn)證是這樣一個(gè)過(guò)程,它評(píng)價(jià)“在一個(gè)給定的開(kāi)發(fā)階段中,單元或系統(tǒng)是否滿足在此階段開(kāi)始時(shí)確定的條件。因此,它的意思是,我們正在制作的產(chǎn)品符合用戶要求嗎?因此,驗(yàn)證的是產(chǎn)品開(kāi)發(fā)過(guò)程質(zhì)量工作質(zhì)量。驗(yàn)證活動(dòng)也是圍繞

32、三個(gè)根本過(guò)程來(lái)進(jìn)行,審查、度量和配置管理。軟件工程的質(zhì)量保證過(guò)程軟件質(zhì)量保證傳統(tǒng)的軟件質(zhì)量保證的活動(dòng)技術(shù)方法的應(yīng)用正式技術(shù)評(píng)審的實(shí)施軟件測(cè)試標(biāo)準(zhǔn)的執(zhí)行修改的控制度量記錄和記錄保存現(xiàn)代方法基于架構(gòu)的迭代和增量開(kāi)發(fā)配置管理軟件確認(rèn)過(guò)程1:測(cè)試根據(jù)不同的軟件生命周期定義,測(cè)試的階段、方法和類(lèi)型構(gòu)成一個(gè)層次結(jié)構(gòu),如以下圖: V模型中的過(guò)程從左到右,描述了根本的開(kāi)發(fā)過(guò)程和測(cè)試行為。V模型的價(jià)值在于它非常明確地標(biāo)明了測(cè)試過(guò)程中存在的不同級(jí)別,并且清楚地描述了這些測(cè)試階段和開(kāi)發(fā)過(guò)程期間各階段的對(duì)應(yīng)關(guān)系。 測(cè)試與開(kāi)發(fā)階段的對(duì)應(yīng)V模式單元測(cè)試 單元測(cè)試的內(nèi)容主要是: 算法邏輯、數(shù)據(jù)定義的理解和使用、接口、各種C

33、ASE路徑、邊界條件、錯(cuò)誤處理等。 單元測(cè)試的目的通常是: 在開(kāi)發(fā)環(huán)境中,程序設(shè)計(jì)工程師為了檢查單元程序模塊內(nèi)部的邏輯、算法和數(shù)據(jù)處理結(jié)果的正確性等。單元測(cè)試通常由負(fù)責(zé)編碼的工程師自己在代碼完成后測(cè)試,也有在工程組內(nèi),由工程師相互交叉測(cè)試。 調(diào)試與測(cè)試的最大的不同點(diǎn)是二者的目的和視角的區(qū)別: 調(diào)試包括查找BUG、定位BUG、修改并最終確認(rèn)BUG已經(jīng)被修復(fù)的軟件故障排除過(guò)程。 測(cè)試是在一個(gè)相對(duì)獨(dú)立的環(huán)境下測(cè)試應(yīng)盡可能地模擬運(yùn)行環(huán)境,調(diào)試是在開(kāi)發(fā)環(huán)境,運(yùn)行系統(tǒng)單元,觀察和記錄運(yùn)行結(jié)果,對(duì)結(jié)果進(jìn)行獨(dú)立評(píng)價(jià)的過(guò)程。 單元測(cè)試模塊測(cè)試 實(shí)際上,在單元測(cè)試級(jí),一般工程組很難做到把調(diào)試與測(cè)試分開(kāi)。因?yàn)槎叩?/p>

34、工作內(nèi)容比較接近,擔(dān)負(fù)人常常是一個(gè)人,環(huán)境區(qū)別并不大或者重新搭建環(huán)境在時(shí)間、本錢(qián)和人力上,都比較困難。這些都是一般工程組并沒(méi)有獨(dú)立的單元測(cè)試的原因。 將單元測(cè)試與模塊調(diào)試合并可能帶來(lái)的問(wèn)題是:1單元測(cè)試沒(méi)有任何記錄和文檔。少有筆頭勤快的工程師,會(huì)把他每天測(cè)了什么、改了什么,記錄下來(lái)。軟件工程師要的就是沒(méi)有BUG的程序,任何中間結(jié)果都是垃圾。2由于調(diào)試的目標(biāo)是獲得沒(méi)有故障的程序,因此,與功能無(wú)關(guān)的程序?qū)傩酝缓雎?,或者要到集成測(cè)試、確認(rèn)測(cè)試時(shí)才被發(fā)現(xiàn)。例如:命名標(biāo)準(zhǔn)、程序形式標(biāo)準(zhǔn)等。 不管怎么說(shuō),現(xiàn)實(shí)情況,單元測(cè)試與模塊調(diào)試經(jīng)常是混為一談的,要想改變,也不太容易。 由于單元測(cè)試在工程組中,常常

35、由編碼工程師完成,工程經(jīng)理的管理一般并不深入到單元測(cè)試層。 集成測(cè)試子系統(tǒng)測(cè)試集成測(cè)試又稱組裝測(cè)試,它是在單元測(cè)試完成后,組裝為一個(gè)子系統(tǒng)后,對(duì)以下只有組裝后才能發(fā)生和測(cè)試到的問(wèn)題,進(jìn)行檢查:1組裝后一個(gè)模塊對(duì)一個(gè)模塊的影響;2合并功能是否是預(yù)期的;3獨(dú)立的誤差在合并后的變化,是擴(kuò)大還是減小,是否在可接受的范圍內(nèi);4實(shí)際的接口測(cè)試;包括:模塊之間對(duì)實(shí)際銜接的標(biāo)準(zhǔn)、時(shí)序?qū)崟r(shí)性、應(yīng)答響應(yīng)、容錯(cuò)與錯(cuò)誤處理等;5模塊間的資源競(jìng)爭(zhēng)等。 集成測(cè)試也很重視集成的階段性。最壞的情況是系統(tǒng)只有一次集成,就是系統(tǒng)全部模塊完成后進(jìn)行集成。實(shí)際上,這就像一部汽車(chē),直到要出廠時(shí),才來(lái)一次總測(cè)試。而當(dāng)你每天生產(chǎn)一部完全不

36、同規(guī)格、型號(hào)的汽車(chē)時(shí),這個(gè)時(shí)候的測(cè)試,可能是非常要命的。 比較好的方法是通常采用的增量組裝法,包括自頂向下或自低向上的增量組裝。分階段的增量組裝測(cè)試,可以解決一次集成,問(wèn)題的隔離和區(qū)分不易的困難。 確認(rèn)測(cè)試系統(tǒng)測(cè)試 確認(rèn)測(cè)試的目的是按照與用戶確認(rèn)的軟件需求規(guī)格說(shuō)明書(shū)的要求,檢查系統(tǒng)的需求實(shí)現(xiàn)。確認(rèn)需求的測(cè)試依據(jù)是需求階段產(chǎn)生的測(cè)試腳本測(cè)試用例。 國(guó)內(nèi)工程組的現(xiàn)實(shí)情況有以下幾種:1沒(méi)有確認(rèn)測(cè)試;2沒(méi)有獨(dú)立確實(shí)認(rèn)測(cè)試,測(cè)試與設(shè)計(jì)、編碼不別離;3有獨(dú)立確實(shí)認(rèn)測(cè)試,但測(cè)試用例是設(shè)計(jì)和編碼人員寫(xiě)的,因此,獨(dú)立測(cè)試人員相當(dāng)于按設(shè)計(jì)和編碼人員的設(shè)計(jì)思路再測(cè)一遍。 上述這些情況,就喪失了確認(rèn)測(cè)試的大局部意義。

37、正確確實(shí)認(rèn)測(cè)試是獨(dú)立的測(cè)試組中,具有相應(yīng)知識(shí)的測(cè)試設(shè)計(jì)師,根據(jù)需求規(guī)格說(shuō)明書(shū),并依據(jù)該軟件在用戶方面將會(huì)是在什么環(huán)境下,用戶將如何使用該軟件,來(lái)設(shè)計(jì)測(cè)試方案和測(cè)試用例,安排測(cè)試人員進(jìn)行測(cè)試。很顯然,現(xiàn)實(shí)離理想的距離還比較遙遠(yuǎn)。 確認(rèn)測(cè)試還包括軟件經(jīng)修改后的再測(cè)試回歸測(cè)試。回歸測(cè)試是對(duì)已測(cè)試并發(fā)現(xiàn)故障的局部,修改后進(jìn)行再測(cè)試?;貧w測(cè)試不應(yīng)修改測(cè)試程序、測(cè)試內(nèi)容或測(cè)試標(biāo)準(zhǔn)。它與正常測(cè)試不同的僅是:它可能并不需要再完整地走一遍所有確實(shí)認(rèn)測(cè)試,而是小心地選擇局部確認(rèn)測(cè)試程序,選擇的標(biāo)準(zhǔn)是不減低原標(biāo)準(zhǔn)的整體要求。 測(cè)試和測(cè)試 為了實(shí)際檢驗(yàn)軟件的功能和性能,有時(shí),常邀請(qǐng)?zhí)囟ǖ挠脩魩椭囉脺y(cè)試系統(tǒng)正式發(fā)布前

38、的版本,請(qǐng)用戶對(duì)系統(tǒng)進(jìn)行評(píng)價(jià)。這就是通常所說(shuō)的測(cè)試和測(cè)試。測(cè)試是由一個(gè)用戶在開(kāi)發(fā)者的場(chǎng)所,在開(kāi)發(fā)者指導(dǎo)下進(jìn)行的測(cè)試。開(kāi)發(fā)者記錄下問(wèn)題和錯(cuò)誤,是在開(kāi)發(fā)者“控制下的測(cè)試。測(cè)試是用戶的環(huán)境中,開(kāi)發(fā)者可能并不在現(xiàn)場(chǎng),由用戶“活用系統(tǒng)情況下的測(cè)試。用戶記錄下問(wèn)題,報(bào)告給開(kāi)發(fā)者。在商用套裝軟件中,這種情況比較多見(jiàn),在行業(yè)應(yīng)用系統(tǒng)中,由于現(xiàn)實(shí)環(huán)境并不允許不成功的軟件直接投入使用,用戶也沒(méi)有參與測(cè)試義務(wù)、時(shí)間和資源的投入和配合的積極性,因此,這種測(cè)試很少發(fā)生。 驗(yàn)收測(cè)試在行業(yè)應(yīng)用軟件環(huán)境中,驗(yàn)收測(cè)試是工程過(guò)程非常重要的一環(huán),也是工程經(jīng)理非常關(guān)注的一項(xiàng)工作。驗(yàn)收測(cè)試與確認(rèn)測(cè)試非常相似,所不同的是,確認(rèn)測(cè)試是工程

39、組或組織內(nèi)部的測(cè)試,驗(yàn)收測(cè)試是用戶主導(dǎo)、現(xiàn)場(chǎng)參與、現(xiàn)場(chǎng)環(huán)境下的測(cè)試。驗(yàn)收測(cè)試通常由工程組先提出測(cè)試大綱,定義測(cè)試目的、范圍、方法、測(cè)試用例、預(yù)期結(jié)果、驗(yàn)收標(biāo)準(zhǔn)等。經(jīng)用戶同意批準(zhǔn),可能包括用戶的修改、增加后,確定測(cè)試時(shí)間,開(kāi)始進(jìn)入驗(yàn)收測(cè)試。用戶在完成按測(cè)試用例的測(cè)試后,在測(cè)試記錄上逐條確認(rèn)、簽字,最后,在測(cè)試報(bào)告上簽字,完成驗(yàn)收測(cè)試。一般地、驗(yàn)收測(cè)試報(bào)告是工程初驗(yàn)、終驗(yàn)的依據(jù)和主要驗(yàn)收形式。 單元測(cè)試與驗(yàn)收測(cè)試 單元測(cè)試和驗(yàn)收測(cè)試沒(méi)有什么區(qū)別?單元測(cè)試可以類(lèi)比為一個(gè)建筑的質(zhì)檢人員對(duì)建筑進(jìn)行的檢測(cè), 他關(guān)注的重點(diǎn)是建筑的內(nèi)部結(jié)構(gòu)、地基、框架以及墻壁是否垂直等。他的檢測(cè)是要保證建筑的各個(gè)局部是正常的

40、、平安的,換句話說(shuō),就是要保證施工滿足建筑上面的質(zhì)量標(biāo)準(zhǔn)。驗(yàn)收測(cè)試可以類(lèi)比為建筑的使用者來(lái)對(duì)建筑進(jìn)行的檢測(cè)。他關(guān)心建筑的外觀是否美觀、各個(gè)房間的大小是否適宜,窗戶的位置是否適宜,是否能夠滿足家庭的需要等。這里,建筑的使用者執(zhí)行的就是驗(yàn)收測(cè)試,他是從用戶的角度出發(fā)的。正是這種角度的不同決定了單元測(cè)試和驗(yàn)收測(cè)試之間的區(qū)別。它們是對(duì)系統(tǒng)的不同的方面進(jìn)行的測(cè)試,二者是互相補(bǔ)充的。不管我們?cè)谙到y(tǒng)的構(gòu)建中使用了多么聰明的方法,不管我們的系統(tǒng)是多么的靈活,但是首先我們的產(chǎn)品必須是可用的,否那么我們所做的就是浪費(fèi)時(shí)間,從這一點(diǎn)上來(lái)說(shuō)驗(yàn)收測(cè)試要比單元測(cè)試顯得更加重要。 測(cè)試方法測(cè)試所處的階段不同,方法也不同:白

41、盒測(cè)試在單元測(cè)試階段,由于測(cè)試者對(duì)被測(cè)對(duì)象的內(nèi)部結(jié)構(gòu)、邏輯思路、接口關(guān)系等比較熟悉,一般采取白盒測(cè)試的方法,它是根據(jù)模塊的內(nèi)部邏輯,進(jìn)行測(cè)試設(shè)計(jì)的方法。有些集成測(cè)試也采用白盒方法,關(guān)鍵看集成階段的劃分。黑盒測(cè)試在集成測(cè)試以至此后的各階段,測(cè)試設(shè)計(jì)和測(cè)試人員,對(duì)被測(cè)對(duì)象的內(nèi)部結(jié)構(gòu)不了解也不需要了解,他的目的是按需求功能進(jìn)行確認(rèn)。因此,黑盒測(cè)試是嚴(yán)格按軟件需求進(jìn)行測(cè)試設(shè)計(jì)的方法。代碼走查 測(cè)試類(lèi)型在不同階段,測(cè)試的類(lèi)型也不相同,常有的測(cè)試類(lèi)型是:1功能測(cè)試:軟件實(shí)現(xiàn)的功能是否符合需求規(guī)格說(shuō)明書(shū)中定義的功能;2性能測(cè)試:軟件在規(guī)定配置下的性能是否符合需求規(guī)定;3算法測(cè)試:確認(rèn)實(shí)現(xiàn)的算法的正確性;4正

42、向測(cè)試:按照用戶正常的理解、操作方式、思維和使用習(xí)慣使用軟件,得到的結(jié)果是否與需求一致。5逆向測(cè)試:如果不按用戶正常的理解、操作發(fā)生、思維和使用習(xí)慣使用軟件,軟件是否能正確地進(jìn)行處理。如:無(wú)效操作、錯(cuò)誤的數(shù)據(jù)輸入處理、非法進(jìn)入等。6邊界測(cè)試:按軟件的限制、假設(shè)條件的邊界輸入,進(jìn)行測(cè)試。7配置測(cè)試:對(duì)軟件環(huán)境進(jìn)行配置變化,軟件需求實(shí)現(xiàn),特別是性能實(shí)現(xiàn)是否能符合需求規(guī)定要求。8負(fù)載測(cè)試:在業(yè)務(wù)處理量、數(shù)據(jù)負(fù)載量、通訊負(fù)載量到達(dá)何種情況,系統(tǒng)的性能變化和承載能力情況。測(cè)試方案測(cè)試估計(jì)在擬定測(cè)試方案時(shí),首先需要對(duì)以下情況,做出估計(jì):1 完成測(cè)試設(shè)計(jì)所需要的工作量:2 完成測(cè)試設(shè)計(jì)所需要的工作時(shí)間:3

43、完成測(cè)試所需要的時(shí)間:根據(jù)以上三個(gè)局部的結(jié)果,我們已經(jīng)知道了測(cè)試的范圍、內(nèi)容、任務(wù)分配、時(shí)間等,這樣,工程經(jīng)理可以能比較充分地規(guī)劃資源,制訂出一份比較全面和切實(shí)的測(cè)試工作方案。測(cè)試分配測(cè)試方案確定了測(cè)試的范圍、內(nèi)容和估計(jì)時(shí)間,根據(jù)WBS方法,測(cè)試方案還應(yīng)說(shuō)明具體測(cè)試任務(wù)的分解和測(cè)試工作的分配。測(cè)試組的成員根據(jù)分工,各自完成一局部測(cè)試任務(wù)。測(cè)試組與工程開(kāi)發(fā)組還需要保持一定的同步,使測(cè)試與開(kāi)發(fā)、修改在協(xié)調(diào)的步驟下進(jìn)行,以節(jié)約珍貴的工程總時(shí)間。測(cè)試確認(rèn)測(cè)試用例名稱工號(hào)權(quán)限被測(cè)子系統(tǒng)名卡/號(hào)資源管理測(cè)試用例來(lái)源 公司測(cè)試組 內(nèi)部測(cè)試抽查參考文檔序號(hào)測(cè)試用例描述XWYY001測(cè)試目的能否正確識(shí)別合法的操

44、作員進(jìn)入應(yīng)用系統(tǒng)測(cè)試步驟1.啟動(dòng)“卡/號(hào)資源管理”應(yīng)用程序。2. 輸入系統(tǒng)中不存在的工號(hào)1000,再輸入密碼12345,檢查能否進(jìn)入系統(tǒng)。3.輸入系統(tǒng)中存在的工號(hào)nj001和正確的密碼,檢查能否進(jìn)入系統(tǒng)。4. 輸入系統(tǒng)中存在的工號(hào)yd002和正確的密碼,檢查能否進(jìn)入系統(tǒng)。輸入數(shù)據(jù)描述1、工號(hào)1000根本不是系統(tǒng)合法的工號(hào)。2、工號(hào)nj001是前臺(tái)營(yíng)業(yè)受理的工號(hào),不能進(jìn)行卡號(hào)資源管理系統(tǒng)。3、工號(hào)yd002是卡號(hào)資源管理系統(tǒng)的工號(hào)。期望的結(jié)果1. 工號(hào)1000無(wú)論如何進(jìn)入不了系統(tǒng),系統(tǒng)提示無(wú)此員工2. 工號(hào)nj001也不能進(jìn)入系統(tǒng),系統(tǒng)提示該操作員無(wú)權(quán)執(zhí)行卡號(hào)資源管理系統(tǒng)3工號(hào)yd002可以進(jìn)入

45、系統(tǒng),并能打開(kāi)所有的功能菜單測(cè)試結(jié)果描述相符測(cè)試人員測(cè)試日期2003-03-08復(fù)測(cè)人員復(fù)測(cè)日期備注測(cè)試用例: 測(cè)試用例由誰(shuí)設(shè)計(jì)? 設(shè)計(jì)測(cè)試用例的依據(jù)是什么? 測(cè)試設(shè)計(jì)的重點(diǎn)是什么?測(cè)試報(bào)告: 收集齊上述的所有測(cè)試用例,構(gòu)成了測(cè)試報(bào)告的根本要件。 測(cè)試報(bào)告是對(duì)所有測(cè)試用例測(cè)試過(guò)程的總結(jié)。 在測(cè)試報(bào)告中,應(yīng)反映: 1測(cè)試中出現(xiàn)問(wèn)題的統(tǒng)計(jì)匯總和分析; 2未解決問(wèn)題的匯總和解決方案建議; 3回歸測(cè)試的統(tǒng)計(jì)和分析度量 ; 4對(duì)測(cè)試方案的總結(jié)或修改。測(cè)試過(guò)程組織一個(gè)獨(dú)立的測(cè)試小組為例,測(cè)試過(guò)程一般如下:1測(cè)試準(zhǔn)備:制定人員、環(huán)境、工具、培訓(xùn)和外部支持方案。2測(cè)試方案:確定測(cè)試策略、建立測(cè)試方案。3測(cè)試用

46、例:建立測(cè)試順序樹(shù)、確定測(cè)試的優(yōu)先級(jí)、詳細(xì)列出測(cè)試程序和測(cè)試數(shù)據(jù),設(shè)計(jì)測(cè)試用例。4測(cè)試環(huán)境:了解需求、搭建環(huán)境、安裝備份和恢復(fù)程序,記錄初始環(huán)境、測(cè)試環(huán)境、恢復(fù)環(huán)境等。5測(cè)試執(zhí)行:從測(cè)試方案復(fù)審測(cè)試方案進(jìn)度表、恢復(fù)測(cè)試執(zhí)行環(huán)境。6結(jié)果分析:執(zhí)行結(jié)果分析、度量。7測(cè)試報(bào)告:錯(cuò)誤趨勢(shì)圖、測(cè)試變動(dòng)指示、產(chǎn)品檢查點(diǎn)建議。軟件審查的概念回憶:我們?cè)谏瞎?jié)介紹軟件確實(shí)認(rèn)和驗(yàn)證過(guò)程時(shí),已經(jīng)介紹了軟件驗(yàn)證的三個(gè)過(guò)程是:審查、測(cè)量和配置管理。同時(shí),我們也談到,驗(yàn)證與確認(rèn)的區(qū)別是,確認(rèn)是在整個(gè)軟件系統(tǒng)完成交付前或某模塊完成交付前的檢查,它的檢查點(diǎn)是交付前。而驗(yàn)證貫穿于整個(gè)開(kāi)發(fā)過(guò)程,是對(duì)過(guò)程確實(shí)認(rèn)。因此,驗(yàn)證的范圍包

47、括了整個(gè)開(kāi)發(fā)過(guò)程,它是軟件質(zhì)量保證并持續(xù)改進(jìn)的強(qiáng)大工具。 什么是審查,審查是一個(gè)正式的、嚴(yán)格的、具有深度的技術(shù)評(píng)審過(guò)程。因此,評(píng)審的目的是: 1在軟件開(kāi)發(fā)過(guò)程中,盡早可能地發(fā)現(xiàn)問(wèn)題,特別是過(guò)程性的問(wèn)題; 2確保對(duì)需求保持一致的意見(jiàn); 3驗(yàn)證任何修改和變更滿足預(yù)先定義的準(zhǔn)那么; 4為組織提供產(chǎn)品在質(zhì)量和過(guò)程方面是否有效的實(shí)際數(shù)據(jù); 5使團(tuán)隊(duì)成員之間在技術(shù)上建立相互的了解; 6增加軟件確認(rèn)測(cè)試的有效性; 7提高優(yōu)秀軟件工程師的水準(zhǔn)。軟件評(píng)審軟件評(píng)審在軟件開(kāi)發(fā)的各個(gè)階段,都要采用評(píng)審的方法,以便及早發(fā)現(xiàn)軟件的缺陷。軟件評(píng)審的必要性1. 從技術(shù)角度進(jìn)行的審查是保證軟件質(zhì)量的重要措施由于人的認(rèn)識(shí)不可能百

48、分之百地符合客觀實(shí)際,因此生命周期每個(gè)階段的工作中都可能發(fā)生錯(cuò)誤。由于前一階段的成果是后一階段工作的根底,前一階段的錯(cuò)誤自然會(huì)導(dǎo)致后一階段的工作結(jié)果中有相應(yīng)的錯(cuò)誤,而且錯(cuò)誤會(huì)積累起來(lái),如以下圖所示。原始要求正確的規(guī)格說(shuō)明錯(cuò)誤的規(guī)格說(shuō)明需求分析設(shè)計(jì)正確的設(shè)計(jì)錯(cuò)誤的設(shè)計(jì)對(duì)錯(cuò)誤說(shuō)明的設(shè)計(jì)編碼正確編碼錯(cuò)誤編碼對(duì)錯(cuò)誤設(shè)計(jì)的編碼對(duì)錯(cuò)誤說(shuō)明的編碼測(cè)試正確功能可改正的錯(cuò)誤不可改正的錯(cuò)誤潛伏的錯(cuò)誤不完善的軟件產(chǎn)品軟件評(píng)審2. 技術(shù)審查也是降低本錢(qián)的一個(gè)重要舉措由于再后期改正一個(gè)錯(cuò)誤比在早期改正同一個(gè)錯(cuò)誤需要付出的代價(jià)高二至三個(gè)數(shù)量級(jí),所以越在早期發(fā)現(xiàn)的錯(cuò)誤越容易改正,代價(jià)越低。3. 在技術(shù)審查合格之后,再進(jìn)行管

49、理復(fù)審,可以使管理人員專心從管理角度對(duì)開(kāi)發(fā)工作進(jìn)行審查,而不必顧及技術(shù)問(wèn)題軟件評(píng)審軟件評(píng)審的方法成立評(píng)審小組,組員包括:組長(zhǎng)、作者、評(píng)審員1. 組長(zhǎng)組長(zhǎng)是小組的核心,最后由技術(shù)水平較高且沒(méi)有直接參與這項(xiàng)工程的人擔(dān)任。組長(zhǎng)的任務(wù)是組織和領(lǐng)導(dǎo)技術(shù)審查的全過(guò)程,如安排會(huì)議日程,分發(fā)必要的文檔資料,主持審查會(huì)議,確保審查全面、公正。2. 作者作者是被審查文檔或程序的編寫(xiě)者。如果開(kāi)發(fā)小組由一個(gè)小組集體完成,通常由技術(shù)小組負(fù)責(zé)人代表小組參加審查小組。作者的責(zé)任是答復(fù)技術(shù)上的問(wèn)題3. 評(píng)審員評(píng)審員也應(yīng)由技術(shù)專家擔(dān)任。通常一個(gè)是前一階段的技術(shù)骨干,另一個(gè)是后一階段的骨干。評(píng)審員的任務(wù)是分別從各自的角度,公正客

50、觀地評(píng)價(jià)被審查的軟件產(chǎn)品。軟件評(píng)審軟件評(píng)審的步驟準(zhǔn)備簡(jiǎn)要介紹情況閱讀被評(píng)審的文檔如檢查表開(kāi)評(píng)審會(huì)返工復(fù)審軟件開(kāi)發(fā)的各個(gè)階段,其檢查表的內(nèi)容不一樣。6.3.1 軟件審查的準(zhǔn)備評(píng)審人:審查一般由一個(gè)審查小組或?qū)彶槲瘑T會(huì)負(fù)責(zé)進(jìn)行,審查小組內(nèi),應(yīng)有以下角色構(gòu)成: 1主持審查活動(dòng)的主審員; 2被審查產(chǎn)品負(fù)責(zé)人,包括產(chǎn)品經(jīng)理、技術(shù)經(jīng)理、質(zhì)量經(jīng)理等; 3負(fù)責(zé)對(duì)被審查產(chǎn)品進(jìn)行講解和解釋的主講人; 4來(lái)自各有關(guān)部門(mén)的審查員; 5記錄員; 6 工程經(jīng)理 工程經(jīng)理應(yīng)該參與軟件的審查過(guò)程,關(guān)注審查結(jié)果,但不一定要參加審查會(huì)議。這要看審查的級(jí)別。如果是組織內(nèi)的工程級(jí)審查,工程經(jīng)理作為被審查產(chǎn)品的負(fù)責(zé)人,應(yīng)參加審查會(huì)議,

51、否那么,應(yīng)該由具體的產(chǎn)品、技術(shù)或質(zhì)量經(jīng)理去參加這樣的會(huì)議。 被審產(chǎn)品的負(fù)責(zé)人參加這樣的會(huì)議,不是為了解釋審查中發(fā)現(xiàn)的缺陷,及其責(zé)任,進(jìn)行辯白,而只是如實(shí)地向?qū)彶樾〗M介紹產(chǎn)品為什么要這樣做,和做了什么。審查的目的不是為了追究什么人的責(zé)任,而是為了改進(jìn)過(guò)程。如果把評(píng)審,引入到人與人之間的斗爭(zhēng)中去,那么完全喪失了評(píng)審,作為過(guò)程改進(jìn)手段的意義。評(píng)審內(nèi)容及要求,見(jiàn)下表:審查類(lèi)型被審查項(xiàng)需提交的資料提交審查條件需求軟件需求規(guī)格說(shuō)明書(shū)軟件需求規(guī)格說(shuō)明書(shū)及在此之前有關(guān)的需求分析文檔、需求基線及批準(zhǔn)文檔確認(rèn)的需求、已經(jīng)被分析和形式化描述,需求基線已經(jīng)被確定 設(shè)計(jì)軟件設(shè)計(jì)說(shuō)明軟件設(shè)計(jì)文檔設(shè)計(jì)完成編碼源代碼模塊源程

52、序代碼、設(shè)計(jì)文檔、組織的編碼標(biāo)準(zhǔn)與規(guī)范被審查模塊已經(jīng)編譯正確并完成獨(dú)立測(cè)試確認(rèn)測(cè)試測(cè)試記錄測(cè)試結(jié)果報(bào)告、質(zhì)量和驗(yàn)收標(biāo)準(zhǔn) 系統(tǒng)確認(rèn)及回歸測(cè)試已經(jīng)完成 審查內(nèi)容 作為被審查對(duì)象的工程組,按照審查組的要求,提交被審查材料,接受審查。 作為審查員,應(yīng)該做什么準(zhǔn)備? 首先,明確作為審查員的定角色位、職責(zé)。 審查員是那些具有相關(guān)知識(shí)和對(duì)被審查產(chǎn)品具有一定熟悉程度的,但不一定就是直接從事相同崗位有時(shí),還特別需要交叉換位的人員。在參加審查前,他必須花一定的時(shí)間和精力,來(lái)了解產(chǎn)品,并能通過(guò)閱讀提交的資料,了解產(chǎn)品與文檔、標(biāo)準(zhǔn)和標(biāo)準(zhǔn)之間的差異。 因此,他在審查中的責(zé)任是:1必須完全熟悉要審查的產(chǎn)品和產(chǎn)品所依據(jù)的文

53、檔和標(biāo)準(zhǔn);2對(duì)照產(chǎn)品和文檔,鑒別其中的差異;3客觀地評(píng)價(jià)差異,識(shí)別是屬于實(shí)現(xiàn)程度差異、缺陷,還是錯(cuò)誤;4判斷差異是實(shí)現(xiàn)的個(gè)表達(dá)象,還是過(guò)程問(wèn)題;5以對(duì)產(chǎn)品而不是對(duì)人的態(tài)度,對(duì)差異進(jìn)行評(píng)估和分析;6向主審員報(bào)告審查結(jié)果和分析意見(jiàn)。審查員的職責(zé)軟件審查的過(guò)程 在審查開(kāi)始之前,審查組與被審查工程的有關(guān)人員,產(chǎn)品經(jīng)理、技術(shù)經(jīng)理、質(zhì)量經(jīng)理和工程經(jīng)理們開(kāi)一個(gè)“審查開(kāi)工會(huì),主審員向被審查對(duì)象的有關(guān)人員介紹本次審查的目的、對(duì)象、范圍和內(nèi)容,有必要的話,花一點(diǎn)時(shí)間介紹一下審查方法,使得審查員和被審查工程的有關(guān)人員,在審查過(guò)程中易于溝通和理解。當(dāng)被審查有關(guān)人員知道不是同意審查的主要內(nèi)容后,主審員把審查工作,按分工

54、,分配給各審查員,并請(qǐng)工程組指定有關(guān)的配合人員。會(huì)議約定好完成分組審查的時(shí)間,即召開(kāi)審查匯報(bào)會(huì)的時(shí)間。 獲得審查資料的審查員,可以開(kāi)始從看資料如手,進(jìn)入審查階段。如果需要實(shí)際測(cè)試和運(yùn)行檢查,工程組要配合安排機(jī)器時(shí)間、軟件演示等與操作有關(guān)的環(huán)境。 審查員經(jīng)過(guò)一段時(shí)間的工作,已經(jīng)對(duì)所分工的局部,通過(guò)閱讀資料、實(shí)際查看等,獲得了必要的信息,有關(guān)的疑問(wèn),通過(guò)向工程組實(shí)際詢問(wèn),解釋了不清楚的地方。審查員對(duì)差異,已經(jīng)做好了記錄。主審員按時(shí)間和進(jìn)度,可以招集審查匯報(bào)會(huì)。在審查匯報(bào)會(huì)上,審查員匯報(bào)分組審查中發(fā)現(xiàn)的潛在的還沒(méi)有定論的錯(cuò)誤、缺陷和差異。審查小組對(duì)每一個(gè)問(wèn)題進(jìn)行討論,并爭(zhēng)取獲得一致的意見(jiàn)。必要時(shí),可

55、以請(qǐng)工程組再做解釋。記錄員此時(shí)應(yīng)詳細(xì)記錄討論的過(guò)程和各自的意見(jiàn),并確保這些記錄的完整性、正確性和真實(shí)性。 如果一次會(huì)議不能解決爭(zhēng)論的問(wèn)題,或者需要再擴(kuò)大參加人員的范圍,或者需要再做測(cè)試,那就那樣去做?;蛘邔彶榻M發(fā)現(xiàn)問(wèn)題已經(jīng)非常嚴(yán)重,已經(jīng)超出了軟件評(píng)審的范圍,那么,應(yīng)立即停止評(píng)審,向有關(guān)上級(jí)報(bào)告問(wèn)題,以便上級(jí)做出重大改進(jìn)的措施。 審查結(jié)果的發(fā)布是一個(gè)非技術(shù)的敏感問(wèn)題。什么性質(zhì)的結(jié)果可以發(fā)布,在多大范圍內(nèi)發(fā)布。審查結(jié)果如果比較滿意,它的發(fā)布將對(duì)工程組是一個(gè)正向的鼓勵(lì),是相關(guān)人員能力的象征。負(fù)面的審查結(jié)果可能引來(lái)更大的爭(zhēng)議和動(dòng)亂。因此,審查小組和工程經(jīng)理,要充分溝通,從積極的方面,使用審查結(jié)果。 任

56、何審查結(jié)果都不是針對(duì)個(gè)人的,但是任何工作都是由具體個(gè)人來(lái)負(fù)責(zé)和承擔(dān)相應(yīng)責(zé)任的。因此,審查結(jié)果的難處,就在這句話的二面性。軟件審查的過(guò)程需求審查需求文檔與需求屬性第二章已經(jīng)介紹 需求審查表問(wèn)題清單 1 需求是否認(rèn)義了要向用戶展示的全部信息?2 需求是否論述了系統(tǒng)對(duì)用戶錯(cuò)誤操作的反映?3 每一需求項(xiàng)的描述是否清楚、簡(jiǎn)潔和沒(méi)有二意性?4 每一項(xiàng)需求是否都是可測(cè)試的?5 需求是否有隱含或暗示的功能理解?6 需求項(xiàng)之間是否有自相矛盾的地方?7 需求是否有應(yīng)該論述但沒(méi)有提及的地方?8 需求對(duì)實(shí)時(shí)性、精確度、負(fù)載能力等有沒(méi)有定義?9 需求是否包括了性能需求、質(zhì)量需求等非功能需求?10 如果需求涉及復(fù)雜的關(guān)聯(lián)

57、關(guān)系、復(fù)雜的算法、復(fù)雜的決策 機(jī)制,用戶能完全理解嗎?11 需求對(duì)軟件升級(jí)、版本變更是否有明確的承諾?12 需求文檔是否含有不必要的設(shè)計(jì)細(xì)節(jié)?13 是否可以根據(jù)需求,開(kāi)發(fā)出適當(dāng)?shù)暮屯暾臏y(cè)試用例集?14 需求的假設(shè)和限制條件是否明確?需求審查需求審查過(guò)程 我們?cè)谏弦还?jié),已經(jīng)一般地討論過(guò)審查的過(guò)程。需求審查也遵循這樣的過(guò)程:組織審查組;收集工程組提交的被審查資料;確定審查日期;審查員在獲得審查任務(wù)分配和開(kāi)始工作,包括:對(duì)資料的閱讀和評(píng)審、做實(shí)地的檢查、調(diào)查和詢問(wèn)、記錄并報(bào)告;參加評(píng)審會(huì)議并報(bào)告自己的發(fā)現(xiàn)和分析。 審查小組首先檢查審查活動(dòng)是否充分和沒(méi)有偏差、疏漏。審查員對(duì)問(wèn)題的認(rèn)識(shí)有沒(méi)有片面和主觀

58、。主審員根據(jù)自己的經(jīng)驗(yàn),可能會(huì)對(duì)年輕的審查員要求做出補(bǔ)充調(diào)查。通過(guò)討論,審查小組爭(zhēng)取對(duì)問(wèn)題取得一致的意見(jiàn),并形成審查報(bào)告。 追蹤與改正 審查的目的是監(jiān)督工程組對(duì)軟件的品質(zhì),保持良好的狀態(tài)和不斷地改進(jìn)。因此,審查小組有責(zé)任跟蹤工程組對(duì)審查結(jié)果的利用情況。 關(guān)注工程組的改進(jìn),是工程經(jīng)理比關(guān)注審查結(jié)果更重要的事情。設(shè)計(jì)審查概要設(shè)計(jì)審查表問(wèn)題清單 詳細(xì)設(shè)計(jì)審查表問(wèn)題清單 設(shè)計(jì)審查的目標(biāo): 概要設(shè)計(jì)重點(diǎn)審查以下幾個(gè)方面概要設(shè)計(jì)針對(duì)需求 1概要設(shè)計(jì)對(duì)需求的完整實(shí)現(xiàn); 2概要設(shè)計(jì)與需求的一致性; 3概要設(shè)計(jì)向需求的反向可追蹤; 4概要設(shè)計(jì)中,對(duì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的邏輯性、合理性和可擴(kuò)展性; 由于概要設(shè)計(jì)是直接銜接

59、需求的,因此,概要設(shè)計(jì)審查更多地是把設(shè)計(jì)與需求相銜接。 在詳細(xì)設(shè)計(jì)中,應(yīng)重點(diǎn)審查以下方面詳細(xì)設(shè)計(jì)針對(duì)實(shí)現(xiàn) 1設(shè)計(jì)應(yīng)符合組織即定的標(biāo)準(zhǔn); 2設(shè)計(jì)結(jié)果對(duì)下一階段的編碼是可用的。 由于詳細(xì)設(shè)計(jì)直接提供編碼實(shí)現(xiàn),因此,在組織內(nèi),應(yīng)對(duì)詳細(xì)設(shè)計(jì)的“粒度做出規(guī)定。這樣,即明確詳細(xì)設(shè)計(jì)與代碼實(shí)現(xiàn)的界面,同時(shí),也是編碼標(biāo)準(zhǔn)化的工作根底。在這方面,應(yīng)結(jié)合實(shí)際,進(jìn)行研究。代碼審查 代碼的審查與具體實(shí)現(xiàn)工具有關(guān),而且與具體實(shí)現(xiàn)工具的版本有關(guān),因此,我們?cè)谶@里就不具體討論代碼審查的內(nèi)容。有不少文章具體討論代碼的標(biāo)準(zhǔn)化和設(shè)計(jì)技巧,可以作為審查的范本如果必要的話。 代碼審查的一個(gè)方法是走查。就是由審查人員“讀工程師寫(xiě)的代碼

60、,然后對(duì)照“標(biāo)準(zhǔn)進(jìn)行檢查,是對(duì)軟件文檔的一種書(shū)面檢查。它通過(guò)人工模擬執(zhí)行源程序的過(guò)程,檢查軟件設(shè)計(jì)的正確性。人工模擬也像計(jì)算機(jī)執(zhí)行那樣,可以仔細(xì)推敲、校驗(yàn)和核實(shí)每一步的執(zhí)行結(jié)果,進(jìn)而確定其執(zhí)行邏輯、控制模型、算法和使用參數(shù)與數(shù)據(jù)的正確性。 走查是一件非常艱苦的工作,同時(shí)是需要非常大的毅力和記憶力的工作。因?yàn)橐粋€(gè)系統(tǒng)程序量之大,組織的規(guī)那么和要求之多。審查員要做的是N的N次方的核對(duì)?,F(xiàn)在也有一些計(jì)算機(jī)程序,按一定的規(guī)那么,幫助審查員“讀程序,并挑出有的可以做簡(jiǎn)單的修改毛病,VB就有這樣的程序。如果沒(méi)有計(jì)算機(jī)程序的幫助,審查員會(huì)“瘋掉的。測(cè)試審查測(cè)試審查是對(duì)測(cè)試結(jié)果進(jìn)行審查,它審查的內(nèi)容包括: 1

溫馨提示

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

評(píng)論

0/150

提交評(píng)論