




已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第8章 軟件質量保證,掌握:軟件質量的定義、軟件質量的特性與度量、軟件質量保證、軟件質量模型、軟件復雜性的度量方法、軟件可靠性、軟件評審、容錯軟件。,8.1 軟件質量概述,8.1.1 軟件質量的定義,清華大學的鄭人杰教授認為,軟件質量主要反映了以下3方面的問題: (1)軟件需求是度量軟件質量的基礎,不符合需求的軟件就不具備質量。 (2)在各種標準中定義了一些開發(fā)準則,用來指導軟件人員用工程化的方法來開發(fā)軟件。如果不遵守這些開發(fā)準則,軟件質量就得不到保證。 (3)往往會有一些隱含的需求沒有明確地提出來,例如,軟件應具備良好的可維護性。如果軟件只滿足那些精確定義了的需求,而沒有滿足這些隱含的需求,軟件質量也不能保證。,8.1.2 軟件質量的特性與度量,軟件測試的目的就是為了發(fā)現(xiàn)錯誤并糾正錯誤,可以將其總結為以下幾點: (1)測試是一個程序的執(zhí)行過程,它的目的在于發(fā)現(xiàn)錯誤。 (2)一個好的測試用例極可能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤。 (3)一個成功的測試是發(fā)現(xiàn)了至今末發(fā)現(xiàn)的錯誤的測試。,1功能性 由功能及與其指定的性質有關的一組屬性組成,包括: (1)適合性 (2)準確性 (3)互用性 (4)依從性 (5)安全性,2可靠性 由與在規(guī)定的一段時間和條件下,軟件維持其性能水平的能力有關的一組屬性組成,包括: (1)成熟性 (2)容錯性 (3)易恢復性 3易用性 由與一組規(guī)定或潛在的用戶為使用軟件所需作的努力和對這樣的使用所作的評價有關的一組屬性組成,包括: (1)易理解性 (2)易學性 (3)易操作性,4效率 在規(guī)定的條件下,軟件的性能水平與所使用資源之間存在一定的關系,與這個關系有關的一組屬性,是衡量效率的標準,這些屬性包括: (1)時間特性 (2)資源特性 5可維護性 由與為進行指定的修改而所需的努力有關的一組屬性組成,包括: (1)易分析性 (2)易改變性 (3)穩(wěn)定性 (4)易測試性,6可移植性 由與軟件可從某一環(huán)境轉移到另一環(huán)境的能力有關的一組屬性組成,包括: (1)適應性 (2)易安裝性 (3)遵循性 (4)易替換性,8.1.3 軟件質量保證,所謂軟件質量保證,就是建立一套有計劃、有系統(tǒng)的方法,來向管理層保證擬定出的標準、步驟、實踐和方法能夠正確地被所有項目所采用。 軟件質量保證的主要手段,是對軟件產(chǎn)品和活動進行評審和審計,以此來驗證軟件是合乎標準的。在軟件開發(fā)的各個階段實施的軟件質量保證檢驗項目如下: 1需求分析階段 主要檢測開發(fā)目的、目標值、開發(fā)量(程序、文檔)、所需資源、各階段的產(chǎn)品和作業(yè)內(nèi)容、開發(fā)體制等的合理性。 2設計階段 檢驗項目包括產(chǎn)品的量(計劃量、實際量)、評審量、差錯數(shù)、檢出差錯的內(nèi)容、評審方法和覆蓋性、出錯原因、處理情況及對該階段的影響、評審結束和階段結束的判斷標準等。,3實現(xiàn)階段 檢驗項目包括設計階段的所有檢驗項目,另外還包括:計算機使用時間、測試環(huán)境、測試項目設定種類、測試用例的設計方法等。 4驗收階段 檢驗項目主要是說明書檢查(檢查與被檢查程序有關的用戶文檔等)和程序檢查(為了評價和保證程序質量,采用各種黑盒測試或白盒測試手段進行檢查)。 5運行維護階段 主要是掌握用戶使用產(chǎn)品的質量情況,并反饋給開發(fā)部門。,8.2 軟件質量模型,8.2.1 McCall質量度量模型,圖8-1 McCall模型的3個層次與11個特性,8.2.2 ISO軟件質量評價模型,國際標準化組織ISO制定的ISO質量度量模型由3層組成,分別是: (1)高層,稱為“軟件質量需求評價準則”。 (2)中層,稱為“軟件質量設計評價準則”。 (3)低層,稱為“軟件質量度量評價準則”。 ISO認為,應對高層和中層建立國際標準,而低層可由各使用單位視實際情況制定相關標準。同時,按照ISOIEC9126質量特性國際標準,第一層(即ISO質量度量模型中的“高層”)稱為質量特性,第二層(即ISO質量度量模型中的“中層”)稱為質量子特性,第三層(即ISO質量度量模型中的“低層”)稱為度量。該標準定義了6個質量特性,即功能性、可靠性、可維護性、效率、可使用性、可移植性,并推薦了21個子特性,如適合性、準確性、互用性、依從性、安全性、成熟性、容錯性、可恢復性、可理解性、易學習性、操作性、時間特性、資源特性、可分析性、可變更性、穩(wěn)定性、可測試性、適應性、可安裝性、一致性、可替換性,但不作為標準。,8.3 軟件復雜性,8.3.1 軟件復雜性的基本概念,軟件復雜性是指軟件的復雜程度。 (1)規(guī)模:即總共的指令或源程序行數(shù)。 (2)難度:通常由程序中出現(xiàn)的操作數(shù)的數(shù)量來表示。 (3)結構:通常用與程序結構有關的度量來表示。 (4)智能度:即算法的難易程度。,8.3.2 軟件復雜性的度量方法,軟件復雜性度量是對軟件復雜性的定量描述,是軟件復雜性分析和控制的基礎,它針對不同對象,從不同角度選用不同方法來描述軟件的復雜性。 軟件復雜性主要表現(xiàn)在程序的復雜性。程序的復雜性主要指模塊內(nèi)程序的復雜性,它直接關系到軟件開發(fā)費用、開發(fā)周期和軟件內(nèi)部潛伏錯誤的多少,同時也可用于度量軟件的可理解性。,要求復雜性度量滿足以下假設: (1) 軟件復雜性度量可以用來計算任何一個程序的復雜性。 (2) 對于不合理的程序,如長度動態(tài)增長的程序,或者對于原則上無法排錯的程序,則不應當使用軟件復雜性度量進行復雜性計算。 (3)程序中指令條數(shù)、附加存儲量、計算時間增多不會減少程序的復雜性。,1長度度量 度量程序的復雜性,最簡單的方法就是統(tǒng)計程序的源代碼行數(shù)。此方法的基本考慮是統(tǒng)計一個程序的源代碼行數(shù),并以源代碼行數(shù)作為程序復雜性的質量。,2Halstead度量 Halstead度量法通過計算程序中的運算符和操作數(shù)的數(shù)量對程序的復雜性加以度量。設n1表示程序中不同運算符的個數(shù),n2表示程序中不同操作數(shù)的個數(shù),N1表示程序中實際運算符的總數(shù),N2表示程序中實際操作數(shù)的總數(shù)。令H表示程序的預測長度,Halstead給出H的計算公式為:H=n1log2n1+n2log2n2;令N表示實際的程序長度,其定義為:N=N1+N2。,3McCabe度量 該度量方法由McCabe提出,又稱為環(huán)路復雜性度量方法,其步驟是: (1)將程序流程圖中的每個處理符號看作一個節(jié)點,流程圖中的流程線看作有向弧,從而將流程圖轉換為一個有向圖。 (2)從圖的入口點到出口點加一條用虛線表示的有向邊,使圖成為強連通圖。 (3)定義環(huán)路復雜性的計算公式為: V(G) = m n + p 其中,V(G)是有向圖G中的環(huán)路數(shù);m是圖G中的弧數(shù);n是圖G中的節(jié)點數(shù);P是圖G中的強連通分量。 也可簡單地將環(huán)路復雜性看作有向圖中有向弧所封閉的區(qū)域個數(shù)。,例如,如圖8-2(a)所示的程序流程圖對應的有向圖如圖8-2(b)所示。因為節(jié)點數(shù)n=11,弧數(shù)m=13,強連通分量p=1,因此,環(huán)路復雜性V(G)=3。,圖8-2 McCabe復雜性度量的例子,8.3.3 軟件復雜性控制,(1)控制結構和數(shù)據(jù)結構復雜的程序較復雜。 (2)轉向語句使用不當?shù)某绦蜉^復雜。 (3)非局部量較多的程序較復雜。 (4)按地址調用參數(shù)比按值調用參數(shù)復雜。 (5)模塊及過程之間聯(lián)系密切的程序較復雜。 (6)嵌套深度越大,程序越復雜。 (7)循環(huán)結構復雜性大于選擇結構和順序結構的復雜性。 (8)寬度是軟件復雜性的主要形成原因。,8.4 軟件可靠性,8.4.1 軟件可靠性的定義,1軟件故障及其特征 常用以下3個術語來描述軟件未正常運行的情況: (1)缺陷:是指軟件的內(nèi)在缺陷。 (2)錯誤:缺陷在一定環(huán)境條件下暴露,導致系統(tǒng)運行中出現(xiàn)可感知的不正常、不正確和不按規(guī)范執(zhí)行的狀態(tài)。 (3)故障:由于對錯誤未作任何糾正,而導致系統(tǒng)的輸出不滿足預定的要求。,2軟件可靠性 軟件可靠性的定義是:“軟件可靠性是軟件系統(tǒng)在規(guī)定的時間內(nèi)及規(guī)定的環(huán)境條件下,完成規(guī)定功能的能力”。 (1)規(guī)定的時間 (2)規(guī)定的環(huán)境條件 (3)規(guī)定的功能,8.4.2 軟件可靠性的指標,(1)平均失效間隔時間MTTF:即兩次失效之間的平均操作時間。 (2)平均修復時間MTTR:即修復一個故障平均需用的時間。 (3)有效性:A=(MTTF/(MTTF+MTTR)。 (4)初期故障率:一般以軟件交付使用方后的3個月內(nèi)為初期故障期,初期故障率指軟件在初期故障期內(nèi)單位時間的故障數(shù),一般以每100h 的故障數(shù)為單位,可以用來評價交付使用的軟件的質量,并預測軟件可靠性何時基本穩(wěn)定。 (5)偶然故障率:一般以軟件交付給使用方后的4個月后為偶然故障期。偶然故障率指軟件在偶然故障期內(nèi)單位時間的故障數(shù),一般以每千小時的故障數(shù)為單位,它反映了軟件處于穩(wěn)定狀態(tài)時的質量。,(6)使用方誤用率:使用方不按照軟件規(guī)范及說明等文件來使用軟件而造成的錯誤叫“使用方誤用”。在總使用次數(shù)中,使用方誤用次數(shù)占的百分率叫“使用方誤用率”。造成使用方誤用的原因之一是使用方對說明理解不深,操作不熟練,但也可能是說明沒有講得非常清楚,引起誤解等。 (7)用戶提出補充要求數(shù):由于軟件在開發(fā)過程中未能充分滿足用戶需要,或者用戶在軟件開發(fā)時所提要求不全面,軟件開始使用后用戶又提出補充要求,需要生產(chǎn)方對軟件進行修改、完善。,8.4.3 軟件可靠性模型,(1)隨機性分類法:根據(jù)隨機過程的假設(如過程的確定性或非確定性、馬氏過程、泊松過程等)進行分類。 (2)按軟件出現(xiàn)的故障數(shù)進行分類:主要有錯誤計數(shù)模型和非計數(shù)模型,可數(shù)性或不可數(shù)性模型。 (3)按模型參數(shù)的估計方法進行分類:主要有貝葉斯方法或非貝葉斯方法,最大似然估計法或最小二乘法,另外還有線性模型等。 (4)按模型使用的時間方式分類:主要有日歷時間和執(zhí)行時間模型。 (5)按修復過程分類:主要指強調對軟件系統(tǒng)修復過程的一類模型,如:完全修復型的和不完全修復型的模型,完全排錯型和不完全排錯型的模型。 (6)按對軟件的內(nèi)部結構是否了解進行分類:可分為黑箱模型和白箱模型。主要根據(jù)對軟件內(nèi)部結構的了解程度,以及對它們的結構能加以利用的程度來進行分類。,8.5 軟件評審,8.5.1 軟件評審的概念,對軟件工程來說,軟件評審是一個“過濾器”。在軟件開發(fā)的各個階段都要采用評審的方法,以發(fā)現(xiàn)軟件中的缺陷,然后加以改正。,8.5.2 軟件評審的階段和內(nèi)容,1設計質量的評審 設計質量的評審包括: (1) 評價軟件的規(guī)格說明是否合乎用戶的要求,即總體設計思想和設計方針是否明確;需求規(guī)格說明是否得到了用戶或單位上級機關的批準;需求規(guī)格說明與軟件的概要設計規(guī)格說明是否一致等。 (2) 評審可靠性,即是否能避免輸入異常(錯誤或超載等)、硬件失效及軟件失效。一旦發(fā)生異常,應能及時采取代替或恢復手段 。 (3) 評審保密措施實施情況,即是否提供對使用系統(tǒng)資格進行檢查的功能;在檢查出有違反對特定數(shù)據(jù)、特殊功能的使用資格的情況后,能否向系統(tǒng)管理人員報告有關信息;是否提供對系統(tǒng)內(nèi)重要數(shù)據(jù)加密的功能等。,(4) 評審操作特性實施情況,即操作命令和操作信息的恰當性;輸入數(shù)據(jù)與輸入控制語句的恰當性;輸出數(shù)據(jù)的恰當性;應答時間的恰當性等。 (5) 評審性能實現(xiàn)情況,即是否達到所規(guī)定性能的的目標值。 (6) 評審軟件是否具有可修改性、可擴充性、可互換性和可移植性。 (7) 評審軟件是否具有可測試性。 (8) 評審軟件是否具有復用性。,2程序質量的評審 程序質量評審通常是從開發(fā)者的角度進行評審,它直接與開發(fā)技術有關。程序質量評審著眼于對軟件本身的結構、與運行環(huán)境的接口、變更帶來的影響等進行的評審活動。 1)軟件的結構 軟件的結構包括功能結構、功能的通用性、模塊的層次、模塊結構、處理過程的結構等。其中,在功能結構方面需要檢查的項目有: (1)數(shù)據(jù)結構:包括數(shù)據(jù)名和定義;構成該數(shù)據(jù)的數(shù)據(jù)項;數(shù)據(jù)與數(shù)據(jù)間的關系。 (2)功能結構:包括功能名和定義;構成該功能的子功能;功能與子功能之間的關系。 (3)數(shù)據(jù)結構和功能結構之間的對應關系:包括數(shù)據(jù)元素與功能元素之間的對應關系;數(shù)據(jù)結構與功能結構的一致性。,在模塊結構方面需要檢查的項目有: (1)控制流結構:規(guī)定了處理模塊與處理模塊之間的流程關系,檢查處理模塊之間的控制轉移關系與控制轉移形式(調用方式)。 (2)數(shù)據(jù)流結構:規(guī)定了數(shù)據(jù)模塊是如何被處理模塊進行加工的流程關系,檢查處理模塊與數(shù)據(jù)模塊之間的對應關系,處理模塊與數(shù)據(jù)模塊之間的存取關系,如建立、刪除、查詢、修改等。 (3)模塊結構與功能結構之間的對應關系:包括功能結構與控制流結構的對應關系;功能結構與數(shù)據(jù)流結構的對應關系;每個模塊的定義(包括功能、輸入與輸出數(shù)據(jù))。,2)與運行環(huán)境的接口 與運行環(huán)境的接口包括與硬件的接口及與用戶的接口。 隨著軟件運行環(huán)境的變更,軟件的規(guī)格也在隨著不斷地變更。運行環(huán)境變更時的影響范圍,需要從以下3個方面來分析: (1) 與運行環(huán)境的接口。 (2) 在每項設計工程規(guī)格內(nèi)的影響。 (3) 設計工程相互間的影響。,8.5.3 軟件評審的原則和作用,1. 評審的原則 評審的原則包括: (1)某階段未通過階段評審不得進入下一個軟件研制階段。 (2)評審時對事不對人,評審的是產(chǎn)品,而不是評審生產(chǎn)者。 (3)評審就要挑刺,找問題、缺陷和隱患。 (4)評審組的人員面越廣越好,如包括用戶、設計人員、測試人員等。 (5)評審組不做無休止的爭論和辯駁,而是將爭論點記錄下來,供以后甄別。 (6)評審只是提出問題,沒有解決問題的任務。 (7)使用“評審檢查單”,以提高評審的效果。,2. 評審的作用 評審的作用在于: (1)技術把關,避免軟件人員的想當然。 (2)概念溝通,吸收用戶和總體設計人員參加,審查軟件人員理解的正確性。 (3)集思廣益,吸收有關的分系統(tǒng)人員參加,從不同側面確認軟件的協(xié)調性。 (4)總結匯報,使實時控制系統(tǒng)總指揮、總設計師了解軟件生產(chǎn)的進度、問題和要求,以做出新的部署。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國知識產(chǎn)權創(chuàng)新調研報告-智慧芽創(chuàng)新研究中心
- 北師大版(2019)必修第三冊Unit 9 Learning Lesson 2 Language Learning Tips 課件
- 基于秸稈摻混的濕污泥熱解中重金屬遷移轉化行為及其環(huán)境風險評價
- 汽車傳感器與檢測技術電子教案:電容式液位傳感器
- 參觀通道衛(wèi)生管理制度
- 通遼新民北站螺桿樁施工方案
- 國企離職流程管理制度
- 培訓行業(yè)薪酬管理制度
- 物理中考一輪復習教案 第三十三講 磁體與磁場 電流的磁場
- 倉庫開業(yè)活動方案
- 大型住宅小區(qū)施工組織設計
- 2025年中考化學總復習必考基礎知識復習匯編(完整版)
- 上海民辦華二某中學初一新生分班(摸底)數(shù)學模擬考試(含答案)
- 公司事故隱患內(nèi)部報告獎勵制度
- 2022年7月國家開放大學漢語言文學本科《中國當代文學專題》期末紙質考試試題及答案
- 2025年建筑工程典型安全質量事故案例分析大量案例(共103張)
- 2025年中國國際貨運航空股份有限公司招聘筆試參考題庫含答案解析
- 2025湖南省建筑安全員考試題庫附答案
- DBT29-306-2022 天津市公路公安檢查站設計標準
- 《純凈水處理系統(tǒng)》課件
- 《水泥制品養(yǎng)護固碳技術規(guī)范》編制說明
評論
0/150
提交評論