可用性設(shè)計
任何應(yīng)用程序的可用性基本上由用戶決定。界面設(shè)計是需多次反復(fù)的過程;在為應(yīng)用程序設(shè)計界面時,第一步就設(shè)計出非常完美的界面的情況非常少見。用戶參與設(shè)計過程越早,花的氣力越少,創(chuàng)建的界面越好、越可用。
什么是好的界面
設(shè)計用戶界面時,開始時最好是先看看Microsoft或其他公司的一些賣得很好的應(yīng)用程序。畢竟,界面很差的應(yīng)用程序不會賣得很好。將會發(fā)現(xiàn)許多通用的東西,比如:工具欄、狀態(tài)條、工具提示、上下文菜單以及標記對話框。VisualBasic具有把所有這些東西添加到應(yīng)用程序中的能力,這并不偶然。
也可以憑借自己使用軟件的經(jīng)驗。想一想曾經(jīng)使用過的一些應(yīng)用程序,哪些可以工作、哪些不可以以及如何修改它。但要記住個人的喜好不等于用戶的喜好,必須把自己的意見與用戶的意見一致起來。
還要注意到大多數(shù)成功的應(yīng)用程序都提供選擇來適應(yīng)不同的用戶的偏愛。例如,MicrosoftWindows“資源管理器”允許用戶通過菜單、鍵盤命令或者拖放來復(fù)制文件。提供選項會擴大應(yīng)用程序的吸引力,至少應(yīng)該使所有的功能都能被鼠標和鍵盤所訪問。
Windows界面準則
Windows操作系統(tǒng)的主要的優(yōu)點就是為所有的應(yīng)用程序提供了公用的界面。知道如何使用基于Windows的應(yīng)用程序的用戶,很容易學(xué)會使用其他應(yīng)用程序。而與已創(chuàng)建的界面準則相差太遠的應(yīng)用程序不易讓人明了。
菜單就是這方面很好的例子——大多數(shù)基于Windows的應(yīng)用程序都遵循這樣的標準:“文件”菜單在最左邊,然后是“編輯”、“工具”等可選的菜單,最右邊是“幫助”菜單。如果說Documents會比File更好,或者“幫助”菜單要放在最前,這就值得討論一下了。沒有任何事情阻止您這樣做,但這樣做會引起用戶的混淆,降低應(yīng)用程序的可用性。每當(dāng)在應(yīng)用程序與其他程序之間切換時,用戶都不得不停下來想一想。
子菜單的位置也很重要。用戶本期望在“編輯”菜單下找到“復(fù)制”、“剪切”與“粘貼”等子菜單,若將它們移到“文件”菜單下會引起用戶的混亂。不要偏離已經(jīng)創(chuàng)建的準則太遠,除非有很好的理由這樣做。
可用性的檢測
測試界面可用性的最好方法是在整個設(shè)計過程中請用戶參與。不論是正在設(shè)計大型的壓縮包應(yīng)用程序,還是小型的有限使用的應(yīng)用程序,設(shè)計的過程應(yīng)當(dāng)完全相同。使用已創(chuàng)建的設(shè)計準則,界面設(shè)計應(yīng)從紙上開始。
下一步是創(chuàng)建一個或者多個原型,在VisualBasic中設(shè)計窗體。還需要增加足夠的代碼來啟動原型:顯示窗體、用示例數(shù)據(jù)填充列表框等等。然后準備可用性測試。
可用性測試可以是個不拘形式的過程:與用戶一道審查設(shè)計;也可以是在已創(chuàng)建的可用性實驗室中進行的正式的過程。這兩種方法目的是一樣的:從用戶那兒了解哪兒設(shè)計得很好,哪兒還需要改進的第一手材料。放開,讓用戶與應(yīng)用程序在一起,然后觀察它們;這種方式比詢問用戶更為有效。當(dāng)用戶試圖完成一系列任務(wù)時讓他們表達其思考過程:“要想打開新文檔,所以要在‘文件’菜單中找一找?!庇浵履男┑胤降慕缑嬖O(shè)計沒有反應(yīng)他們的思考過程。與不同類型的用戶一起測試,如果發(fā)現(xiàn)用戶完成某個特定的任務(wù)有困難,該任務(wù)可能需要多加關(guān)照。
下一步,復(fù)查一下記錄,考慮如何修改該界面使它更加可用。修改界面并再測試。一旦對應(yīng)用程序可用性滿意,就準備開始編碼。在開發(fā)的過程中也需要不時地測試來確保對原型的設(shè)想是正確的。
功能的可發(fā)現(xiàn)性
可用性測試的關(guān)鍵的概念是可發(fā)現(xiàn)性。如果用戶不能發(fā)現(xiàn)如何使用某個功能(或者甚至不知道有此功能存在),則此功能很少有人去使用。例如,Windows3.1的大多數(shù)用戶都從來不知道ALT和TAB的組合鍵可以用于在打開的應(yīng)用程序之間切換。界面中沒有任何地方可提供線索來幫助用戶發(fā)現(xiàn)這一功能。
為了測試功能的可發(fā)現(xiàn)性,不解釋如何做就要求用戶完成一個任務(wù)(例如,使用“窗體
當(dāng)為應(yīng)用程序創(chuàng)建對話框時,心里想著用戶。這個消息給用戶傳達了有用的信息嗎?它容易理解嗎?命令按鈕表示的選擇明確嗎?這選擇適合給定的條件嗎?記住,僅僅一個討厭的消息框就會使用戶對應(yīng)用程序產(chǎn)生壞印象。
如果正在設(shè)計自定義對話框,盡量堅持用標準類型。如果與標準消息框布局相差太遠,用戶可能不會把它認作是對話框。
詳細信息關(guān)于對話框的詳細內(nèi)容,請參閱本章前面的“對話框”。
不用對話框的錯誤處理
當(dāng)錯誤出現(xiàn)時不一定要打斷用戶。有時更可取的是不通知用戶而用代碼來處理錯誤,或者以不停止用戶工作流程的方法來提醒用戶。這個技術(shù)的很好的例子是MicrosoftWord中的“自動更正”功能:如果普通單詞拼錯了,Word自動修改它;如果不常用單詞拼錯了,在其下劃一條紅線提醒用戶以后改正。
有大量的技術(shù)可以使用;哪些技術(shù)適用于應(yīng)用程序應(yīng)由自己決定。這里有幾個建議:
1.在“編輯”菜單中添加“撤銷”功能。對于刪除等情況,與其用“確定”對話框來打斷用戶,還不如確保他們作出正確的決定并提供“撤銷”功能以備他們以后改變主意。
2.在狀態(tài)欄或圖標上顯示消息。如果錯誤不影響用戶當(dāng)前的任務(wù),不要停止應(yīng)用程序。使用狀態(tài)欄或亮色警告圖標來警告用戶,當(dāng)他們準備好后可以處理該問題。
3.改正問題。有時錯誤的解決辦法很顯然。例如,當(dāng)用戶試圖存文件時磁盤已滿,則在其他驅(qū)動器中檢查系統(tǒng)尋找空間。如果空間可用,則保存該文件;在狀態(tài)欄中顯示一條消息告訴用戶做了些什么。
4.保存消息等候處理。因為不是所有的錯誤都是緊要的,或要求馬上注意的;考慮把這些記錄到文件中,當(dāng)用戶退出應(yīng)用程序時或其他方便的時候再把它們顯示給用戶。如果用戶發(fā)生輸入錯誤(如:把MainSt.寫成MianSt.),記錄它。添加“ReviewEntries”按鈕和顯示差異的函數(shù),以便用戶可以改正它們。
5.不要做任何事。有時錯誤并不重要,不足以成為警告的原因。例如,LPT1上的打印機的紙張沒準備好這一事實,在準備打印之前并沒有多大關(guān)系。等待,直到消息合乎當(dāng)前的任務(wù)。
詳細信息關(guān)于錯誤處理技術(shù)的詳細內(nèi)容,請參閱第十三章“調(diào)試代碼與處理錯誤”。
設(shè)計用戶輔助模式
不論用戶界面設(shè)計得多么好,有時用戶總需要幫助。應(yīng)用程序的用戶輔助模式包括諸如聯(lián)機幫助和打印出來的文檔等東西;它也可以包括用戶輔助設(shè)備,如工具提示、狀態(tài)條、“這是什么”幫助以及向?qū)А?br> 像應(yīng)用程序的其他任何部分一樣,用戶輔助模式設(shè)計應(yīng)當(dāng)在開始開發(fā)之前。模式的內(nèi)容將隨著應(yīng)用程序的復(fù)雜程度與預(yù)期讀者的不同而不同。
幫助與文檔
聯(lián)機幫助是任何應(yīng)用程序的重要部分,它通常是用戶有問題時最先查看的地方。甚至簡單的應(yīng)用程序也應(yīng)該提供“幫助”。不提供它就好像是假定用戶從來不會有問題。
在設(shè)計“幫助”系統(tǒng)時,記住它的主要目的是回答問題。創(chuàng)建主題名稱與索引條目時盡量用用戶的術(shù)語,例如,“我如何格式化頁面?”比“編輯”,“頁格式”菜單更容易找到主題。不要忘記上下文相關(guān)性;對大多數(shù)用戶而言,如果他們按下F1鍵尋求一指定字段的幫助,卻發(fā)現(xiàn)自己在內(nèi)容主題上,則他們會感到受挫折。
基本概念的文檔,不管是打印的和/或由壓縮盤提供的,對所有的應(yīng)用程序都是有幫助的,除了最簡單的以外。它可以提供那些用簡短的“幫助”主題難以傳達的信息。至少,應(yīng)該在ReadMe文件窗體中提供用戶在需要時可以打印的文檔。
用戶輔助設(shè)備
在用戶界面中,有幾種對用戶提供輔助的技術(shù)。用VisualBasic在應(yīng)用程序中添加工具提示、“這是什么”幫助、狀態(tài)顯示和向?qū)呛苋菀椎?。這些設(shè)備中的哪些適用于自己的應(yīng)用程序應(yīng)由自己決定。
工具提示
當(dāng)用戶在用戶界面上搜索時,工具提示(圖6.23)是一種向他們顯示信息的好方法。工具提示是個小標簽,當(dāng)鼠標指針在控件上停留會兒即顯示,通常包含此控件的功能描述。正常情況下工具提示與工具欄結(jié)合使用,它在界面的大多數(shù)部分也能很好工作。
大多數(shù)VisualBasic控件都包含用來顯示工具提示的屬性:ToolTipText。以下代碼將對名為“cmd 4.為任何其它的控件重復(fù)步驟2到步驟3。
向?qū)?/strong>
向?qū)且环N用戶輔助設(shè)備,它引導(dǎo)用自己的實際數(shù)據(jù)一步一步地實現(xiàn)一個過程。向?qū)ǔS脕硖峁┤蝿?wù)專用輔助。它們幫助完成需要相當(dāng)長的(而且令人討厭的)學(xué)習(xí)過程的任務(wù),它們給還沒有成為專家的用戶提供專家信息。
VisualBasic的專業(yè)版與企業(yè)版包括了創(chuàng)建向?qū)У墓ぞ撸合驅(qū)Ч芾砥鳌?br> 詳細信息關(guān)于向?qū)У脑敿殐?nèi)容,請參閱第四章“工程的管理”中的“使用向?qū)c外接程序”。
新聞熱點
疑難解答