軟件質量模型
— 筆記整理自 北京理工大學 計算機學院
常見軟件質量模型
- 軟件產品的質量標準
- 通過度量質量屬性來評估軟件質量
- 常見質量模型
- McCall 模型(1977)
- Boehm 模型(1978)
- ISO9126(1993) 世界上最暢銷的模型
- ISO25010(2011)
McCall質量模型
- 軟件特性是軟件質量的反映
- 特性分組
- 根據質量目標對特性進行取捨
- 將11個產品特性分成了3組:產品修正、產品轉義、產品運行
- 理論上質量模型應該兼顧所有的特性,在實際問題中其實這構成了一個不可能三角
- 項目管理人員必須權衡利弊做出取捨,在滿足某一個指標之外犧牲另外一個或幾個指標
- 爲了按期實現交付,比如在第一個版本中實現高優先級功能,在第二個版本中實現低優先級功能
- 在項目開啓的時候,項目經理應該根據客戶的需求和項目的特點選擇一組特定的管理目標
- 對着目標設計出一套數據的測量和統計的方法,這組目標應該與軟件產品與軟件過程的屬性相關
- 這些屬性又能反映出目標實現的概率,比如從使用的角度出發,我們可以選擇管理目標包括:
- 需求的質量、產品的質量、開發的有效性,測試的有效性
- 這組目標能夠反映出產品的質量屬性,又反應了軟件過程的質量屬性
- 一旦項目經理選定了管理目標, 並且建立好了相關的質量屬性,就應該着手定義測試標記
- 這些測試標記適用於整個軟件的生命週期,有助於在項目開發初期發現潛在的問題
ISO9126軟件質量模型
- 建立在 McCall、Boehm 的模型之上同時滿足一些功能性的要求,包括識別軟件產品的內部和外部質量屬性
- 將質量的概念分解成一些列質量因子,強化形成了一套分級,分層的質量模型
- 由6個特性和27個子特性構成,子特性又包含了多個度量指標,形成了一個具有三層結構的質量模型
軟件的功能性
- 合適性:滿足需求的能力
- 準確性:結果是否符合業務所需精度(小數點後四位)
- 互操作性:交互能力
- 安全性
- 未授權
- 已授權
- 功能性的依從性
軟件可靠性
- 成熟性:防止系統內部錯誤擴散
- 容錯性:防止外部接口錯誤擴散
- 易恢復性:能力恢復的程度和速度
- 可靠性的依從性
易用性
- 易理解性:反饋信息準確、清晰、易懂
- 易學性:輔助手段幫助用戶學習和使用
- 易操作性:降低用戶使用門檻
- 吸引性:界面美觀,功能新穎
- 易用性的依從性
軟件效率
- 時間效率: 響應時間
- 資源效率: 系統資源消耗情況
- 效率依從性
軟件可維護性
- 易分析性: 系統提供輔助測試手段
- 易改變性: 系統易修復
- 穩定性: 不易產生意外結果
- 易測試性: 提供測試手段並易觀察運行狀態
- 維護性的依從性
軟件可移植性
- 適應性: 平臺無關性
- 易安裝性: 安裝簡單
- 共存性: 與其他系統共存無干擾的能力
- 易替換性: 自我升級能力
- 可移植性的依從性