系統架構設計師:考慮用戶的觀點

  考慮用戶的觀點

系統架構設計師:考慮用戶的觀點

當您爲智能客戶端應用程序確定合適的性能目標時,您應該仔細考慮用戶的觀點。對於智能客戶端應用程序而言,性能與可用性和用戶感受有關。例如,只要用戶能夠繼續工作並且獲得有關操作進度的足夠反饋,用戶就可以接受漫長的操作。在 確定要求時,將應用程序的功能分解爲多個使用情景或使用案例通常是有用的。您應該識別對於實現特定性能目標而言關鍵且必需的使用案例和情景。

應該將許多使 用案例所共有且經常執行的任務設計得具有較高性能。同樣,如果任務要求用戶全神貫注並且不允許用戶從其切換以執行其他任務,則需要提供優化的且有效的用戶 體驗。如果任務不太經常使用且不會阻止用戶執行其他任務,則可能無須進行大量調整。對於您識別的每個性能敏感型任務,您都應該精確地定義用戶的操作以及應用程序的響應方式。您還應該確定每個任務使用的網絡和客戶端資源或組件。

該信息將影響性能目標,並且將驅動對性能進行度量的測試。可 用性研究提供了非常有價值的信息源,並且可能大大影響性能目標的定義。正式的可用性研究在確定用戶如何執行他們的工作、哪些使用情景是共有的以及哪些不是 共有的、用戶經常執行哪些任務以及從性能觀點看來應用程序的'哪些特徵是重要的等方面可能非常有用。如果您要生成新的應用程序,您應該考慮提供應用程序的原 型或模型,以便可以執行基本的可用性測試。

  考慮應用程序操作環境

對應用程序的操作環境進行評估是很重要的,因爲這可能對應用程序施加必須在您制定的性能目標中予以反映的約束。位於網絡上的服務可能對您的應用程序施加性能約束。例如,您可能需要與您無法控制的 Web 服務進行交互。在這種情況下,需要確定該服務的性能,並且確定這是否將對客戶端應用程序的性能產生影響。您 還應該確定任何相關服務和組件的性能如何隨着時間的變化而變化。某些系統會經受相當穩定的使用,而其他系統則會在一天或一週的特定時間經受變動極大的使 用。這些區別可能在關鍵時間對應用程序的性能造成不利影響。例如,提供應用程序部署和更新服務的服務可能會在星期一早上 9 點緩慢響應,因爲所有用戶都在此時升級到應用程序的最新版本。

另外,還需要準確地對所有相關係統和組件的性能進行建模,以便可以在嚴格模擬應用程序的實際部署環境的環境中測試您的應用程序。對於每個系統,您都應該確定性能概況以及最低、平均和最高性能特徵。然後,您可以在定義應用程序的性能要求時根據需要使用該數據。您還應該仔細考慮用於運行應用程序的硬件。您將需要確定在處理器、內存、圖形功能等方面的目標硬件配置,或者至少確定一個如果得不到滿足則無法保證性能的最低配置。通常,應用程序的業務操作環境將規定一些更爲苛刻的性能要求。例如,執行實時股票交易的應用程序將需要執行這些交易並及時顯示所有相關數據。