留出時間和努力去充分收集相關信息和分析軟件用戶的需求。讓用戶參與到這個過程中,但不要盲目接受用戶或客戶提出的功能需求。畢竟,用戶可能是應用領域的專家,但他們對軟件的設計和分析有可能并不熟悉。保證在開發過程中引入一種有效的方法,能夠收集、組織、驗證支撐工作的信息。學習問題領域的描述語言,掌握工作的流程,理解每個需求是怎樣以及為什么有機結合成為一個整體項目。然后整合分析成果到界面設計過程中并應用這些認識驅動整個軟件的設計。
2. 不要急于具體化
開發者一貫傾向成為一個解決方案的提供者,喜歡解決問題并希望能盡快看到努力的結果。有時這種快速獲得結果的傾向性導致的是一個平庸的解決方案?,F今的可視化開發工具更是鼓勵了這種傾向,縱容我們簡單地通過在屏幕上拖放預先定義的組件來解決界面設計問題。舉例來說,通常很少考慮組合框還是一個下拉列表是最好的選擇。在開發早期不要急于具體化,開發者和小組在開發過程中可能創建更可用的設計并提出高超的用戶界面設計方案。不要過早定義實現的細節,而應在更好理解所需完成的工作和更好把握用戶工作流程中的每一個步驟的意圖之后。如果開發小組已經跳躍到實施具體方案的階段,應注意在設計過程中將那些想法置于一個“反饋—提出”的循環中。
一些技術如抽象原型,能以一種通用的方式在貼紙上表達必需的用戶界面元素,可以幫助開發小組先關注整個用戶界面結構。抽象原型技術能夠保證軟件提供所有必需的組件,也能保證邏輯地安排這些組件,而非早早地進行界面圖形設計和界面組件選擇。
3. 避免為創新而創新,不要成為時尚的奴隸
界面設計中新的東西并總不是好于舊的東西。應用得當的話,新的界面組件和交互設計方法將是一個強大的工具并將占領市場優勢。過不多久界面設計領域里真正先進的的方法就會被拷貝流傳而成為標準設計詞匯的一部分。但是,許多創新的界面設計比傳統的界面組件和交互設計可用性更差。
另外要注意的是避免為藝術而創建藝術品。我所見到的一些可用性最差的軟件就是圖象藝術家或即將成為圖象藝術家的作品,他們迷失在視覺效果里最終導致不可辯識的控件、可讀性差的布局、不能工作的導航設計。效率和美學并不總是互斥的,相反,最好的軟件是兩者的結合。雖然人們的藝術的才能總是有限,但是可以集中注意力創建有效、高可用性的滿足用戶需求的軟件。
最后,不要假定界面設計應模仿一種特別的微軟模式或應用至少一種最近的界面組件。用戶界面設計有自已的流行趨勢,重要的是保持現狀。新的組件和交互術語(idiom,Alan Cooper 的稱呼)每天都在產生。就象房子、車子或者衣服,軟件的風格在變化和進步,但只要簡單地看看用戶界面設計就可以跟上當前系統設計。特別地,如果設計的軟件的運用與微軟的應用緊密結合或關聯,在很多情況下,這是一個合理的選擇。然而,追隨領導不是一個通用的解決方案。有一個例子,是我領導評估一個模仿 Microsoft Excel界面設計的貨幣交易系統的可用性。設計的決策使得用戶可視分析信息非常困難,從而導致笨拙的、低效率的導航。貨幣交易員需要的新交易系統并不是微軟電子數據表的界面設計。
4. 努力建立有效的交互
沒有人喜歡乏味、笨拙的工作。確認你的軟件沒有增加其他人工作的不愉悅感。計算完成一項普通工作所需的擊鍵次數和點擊鼠標的次數。讓簡單的事情簡單處理、常用的交互快捷完成。不要將重要信息或關鍵處理淹沒在多個窗口之下或者隱藏在一個“名不符實”的菜單里。應用建模技術如導航映射來幫助設計高效的工作流和避免過長或導致死結的導航路徑。只要在紙上畫一個原型,用戶界面設計的原則如基本效率、任務一致性和任務可見性就可以用上,并且能指出問題所在區域。
正如令人難忘的Dilbert 的漫畫指出的一樣,一些軟件開發者為用戶設計了額外的無意義的步驟,懲罰用戶犯下的任何錯誤,讓用戶象跳圈一樣完成日常工作。如果小組里某些成員顯得憎惡用戶,讓他去見見臨床醫生,而不要在“Edit”菜單里加上”Other”。
5. 為實際工作試用界面
作為最后一個保證用戶界面設計質量的措施是:讓每個設計和開發軟件的成員最少連續半小時使用它,連續使用一個小時更好。使用實際的數據——用戶實際使用的數據。如果由于保密或安全的原因不能使用實際工作的數據,可以讓客戶或用戶建立足夠多的“偽數據”(不僅僅是10 到20 條記錄),能精確反映實際數據的復雜性、潛在的錯誤和模糊性(subtleties)。作為一個獨立的校驗,確信測試了所有數據域的最大長度,正確性和過率檢查。經常令人驚訝的是在數據庫正確定義的域在用戶界面上卻是長度不夠或定義不當。如果定義的數據域是25 個字母的長度,試著輸入25 個字母。你能在屏幕上見到所有的25個字母嗎?如果需要的話,郵政號碼的輸入框能處理國外字母和數字混合的編碼嗎?
原文轉自:http://www.uml.org.cn/Test/200703304.asp