軟體體系結構第九章

weixin_34249678發表於2016-06-28

在體系結構的評估過程中,評估人員所關注的是系統的屬性質量,包括效能、可靠性、可用性、安全性、可修改性、功能性、可變性、整合性、互操作性。

1. 效能

(1)效能是指系統的響應能力,即要經過多長時間才能對某個事件做出響應,或者在某段事件內系統所能處理的事件的個數。

【體系結構可以影響效能】

2. 可靠性

(1)可靠性是軟體系統在應用或系統錯誤面前,在意外或錯誤使用的情況下維持軟體系統的功能特性的基本能力。

(2)平均失效等待時間(MTTF):修好要多久(錯誤的嚴重性)

        平均失效間隔時間(MTBF):多久錯一次(錯誤的頻率)

���������������������(3)包括兩個方面:

a. 容錯:允許發生錯誤並且能夠修復

b. 健壯性:對於不符合規定的操作,進行遮蔽

3. 可用性

(1)可用性是系統能夠正常執行的時間比例。

(2)經常用兩次故障之間的時間長度或在出現故障時系統能夠恢復正常的速度來表示。

4. 安全性

(1)安全性是指系統在向合法使用者提供服務的同時能夠阻止非授權使用者使用的企圖或拒絕服務的能力。

(2)安全性又可劃分為機密性、完整性、不可否認性及可控性等特性。

(3)例子:在 WebService中,以SOAP為例,請求先發給SOAP伺服器,伺服器可以先過濾不滿足條件的服務請求。

5. 可修改性

(1)可修改性是指能夠快速的以較高價效比對系統進行變更的能力

【在軟體體系結構風格里,較好的是基於事件、基於構件,較差的是分層】

6. 可維護性

(1)體現在問題的修復上,即在錯誤發生後“修復”軟體系統

7. 可擴充套件性

(1)使用新特性來擴充套件軟體系統,以及使用改進版本來替換構件,並刪除不需要或不必要的特性和構件。

【軟體系統需要鬆散耦合的構件】

8. 結構重組

(1)重新組合軟體系統的構件及構件間的關係。

【通過將構件移動到一個不同的子系統而改變它的位置】

9. 可移植性

(1)使軟體適用於多種硬體平臺、使用者介面、作業系統、程式語言或編譯器

【按照硬體無關的方式組織軟體系統】

10. 功能性

(1) 功能性是系統所能完成所期望的工作的能力。

11. 可變性

(1)可變性是指體系結構經擴充或變更而成為新體系結構的能力。

12. 整合性

(1)整合性是指系統能與其他系統協作的程度。

13. 互操作性

(1)作為系統組成部分的軟體不是獨立存在的,經常與其他系統或自身環境相互作用。


14. 敏感點:一個或多個構件(和/或構件之間的關係)的特性。

【敏感點是指一個可以影響全域性的屬性】

15. 權衡點:影響多個質量屬性的特性,是多個質量屬性的敏感點。

例如:安全和效能、可維護與效率


16. 基於調查問卷或檢查表的評估方式

(1)調查問卷是一系列可以應用到各種體系結構評估的相關問題

a. 有些問題可能涉及到體系結構的設計決策【即體系結構的設計思想】

b. 有些問題涉及到體系結構的文件,例如體系結構的表示用的是何種ADL

【體系結構的表示方式:UML、UDL……】

c. 有的問題針對體系結構描述本身的細節問題,例如系統的核心功能是否與介面分開

(2)檢查表中也包含一系列比調查問卷更細節和具體的問題,它們更趨向於考察某些關心的質量屬性。

(3)優點:

a. 這一評估方式比較自由靈活,可評估多種質量屬性,也可以在軟體體系結構設計的多個階段進行。

【多個階段,尤其是早期,因為早期很多度量方法不可用】

(4)缺點:

a. 由於評估的結果很大程度上來自評估人員的主觀推斷,因此不同的評估人員可能會產生不同甚至截然相反的結果。

【結果浮動範圍大,不穩定】

b. 評估人員對領域的熟悉程度、是否具有豐富的相關經驗也成為評估結果是否正確的重要因素。

【改進:請專業評估人員】

17. 基於場景的評估方式

(1)場景:一系列有序的使用或修改系統的步驟。

(2)基於場景的軟體體系結構評估方式分析軟體體系結構對場景支援程度,從而判斷該體系結構對這一場景所代表的質量需求的滿足程度。

(3)優點:

a. 這一評估方式考慮到了包括系統的開發人員、維護人員、終端使用者、管理人員、測試人員等在內的所有與系統相關的人員對質量的要求。

【考慮到了所有利益相關方】

b. 基於場景的評估方式涉及到的基本活動包括確定應用領域的功能和軟體體系結構的結構之間的對映,設計用於體現待評估質量屬性的場景以及分析軟體體系結構對場景的支援程度。

(4)缺點:

a. 不同的應用系統對同一質量屬性的理解可能不同,因此基於場景的評估方式是特定於領域的。

�b. 這一評估方式的實施者需要有豐富的領域知識以對某以質量需求設計出合理的場景,並且必須對待評估的軟體體系結構有一定的瞭解以準確判斷它是否支援場景描述的一系列活動。

18. 基於度量的評估方式

(1)度量是指為軟體產品的某一屬性所賦予的數值,如程式碼行數、方法呼叫層數、構件個數等。

(2)三個基本活動:

a. 首先需要建立質量屬性和度量之間的對映原則,即確定怎樣從度量結果推出系統具有什麼樣的質量屬性;

b. 然後從軟體體系結構文件中獲取度量資訊;

c. 最後根據對映原則分析推匯出系統的某些質量屬性。

(3)優點:

a. 基於度量的評估方式提供更為客觀和量化的質量評估。

(4)缺點:

a. 這一評估方式需要在軟體體系結構的設計基本完成以後才能進行,而且需要評估人員對待評估的體系結構十分了解,否則不能獲取準確的度量。

19. 三種評估方式的比較

1318900-02debb993baa830e.png

相關文章