點(diǎn)擊查看:2015年軟考《系統(tǒng)架構(gòu)設(shè)計(jì)師》備考資料匯總
考慮用戶的觀點(diǎn)
當(dāng)您為智能客戶端應(yīng)用程序確定合適的性能目標(biāo)時(shí),您應(yīng)該仔細(xì)考慮用戶的觀點(diǎn)。對(duì)于智能客戶端應(yīng)用程序而言,性能與可用性和用戶感受有關(guān)。例如,只要用戶能夠繼續(xù)工作并且獲得有關(guān)操作進(jìn)度的足夠反饋,用戶就可以接受漫長(zhǎng)的操作。在 確定要求時(shí),將應(yīng)用程序的功能分解為多個(gè)使用情景或使用案例通常是有用的。您應(yīng)該識(shí)別對(duì)于實(shí)現(xiàn)特定性能目標(biāo)而言關(guān)鍵且必需的使用案例和情景。應(yīng)該將許多使 用案例所共有且經(jīng)常執(zhí)行的任務(wù)設(shè)計(jì)得具有較高性能。同樣,如果任務(wù)要求用戶全神貫注并且不允許用戶從其切換以執(zhí)行其他任務(wù),則需要提供優(yōu)化的且有效的用戶 體驗(yàn)。如果任務(wù)不太經(jīng)常使用且不會(huì)阻止用戶執(zhí)行其他任務(wù),則可能無(wú)須進(jìn)行大量調(diào)整。對(duì)于您識(shí)別的每個(gè)性能敏感型任務(wù),您都應(yīng)該精確地定義用戶的操作以及應(yīng)用程序的響應(yīng)方式。您還應(yīng)該確定每個(gè)任務(wù)使用的網(wǎng)絡(luò)和客戶端資源或組件。該信息將影響性能目標(biāo),并且將驅(qū)動(dòng)對(duì)性能進(jìn)行度量的測(cè)試? 用性研究提供了非常有價(jià)值的信息源,并且可能大大影響性能目標(biāo)的定義。正式的可用性研究在確定用戶如何執(zhí)行他們的工作、哪些使用情景是共有的以及哪些不是 共有的、用戶經(jīng)常執(zhí)行哪些任務(wù)以及從性能觀點(diǎn)看來(lái)應(yīng)用程序的哪些特征是重要的等方面可能非常有用。如果您要生成新的應(yīng)用程序,您應(yīng)該考慮提供應(yīng)用程序的原 型或模型,以便可以執(zhí)行基本的可用性測(cè)試。
考慮應(yīng)用程序操作環(huán)境
對(duì)應(yīng)用程序的操作環(huán)境進(jìn)行評(píng)估是很重要的,因?yàn)檫@可能對(duì)應(yīng)用程序施加必須在您制定的性能目標(biāo)中予以反映的約束。位于網(wǎng)絡(luò)上的服務(wù)可能對(duì)您的應(yīng)用程序施加性能約束。例如,您可能需要與您無(wú)法控制的 Web 服務(wù)進(jìn)行交互。在這種情況下,需要確定該服務(wù)的性能,并且確定這是否將對(duì)客戶端應(yīng)用程序的性能產(chǎn)生影響。您 還應(yīng)該確定任何相關(guān)服務(wù)和組件的性能如何隨著時(shí)間的變化而變化。某些系統(tǒng)會(huì)經(jīng)受相當(dāng)穩(wěn)定的使用,而其他系統(tǒng)則會(huì)在一天或一周的特定時(shí)間經(jīng)受變動(dòng)極大的使 用。這些區(qū)別可能在關(guān)鍵時(shí)間對(duì)應(yīng)用程序的性能造成不利影響。例如,提供應(yīng)用程序部署和更新服務(wù)的服務(wù)可能會(huì)在星期一早上 9 點(diǎn)緩慢響應(yīng),因?yàn)樗杏脩舳荚诖藭r(shí)升級(jí)到應(yīng)用程序的最新版本。另外,還需要準(zhǔn)確地對(duì)所有相關(guān)系統(tǒng)和組件的性能進(jìn)行建模,以便可以在嚴(yán)格模擬應(yīng)用程序的實(shí)際部署環(huán)境的環(huán)境中測(cè)試您的應(yīng)用程序。對(duì)于每個(gè)系統(tǒng),您都應(yīng)該確定性能概況以及最低、平均和最高性能特征。然后,您可以在定義應(yīng)用程序的性能要求時(shí)根據(jù)需要使用該數(shù)據(jù)。您還應(yīng)該仔細(xì)考慮用于運(yùn)行應(yīng)用程序的硬件。您將需要確定在處理器、內(nèi)存、圖形功能等方面的目標(biāo)硬件配置,或者至少確定一個(gè)如果得不到滿足則無(wú)法保證性能的最低配置。通常,應(yīng)用程序的業(yè)務(wù)操作環(huán)境將規(guī)定一些更為苛刻的性能要求。例如,執(zhí)行實(shí)時(shí)股票交易的應(yīng)用程序?qū)⑿枰獔?zhí)行這些交易并及時(shí)顯示所有相關(guān)數(shù)據(jù)。
使用分頁(yè)和惰性加載
在大多數(shù)情況下,您應(yīng)該僅在需要時(shí)檢索或顯示數(shù)據(jù)。如果您的應(yīng)用程序需要檢索和顯示大量信息,則 您應(yīng)該考慮將數(shù)據(jù)分解到多個(gè)頁(yè)面中,并且一次顯示一頁(yè)數(shù)據(jù)。這可以使用戶界面具有更高的性能,因?yàn)樗鼰o(wú)須顯示大量數(shù)據(jù)。此外,這可以提高應(yīng)用程序的可用 性,因?yàn)橛脩舨粫?huì)同時(shí)面對(duì)大量數(shù)據(jù),并且可以更加容易地導(dǎo)航以查找他或她需要的確切數(shù)據(jù)。例如,如果您的應(yīng)用程序顯示來(lái)自大型產(chǎn)品目錄的產(chǎn) 品數(shù)據(jù),則您可以按照字母順序顯示這些項(xiàng),并且將所有以“A”開頭的產(chǎn)品顯示在一個(gè)頁(yè)面上,將所有以“B”開頭的產(chǎn)品顯示在下一個(gè)頁(yè)面上。然后,您可以讓 用戶直接導(dǎo)航到適當(dāng)?shù)捻?yè)面,以便他或她無(wú)須瀏覽所有頁(yè)面就可以獲得他或她需要的數(shù)據(jù)。以這種方式將數(shù)據(jù)分頁(yè)還使您可以根據(jù)需要獲取后臺(tái)的數(shù)據(jù)。例如,您可能只需要獲取第一頁(yè)信息以便顯示并且讓用戶與其進(jìn)行交互。然后,您可以獲取后臺(tái)中的、已經(jīng)準(zhǔn)備好供用戶使用的下一頁(yè)數(shù)據(jù)。該技術(shù)在與數(shù)據(jù)緩存技術(shù)結(jié)合使用時(shí)可能特別有效。您 還可以通過(guò)使用惰性加載技術(shù)來(lái)提高智能客戶端應(yīng)用程序的性能。您無(wú)須立即加載可能在將來(lái)某個(gè)時(shí)刻需要的數(shù)據(jù)或資源,而是可以根據(jù)需要加載它們。您可以在構(gòu) 建大型列表或樹結(jié)構(gòu)時(shí)使用惰性加載來(lái)提高用戶界面的性能。在此情況下,您可以在用戶需要看到數(shù)據(jù)時(shí)(例如,在用戶展開樹節(jié)點(diǎn)時(shí))加載它。
相關(guān)推薦:
2015軟考《系統(tǒng)分析師》練習(xí)題及答案匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |