1. 程式人生 > 實用技巧 >軟體質量的定義及其六大特性(質量模型)

軟體質量的定義及其六大特性(質量模型)

1、軟體質量的定義

軟體質量是軟體特性的綜合,指軟體滿足規定或潛在使用者需求的能力,其主要從內部質量、外部質量、使用質量和過程質量這四個方面來衡量。

2、軟體質量模型

測度與度量:在軟體質量中用於測量的一種量化的標度和方法即為測度,而名詞的度量即用來指測量的結果。

1. McCail質量模型

這是由McCall和他的同事在早期提出的軟體質量模型,指出了影響軟體質量因素的分類,其主要集中在以下三個方面:

  1. 操作特性(產品執行)
  2. 承受可改變的能力(產品修訂)
  3. 新環境適應的能力(產品變遷)

具體的模型圖如下(來源<軟體評測師教程>):
在這裡插入圖片描述

2. Boehm質量模型

Boehm及其同事提出瞭如下的分層的軟體質量模型,除了包含使用者期望與需求之外,還提出了McCall模型中沒有的硬體特性。

在這裡插入圖片描述
Boehm模型始於軟體的整體效用,從從系統交付後涉及不同型別使用者的考慮;使用者分為三種,分別為初識使用者、將軟體移植到其他環境下使用的使用者、維護系統的程式設計師。這三種使用者都希望整個系統是可靠的。Boehm模型反映了對軟體質量的理解,即軟體做了使用者要它做的,有效地使用系統資源、易於使用者學習和使用、易於測試和維護。

3. ISO9126質量模型

ISO9126軟體質量模型是一個分層的質量模型,有6個影響質量的特性,模型中說明了質量特性及其子特性的關係。
在這裡插入圖片描述
標準的軟體質量模型分為三個層次,第一層是6個影響軟體質量的主要因素(即下面的質量的特性),在標準中稱為質量特性,而每個特性又可以通過第二層的若干個子特性來進行測量,而第二層的每個子特性在測量時又要定義並實施若干個度量。

此模型的出發點是使軟體滿足使用者明確或潛在的需求,這六個特性最大可能的涵蓋了其他早期質量模型中的所有因素,並且彼此交叉最小。

3、軟體質量的特性

軟體的質量特性主要有六個大的特性,其中每個特性中又有一些子特性,分別如下所述。

1. 功能性

定義:軟體在指定條件下使用時,滿足使用者明確或隱含需求的能力。
子特性:

  1. 適合性:軟體為指定的任務和使用者目標提供一組合適功能的能力
  2. 互操作性:軟體與一個或更多的規定系統進行互動的能力。
  3. 安全性:軟體保護資訊和資料的能力,以使未授權的人員或系統不能閱讀或修改這些資訊和資料,而不拒絕受權
  4. 依從性:軟體遵循與各種特性相關的標準、約定或法規以及類似規定的能力。這些標準要考慮國際標準。
  5. 準確性

2. 可靠性

定義:軟體在指定條件下使用時,維護規定的效能級別的能力。
子特性:

  1. 成熟性:軟體為避免由軟體中錯誤而導致失效的能力。
  2. 容錯性:在軟體出現故障或者違反指定介面的情況下,軟體維持規定的效能級別的能力。
  3. 易恢復性:在失效發生的情況下,軟體重建規定的效能級別並恢復受直接影響的資料的能力。

3. 易用性

子特性:

  1. 易理解性:軟體使使用者能理解軟體是否合適,以及如何能將軟體用於特定的任務和使用環境的能力。
  2. 易學性:軟體使使用者能操作和控制它的能力。
  3. 易操作性:軟體使使用者能操作和控制它的能力。

4. 效率

定義:在規定條件下,相對於所用資源的數量,軟體可提供適當性能的能力。
子特性:

  1. 時間特性:在規定條件下,軟體執行其功能時,提供適當的響應和處理時間以及吞吐率的能力,即完成使用者
  2. 資源利用性:在規定條件下,軟體執行其功能時,使用合適的資源數量和類別的能力。

5. 可維護性

  1. 易分析性
  2. 易更改性
  3. 穩定性
  4. 易測試性

6. 可移植性

  1. 適應性
  2. 易安裝性
  3. 一致性
  4. 易替換性

參考

《軟體評測師教程》