軟件工程:第10章 軟件質(zhì)量_第1頁
軟件工程:第10章 軟件質(zhì)量_第2頁
軟件工程:第10章 軟件質(zhì)量_第3頁
軟件工程:第10章 軟件質(zhì)量_第4頁
軟件工程:第10章 軟件質(zhì)量_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院1第10章軟件質(zhì)量10.1軟件質(zhì)量概述10.1.1軟件質(zhì)量的定義[定義10-1](1)軟件產(chǎn)品具備滿足給定需求的特性及特征的總體的能力。(2)軟件擁有所期望的各種屬性組合的程度。(3)用戶認為軟件滿足他們綜合期望的程度。(4)軟件組合特性可以滿足用戶預(yù)期需求的程度。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院2中國與SE有關(guān)的國家標準基礎(chǔ):GB/T11457-89(SE術(shù)語)開發(fā):GB8566-88(計算機軟件開發(fā)規(guī)范)文檔:GB8567-88(計算機軟件產(chǎn)品開發(fā)文件編制指南)

GB9385-88(計算機軟件需求說明文件編制規(guī)范)

GB9386-88(計算機軟件測試文件編制規(guī)范)質(zhì)量:GB/T12504-90(計算機軟件質(zhì)量保證計劃規(guī)范)管理:GB/T12605-90(計算機軟件配置計劃規(guī)范)

90年以后,國家標準與國際標準從等效原則改為等同原則,均采用雙編碼。如GB/T19000.3(1994)-ISO9000-3(1993)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院310.1.2軟件質(zhì)量特性軟件質(zhì)量的模型:把軟件質(zhì)量特性定義成分層模型。在這種分層的模型中,最基本的叫做基本質(zhì)量特性,它可以由一些子質(zhì)量特性定義和度量。1.McCall質(zhì)量模型2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院4McCall定義的軟件質(zhì)量模型

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院5McCall質(zhì)量度量模型2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院62.ISO的軟件質(zhì)量評價模型2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院7三、CMMCMM(TheCapabilityMaturityModel)不是國際標準,是CMU/SEI于1986年在Mitre公司的協(xié)助下,用于幫助機構(gòu)改進其軟件過程和聯(lián)邦政府要求能提供一種用來評價軟件承制方軟件能力的方法,開始工作經(jīng)過五年的努力,于1991/1992公開發(fā)布了基線版1.0之后,1992/19931.1版、1997/19982.0版,2000推出了CMMI1.0版,它除了沿用CMM分級的形式外,還吸收了ISO/IECTR15504的一些特點2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院8CMM(續(xù))CMM是一個概念模型,它給出了一個軟件機構(gòu)如何開發(fā)和維護高質(zhì)量軟件產(chǎn)品的思路CMM也是一個描述模型,它描述了一個具有某個級別的軟件機構(gòu)所具有的主要特征CMM又是一個系統(tǒng)框架,它為一個軟件機構(gòu)改進其軟件過程能提供一種改進的途徑2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院9CMM結(jié)構(gòu)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院10CMM結(jié)構(gòu)-成熟度級別CMM的頂層為成熟度級別(五級)1級:初始級(TheInitialLevel)2級:可重復(fù)級(TheRepeatableLevel)3級:已定義級(TheDefinedLevel)4級:已管理級(TheManaged)5級:優(yōu)化級(TheOptimizingLevel)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院11CMM結(jié)構(gòu)-關(guān)鍵過程域(1)關(guān)鍵過程域除1級外,每個成熟度級都包含幾個關(guān)鍵過程域(KeyProcessAreas)它們確定了要實現(xiàn)一個成熟度級別所必須解決的問題和目標處于級別3的軟件機構(gòu)一定要解決級別2和級別3中所有關(guān)鍵域中的問題;4、5級類推共有十八個關(guān)鍵過程域2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院12CMM結(jié)構(gòu)-關(guān)鍵過程域(2)2級:需求管理軟件項目計劃軟件項目跟蹤和監(jiān)督軟件分包合同管理軟件質(zhì)量保證軟件配置管理3級:機構(gòu)過程焦點機構(gòu)過程定義培訓(xùn)大綱綜合軟件管理軟件產(chǎn)品工程組間協(xié)調(diào)同行評審4級:定量過程管理軟件質(zhì)量管理5級:缺陷預(yù)防技術(shù)更新管理過程變更管理2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院13CMM結(jié)構(gòu)-共同特性每個關(guān)鍵過程由五部分組成,稱為共同特性(CommonFeatures)執(zhí)行約定(如建立機構(gòu)策略和領(lǐng)導(dǎo)關(guān)系等)執(zhí)行能力(如資源、機構(gòu)結(jié)構(gòu)和培訓(xùn)等)執(zhí)行活動(如制定計劃和規(guī)程、執(zhí)行和跟蹤及必要時采取的糾正措施等)度量和分析(如可采用的度量實例等)驗證實現(xiàn)(如管理部門和質(zhì)量保證小組實施的評審和審核等)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院14CMM結(jié)構(gòu)-關(guān)鍵實踐在共同特性中的實踐,描述了要建立一個過程能力所必須完成的活動,即每一個關(guān)鍵過程都要用關(guān)鍵實踐的概念進行描述CMM有316個關(guān)鍵實踐(KeyPractices)關(guān)鍵實踐只描述“做什么?”不規(guī)定“怎么做?”如不指定生存期模型、不規(guī)定產(chǎn)品實現(xiàn)所采用的開發(fā)方法和工具,從而可以讓各個機構(gòu)可以選擇自己的方法。但必須合理地說明關(guān)鍵實踐,以判斷是否有效地實現(xiàn)了關(guān)鍵過程域的目標2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院15CMM應(yīng)用-軟件過程評價與軟件能力估價(1)1,軟件過程評價(processassessment)和軟件能力估價(capabilityevaluation)的方法基本相同。但由于評價和估價的動機、目的、輸出和結(jié)果歸屬不同,使得在會談或采訪目的、訪問范圍所采集的信息和結(jié)果的表示方式,可能存在重要差別。所以,所采用的的詳細規(guī)程不同,培訓(xùn)要求也不同2,評價是在開放、合作環(huán)境中進行的,目的在于暴露問題和幫助管理人員和技術(shù)人員改進他們所在機構(gòu)的過程。所以,評價能否成功取決于他們對機構(gòu)改進的支持。但更重要的是要通過各種座談會了解機杓構(gòu)的軟件過程。評價的結(jié)果除了能確定機構(gòu)所面臨的軟件過程問題外,最有價值的是明確機構(gòu)改進軟件過程的途徑,促進制定進一步的行動計劃,使整個機構(gòu)關(guān)注軟件過程的改進,提高整個機構(gòu)改進行動計劃的動力和熱情2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院16CMM應(yīng)用-軟件過程評價與軟件能力估價(2)3,軟件能力估價是在更為面向?qū)徲嫷沫h(huán)境中進行。估價的目的與金錢有關(guān),因為估價組的推薦意見將影響挑選承制方或投放資金的多少。估價過程的重點在評審巳文檔化的審計記錄上,這些記錄能揭示機構(gòu)實際執(zhí)行的軟件過程4,必須指出的是:評價和估價的結(jié)果不是不可比的。因為它們都是基于CMM的,其不同之處也是可以解釋的2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院17CMM應(yīng)用-評價方法評價方法選擇評價小組填寫成熟度問卷進行響應(yīng)分析現(xiàn)場訪問、會議和文檔評審提供基于CMM的調(diào)查結(jié)果清單制作關(guān)鍵過程域的剖面圖,以顯示該機構(gòu)哪些區(qū)域巳滿足,哪些區(qū)域尚未滿足關(guān)鍵過程域的目標等2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院18CMMICMMI為CMM的集成項目CMMI的目標1,在一個模型中集成多層CMM成熟度級別,以簡化過程的改進和評估2,要符合15504的要求CMMI有兩種發(fā)行版本2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院19CMMI的分級版本分級版本為CMM界所熟悉,分級模型使用成熟度級別。分級版本的優(yōu)勢在于使用的機構(gòu)對其非常熟悉。過程的改進從基本管理實踐開始,經(jīng)過連續(xù)成熟度等級路徑獲得進展,其中每層成熟度等級為下一層級別提供了堅實的基礎(chǔ)。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院20CMMI的連續(xù)版本連續(xù)版本為15504界熟悉,連續(xù)模型使用能力級別。允許機構(gòu)集中在最符合機構(gòu)業(yè)務(wù)目標的過程改進上,同時也可以與其它機構(gòu)進行對比。但對比的焦點在過程域與過程的域的比較。CMMI的連續(xù)模型與15504類似2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院21CMMI兩個版本的異同兩種版本的表述都使用過程域、特定目標和一般目標、特定實踐和一般實踐,而且兩種表述使用同樣的過程域。連續(xù)版本有6個能力級別,這些能力級別是應(yīng)用于每個過程域的成熟度分級,這6個能力級別從0到5的編號,每個能力級別有一系列特定目標和一般目標。連續(xù)模型的能力級別為過程域的過程改進提供了路經(jīng)。組織要把它的過程域映射到CMMI過程域中,如同15504中的那樣。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院22CMM與ISO標準比較CMM與ISO9000-3的設(shè)計思路不同,雖然都是著眼于軟件質(zhì)量管理和軟件過程管理,它們最大的不同是:CMM強調(diào)的是持續(xù)的過程改進;ISO9000-3涉及的是可接受的質(zhì)量體系最低標準還要指出的是:CMM中關(guān)于能力等級是針對每個軟件機構(gòu)的;而ISO/IECTR15504中的能力等級是針對每個過程的2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院2310.1.3軟件質(zhì)量特性之間的競爭各質(zhì)量特性與質(zhì)量子特性之間的關(guān)系

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院24質(zhì)量特性之間的有利和不利影響

其中,√表示有利影響,×表示不利影響

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院25軟件質(zhì)量特性與質(zhì)量子特性間的有利和不利影響

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院2610.2軟件質(zhì)量的度量和評價10.2.1軟件質(zhì)量的度量[定義10-2]軟件質(zhì)量度量是對軟件所具有的影響其屬性所進行的定量測量軟件質(zhì)量度量時必須滿足的質(zhì)量標準客觀性:如果不存在來自測試者對度量的主觀影響,則度量是客觀的??煽啃裕喝绻谥貜?fù)度量中,在同樣條件下達到相同的效果,則認為度量是可靠的。適用性:如果度量結(jié)果能夠明確地說明質(zhì)量特性時,則可以說度量是適用的。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院27標準化:標準化是指必須有一個可以明確表示度量結(jié)果的標度,當這個可比較的標度存在時,度量被認為是達到標準化的??杀容^性:當某項度量與其他度量相關(guān)時,則度量具有可比較性。經(jīng)濟性:當度量是在低成本下進行時,它是經(jīng)濟的。度量的經(jīng)濟與否取決于度量過程的自動化程度和度量的數(shù)據(jù)量,使用工具可以大大改善軟件度量的自動化水平。有效性:質(zhì)量標準的有效形式是最難證明的。但是不說明度量標準是有效時,就不能客觀的評價軟件質(zhì)量。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院2810.2.2軟件質(zhì)量度量的分類軟件質(zhì)量度量可以劃分為過程度量和產(chǎn)品度量。1.過程度量,是度量開發(fā)過程和維護過程或開發(fā)環(huán)境的定量屬性。例如,說明開發(fā)人員具有多少年的編程經(jīng)驗和開發(fā)過程的成本等。2.產(chǎn)品度量,是度量產(chǎn)品的定量屬性。產(chǎn)品度量不涉及有關(guān)產(chǎn)品生產(chǎn)的任何方面或形成產(chǎn)品當前實際狀況的原因。產(chǎn)品度量包括度量產(chǎn)品的大小,如程序行數(shù)或程序中的符號數(shù);結(jié)構(gòu)的復(fù)雜性,如控制流程、嵌套深度和遞歸深度等;數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性,包括使用的變量數(shù)和數(shù)據(jù)文件等產(chǎn)品的應(yīng)用領(lǐng)域,如工資清單。也可能是以上各項的組合。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院2910.2.3軟件質(zhì)量評價軟件質(zhì)量評價采用軟件復(fù)雜性度量。復(fù)雜性度量包括靜態(tài)度量和開發(fā)度量。靜態(tài)度量是在給定時間內(nèi)測量軟件產(chǎn)品的質(zhì)量,它可以分為:(1)軟件產(chǎn)品的規(guī)模。(2)軟件產(chǎn)品程序控制結(jié)構(gòu)的度量。(3)數(shù)據(jù)結(jié)構(gòu)的度量。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院30一、傳統(tǒng)軟件的量度(一)軟件復(fù)雜性(二)軟件可靠性(三)軟件可用性(四)軟件安全性2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院31(一)軟件復(fù)雜性軟件復(fù)雜性(complexity)是指程序的結(jié)構(gòu)、模塊、簡明、簡潔和可理解的程度1.代碼行復(fù)雜性量度2.Halstead軟件科學(xué)量度(1977)3.McCabe復(fù)雜性量度(1976)4.功能點復(fù)雜性量度2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院321.代碼行復(fù)雜性量度就是用程序代碼行(codeline)的多少來衡量程序的復(fù)雜性。這是早期,也是最簡單的計算程序復(fù)雜性的量度<100行語句的程序呈線性關(guān)系;>100行語句的程序,其出錯率以非線性方式增長。所以這種方法十分粗糙2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院332.Halstead軟件科學(xué)計算(1977)這種方法是根據(jù)程序中可執(zhí)行代碼行的操作符(如邏輯、算術(shù)運算符等)和操作數(shù)(如變量名、常數(shù)等)的數(shù)量來計算程序的復(fù)雜性程序的操作符是有限的,其最大數(shù)目不會超過關(guān)鍵字的數(shù)目。而操作數(shù)的數(shù)目卻隨程序的規(guī)模的增大而增加。一般地說:操作符和操作數(shù)的量越大,程序結(jié)構(gòu)就越復(fù)雜這種方法采用了一組原始度量,它們可以在代碼生成后給出,也可在設(shè)計完成后估出設(shè):n1:程序中出現(xiàn)的不同的操作符的數(shù)目n2:程序中出現(xiàn)的不同的操作數(shù)(或操作對象)的數(shù)目N1:程序中操作符出現(xiàn)的總數(shù)N2:程序中操作數(shù)出現(xiàn)的總數(shù)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院34Halstead算式Halstead用這些原始度量定義了以下算式:(1)程序長度N=n1log2n1+n2log2n2(2)程序容量V=Nlog2(n1+n2)(V為信息位的容量)(3)語言級別L=(2×n2)/(n1×n2)(4)程序工作量E=V/L(5)程序編寫時間T=E/S(S為Stroud數(shù),即人判斷所需時間。一個清醒的人,每秒可進行5-20次的最基本判斷)(6)程序潛在錯誤的數(shù)量B=Nlog2(n1+n2)/30002022/11/3廣東工業(yè)大學(xué)計算機學(xué)院353.McCabe復(fù)雜性量度(1976)McCabe認為程序的復(fù)雜性很大程度上取決于程序流的復(fù)雜性。單一的順序程序結(jié)構(gòu)最簡單,循環(huán)和選擇結(jié)構(gòu)所構(gòu)成的環(huán)路越多,程序就越復(fù)雜1)這種方法以圖論為工具,先畫出程序圖,然后用該圖的環(huán)路數(shù)作為該程序復(fù)雜性的量度值。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院362)計算線性無關(guān)環(huán)路數(shù)根據(jù)圖論理論,一個強連通的有向圖中線性無關(guān)環(huán)路個數(shù)計算公式如下:V(G)=e-n+1其中:V(G):有向圖G中的環(huán)路個數(shù)。e:G的弧的條數(shù)。n:G的節(jié)點數(shù)。對于一個正常的程序來說,應(yīng)該能夠從程序圖內(nèi)的入口點到達任何一個節(jié)點,如果從出口點加一條指向入口點的弧,那么,程序圖一定是一個強連通圖。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院37上圖中程序圖還不是強連通圖,但是,加上一條從節(jié)點i到節(jié)點A的弧后,就是一個強連通圖了(圖中虛線)。此圖(強連通圖)的節(jié)點數(shù)為9,弧數(shù)為11,其線性無關(guān)環(huán)路個數(shù)計算如下:V(G)=11-9+1=3這三個線性無關(guān)環(huán)路分別是:abcia、defghd和cdefgc。V(G)還有兩種計算方法。(1)通過計算程序圖中所有有界區(qū)域和無界區(qū)域的個數(shù)得到。例如,圖10-4中的程序圖共有三個區(qū)域,所以V(G)=3。(2)用判定語句總數(shù)加1計算。這里約定,多分支的判定為分支數(shù)減1;循環(huán)看成一個判定。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院38McCabe復(fù)雜性量度(續(xù))例:由上述計算方法可算得:V(G)=9-6+2=5這里選擇的五個線性無關(guān)環(huán)路為(abefa)、(aeb)、(abea)、(acfa)、(adcfa)其它任何環(huán)路都是這五個環(huán)路的線性組合2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院39McCabe復(fù)雜性量度(續(xù))V(G)還可以用另外兩種方法求得:(1)通過計算程序圖中所有有界區(qū)域和無界區(qū)域數(shù)R來得到,所以V(G)為5(2)用判定語句的總數(shù)再加1來計算。這類復(fù)雜性是可加的,如單元A的復(fù)雜性為7(6個判定),單元B的復(fù)雜性為9(8個判定)。則單元A和單元B的復(fù)雜性為16。關(guān)于判定的個數(shù)計算,對多路分支語句(分情況語句)有如下約定:規(guī)定其判定個數(shù)為分支數(shù)減1,即一個具有5路分支的分情況語句只有4個判定。這樣,上例中兩個分情況語句可按4個判定來計算。所以,V(G)也為4+1=5McCabe建議:如果把具有多個分情況語句結(jié)構(gòu)作為例外,在一個程序結(jié)構(gòu)內(nèi),V(G)一般應(yīng)控制在10以內(nèi),3-9的范圍,則被認為是良好的結(jié)枸和恰當?shù)膹?fù)雜性。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院404.功能點復(fù)雜性量度面向功能的度量是Albrecht,A.J1979年首先提出來的,使用軟件所提供的功能作為規(guī)范值。因為,功能不能直接度量,必須通過其它直接的度量來間接地導(dǎo)出他建議的一種為功能點(functionpoint)的量度是基于軟件信息域的可計算的(直接的)量度和軟件復(fù)雜性的評估而給出的2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院41功能點復(fù)雜度量度(續(xù))功能點如何計算?根據(jù)國際功能點用戶集團(InternationalFunctionPointUser’sGroup,IFPUG)制定的詳細規(guī)則進行(圖)。一般程序中有五個軟件信息域特征。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院42功能點復(fù)雜度量度(續(xù))(1)用戶輸入計算用戶每個輸入。它們向軟件提供不同的面向應(yīng)用的數(shù)據(jù)。輸入應(yīng)與查詢分別計算(2)用戶輸出計算用戶每個輸出。軟件向用戶提供不同的面向應(yīng)用的信息。這里是指報表、屏幕和出錯信息等。一個報表中的單個數(shù)據(jù)項不單獨計算。(3)交互查詢

一個查詢被定義為一次聯(lián)機輸入,它導(dǎo)致軟件以聯(lián)杌輸出方式產(chǎn)生實時響應(yīng)。每一個不同查詢都要計算。(4)內(nèi)部邏輯文件這里是指軟件需要使用系統(tǒng)內(nèi)部的邏輯文件。如數(shù)據(jù)庫中部分數(shù)據(jù)或一個獨立的文件。(5)外部邏輯文件這里是指機器的可讀接口,利用這些接口可將信息從一個系統(tǒng)傳送到另一個系統(tǒng)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院43功能點復(fù)雜度量度(續(xù))有了上述五個特征的計算值,就可把每個計數(shù)與復(fù)雜性加權(quán)因子(按IFPUG制定的規(guī)則分高、中、低)相乘就可獲得小計和總計。這樣就可以得功能點總數(shù)按照IFPUG的規(guī)定:上面求出的功能點總數(shù)還要乘以一個根據(jù)整個系統(tǒng)復(fù)雜性而確定的因素影響值,對巳求出的功能點總數(shù)進行上調(diào)或下調(diào),這樣才能得到最終的功能點數(shù)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院44功能點復(fù)雜度量度(續(xù))上、下調(diào)一般由下列十四個因素決定:(1)系統(tǒng)需要可靠的備份和恢復(fù)嗎?(2)需要數(shù)據(jù)通信嗎?(3)有分布處理功能嗎?(4)性能很關(guān)鍵嗎?(5)系統(tǒng)是否在一個現(xiàn)成的、重負的操作環(huán)境中運行?(6)系統(tǒng)需要聯(lián)機數(shù)據(jù)登錄嗎?(7)聯(lián)機數(shù)據(jù)登錄是否需要在多屏幕或多操作之間切換以完成輸入?(8)需要聯(lián)機更新主文件嗎?(9)輸入、輸出、文件或查詢很復(fù)雜嗎?(10)內(nèi)部處理復(fù)雜嗎?(11)代碼需要被設(shè)為可重用的嗎?(12)設(shè)計中需要包括轉(zhuǎn)換和安裝嗎?(13)系統(tǒng)的設(shè)計需要支持不同組織的多次安裝嗎?(14)應(yīng)用設(shè)計方便用戶使用和修改嗎?每個問題的回答可使用從0(不重要的)到5(絕對重要的)來確定,這樣就可算出最終的功能點數(shù)。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院45功能點復(fù)雜度量度(續(xù))最后,有了功能點的最終數(shù),就可以計算出許多有用數(shù)據(jù)。這些數(shù)據(jù)是根據(jù)生產(chǎn)實際大量的統(tǒng)計數(shù)據(jù),用最小二乘法擬合給出的估算公式:質(zhì)量:必須糾正錯誤的數(shù)目=X1.25(個)人力資源:開發(fā)所需各類技術(shù)人員的總數(shù)=X/150(人)開發(fā)周期:完成任務(wù)所需的周期=X0.4(月)其中X為功能點的最終數(shù)。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院46功能點復(fù)雜度量度(續(xù))例:一個檢查英文單詞拼寫有否錯誤的程序輸入文件:文件名稱(檢查拼寫是否正確的文件)輸出文件:三個輸出:檢查單詞的總數(shù);找出拼寫的錯誤數(shù);列出有錯單詞的表交互查詢:用戶可通過交互式詢問,得到目前為止的處理單詞的總數(shù)一個內(nèi)部文件:詞典。一個外部文件:需要檢查的文件。這樣程序共有1+3+1+1+1=7個特征。其二,根據(jù)每個特征的復(fù)雜性(低、中、高)而賦予不同的權(quán)重。根據(jù)IFPUG制定的詳細規(guī)則,如果本例7個特征的復(fù)雜性均為中等,則其功能點加權(quán)和為40第三,總的功能點得數(shù),根據(jù)軟件系統(tǒng)復(fù)雜性而確定的因素,對功能點總數(shù)進行上下調(diào)后才能給出2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院47功能點復(fù)雜度量度(續(xù))從上可見,功能點量度的主要問題是如何計算一個要開發(fā)系統(tǒng)的功能點。它的好處是:如果一開始就確定了功能點,那么開發(fā)機構(gòu)在未著手開始工作時,甚至一行代碼都沒有寫出,就可以計算出我們所有感興趣的有用數(shù)據(jù)。特別是這種方法可以定量計算從一些報導(dǎo):一個字處理程序(435000行代碼),約3500個功能點;一個日常事務(wù)處理程序(包括字處理、表處理、數(shù)據(jù)庫應(yīng)用、統(tǒng)計工具和其它專用程序等),其功能點超過25000個;一個一般的操作系統(tǒng),其功能點多過10萬個廣心2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院48(二)軟件可靠性軟件可靠性(Softwarereliability)與其它質(zhì)量因素不同,它可以直接度量,也可以用歷史或開發(fā)數(shù)據(jù)計算:軟件可靠性是指在特定的環(huán)境(硬件、軟件和人)下和一定的時間內(nèi)一個計算機程序無故障運行的概率問題是什么是故障?故障就是程序與需求不一致的地方。怎樣確定故障?如編碼中一個符號錯誤,幾秒鐘即可改正;如需求錯誤,幾周、甚至幾個月都無法改正,而且在修改中,還可能引入新的錯誤硬件故障非來自于設(shè)計或制造缺陷;而軟件故障,在很大程度上,是由于人的水平、疏忽或錯誤造成的,因此故障差別很大建立軟件可靠性模型一般采用宏觀分析的方法。目前可用于度量軟件可靠性模型的有三類2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院49基于硬件的可靠性模型盡管至今仍有爭論,但軟件可靠性模型仍以硬件可靠性模型為依據(jù)按硬件可靠性假設(shè):(1)錯誤出現(xiàn)之間的排除時間與錯誤出現(xiàn)率呈指數(shù)關(guān)系,而錯誤出現(xiàn)率正比于遺留錯誤數(shù)(2)每個被發(fā)現(xiàn)的錯誤可立即被排除,而且不產(chǎn)生新的錯誤,實際上是不可能的(3)錯誤之間的故障為常數(shù),實際有誤差2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院50基于硬件的可靠性模型(續(xù))Shooman1983年關(guān)于軟件可靠性的研究中驗證了這種假設(shè):2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院51(三)軟件可用性軟件可用性(availability)是一個程序,根據(jù)需求,在特定的環(huán)境和時間內(nèi),其可運行的概率:可用性=式中:MTTF和MTTR分別為平均無故障時間和平均修復(fù)時間。如果MTTR可以忽略不計的話,假如在時間0到t內(nèi),系統(tǒng)無故障,這就是系統(tǒng)的可靠性,而時間t就是可用性。所以,可靠性和可用性都是時間的函數(shù)。可用性量度在些某些程序上,對MTTR比MTTF更敏感,可用性也是軟件可維護性的一種間接量度。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院52(四)軟件安全性軟件安全性(safety)也是一種質(zhì)量保證活動,它集中在對付潛在危險的識別和評價。這些潛在危險可能使整個系統(tǒng)癱瘓。如果能在軟件工程過程的早期發(fā)現(xiàn)這些危險,不僅能確保軟件設(shè)計的要求,而且能消除或控制這些潛在的危險。作為軟件安全性的問題,要進行分析和模擬處理。1.應(yīng)根據(jù)系統(tǒng)中一些關(guān)鍵和風(fēng)險程序,對其進行識別和分類。例如,用于汽車駕駛與計算機控制有關(guān)的危險可能是:(1)引起不能控制的加速(2)踩下剎車板無反應(yīng)(3)換檔器動作無嚙合(4)加速和減速都慢2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院53軟件安全性(續(xù))2.一且識別了這些系統(tǒng)級的危險,可應(yīng)用分析技術(shù)來確定其嚴重性和發(fā)生的概率。為了使分析有效,必須對整個軟件系統(tǒng)進行分析??墒褂玫姆治黾夹g(shù):(1)故障分析樹這是構(gòu)造一個可能導(dǎo)致危險事件或系統(tǒng)狀態(tài)的順序和并發(fā)組合的圖形模型。使用一個開發(fā)完善的故障樹,有可能觀察到一組發(fā)生在不同系統(tǒng)構(gòu)件中的相互聯(lián)系的故障的后果(2)實時邏輯這是通過特定事件和活動來建立系統(tǒng)模型。它可以用來分析使用邏輯操作測試系統(tǒng)構(gòu)件及其定時的安全性要求(3)Petri網(wǎng)這是一種系統(tǒng)的數(shù)學(xué)和圖形的描述和分折工具。對于具有并發(fā)、異步、分布、并行、不確定性和隨機性的信息處理系統(tǒng)都可以利用這種工具構(gòu)造出要開發(fā)的Petri網(wǎng)模型。然后,對其進行分析,即可得到有關(guān)系統(tǒng)結(jié)構(gòu)和動態(tài)行為方面的信息。根據(jù)這些信息,就可以對要開發(fā)的系統(tǒng)進行評價和改進、2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院54軟件安全性(續(xù))這里還要提及的,軟件安全性與軟件可靠性緊密相關(guān),但了解它們間的差別亦是很重要的。軟件可靠性是用統(tǒng)計學(xué)的分析方法來確定軟件故障的出現(xiàn)。但出現(xiàn)故障不一定導(dǎo)致危險和不幸。而軟件安全性則是檢查可能導(dǎo)致不幸故障條件的方法。也就是說,不是在真空中考慮故障,而是在一個基于計算機完整的系統(tǒng)中來考慮故障。如軟件保密、軟件使用權(quán)限、軟件不被破壞,包括近年來計算機和軟件病毒的破壞。請閱讀有關(guān)專著,不在此討論2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院55二、面向?qū)ο筌浖牧慷萇O軟件量度的使用和發(fā)展要比傳統(tǒng)軟件晚得多,其量度的主要目的與傳統(tǒng)軟件一樣任何產(chǎn)品的量度都取決于產(chǎn)品的特性。OO軟件與使用傳統(tǒng)方法開發(fā)的軟件根本不同。Berard定義了OO軟件五個特殊量度的特性:1.局域性(localization)2.封裝性(encapsulation)3.信息隱藏(informationhiding)4.繼承性(inheritance)5.抽象(abstraction)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院561.局域性局域性(localization)是指信息被集中在一個程序內(nèi)的方式:(1)傳統(tǒng)方法數(shù)據(jù)與過程分離,功能分解和圍繞功能的局域化。其典型的實現(xiàn)形式為過程模塊,工作時用數(shù)據(jù)驅(qū)動功能(2)OO方法局域性基于對象,因為類是OO系統(tǒng)的基本單元,對象封裝數(shù)據(jù)和過程。因此,應(yīng)把類(對象)作為一個完整實體的量度另外,操作(功能)和類之間的關(guān)聯(lián)不必是一對一,必須能適應(yīng)一對多和多對一的關(guān)聯(lián)。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院572.封裝性封裝性(encapsulation)是一個項集合的包裝(結(jié)合在一起)(1)傳統(tǒng)方法紀錄、數(shù)組,只數(shù)據(jù)無過程,為低層次的封裝;過程、函數(shù)、子例程和段,只是過程無數(shù)據(jù),為中層次的封裝。其量度的重點分別在代碼行的計數(shù)和環(huán)路的復(fù)雜性(2)OO方法OO系統(tǒng)封裝擁有類的職責,包括類的屬性和操作,以及特定屬性值定義的類的狀態(tài)其量度和重點不是單一的模塊,而是包含數(shù)據(jù)(屬性)和過程(操作)的包。另外,封裝還促使在抽象較高層上的量度2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院583.信息隱藏信息隱藏(informationhiding)是指隱藏(刪掉)了程序構(gòu)件操作的細節(jié),只將訪問該構(gòu)件所必須的信息提供給那些訪問該構(gòu)件的其它構(gòu)件這點,OO方法和傳統(tǒng)方法基本一樣。因此,OO系統(tǒng)應(yīng)支持信息隱藏、除提供隱藏級別說明的量度外,還應(yīng)提供OO設(shè)計質(zhì)量指標2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院594.繼承性繼承性(inheritance)是指一個對象的屬性和操作能夠傳遞給其它對象的機制。繼承性的發(fā)生貫穿于一個類層次的所有層次一般說,傳統(tǒng)軟件不支持這種特性。而對OO系統(tǒng)來說繼承性是一個重要的關(guān)鍵性的特性。因此,很多OO系統(tǒng)的量度則都以此為重點。如子的數(shù)量(類直接的實例數(shù)量)、父的數(shù)量(直接上一代數(shù)量),以及類層次的嵌套層次(在一個繼承層次中,類的深度)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院605.抽象抽象(abstraction)是一種機制,它使設(shè)計者只關(guān)心一個程序構(gòu)件的主要細節(jié)(數(shù)據(jù)和過程兩者),而不考慮低層的細節(jié)抽象也是一種相對概念,抽象在OO和傳統(tǒng)開發(fā)方法中都有用。如處于抽象的較高層次時,我們可忽略更多更多的細節(jié),即只提供一個關(guān)于概念或項一個更一般的視圖;當處于抽象的較低層次時,可引入更多的細節(jié),即提供一個關(guān)于概念或項的更詳細的視圖。在OO中,由于類是一個抽象,它可以從許多不同的細節(jié)層次和用許多不同的方式(如作為一個操作的列表、一個狀態(tài)的序列、一組合作)來觀察。OO量度可用一個類度量的項作為抽象的表示。如每個應(yīng)用類的實例化的數(shù)量、每個應(yīng)用類被參數(shù)化的數(shù)量,以及類被參數(shù)化與未被參數(shù)化的比例等2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院61OO軟件的量度(續(xù))1.對OO設(shè)計模型的量度2.面向類的量度3.面向操作的量度4.OO測試的量度5.OO項目的量度2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院62(一)對OO設(shè)計模型的量度Whitmire給出了九個關(guān)于OO設(shè)計獨特的且可度量的特性:(1)規(guī)模(size)可以從總量、容量、長度和功能來定義總量對OO實體(如類或操作)的靜態(tài)計數(shù)容量相同。但它是在給定的時間點動態(tài)收集來的長度是對互連的設(shè)計元素鏈的度量功能是一種間接表示(2)復(fù)雜性(complexity)可通過OO設(shè)計的類如何關(guān)聯(lián),從結(jié)構(gòu)特性上檢查復(fù)雜性(3)耦合性(coupling)OO設(shè)計元素相互間的實際連接(類間的協(xié)作數(shù)量或?qū)ο箝g傳遞消息的數(shù)量)(4)充足性(sufficiency)一個抽象擁有其所需特性的程度或一個設(shè)計構(gòu)件擁有其抽象中特性的程度。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院63對OO設(shè)計模型的量度(續(xù))九個關(guān)于OO設(shè)計獨特的且可度量的特性(續(xù)):(5)完備性(completeness)完備性與充足性的唯一不同是:充足性是從當前應(yīng)用觀點來比較抽象;完備性則是要考慮多個觀點和詢問的問題。這是完備性的準則要求,不僅要比較抽象的特征集,還要比較設(shè)計構(gòu)件的特征集(6)聚合度(cohesion)與傳統(tǒng)軟件一樣。一個類的聚合度是通過檢查它擁有的特征集是問題域或設(shè)計域的部分程度來確定的(7)原始性(primitiveness)是一個操作是原子或一個類只封裝原始操作的程度(8)相似性(similarity)兩個或多個類,其結(jié)構(gòu)、功能、行為或目的被顯示相似的程度(9)易變性(volatility)一個OO設(shè)計構(gòu)件的易變性是對一個修改將發(fā)生可能性的度量2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院64(二)面向類的量度類是OO系統(tǒng)的基本單元。所以,一個單一類、類的層次和類的合作的度量和量度,對一個必須評價設(shè)計質(zhì)量的軟件工程來講是十分重要的1.CK量度組2.LK量度組3.MOOD量度卜2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院6510.3軟件質(zhì)量保證10.3.1軟件質(zhì)量保證的概述1.軟件質(zhì)量保證(SQA)采用一定的技術(shù)、方法和工具,來處理和調(diào)整軟件產(chǎn)品滿足需求時的相互關(guān)系,以確保軟件產(chǎn)品滿足或超過在該產(chǎn)品的開發(fā)過程中所規(guī)定的標準。2.質(zhì)量保證系統(tǒng)(QAS)提供質(zhì)量保證措施和策略的總框架,包括機構(gòu)的建立和發(fā)行過程,職責的分配及選擇執(zhí)行質(zhì)量保證的工具。3.質(zhì)量保證計劃2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院6610.3.2軟件質(zhì)量保證原則(1)盡可能做到質(zhì)量特征的具體化及量化。(2)要找出每個階段的具體質(zhì)量特征。(3)針對具體產(chǎn)品和相應(yīng)項目制定質(zhì)量計劃。(4)檢查質(zhì)量測試結(jié)果。(5)進行各種質(zhì)量評審。(6)優(yōu)化的建設(shè)性的質(zhì)量保證。(7)盡早發(fā)現(xiàn)并改正錯誤和缺陷。(8)集中進行質(zhì)量保證。(9)獨立的質(zhì)量測試。(10)對所應(yīng)用的軟件質(zhì)量保證措施的評價。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院6710.3.3軟件質(zhì)量保證計劃(1)軟件質(zhì)量保證計劃的用途。(2)參考文件。(3)軟件質(zhì)量保證計劃的管理。(4)軟件質(zhì)量文檔。(5)標準、規(guī)范和約定。(6)評審和審計。(7)軟件配置管理。(8)存在的問題及修改的報告。(9)軟件工程。(10)編碼控制。(11)其他內(nèi)容。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院6810.3.4軟件質(zhì)量保證的措施(1)制定計劃和管理方面的質(zhì)量保證措施。(2)建設(shè)性的質(zhì)量保證措施。(3)分析的質(zhì)量保證措施。(4)心理學(xué)方面的質(zhì)量保證措施。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院6910.3.5軟件質(zhì)量管理小組(1)最適合提高個人能力和小組力量。(2)能夠在工程上比硬件更好地提高質(zhì)量。(3)關(guān)系到提高積極性。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院7010.4技術(shù)評審與審查(1)軟件需求評審。(2)軟件概要設(shè)計評審。(3)軟件詳細設(shè)計評審。(4)軟件驗證與確認的評審。(5)功能審查。(6)物理審查。(7)綜合審查。(8)管理評審。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院71一、軟件缺陷的費用影響FTR的一個明顯好處是:可以早期發(fā)現(xiàn)軟件缺陷,以便能在軟件工程過程的下一步之前得到改正許多研究表明:50-65%的缺陷來自設(shè)計,而FTR能夠發(fā)現(xiàn)設(shè)計缺陷中75%的缺陷一些大型系統(tǒng)的相對成本數(shù)據(jù)說明:如果在設(shè)計期間發(fā)現(xiàn)并改正一個錯誤所需的費用為1的話,在測試即將開始時的費用為6.5,在測試期間為15,而在交付使用后達到60-1002022/11/3廣東工業(yè)大學(xué)計算機學(xué)院72二、缺陷的擴大和排除缺陷擴大模型2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院73無評審的缺陷擴大模型2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院74有評審的缺陷擴大模型2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院7510.4.1評審過程首先由一個獨立的主席制定評審計劃,規(guī)定測試目標和公開評審標準,并規(guī)定對評審對象進行測試的指標。評審前要舉行協(xié)商會,使參加評審的人員對測試對象有一個總的概念和了解。協(xié)商會議后,緊接著的是,參加評審人員進行個人評審準備,在評審的完整文檔中填寫提問清單。評審會議中,首先由主席介紹搜集的所謂形式的錯誤記錄,然后,由軟件開發(fā)者報告評審對象的概況。正式進行評審時,參加評審的人員在文檔作者指導(dǎo)下閱讀文檔。評審會議結(jié)束時,參加人員提出評審結(jié)論。接下去的工作是返工階段。主席必須監(jiān)督評審對象的錯誤修改,寫出錯誤報告摘要,并提供修改執(zhí)行表。最后要進行評價,目標是確定是否完成了所有的修改。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院7610.4.2選擇參加評審的成員首先要尋找一個主席,建議從獨立的質(zhì)量保證部門中選取。選擇了主席后,由主席和測試對象的主持人共同選擇其他參加成員。選擇的成員應(yīng)當包括具有專門知識,及在數(shù)據(jù)庫和應(yīng)用領(lǐng)域有長期經(jīng)驗的專家,被評審系統(tǒng)的可能用戶及有能力并擅長用系統(tǒng)分析的方法發(fā)現(xiàn)邏輯矛盾的人.成員數(shù)目根據(jù)評審的對象的不同而不同,建議做規(guī)范評審時為5~8人;做總體設(shè)計評審時為6人;做詳細設(shè)計評審時為5人;做編碼評審時,只需要4人。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院7710.4.3評審的管理和組織(1)軟件項目管理者參加的評審,管理者負責制訂評審計劃,召集評審小組開會,審查參加成員的資格,最后由他們決定評審對象是否通過??傊?,由管理者支持實際的評審會議。(2)模式是文檔的作者主持評審,邀請評審小組成員和主席。由評審小組來確定評審對象是否通過。最后由主席起草報告,說明結(jié)果。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院7810.4.4評審的方法(1)評審概述。(2)評審準備。(3)評審錯誤表。(4)評審錯誤報告摘要。(5)管理報告。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院7910.4.5走查和審查走查是評審過程中采用的一種方法。審查是一種正式的評定技術(shù)。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院8010.4.6開發(fā)過程的評審1.項目評審項目控制要解決的問題如下:(1)評審項目組對于正在進行的項目任務(wù)是否了解。(2)項目任務(wù)是否需要修改。(3)項目進度是否可定義和可測量。(4)目前的工作是否完成。(5)工作是否正確。(6)是否為今后的工作奠定了基礎(chǔ)。(7)是否符合規(guī)定的標準和說明。(8)是否符合計劃確定的成本和時間。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院81項目評審成功的標準如下:(1)項目成果是可以評審的,即可讀和可理解的。(2)項目計劃的制定和執(zhí)行由一個確定的小組來負責,該單位是很容易進行評審的。(3)具有確定目標的結(jié)構(gòu)清晰的開發(fā)計劃,用它來評價項目進度。(4)具有已經(jīng)在技術(shù)評審中評價了的具備清晰文檔的項目成果。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院82在評審中必須測試需求規(guī)范的以下質(zhì)量特征是否滿足:(1)抗矛盾性。(2)完整性。(3)可執(zhí)行性和可處理性。(4)精確性和可測試性。(5)綜合性。2.需求規(guī)范的評審2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院833.設(shè)計的評審根據(jù)設(shè)計的類型,可以分為總體設(shè)計評審和詳細審計評審。設(shè)計評審的目標是確定和評價設(shè)計的各種狀態(tài)(特征的完整性)以及發(fā)現(xiàn)錯誤的矛盾,如在規(guī)范和設(shè)計或模塊接口之間的矛盾。4.編碼檢驗編碼檢驗的目的一方面是改善軟件質(zhì)量,另一方面是為了提高程序員的生產(chǎn)率。編碼檢驗的另一個目的是測試編碼是否與詳細設(shè)計相匹配,如評審編碼是否符合程序結(jié)構(gòu)和編碼標準。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院84在編碼檢驗中可能檢驗的內(nèi)容如下:(1)測試程序的接口。(2)檢驗程序結(jié)構(gòu)。(3)檢驗使用的變量或他們的名稱。(4)計算公式的檢驗。(5)檢驗輸入和輸出。(6)指令檢驗。(7)檢驗是否符合編碼標準。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院855.測試評審測試檢驗的目標是:(1)評價和修正測試案例。(2)檢查測試是否正確地執(zhí)行,使測試過程符合測試規(guī)定。(3)在每個模塊的接口規(guī)范中發(fā)現(xiàn)故障。(4)討論每個測試是否成功。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院8610.4.7對評審的綜合評價1.評審的優(yōu)點(1)評審復(fù)雜情況時的分析、識別、評價和測試等方面充分發(fā)揮人們的思維能力。(2)評審不僅適用于檢驗正式的文檔,如程序清單,也適用于非正式的文檔,如口頭的設(shè)計說明等。(3)用評審方式檢查程序是具有很高的成功率的。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院872.評審的缺點(1)評審的成功完全依賴于參加評審的人員,他們的原則性是至關(guān)重要的。(2)交流的氣氛對于發(fā)揮人們的思考和分析能力是很重要的。(3)解決問題可能占用有價值的評審時間,以至于不能發(fā)現(xiàn)更多的錯誤。(4)存在著評價工作人員的可能,這將使檢查過程的有效性降低。(5)評審對開發(fā)過程的重要性往往被低估了。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院88正式技術(shù)評審-評審報告和記錄保存評審報告和記錄保存報告評審了什么產(chǎn)品?誰評審的?發(fā)現(xiàn)了什么?結(jié)論是什么?記錄:確定該產(chǎn)品中問題的大小成為生產(chǎn)者修改錯誤時的行動項的校對表還要建立一個跟蹤過程,以保證問題列表中的項都被正確的改正了2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院8910.5軟件的可靠性(1)在規(guī)定的條件下,在規(guī)定的時間內(nèi),軟件不引起系統(tǒng)失敗的概率,該概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在的錯誤的函數(shù)。系統(tǒng)輸入將確定是否會遇到已存在的錯誤。(2)在規(guī)定的時間周期內(nèi),在所述條件下程序執(zhí)行所要求的功能的能力。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院90

10.5.1軟件可靠性的概念制造問題、設(shè)計錯誤、元器件過載、機械磨損等原因會導(dǎo)致硬件故障。這些故障有些是確定的,有些是隨機的。硬件故障可以追查到某一個元器件的失效或選用不當。軟件除了磨損故障外,其他幾種類似的故障都有可能出現(xiàn)。在系統(tǒng)測試過程中,一旦發(fā)現(xiàn)故障必須查明原因,采取相應(yīng)措施將其排除。大型軟件是復(fù)雜的邏輯產(chǎn)品,采用枚舉技術(shù)不可能對程序運行的所有路徑逐個進行測試。投入使用的軟件很可能殘留一定數(shù)量的錯誤。某些初始條件和輸入數(shù)據(jù)可能導(dǎo)致程序運行失效,出現(xiàn)所謂“軟件故障”。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院91軟件可靠性軟件可靠性在某個給定時間間隔內(nèi),程序按照規(guī)格說明成功運行的概率令隨機變量t表示程序發(fā)生故障的時刻t∈[0,∞)f(t)表示t的概率密度函數(shù)

F(t)表示分布函數(shù),P(0≤t≤t1)表示從初始時刻到t1時刻程序發(fā)生故障的概率。設(shè)初始時刻程序工作正常,F(xiàn)(0)=0于是,F(xiàn)(t),f(t)滿足

f(t)=dF(t)/dt

(10—1)

從0時刻開始,到t1時刻為止程序發(fā)生故障的概率

Pf(t1)=P(0≤t≤t1)=F(t1)-F(0)=F(t1)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院92軟件可靠性同一時刻程序成功運行和發(fā)生故障是兩個互斥事件,[0,t]區(qū)間程序成功運行的概率Ps(t)和發(fā)生故障的概率Pf(t)滿足

Ps(t)+Pf(t)=1

(10—2)可靠性程序成功運行的概率Ps(t),用R(t)標記

R(t)=Ps(t)=1-Pf(t)=1-F(t)

當軟件殘留錯誤數(shù)量一定時,程序運行時間越長,程序發(fā)生故障的次數(shù)越多,軟件可靠性越小。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院93軟件可靠性故障率函數(shù)Z(t)比較程序在不同的時期,或若干個程序在同一時期軟件的可靠性,假設(shè)t∈[t1,t1+△t],系統(tǒng)一直成功運行至?xí)r刻t,P(t1≤t≤t1+△t,t>t1)是系統(tǒng)在[t1,t1+△t]出現(xiàn)故障的概率,于是t1時刻故障率函數(shù)的值定義為

Z(t1)=limP(t1≤t≤t1+Δt,t>t1)/Δt

(10—3)Δt0可以證明

Z(t)=1/R(t)dF(t)/dt

(10—4)

將dF(t)/dt=-dR(t)/dt代入上式

dR(t)/R(t)=-Z(t)dt

(10—5)

對上式兩邊積分并利用初始條件R(0)=1,得可靠性和故障率的基本方程

R(t)=exp[-∫Z(x)dx](10—6)2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院94幾個常用的故障模型(1)故障率為常數(shù)的可靠性模型

Z(t)=λ

Z(t)為一個復(fù)雜的函數(shù),很難計算。為了簡化,將它取常數(shù)。表示單位時間內(nèi)程序運行的故障率函數(shù)為常數(shù)代入(10—6)式(10—7)

它的可靠性隨t的增加呈指數(shù)衰減。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院95幾個常用的故障模型(2)Z(t)=kt,其中k是常數(shù),t≥0當耗損或退化存在時,故障率將隨時間的流逝而線性增加,這種模型一般不適用于軟件產(chǎn)品。代入(10—16)式得

(10—8)

硬件和軟件產(chǎn)品的故障率函數(shù)不會如此簡單。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院96經(jīng)驗之談軟件質(zhì)量管理是充滿爭論的話題。被人們奉為軟件質(zhì)量管理圣經(jīng)的CMM和ISO9001似乎并不奏效,現(xiàn)實和理想之間的差距太大。經(jīng)典軟件工程教科書以及CMM和ISO9001總是拋開商業(yè)目標談質(zhì)量管理,本末倒置,紙上談兵,誤導(dǎo)了大量讀者,所以質(zhì)量管理才變得那么艱辛。世界上還沒有萬能的軟件質(zhì)量管理圣經(jīng),我們不要迷信CMM和ISO9000。要多向有實戰(zhàn)經(jīng)驗的同行專家請教,但是不要輕信“紙上談兵”的專家。重要的理念:商業(yè)目標決定質(zhì)量目標。提高軟件質(zhì)量的最終目的是為了贏利,而不是創(chuàng)造完美無缺的產(chǎn)品。因此對于普通商業(yè)軟件而言,并不是“質(zhì)量越高越好”,而是恰好讓廣大用戶滿意,并且將提高質(zhì)量所付出的代價控制在預(yù)算之內(nèi)。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院97商業(yè)目標決定質(zhì)量目標教科書的片面觀點大凡軟件工程教科書為了強調(diào)質(zhì)量的重要性,總是要舉一些歷史上發(fā)生過的重大軟件質(zhì)量事故,例如航天飛機爆炸、核電站失事、愛國者導(dǎo)彈發(fā)生故障等等。這些事故的確不是危言聳聽,給人們敲響了質(zhì)量的警鐘。

學(xué)術(shù)界總是喜歡宣揚質(zhì)量至上的理念,而忽視企業(yè)的商業(yè)利益,將質(zhì)量目標凌駕于商業(yè)目標之上。許多軟件人員都有“質(zhì)量越高越好”的觀念,這是被教科書灌輸?shù)?,而不是他自己領(lǐng)悟出來的。

重視軟件質(zhì)量是應(yīng)該的,但是“質(zhì)量越高越好”并不是普適的真理。只有極少數(shù)軟件應(yīng)該追求“零缺陷”,對絕大多數(shù)軟件而言,商業(yè)目標決定了質(zhì)量目標,而不該把質(zhì)量目標凌駕于商業(yè)目標之上。嚴格系統(tǒng)對質(zhì)量的要求航空航天等系統(tǒng)對質(zhì)量要求極高,任何缺陷都有可能導(dǎo)致機毀人亡,所以人們不惜一切代價去消除缺陷。在發(fā)射航天器之前,只要發(fā)現(xiàn)任何異常,就會立即取消發(fā)射指令,直到異常被消除為止。前蘇聯(lián)做得最過分,許多重大武器系統(tǒng)的負責人都簽了生死狀,系統(tǒng)研制成功則獲得英雄勛章,失敗則被槍斃。在這種壓力下沒有人敢對質(zhì)量有一絲松懈。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院98商業(yè)目標決定質(zhì)量目標普通商業(yè)軟件:商業(yè)目標決定質(zhì)量目標上述嚴格系統(tǒng)畢竟是少數(shù),絕大多數(shù)普通軟件的缺陷并不會造成機毀人亡這樣的重大損失,否則沒有人敢從事軟件開發(fā)了。在日常工作中,我們接觸過的軟件幾乎都是有缺陷的,即便是軟件業(yè)老大Microsoft,它的軟件產(chǎn)品也經(jīng)常出錯甚至導(dǎo)致死機,人們罵幾句后還會照樣使用有缺陷的軟件。企業(yè)的根本目標是為了獲取盡可能多的利潤,而不是生產(chǎn)完美無缺的產(chǎn)品。如果企業(yè)銷售出去的軟件的質(zhì)量比較差,輕則挨罵,重則被退貨甚至被索賠,因此為了提高用戶對產(chǎn)品的滿意度,企業(yè)必須提高產(chǎn)品的質(zhì)量。但是企業(yè)不可能為了追求完美的質(zhì)量而不惜一切代價,當企業(yè)為提高質(zhì)量所付出的代價超過銷售收益時,這個產(chǎn)品已經(jīng)沒有商業(yè)價值了,還不如不開發(fā)。企業(yè)必須權(quán)衡質(zhì)量、效率和成本,產(chǎn)品質(zhì)量太低了或者太高了,都不利于企業(yè)獲取利潤。企業(yè)理想的質(zhì)量目標不是“零缺陷”,而是恰好讓廣大用戶滿意,并且將提高質(zhì)量所付出的代價控制在預(yù)算之內(nèi)。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院99質(zhì)量保證能夠保證質(zhì)量嗎美麗的謊言CMM對軟件質(zhì)量保證是這樣描述的:軟件質(zhì)量保證(QualityAssurance)的目的是為管理者提供有關(guān)軟件過程和產(chǎn)品的適當?shù)目梢曅?。它包括評審和審核軟件產(chǎn)品及其活動,以驗證其是否遵守既定的規(guī)程和標準,并向有關(guān)負責人匯報評審和審核的結(jié)果。

質(zhì)量保證(QualityAssurance,QA)是CMM和ISO9001最為推崇的改善軟件質(zhì)量的方法。簡而言之,質(zhì)量保證活動就是檢查軟件項目的“工作過程和工作成果”是否符合既定的規(guī)范。符合既定規(guī)范的東西并不意味著質(zhì)量一定合格,僅靠規(guī)范無法識別出產(chǎn)品中可能存在的大量缺陷(以高手與新手的設(shè)計、編程為例)。質(zhì)量保證的技術(shù)含量太低了,只能檢查出膚淺的缺陷,不能對付有技術(shù)難度的缺陷。所以單獨的“質(zhì)量保證”其實并不能“保證質(zhì)量”。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院100質(zhì)量保證能夠保證質(zhì)量嗎CMM3級企業(yè)QA人員的迷惘(email摘錄):我很迷茫,很想找一個人聊聊,希望你能給我點主意,化解我心中的謎團。昨天我們公司拿到了CMM3的證書,但是我一點都高興不起來。公司宣稱,我們的軟件質(zhì)量大大提高了,但是我卻沒有信心。我們的過程執(zhí)行得很好,但是我覺得并沒有在很大程度上改善產(chǎn)品的質(zhì)量。今天還有一個項目經(jīng)理跟我訴苦:前一階段大家都忙于執(zhí)行過程,但是他的產(chǎn)品質(zhì)量令人很不滿意,尤其是測試做的很不到位。我是這個項目的SQA,所以我很理解他,但是我?guī)筒簧纤拿ΑR驗樗麄兊倪^程執(zhí)行得很好,這個項目可是通過CMM3級正式評估了的。當然,執(zhí)行CMM有不少好處,比如文檔全面完整了,項目管理的可視性提高了。但是對于我們公司而言,它并沒有在根本上提高我們公司的軟件能力。比如概要設(shè)計,開發(fā)人員根本就不知道用來干嗎的,怎么能指望他們寫出高質(zhì)量的概要設(shè)計說明書出來。而在做技術(shù)評審的時候,他們很少能找出邏輯性的錯誤,只能發(fā)現(xiàn)一些諸如錯別字之類的小錯誤。我們幾乎每一個配置項都要經(jīng)過評審,但是大部分評審都只能發(fā)現(xiàn)一些無關(guān)痛癢的問題。公司已經(jīng)通過CMM3級了,我認為過程執(zhí)行得很好了,可是軟件質(zhì)量仍然比較差。這是怎么回事啊,你覺得原因在哪里?結(jié)論:公司按照CMM3級的要求執(zhí)行,而且質(zhì)量人員也認為執(zhí)行過程符合既定的規(guī)范,但是軟件產(chǎn)品的質(zhì)量仍然低下。所以說“質(zhì)量保證并不能保證質(zhì)量”,這句話一點都不過分。質(zhì)量保證對于保證質(zhì)量而言只是必要的手段,而不是充分的手段。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院101質(zhì)量人員的狀況郁悶QA人員訴苦:我現(xiàn)在覺得很郁悶,CMM評估前還有目標,評估完了冷靜下來卻覺得效果很差,很沒勁。項目經(jīng)理向我訴苦,他們過程執(zhí)行的很好,但是對產(chǎn)品質(zhì)量很不滿意,我卻無能為力,我這個QA還有什么用處?。∷晕椰F(xiàn)在干活沒有動力,因為不能產(chǎn)生效益,做再多的工作也覺得是白干。而且我現(xiàn)在手頭有5個項目要跟蹤,還不包括一些整理培訓(xùn)記錄的雜活,我覺得自己連工人也不如。我有一些很好的想法卻無處發(fā)揮,所以我很迷茫,很矛盾地考慮去留問題。

郁悶的滋味各色各樣,只有正在郁悶的人感受最真切。在軟件職業(yè)里,質(zhì)量人員郁悶的共同特征有:(1)在執(zhí)行質(zhì)量保證活動時,經(jīng)常受別人的氣,真是吃力不討好。(2)如果項目取得成功,主要功勞都被項目主管霸占了,領(lǐng)導(dǎo)們至多會給質(zhì)量人員一些口頭上的感謝。領(lǐng)導(dǎo)們嘴上重視產(chǎn)品的質(zhì)量,但是內(nèi)心并不重視質(zhì)量人員。(3)質(zhì)量人員沒有實質(zhì)性的權(quán)力,沒有成就感,但是卻對質(zhì)量負有最多的責任。(4)待遇一般,看不到升遷的機會,沒有盼頭,要么成為打雜的,要么另尋出路。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院102質(zhì)量人員的狀況路在何方軟件行業(yè)里的人嘴上都說質(zhì)量很重要,可是大多數(shù)企業(yè)并沒有給質(zhì)量人員提供良好的職業(yè)發(fā)展空間。質(zhì)量人員通常僅給企業(yè)起到心里安慰的作用。這樣下去,有能耐的質(zhì)量人員會跑光的。多數(shù)質(zhì)量人員要么改行了(如當老師),要么讀工程碩士,MBA等,以圖將來發(fā)展事業(yè)。在大多數(shù)的軟件企業(yè)里,男性處于支配地位,女性職位相對比較低。而質(zhì)量人員通常是女性,很多男性主管從未真正地把質(zhì)量人員當成企業(yè)的寶貴人才看待,這種偏見是非常有害的。任何素質(zhì)合格的員工都是寶貴的人才,很多默默無聞的人才其實是被不懂得質(zhì)量管理的領(lǐng)導(dǎo)給荒廢了。質(zhì)量人員之所以沒有發(fā)揮預(yù)期的效果,不是性別緣故,主要過失在于領(lǐng)導(dǎo)者。建議:(1)無論是企業(yè)領(lǐng)導(dǎo)還是質(zhì)量人員,都要好好學(xué)習(xí)全面軟件質(zhì)量管理方法,結(jié)合企業(yè)的特點給出真正有效的質(zhì)量管理方案。(2)只有當企業(yè)領(lǐng)導(dǎo)采用了正確的質(zhì)量管理方案,用了合格的質(zhì)量人員,才可能看得到比較明顯的質(zhì)量改善,才能形成良性循環(huán)。(3)如果想讓質(zhì)量人員負起比較重的責任,那么就要給她相應(yīng)的權(quán)力。在企業(yè)中,責任和權(quán)利是成正比的。如果質(zhì)量人員的地位無足輕重,那么必然導(dǎo)致質(zhì)量管理無足輕重。(4)給質(zhì)量人員一個適宜的升遷機會和薪資待遇,讓她能夠快樂地工作,而不是成天無奈地檢查質(zhì)量。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院103總結(jié)——全面軟件質(zhì)量管理:模型郎中治病的故事質(zhì)量的死對頭是缺陷(defect,bug…),缺陷是混在產(chǎn)品中的人們不喜歡、不想要的東西,它對產(chǎn)品沒有好處只有壞處。缺陷越多質(zhì)量越低,缺陷越少質(zhì)量越高,提高軟件質(zhì)量的基本手段是消除軟件缺陷。中國郎中看病的故事在中國古代,有一家三兄弟全是郎中。其中老三是名醫(yī),人們問他:“你們兄弟三人誰的醫(yī)術(shù)最高?”他回答說:“我常用猛藥給病危者醫(yī)治,偶爾有些病危者被我救活,于是我的醫(yī)術(shù)遠近聞名并成了名醫(yī)。我二哥通常在人們剛剛生病的時候馬上就治愈他們,臨近村莊的人說他是好郎中。我大哥不外出治病,他深知人們生病的原因,所以能夠預(yù)防家里人生病,他的醫(yī)術(shù)只有我們家里才知道。”郎中三兄弟是三種治病方式的代言人。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院104總結(jié)——全面軟件質(zhì)量管理:模型消除軟件缺陷的三種方式老大治病的方式最高明,如果人們能夠預(yù)防生病的話,那么沒病就用不著看醫(yī)生了。提高軟件質(zhì)量最好的辦法是:在開發(fā)過程中有效地防止工作成果產(chǎn)生缺陷,將高質(zhì)量內(nèi)建于開發(fā)過程之中。主要措施是“不斷地提高技術(shù)水平,不斷地提高規(guī)范化水平”,其實就是練內(nèi)功,通稱為“軟件過程改進”。

即使一個人嚴守養(yǎng)生之道,身體狀況良好,但總是會意外地得病的,得了病就要去看醫(yī)生。老二治病的方式就是醫(yī)院的模式,病人越早看病,就越早治好,治病的代價就越低。同理,在開發(fā)軟件的時候,即使人們的技術(shù)水平很高,并且嚴格遵守規(guī)范,但是人非機器,總是會犯錯誤的,因此無法完全避免軟件中的缺陷。當工作成果剛剛產(chǎn)生時馬上進行質(zhì)量檢查,及時找出并消除工作成果中的缺陷。這種方式效果比較好,人們一般都能學(xué)會。最常用的方法是技術(shù)評審、軟件測試和過程檢查,已經(jīng)被企業(yè)廣泛采用并取得了成效。

老三治病的方式代價最高,只能是不得已而為之??稍诂F(xiàn)實之中,大多數(shù)軟件企業(yè)采用老三的方式來對付質(zhì)量問題。典型現(xiàn)象是:在軟件交付之前,沒有及時消除缺陷。當軟件交付給用戶后,用著用著就出錯了,趕緊請開發(fā)者來補救??尚Φ氖?,當軟件系統(tǒng)在用戶那里出故障了,那些現(xiàn)場補救成功的人倒成了英雄,好心用戶甚至還寄來感謝信。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院105總結(jié)——全面軟件質(zhì)量管理:模型模型借鑒老大、老二治病的方法,我們提煉出全面軟件質(zhì)量管理的模型,如下圖所示。項目中的所有人員幾乎都參與了質(zhì)量活動,只是介入的程度不同而已,后面幾節(jié)將逐一介紹這些質(zhì)量活動。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院106總結(jié)——全面軟件質(zhì)量管理:模型角色職責誰對軟件質(zhì)量負責?是全員負責。任何與軟件開發(fā)、管理工作相關(guān)的人員都對質(zhì)量產(chǎn)生影響,都要對質(zhì)量負責。所以人們不要把質(zhì)量問題全部推出質(zhì)量人員或測試人員。

誰對軟件質(zhì)量負最大的責任?誰的權(quán)利越大,他所負的質(zhì)量責任就越大。質(zhì)量人員是成天與質(zhì)量打交道的人,但他個人并不對產(chǎn)品質(zhì)量產(chǎn)生最大的影響,所以也不負最大的責任。質(zhì)量人員的主要職責:(1)負責制定質(zhì)量計劃(很重要但是工作量比較少);(2)負責過程檢查(類似于CMM中的質(zhì)量保證),約占個人工作量的20%;(3)參與技術(shù)評審,約占個人工作量的30%;(4)參與軟件測試,約占個人工作量的30%;(5)參與軟件過程改進(面向整個機構(gòu)),約占個人工作量的20%;

*上述工作量的比例僅供參考,在實際應(yīng)用時必須根據(jù)項目的特征而定。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院107總結(jié)——全面軟件質(zhì)量管理:制定質(zhì)量管理計劃質(zhì)量管理計劃就是為了實現(xiàn)質(zhì)量目標的計劃。而質(zhì)量目標則是由商業(yè)目標決定的。開發(fā)軟件產(chǎn)品的最終目的是為了賺錢,所以人們?yōu)樘岣哕浖|(zhì)量所付出的代價是有上限的,項目負責人當然希望代價越低越好。質(zhì)量管理計劃是全面質(zhì)量管理的行動綱領(lǐng)。

誰制定質(zhì)量管理計劃?由項目核心成員和質(zhì)量人員共同協(xié)商制定,主要由質(zhì)量人員起草,由項目經(jīng)理審批即可。

質(zhì)量管理計劃的主要內(nèi)容(模板見word文件):1.質(zhì)量要素分析

2.質(zhì)量目標

3.人員與職責

4.過程檢查計劃

5.技術(shù)評審計劃

6.軟件測試計劃

7.缺陷跟蹤工具

8.審批意見

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院108總結(jié)——全面軟件質(zhì)量管理:技術(shù)評審1概念技術(shù)評審(TechnicalReview,TR)的目的是盡早地發(fā)現(xiàn)工作成果中的缺陷,并幫助開發(fā)人員及時消除缺陷,從而有效地提高產(chǎn)品的質(zhì)量。技術(shù)評審最初是由IBM公司為了提高軟件質(zhì)量和提高程序員生產(chǎn)率而倡導(dǎo)的。技術(shù)評審方法已經(jīng)被業(yè)界廣泛采用并收到了很好的效果,它被普遍認為是軟件開發(fā)的最佳實踐之一。

技術(shù)評審的主要好處有:通過消除工作成果的缺陷而提高產(chǎn)品的質(zhì)量;技術(shù)評審可以在任何開發(fā)階段執(zhí)行,不必等到軟件可以運行之際,越早消除缺陷就越能降低開發(fā)成本;開發(fā)人員能夠及時地得到同行專家的幫助和指導(dǎo),無疑會加深對工作成果的理解,更好地預(yù)防缺陷,一定程度上提高了開發(fā)生產(chǎn)率。技術(shù)評審有兩種基本類型:正式技術(shù)評審(FTR)。FTR比較嚴格,需要舉行評審會議,參加評審會議的人員比較多。非正式技術(shù)評審(ITR)。ITR的形式比較靈活,通常在同伴之間開展,不必舉行評審會議,評審人員比較少。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院109總結(jié)——全面軟件質(zhì)量管理:技術(shù)評審2正式技術(shù)評審的流程技術(shù)評審報告的模板見word文檔2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院110總結(jié)——全面軟件質(zhì)量管理:軟件測試1觀點技術(shù)評審和軟件測試的目的都是為了消除軟件的缺陷,兩者的主要區(qū)別是:前者無需運行軟件,評審人員和作者把工作成果擺放在桌面上討論;而后者一定要運行軟件來查找缺陷。技術(shù)評審在軟件測試之前執(zhí)行,尤其是在需求開發(fā)和系統(tǒng)設(shè)計階段。相比而言,軟件測試的工作量通常比技術(shù)評審的大,發(fā)現(xiàn)的缺陷也更多。在制定質(zhì)量計劃的時候,已經(jīng)確定了本項目的主要測試活動、時間和負責人,之后再考慮軟件測試的詳細計劃和測試用例。如果機構(gòu)沒有專職的軟件測試人員的話,那么開發(fā)人員可以兼職做測試工作。當項目開發(fā)到后期,過程檢查和技術(shù)評審都已經(jīng)沒有多少意義了,開發(fā)小組急需有人幫助他們測試軟件,如果質(zhì)量人員參與軟件測試,對開發(fā)小組而言簡直就是“雪中送炭”。強調(diào):質(zhì)量人員一定要參與軟件測試(大約占其工作量的30%左右),只有這樣他才能深入地了解軟件的質(zhì)量問題,而且給予開發(fā)小組強有力地幫助。2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院111總結(jié)——全面軟件質(zhì)量管理:過程檢查1觀點:CMM和ISO9001所述的軟件質(zhì)量保證,實質(zhì)就是過程檢查,即檢查軟件項目的“工作過程和工作成果”是否符合既定的規(guī)范?!斑^程檢查”這個詞雖然沒有質(zhì)量保證那么動聽,但是其含義直接明了,不會讓人誤解。為了避免人們誤以為“質(zhì)量保證”能夠“保證質(zhì)量”,我提議用“過程檢查”取代質(zhì)量保證這個術(shù)語。雖然本章批判了“質(zhì)量保證”的浮夸,但是并沒有全盤否定質(zhì)量保證的好處。過程檢查對提高軟件質(zhì)量是有幫助的,只是它的好處沒有象質(zhì)量保證鼓吹的那么好而已。符合規(guī)范的工作成果不見得就是高質(zhì)量的,但是明顯不符合規(guī)范的工作成果十有八九是質(zhì)量不合格的。例如版本控制檢查再例如,機構(gòu)制定了重要工作成果的文檔模板(例如需求規(guī)格說明書、設(shè)計報告等),要求開發(fā)人員寫的文檔盡可能符合模板。如果質(zhì)量人員發(fā)現(xiàn)開發(fā)人員寫的文檔與機構(gòu)的模板差異非常大,那么就要搞清楚究竟是模板不合適?還是開發(fā)人員偷工減料?過程檢查的要點是:找出明顯不符合規(guī)范的工作過程和工作成果,及時指導(dǎo)開發(fā)人員糾正問題,切勿吹毛求疵或者在無關(guān)痛癢的地方查來查去。不少機構(gòu)的質(zhì)量人員并沒有真正理解過程檢查的意義,老是對照規(guī)范,查找錯別字、標點符號、排版格式等問題,迷失了方向,這樣只有疲勞沒有功勞,而且讓開發(fā)人員很厭煩。對于中小型項目而言,過程檢查工作由質(zhì)量人員一個人負責就夠了,約占其20%的工作量,讓質(zhì)量人員抽出更多的時間從事技術(shù)評審和軟件測試工作。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院112總結(jié)——全面軟件質(zhì)量管理:過程檢查2流程過程檢查計劃的要點是確定主要檢查項和檢查時間(或頻度)。質(zhì)量人員在執(zhí)行過程檢查的時候,如果發(fā)現(xiàn)問題,應(yīng)該立即記錄下來。過程問題也是缺陷,因此最好使用缺陷跟蹤工具,有助于提高過程檢查的效率。

質(zhì)量人員首先設(shè)法在項目內(nèi)部解決已經(jīng)發(fā)現(xiàn)的質(zhì)量問題,與項目成員們協(xié)商,給出解決措施。在項目內(nèi)難以解決的質(zhì)量問題,由上級領(lǐng)導(dǎo)給出解決措施。

2022/11/3廣東工業(yè)大學(xué)計算機學(xué)院113總結(jié)——全面軟件質(zhì)量管理:缺陷跟蹤工具1概念如果沒有缺陷跟蹤工具的話,人們只好用紙張或文件去記錄缺陷,不僅變更缺陷信息很麻煩,而且難以共享信息。缺陷跟蹤工具就是幫助項目成員記錄和跟蹤缺陷用的,一般都有數(shù)據(jù)庫支持,可以在局域網(wǎng)內(nèi)運行。Internet上有許多缺陷跟蹤工具,大家可以免費下載使用。由于缺陷跟蹤工具僅僅是一種輔助性的工具,我們沒有必要太在乎該軟件的功能,只要用起來方便就行。缺陷的主要屬性:缺陷

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論