一、系統質量屬性與架構評估
1、定義
軟體系統屬性包括功能屬性和質量屬性,軟體架構重點關注的是質量屬性,架構的基本需求是在滿足功能屬性的前提下,關注軟體系統質量屬性。軟體評估是在確定軟體架構,精確描述質量屬性場景後,就需要對系統架構進行評估。
2、影響軟體質量屬性的主要因素包括功能性、可靠性、易用性、效率、維護性、可移植性。
功能性:適合性、準確性、互操作性、依從性、安全性。
可靠性:容錯性、易恢復性、成熟性。
易用性:易學性、易理解性、易操作性
效率:資源特性和時間特性
維護性:可測試性、可修改性、穩定性和易分析性
可移植性:適應性、易安裝性、一致性和可替換性
3、軟體系統的質量屬性基於生命週期分開發期質量屬性、執行期質量屬性。
開發期質量屬性在開發階段關注:易理解性(設計被開發人員理解的難易程度)、易擴充套件性(新需求或者需求變化的適應性)、易重用性、可測試性、可維護性、可移植性(不同環境執行的難易程度)。
執行期質量屬性在執行階段關注:效能(軟體及時提供相應服務的能力,如速度、吞吐量和容量)、安全性、可伸縮性(使用者數或者資料量增加時候,軟體維持高服務質量的能力,增加伺服器提高能力)、互操作性(系統與其他系統交換資料和相互呼叫的難易程度)、可靠性、可用性、魯棒性(非正常情況、非法操作、故障下系統仍然能夠執行的能力健壯性或容錯性)
4、面向架構評估的質量屬性
為了評估一個軟體系統,軟體系統的架構需要進行架構評估,評估人員要重點關注的軟體質量屬性如下。
效能:指系統的響應能力,如經過多長時間對某個事件做出響應或者在某個事件內系統所能處理的事件的個數。
可靠性:軟體系統在應用或系統錯誤面前,在意外錯誤使用的情況下維持系統的功能特性的基本能力(MTBF、MTTF)、容錯、健壯性。
可用性:指系統能夠正常執行的時間比例、兩次故障之間的時間長度或者出現故障能夠恢復正常的速度。
安全性:系統在向合法使用者提供服務的同時能夠阻止非法授權使用者使用的企圖或拒絕服務的能力。
可修改性:指軟體能夠快速的以較高的價效比對系統進行變更的能力。可維護性、可擴充套件性、結構重組、可移植性。
功能性:系統完成所期望的工作的能力。
可變性:指架構經擴充套件或變更而成為新框架的能力。
互操作性:系統與其他系統交換資料和相互呼叫的難易程度