定義
ANSI/IEEE Std 729-1983定義軟體品質為“與軟體産品滿足規定的和隐含的需求的能力有關的特征或特性的全體”。
M.J.Fisher定義軟體品質為“所有描述計算機軟體優秀程度的特性的組合”
特性
◆軟體品質特性,反映了軟體的本質。讨論一個軟體的品質,問題最終要歸結到定義軟體的品質特性。
◆定義一個軟體的品質,就等價于為該軟體定義一系列品質特性。
◆人們通常把影響軟體品質的特性用軟體品質模型來描述。
軟體品質模型
◆軟體品質特性定義成分層模型
◆最基本的叫做基本品質特性,它可以由一些子品質特性定義和度量。
◆1976年 Boehm品質模型
◆1979年 McCall品質模型
◆1985年 ISO品質模型
ISO的軟體品質評價模型
◆按照ISO/TC97/SC7/WG3/1985-1-30/N382,軟體品質度量模型有三層組成
◆軟體品質需求評價準則(SQRC)
◆軟體品質設計評價準則(SQDC)
◆軟體品質度量評價準則(SQMC)
◆高層和中層建立國際标準,底層可有各使用機關視實際情況指定。
McCall品質模型
軟體品質的度量和評價
◆軟體品質特性度量有兩類:預測型和驗收型
◆預測度量是利用定量或定性的方法估算軟體品質的評價值,以得到軟體品質的比較精确的估算值
◆驗收度量是在軟體開發各個階段的檢查點,對軟體的要求品質進行确認性檢查的具體評價值,它是對開發過程中的預測進行評價
◆預測度量有兩種:尺度度量,定量度量
品質保證
◆什麼是品質保證,它是為保證産品和服務充分滿足消費者要求的品質而進行的有計劃、有組織的活動。
◆品質保證是面向消費者的活動,是為了使産品實作使用者要求的功能,站在使用者的立場上來掌握産品的品質
◆軟體的品質保證就是向使用者及社會提供滿意的高品質的産品。
品質保證的任務
◆使用者要求定義
◆力争不重複勞動
◆掌握老發軟體的方法
◆組織外部力量協作的方法
◆排除無效勞動
◆發揮每個開發者的能力
◆提高軟體開發的工程能力
◆提高計劃和管理能力
品質檢驗的原則
◆使用者要求的是産品具有的功能,這是“真品質”。靠品質檢驗,一般檢查的是“真品質”的品質特性
◆能靠品質檢驗的品質特性,即使全檢驗,也隻是代表産品的部分品質特性
軟體品質保證規程和技術準則
◆規定雜項目的哪個階段進行評審及如何評審
◆規定在項目的哪個階段應當産生哪些報告和計劃
◆規定産品各個方面測試應達到的水準
◆在每次評審和測試中發現的錯誤如何修正
軟體品質度量和保證的條件
◆适應性
◆易學性
◆可靠性
◆針對性
◆可觀性
◆經濟性
實施步驟
◆Target:以使用者要求和開發方針為依據,對品質需求準則、品質設計準則的各品質特性設定品質目标
◆Plan:設定适合于被開發軟體的評測檢查項目(品質評價标準)。研讨實作品質目标的方法或手段
◆Do:制作高品質的規格說明和程式,在接受品質檢查前先做自我檢查
◆Check:以Plan階段設定的品質評價準則進行評價,計算結果用品質圖的表示出來
◆Action:對評價發現的問題進行改進活動,如果實作達到了品質目标就轉入下一個工程階段。這樣重複“Plan”到“Action”的過程。直到整個開發項目完成。
軟體可靠性
◆軟體可靠性:是軟體在給定的時間間隔内給定的環境條件下,按設計要求,成功的運作程式的機率
◆在軟體開發過程中,利用測試的統計資料,估算軟體的可靠性,以控制軟體的品質是至關重要的。
◆推測錯誤的産生頻率,即推測錯誤産生的時間間隔
◆推測殘留在程式中的錯誤數
◆評價測試的精确度和覆寫率
推測錯誤的産生頻率
◆估算錯誤産生頻率的一種方法是估算平均失效等待時間MTTF(Mean Time To Failure)
◆MTTF估算公式(Shooman模型)