軟件架構的六大質量屬性簡介


1.可用性戰術

可用性戰術將會阻止錯誤發展為故障,或者至少能夠把錯誤的影響限制在一定范圍內,從而使系統恢復成為可能。

可用性戰術維護可用性的方法有錯誤檢測、自動恢復、錯誤預防。

錯誤檢測:用來檢測故障的某種類型的健康監視;

自動恢復:檢測到故障時某種類型的恢復;

錯誤預防:阻止錯誤演變為故障;

2.可修改性戰術

可修改性戰術的目標是控制實現、測試和部署變更的時間和成本。

可修改戰術可以分為三類:局部化修改、防止連鎖反應、延長綁定時間;

3.性能戰術

性能戰術的目標是對一定的時間限制內到達系統的事件生成一個響應,這些事件可以是消息到達、定時器到時,系統狀態的變化。

性能戰術包括三個分類:資源需求、資源管理、資源仲裁;

和性能直接掛鈎的則是相應時間,影響響應時間的主要因素主要是CPU、數據存儲、寬帶、內存等的“資源消耗”以及由於資源爭用、資源不可用或長時間計算導致事件無法處理的“閉鎖時間”。

4.安全性戰術

安全性戰術包括抵抗攻擊的戰術、檢測攻擊的戰術和從攻擊從恢復的戰術。

5.可測試性戰術

可測試性戰術的目標是允許在完成軟件開發的一個增量后,輕松的對軟件進行測試。

測試的目標是發現錯誤。

補充:

具有可測試性戰術的代碼應該具有如下特點:

   1. 控制性。

控制性是指測試者給在被測試的軟件提供固定的輸入數據的方便程度。換句話說就是軟件本身接受定義明確的參數,並且這些參數可由測試者靈活的傳入,軟件在接受到這些參數后通過一系列運算返回固定的結果。任何軟件都應該清楚的表明自己需要什么參數,以及將會生成什么返回值。此外任何軟件都應該應該抽象它的依賴,譬如參數或底層模塊,並為外部調用者提供隨意注入的方式。當然軟件代碼本身應該清晰,整潔,目標明確。

   2.可見性。

 可見性是指測試者觀察正在測試的軟件的當前狀態以及它所產生的任何輸出的能力。換句話說就是軟件應該將內部運算的狀態(一般是指錯誤狀態)和輸出結果清晰明確的告知測試者。可見性一般都是通過方法執行后驗證后置條件完成,驗證后置條件與契約式設計有關。所謂的契約式設計,是指把組件之間的交互描述成契約,權利和義務得到明確的表達和強制實施。在.net環境下,可以通過.net Framework4新增的Code Contracts庫創建軟件契約。

 

   3.簡約性。

一般而言,簡約性對任何系統在任何情況下都是一個正面的屬性,測試毫無疑問也不例外。簡單和極其內聚的組件非常適合測試,因為他們暴露出來的方法少,需要的測試也就少,而需要的測試越少,就越能做得可靠,快速.

6.易用性戰術

易用性與用戶完成期望任務的難易程度以及系統為用戶提供的支持種類有關。

易用性戰術的目標是為用戶提供適當的反饋與協助。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM