1.常態可視性和異常可視性
應用系統的可視性要求以多種方式記錄系統正常運行的信息,包括已經執行的步驟并提供一定程度上的運行預測,以使用戶確信它是正常運行,稱為常態可視性。同時在系統運行出現異常的情況下提供現場信息,并提供問題可能原因分析或問題解決思路提示,為異常情況的解決提供支持,稱為異常可視性,類似于飛機的黑匣子。這就要求可視性在軟件的構架、設計、實現過程中要比軟件業務需求功能部件具有更高的穩定性,絕不應該出現業務功能還在正常運行或剛出現異常而可視性功能卻已經失效這樣的情況。
2.靜態可視性和動態可視性
靜態可視性是指在系統已經啟動,隨時可以提供服務,但暫沒有業務處理進行的狀態。在應用系統上線之初這種情況特別突出。如果應用系統具有自檢功能,可以給出明確的“I AM READY”這樣的信號,將會給用戶以極大的信心、并得到用戶的充分信任;動態可視性指系統在運行過程中始終保持可視,是可視性要求的最基本內容。
3. 運行環境下的可測試性
運行環境下的可測試性是指處在生產狀態下的應用系統,為了驗證某些功能或問題,按正常的業務操作輸入或導入非生產數據(測試或驗證數據),以查看系統的處理流程和處理結果是否正常。此處的非生產數據指通過某個特定的標志同生產數據進行區分,例如投保單號的某一位的特定值表示此投保單為測試投保單。系統內部對測試數據的處理完全同普通數據,但是在系統處理出口處會進行屏蔽或專門處理,例如業務統計時會將其過濾;發票和保單打印時可能會使用普通打印紙;在數據流向不具備生產環境可測試性的系統之前將測試數據自動攔截。
4.可視性的時效性要求
根據所展示的信息的時效性要求軟件系統可視性可分為實時可視性、前瞻可視性和歷史可視性三大類。
實時可視性:實時記錄系統運行信息。記錄粒度需要進行規劃,既要保證最細粒度(如每一個程序變量值的變化)的信息跟蹤完整性和效率,同時要保證對主機資源消耗的可控。
前瞻可視性:指對還未執行的操作進行預測或對異常情況進行初步自動分析。從這個角度上可以說應用系統某種程度上具有智能特性。
歷史可視性:指對系統已經完成的運行情況進行展示和跟蹤、典型的是對程序的運行日志進行管理,例如存儲策略、權限管理、查詢方式、分析工具等。