版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件質(zhì)量與質(zhì)量保證第一頁,共三十九頁,編輯于2023年,星期三110.1軟件質(zhì)量的概念第二頁,共三十九頁,編輯于2023年,星期三2軟件質(zhì)量的定義(1)與所確定的功能和性能需求的一致性。(2)與所成文的開發(fā)標準的一致性。(3)與所有專業(yè)開發(fā)的軟件所期望的隱含特性的一致性。第三頁,共三十九頁,編輯于2023年,星期三3影響軟件質(zhì)量的因素(1)可以直接度量的因素,如單位時間內(nèi)千行代碼(KLOC)中產(chǎn)生的錯誤數(shù)。(2)只能間接度量的因素,如可用性或可維護性。在軟件開發(fā)和維護的過程中,為了定量地評價軟件質(zhì)量,必須對軟件質(zhì)量特性進行度量,以測定軟件具有要求質(zhì)量特性的程度。第四頁,共三十九頁,編輯于2023年,星期三4什么是軟件質(zhì)量保證軟件的質(zhì)量保證就是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動,即確定、達到和維護需要的軟件質(zhì)量而進行的所有有計劃、有系統(tǒng)的管理活動。第五頁,共三十九頁,編輯于2023年,星期三5質(zhì)量保證的策略(1)以檢測為重。產(chǎn)品制成后才進行檢測,這種檢測只能判斷產(chǎn)品的質(zhì)量,不能提高產(chǎn)品質(zhì)量。(2)以過程管理為重。把質(zhì)量保證工作重點放在過程管理上,對制造過程的每一道工序都進行質(zhì)量控制。(3)以新產(chǎn)品開發(fā)為重。第六頁,共三十九頁,編輯于2023年,星期三6質(zhì)量保證的主要任務(1)正確定義用戶要求。(2)技術(shù)方法的應用。(3)提高軟件開發(fā)的工程能力。(4)軟件的復用。(5)發(fā)揮每個開發(fā)者的能力。(6)組織外部力量協(xié)作。(7)排除無效勞動。最大的無效勞動是因需求規(guī)格說明有誤、設計有誤而造成的返工。(8)提高計劃和管理質(zhì)量。第七頁,共三十九頁,編輯于2023年,星期三7質(zhì)量保證與檢驗軟件質(zhì)量必須在設計和實現(xiàn)過程中加以保證。第八頁,共三十九頁,編輯于2023年,星期三810.2質(zhì)量度量模型第九頁,共三十九頁,編輯于2023年,星期三9McCall質(zhì)量度量模型第十頁,共三十九頁,編輯于2023年,星期三10ISO的軟件質(zhì)量評價模型第十一頁,共三十九頁,編輯于2023年,星期三1110.3軟件復雜性
第十二頁,共三十九頁,編輯于2023年,星期三12軟件復雜性的基本概念(1)規(guī)模,即總共的指令數(shù),或源程序行數(shù)。(2)難度,通常由程序中出現(xiàn)的操作數(shù)的數(shù)目所決定的量來表示。(3)結(jié)構(gòu),通常用于程序結(jié)構(gòu)有關(guān)的度量來表示。(4)智能度,即算法的難易程度。軟件復雜性主要表現(xiàn)在程序的復雜性。程序的復雜性主要指模塊內(nèi)程序的復雜性。它直接關(guān)聯(lián)到軟件開發(fā)費用的多少、開發(fā)周期長短和軟件內(nèi)部潛伏錯誤的多少。同時它也是軟件可理解性的另一種度量。第十三頁,共三十九頁,編輯于2023年,星期三13軟件復雜性的度量方法--代碼行度量法度量程序的復雜性,最簡單的方法就是統(tǒng)計程序的源代碼行數(shù)。此方法的基本考慮是統(tǒng)計一個程序的源代碼行數(shù),并以源代碼行數(shù)作為程序復雜性的質(zhì)量。第十四頁,共三十九頁,編輯于2023年,星期三14軟件復雜性的度量方法--McCabe度量法McCabe度量法是由ThomasMcCabe提出的一種基于程序控制流的復雜性度量方法。McCabe復雜性度量又稱環(huán)路度量。它認為程序的復雜性很大程度上取決于程序的復雜性。單一的順序結(jié)構(gòu)最為簡單,循環(huán)和選擇所構(gòu)成的環(huán)路越多,程序就越復雜。這種方法以圖論為工具,先畫出程序圖,然后用該圖的環(huán)路數(shù)作為程序復雜性的度量值。程序圖是退化的程序流程圖。也就是說,把程序流程圖的每一個處理符號都退化成一個結(jié)點,原來連接不同處理符號的流線變成連接不同結(jié)點的有向弧,這樣得到的有向圖就叫做程序圖。第十五頁,共三十九頁,編輯于2023年,星期三15軟件復雜性的度量方法--McCabe度量法第十六頁,共三十九頁,編輯于2023年,星期三16軟件復雜性的度量方法--McCabe度量法根據(jù)圖論,在一個強連通的有向圖G中,環(huán)的個數(shù)V(G)由以下公式給出:
V(G)=m-n+2p其中,V(G)是有向圖G中環(huán)路數(shù),m是圖G中弧數(shù),n是圖G中結(jié)點數(shù),p是圖G中強連通分量個數(shù)。在一個程序中,從程序圖的入口點總能到達圖中任何一個結(jié)點,因此,程序總是連通的,但不是強連通的。為了使圖成為強連通圖,從圖的入口點到出口點加一條用虛線表示的有向邊,使圖成為強連通圖。這樣就可以使用上式計算環(huán)路復雜性了。以圖4-11所給出的例子示范,其中,結(jié)點數(shù)n=6,弧數(shù)m=9,p=1,則有
V(G=m-n+2p=9-6+2=5即McCabe環(huán)復雜度度量值為5。這里選擇的5個線形無關(guān)環(huán)路為(abefa),(beb),(abea),(acfa),(abcfa),其他任何環(huán)路都是這5個環(huán)路的線性組合。第十七頁,共三十九頁,編輯于2023年,星期三17McCabe度量法的缺點①對于不同種類的控制流的復雜度不能區(qū)分。②簡單IF語句與循環(huán)語句的復雜性同等看待。③嵌套IF語句與簡單CASE的復雜性是一樣的。④模塊間接口當成一個簡單分支一樣處理。⑤一個具有1000行的順序程序與一行語句的復雜性相同。盡管McCabe復雜度度量法有許多缺點,但它容易使用,而且在選擇方案和估計排錯費用等方面都是很有效的。第十八頁,共三十九頁,編輯于2023年,星期三1810.4軟件可靠性
第十九頁,共三十九頁,編輯于2023年,星期三19軟件可靠性定義軟件可靠性定義表明了一個程序按照用戶的要求和設計的目標,執(zhí)行其功能的正確程度。一個可靠的程序應要求是正確的、完整的、一致的和健壯的。即:在給定的時間內(nèi),程序按照規(guī)定的條件成功地運行的概率。第二十頁,共三十九頁,編輯于2023年,星期三20軟件可靠性定義的數(shù)學表達設R(t)代表在時間(0,t)之間的軟件可靠性,P{E}代表事件E的概率,則軟件可靠性可表示為:
R(t)=P{在時間(0,t)內(nèi)按規(guī)定條件運行成功}可靠性與軟件內(nèi)部的故障密切相關(guān),如果軟件在交付使用時有遺留錯誤,則當出現(xiàn)某種組合時,就會使程序在運行中失敗。當殘留錯誤的數(shù)量一定時,程序的運行時間越長,則發(fā)生失效的機會就越多,可靠性也隨之下降。設軟件的故障率不隨時間而變化,則根據(jù)經(jīng)典的可靠性理論。R(t)可以表示為時間與故障率的指數(shù)函數(shù)
R(t)=第二十一頁,共三十九頁,編輯于2023年,星期三21軟件可靠性指標軟件可靠性與可用性的定量指標,是指能夠以數(shù)字概念來描述可靠性的數(shù)學表達式中所使用的量。下面主要討論常用指標平均失效等待時間MTTF與平均失效間隔時間MTBF。1.MTTF(MeanTimeToFailure)平均失效等待時間MTTF定義為:2.MTBF(MeanTimeBetmeenFailure)
MTBF是平均失效間隔時間,它是指兩次相繼失效之間的平均時間。第二十二頁,共三十九頁,編輯于2023年,星期三22軟件可靠性模型--正比于遺留故障數(shù)的宏觀模型程序的故障率與遺留錯誤的數(shù)量成正比,根據(jù)程序中遺留錯誤的多少,就可以預測程序的可靠性。設t=程序的調(diào)試時間
ET=調(diào)試前的錯誤總數(shù)
Ec(t)=在時間(0,t)期間糾正的錯誤
Er(t)=在時間t時的遺留錯誤量
IT=程序的長度或指令的總數(shù)則Er(t)=ET-Ec(t)用除以上述等式兩邊,得到錯誤的規(guī)格化值第二十三頁,共三十九頁,編輯于2023年,星期三23軟件可靠性模型--正比于遺留故障數(shù)的宏觀模型其中因此有根據(jù)經(jīng)典理論,得到:第二十四頁,共三十九頁,編輯于2023年,星期三24軟件可靠性模型--平均失效等待時間已知當故障率為獨立于時間的常數(shù)時,
MTTF=1/λ
即
為簡化討論,又在時間0至t期間的糾錯率為常數(shù),且等于ρ,則
所以,平均故障間隔時間的模型可簡寫為:
第二十五頁,共三十九頁,編輯于2023年,星期三25軟件可靠性模型--錯誤植入模型這類模型的中心思想,是通過估計殘留錯誤的數(shù)量,來確定程序的可靠性。具體的作法是:測試之前先在程序中植入一批人為的錯誤,在測試過程中分別統(tǒng)計出測試小組的原有錯誤和植入錯誤,然后由下列計算式計算原有錯誤。假設
N=程序中原來殘留的錯誤數(shù);
S=新植入程序的錯誤數(shù);
n=測試中發(fā)現(xiàn)的原有錯誤數(shù);
s=測試中發(fā)現(xiàn)的植入錯誤數(shù)如果調(diào)試中對這兩類錯誤具有同樣的發(fā)現(xiàn)能力,則有或第二十六頁,共三十九頁,編輯于2023年,星期三2610.5軟件評審
第二十七頁,共三十九頁,編輯于2023年,星期三27軟件評審對軟件工程來說,軟件評審是一個“過濾器”,在軟件開發(fā)的各個階段都要采用評審的方法,以發(fā)現(xiàn)軟件中的缺陷,然后加以改正。把“質(zhì)量”理解為“用戶滿意程度”。為使用戶滿意,有兩個必要條件:
(1)設計的規(guī)格說明書要符合用戶的要求。
(2)程序要按照設計規(guī)格說明書所規(guī)定的情況正確執(zhí)行。第二十八頁,共三十九頁,編輯于2023年,星期三28設計質(zhì)量的評審內(nèi)容(1)評價軟件的規(guī)格說明是否合乎用戶的要求,即總體設計思想和設計方針是否明確;需求規(guī)格說明是否得到了用戶或單位上級機關(guān)的批準;需求規(guī)格說明與軟件的概要設計計規(guī)格說明是否一致等?
(2)評審可靠性,即是否能避免輸入異常(錯誤或超載等)、硬件失效及軟件失效所產(chǎn)生的失效,一旦發(fā)生應能及時采取代替或恢復手段。(3)評審保密措施實現(xiàn)情況,即是否提供對使用系統(tǒng)資格進行檢查;對特定數(shù)據(jù)的使用資格、特殊功能的使用資格進行檢查,在查出有違反使用資格情況后,能否向系統(tǒng)管理人員報告有關(guān)信息;是否提供對系統(tǒng)內(nèi)重要數(shù)據(jù)加密的功能等。第二十九頁,共三十九頁,編輯于2023年,星期三29設計質(zhì)量的評審內(nèi)容(4)評審操作特性實施情況,即操作命令和操作信息的恰當性,輸入數(shù)據(jù)與輸入控制語句的恰當性;輸出數(shù)據(jù)的恰當性;應答時間的恰當性等。(5)評審性能實現(xiàn)情況,即是否達到所規(guī)定性能的的目標值。(6)評審軟件是否具有可修改性、可擴充性、可互換性和可移植性。(7)評審軟件是否具有可測試性。(8)評審軟件是否具有復用性。第三十頁,共三十九頁,編輯于2023年,星期三30程序質(zhì)量的評審內(nèi)容--軟件的結(jié)構(gòu)(1)功能結(jié)構(gòu)。在軟件的各種結(jié)構(gòu)中,功能結(jié)構(gòu)是用戶唯一能見到的結(jié)構(gòu)。需要檢查的項目有:①數(shù)據(jù)結(jié)構(gòu):包括數(shù)據(jù)名和定義;構(gòu)成該數(shù)據(jù)的數(shù)據(jù)項;數(shù)據(jù)與數(shù)據(jù)間的關(guān)系。②功能結(jié)構(gòu):包括功能名和定義;構(gòu)成該功能的子功能;功能與子功能之間的關(guān)系。③數(shù)據(jù)結(jié)構(gòu)和功能結(jié)構(gòu)之間的對應關(guān)系:包括數(shù)據(jù)元素與功能元素之間的對應關(guān)系;數(shù)據(jù)結(jié)構(gòu)與功能結(jié)構(gòu)的一致性。(2)功能的通用性。(3)模塊的層次。第三十一頁,共三十九頁,編輯于2023年,星期三31程序質(zhì)量的評審內(nèi)容--軟件的結(jié)構(gòu)(4)模塊結(jié)構(gòu)。①控制流結(jié)構(gòu):規(guī)定了處理模塊與處理模塊之間的流程關(guān)系。檢查處理模塊之間的控制轉(zhuǎn)移關(guān)系與控制轉(zhuǎn)移形式(調(diào)用方式)。②數(shù)據(jù)流結(jié)構(gòu):規(guī)定了數(shù)據(jù)模塊是如何被處理模塊進行加工的流程關(guān)系。檢查處理模塊與數(shù)據(jù)模塊之間的對應關(guān)系;處理模塊與數(shù)據(jù)模塊之間的存取關(guān)系,如建立、刪除、查詢、修改等。③模塊結(jié)構(gòu)與功能結(jié)構(gòu)之間的對應關(guān)系:包括功能結(jié)構(gòu)與控制流結(jié)構(gòu)的對應關(guān)系;功能結(jié)構(gòu)與數(shù)據(jù)流結(jié)構(gòu)的對應關(guān)系;每個模塊的定義(包括功能、輸入與輸出數(shù)據(jù))。(5)處理過程的結(jié)構(gòu)。處理過程是最基本的加工邏輯過程。第三十二頁,共三十九頁,編輯于2023年,星期三32程序質(zhì)量的評審內(nèi)容--與運行環(huán)境的接口(1)與硬件的接口。(2)與用戶的接口。隨著軟件運行環(huán)境的變更,軟件的規(guī)格也在跟著不斷地變更。運行環(huán)境變更時的影響范圍,需要從以下三個方面來分析:(1)與運行環(huán)境的接口。(2)在每項設計工程規(guī)格內(nèi)的影響。(3)在設計工程相互間的影響。第三十三頁,共三十九頁,編輯于2023年,星期三3311.6軟件容錯技術(shù)
第三十四頁,共三十九頁,編輯于2023年,星期三34軟件容錯技術(shù)提高軟件質(zhì)量和可靠性的技術(shù)大致分為兩類,一類是避開錯誤(fault-avoidance)技術(shù),即在開發(fā)的過程中不讓差錯潛入軟件的技術(shù);另一類是容錯(fault-tolerance)技術(shù),即對某些無法避開的差錯,使其影響減少至最小的技術(shù)。第三十五頁,共三十九頁,編輯于2023年,星期三35容錯軟件定義(1)規(guī)定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟件為具有容錯功能的軟件,即容錯軟件。(2)規(guī)定功能的軟件,在一定程度上能從錯誤狀態(tài)自動恢復到正常狀態(tài),則稱之為容錯軟件。(3)規(guī)定功能的軟件,在因錯誤而發(fā)生錯誤時,仍然能在一定程度上完成預期的功能,則把該軟件稱為容錯軟件。(4)規(guī)定功能的軟件,在一定程度上具有容錯能力,則稱之為容錯軟件。第三十六頁,共三十九頁,編輯于2023年,星期三36容錯的一般方法1、結(jié)構(gòu)冗余(1)靜態(tài)冗余。常用的有:三模冗余TMR(TripleModulerRedundancy)和多模冗余。(2)動態(tài)冗余。動態(tài)冗余的主要方式是多重模塊待機儲備,當系統(tǒng)檢測到某工作模塊出現(xiàn)錯誤時,就用一個備用的模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《疫苗及接種醫(yī)學》課件
- 《眼的解剖》課件
- 地理-山東省淄博市2024-2025學年第一學期高三期末摸底質(zhì)量檢測試題和答案
- 小學五年級數(shù)學上期小數(shù)點乘除法計算習題
- 小學數(shù)學新人教版一年級下冊20以內(nèi)口算練習題大全
- 【金榜學案】七年級歷史上冊第一單元第2課原始的農(nóng)耕生活達標檢測岳麓版
- 勇敢地化蝶高考語文閱讀理解
- 《智慧醫(yī)療解決方案》課件
- 《爐內(nèi)冒正壓的機理》課件
- 高錳鋼鑄件裂紋缺陷形成原因
- 六年級語文上冊期末試卷及完整答案
- 人教版(2024)數(shù)學七年級上冊期末測試卷(含答案)
- 醫(yī)院護理10s管理
- 2024年山西晉中市靈石縣事業(yè)單位招聘工作人員公8人歷年管理單位遴選500模擬題附帶答案詳解
- 上海市市轄區(qū)(2024年-2025年小學六年級語文)部編版質(zhì)量測試(上學期)試卷及答案
- 科學計算語言Julia及MWORKS實踐 課件 25-Syslab工具箱簡介
- 北京市東城區(qū)2023-2024學年八年級上學期期末生物試題
- ISO28000:2022供應鏈安全管理體系
- 人教版六年級數(shù)學下冊全冊分層作業(yè)設計含答案
- 超聲波治療儀的臨床應用(軟組織損傷篇)
- 汽油調(diào)和技術(shù)
評論
0/150
提交評論