軟件設計是怎樣煉成的(8)——用戶感覺好才是真的好(用戶體驗設計)


摘要:

軟件的UI是客戶直接體驗軟件的地方,好的用戶體驗可能比追求新技術和追求漂亮設計更加重要,優秀的軟件應該是既有外在美也有內在美的。但大部分用戶是“外貌協會”的,你和用戶說你的軟件如何OO,用了多少種設計模式,客戶是不鳥你的,客戶關注的是用戶體驗!

 

大綱:

1.什么是優秀的設計?
2.優秀的設計能節省項目工作量
3.優秀設計從分析需求開始
4.軟件系統不是木桶型的
5.軟件設計的“大道理”
6.規划系統骨架——架構設計
7.打造系統的底蘊——數據庫設計
8.細節決定成敗——詳細設計
9.用戶感覺好才是真的好——用戶體驗設計
10.持續提升設計水平

 

本文章是系列文章之一,如果你還沒有看過之前的文章,建議先看完前面的文章再看本篇,這樣效果更好。

 

9.用戶感覺好才是真的好——用戶體驗設計

 

9.1 從“余額寶是吸血鬼”說起——用戶體驗設計的重要性

 

某人寫了一篇文章,說余額寶是吸血鬼,要取締余額寶!

我大吃一驚,決定認真研究一下這篇文章,但愣是沒有看懂!里面無非是說余額寶是銀行的吸血鬼,會害死銀行,害死金融市場之類的雲雲,反正沒有看懂。我就納悶了,我們把錢放到余額寶,每天賺取幾塊錢,跟你文章說的內容有毛關系?!你銀行收費多,利息低,存取錢麻煩,我干嘛要將錢放到銀行發霉呢?

這個事件跟用戶體驗設計有關系嗎?我相信你已經有感覺了,請繼續聽我道來。

公司 A 開發的一個軟件一直很好賣,但它的競爭對手公司 B 開發了另外一個更好用的軟件,用戶很喜歡。很快公司 A 的軟件銷量直線下降,為了挽回頹勢,公司 A 請了某人寫一篇文章“恐嚇”用戶,說一大堆用戶看不懂的話,比方說:公司 B 的軟件不面向對象,安全漏洞多,會吃掉內存,會損耗CPU等等。你估計用戶看了這篇文章后會怎樣?我估計用戶會多買兩套公司 B 的軟件壓壓驚!

無論是銀行還是余額寶,都為顧客提供一種資金投資的服務,但余額寶的用戶體驗比銀行好多了,所以顧客會做出自己的選擇;同理,軟件給用戶的感覺好,能帶來實際價值,用戶自然就會選擇這個軟件,用戶是不會計較你用什么開發語言、數據庫,還有用了多少種設計模式的。

 

我們來一個角色扮演,假設你是用戶,你將會花錢買一套軟件,你的購買標准是?

調查,你會選擇怎樣的軟件?

A)你是軟件開發狂熱者,他比較偏好架構設計良好的軟件,他甚至想得到設計文檔和代碼。對於軟件,功能基本能用就可以了,有點錯誤也可以忍受。
B)你是唯美主義者,他要求界面要爽心悅目,功能能用就可以了,操作麻煩一點也沒有關系。
C)你是實用主義者,界面不需要很花俏,關鍵是軟件要容易上手,操作要方便,能高效地幫助他完成日常工作。

我想你應該不會這樣變態選 A 吧?選 A 的話,恭喜你,你確實是軟件開發的狂熱者!

選 B 的朋友有木有呢?你是外貌協會的吧?

選 C 的朋友比較務實了,你會很珍惜你的每一分的血汗錢,軟件需要物有所值,你才願意投資!

 

 

9.2 什么是用戶體驗設計?

 

先說說什么是“用戶體驗”?

用戶體驗就是用戶使用軟件時給他的整體感受,而用戶體驗設計就是針對“用戶體驗”的設計。

其實要讓用戶有好的感覺,主要取決於以下三點:

1)軟件能滿足需求;

2)在1)的基礎上,軟件用起來很舒服;

3)軟件的價錢是合理的,當然價錢 越便宜越好,最好是免費的。

我們這里談的用戶體驗設計,主要是針對第1)、2)點來談的。

如果客戶和我們抱怨軟件不好用,我們首先要檢查的是需求是否滿足了?如果滿足了,那么至少可能打60分了。在需求滿足的前提下,再進一步提升用戶體驗,就會讓你的分數上升到80分以上。那有沒有機會滿分呢?通常很難的,除非你的軟件是滿足需求、很好用,並且是免費的!

是否滿足需求,解決軟件能不能用的問題;用戶體驗設計是否能更上一層樓,能解決軟件好不好用的問題。

 

用戶體驗設計,體現了前文提到的“由頂而下”設計思路的體現,見下圖:

圖9.1 由頂而下的設計思路

說明一下:此圖中“規划界面”這個活動的輸入是”用例/用戶故事“和”業務流程圖“,但其實”業務概念圖“也是需要考慮的,此圖畫出的是主要的先后關系。

 

對於用戶體驗設計,可能會有人第一反應是美工負責的事情,實際上美工僅僅是其中一部分而已,用戶體驗設計需要考慮以下三方面:

1)整體界面規划
2)統一界面標准
3)易用性設計

下面分別說明。

 

 

9.3 整體界面規划

 

有沒有曾經試過客戶向我們抱怨軟件不好用,我們詢問客戶哪里不好用,客戶一時半刻說不出來;在我們的耐心追問下,客戶終於憋出一兩點不好用的地方來,於是我們馬上進行改進,但客戶仍然說不好用;於是我們再次耐心的追問,客戶又憋出一兩點不好用的地方來……  周而復始,客戶還是覺得不好用!

你覺得問題在哪?你可能要重新檢討界面的整體規划!

整體界面規划做的事情就是:規划軟件需要什么界面,每個界面能做什么事情,每個界面之間是怎樣關系等。這是用戶體驗設計的最關鍵、最核心、最重要的一環,這個做好了,基本上用戶體驗設計不會差到哪去,反之無論你在哪些細節上修修補補,很難在根本上改善用戶體驗。

 

我們仍然用前文的”考勤系統“作為例子,需求請參考前文,鏈接:http://blog.csdn.net/fireball1975/article/details/18967945

下圖是前面出現過的考勤系統的部署圖:

圖9.2 考勤系統的部署圖

 

紅色箭頭指向的客戶端是“PC”客戶端,我們要思考這個客戶端的用戶體驗設計,我們要回答兩個問題:

1)什么角色將會使用這個客戶端;
2)這些角色通過這個客戶端能做什么事情。

於是我們我們發現,”員工“和”領導“這兩種角色都會使用這個客戶端,他們分別通過這個客戶端能做的事情有:

員工:

1)查看全部人的請假外出情況
2)提出申請
3)查看申請進展情況
4)修改申請
5)刪除申請

領導:

1)查看待審批的申請
2)審批員工的申請

根據上述信息,我們可以規划出PC客戶端的界面流:

圖9.3 考勤系統PC客戶端的界面流

 

小結一下整體界面規划的做法:

1)要熟悉需求。
2)在架構設計的基礎上找出系統的客戶端有哪些,這些客戶端是指最終用戶會接觸到的機器,一般不需要考慮服務器端。
3)思考每個客戶端上的用戶有哪些,這些用戶分別在這些客戶端上需要用到什么功能。
4)畫出每個客戶端軟件的界面流。如果覺得難度有點大,可先針對不同用戶分別畫他們的界面流,然后合並不同用戶的界面流,思考界面的判斷邏輯,使不同用戶進去都能獲得良好的用戶體驗,同時讓程序工作量更小和彈性更好。

 

通常我們的項目當中是沒有人專門做整體界面規划的,大部分的情況是程序員做出來怎樣就是怎樣的,但程序員做出來的界面用戶體驗設計,你懂的……

如果你是程序員,請按照上述思路改善的工作!

如果你是項目的管理者,請思考這些工作誰來做更合適?有些公司可能有專職的用戶體驗設計工程師,有些公司木有,那么你可以考慮讓需求分析師、測試工程師來負責,或者是作為項目經理的你來親自負責。負責這個崗位的同事至少需要具備這樣的一個素養:就是能從用戶的角度來思考問題!如果能同時具備技術功底,能設計出用戶體驗極佳而且開發工作量少的界面整體規划,這樣就最完美了!

 

 

9.3 統一界面標准

 

統一的界面標准主要包括三方面:形象、文字和行為。

美工負責的事情主要就是形象方面的,包括有:(可能列不全)

1)整體風格:系統需采用一致協調的美術風格,使用戶感覺是在使用同一個系統。如一致的色調、背景、圖片等。
2)圖片、圖標、頁面布局等方面的設計。
3)文字的樣式、大小、字體等等。
4)界面上控件等各種元素的大小、顏色、風格等等。

文字方面主要是指文字的內容,與上述第3)有點不同。

軟件中出現的文字大概分兩類:

1)操作性、提示性文字,如:增加、刪除、確認、取消等操作性文字,還有一些相關的操作提示。
2)專業性、業務性文字,如醫院系統,系統中出現的葯名、病名等專業性文字。

這兩類文字都需要統一並且易於理解,例如我們經常犯的毛病:一個地方叫”新增“,一個地方叫”添加“,一個地方叫”增加“,這樣就很不專業了。

現在說說行為方面要注意的事情:,舉兩個例子你就懂了。

例1:某些軟件增加確認的提示很不明顯,你點了一下”增加“,界面沒啥反應,搞到你多點幾下,后面發現增加了好幾條記錄了。

例2:某些軟件刪除之前沒有提示,結果你一不小心就干掉數據了。

用戶會在軟件上做很多動作,常見的動作有:查看某條記錄,查看某些記錄,增加一條記錄,修改一條記錄,刪除一條記錄,刪除一批記錄等等。類似的動作,軟件應該有合適的、易於用戶理解的並且是一致的響應,這些都是對軟件行為的設計。

 

 

9.4 易用性設計

 

我們分析一下互聯網網站注冊頁面的易用性,以此為例子體驗一下易用性設計。

注冊網站是黏住客戶的第一步,你打算如何設計才能讓更多網友願意注冊呢?下面看看幾個階段的演化:

1)“皇帝女不愁嫁”的階段

很久很久以前(其實也不是很久,10多年前吧),互聯網剛流行的時候,注冊網站是比較麻煩的,要看用戶條款,要填一大堆信息,還要分幾頁來填,最后一頁還因為網速問題出錯,折騰死你!但當時互聯網網站太少了,你不介意多嘗試幾次的。

2)“忽悠你進來再說”的階段

你只需要填個賬號,輸兩次密碼,用戶條款不需要看,你去打個勾就行了。

3)“簡化到不能再簡化”的階段

現在有些網站,注冊時輸入用戶名,但密碼不需要輸兩次,一次就搞定了!希望你沒有輸錯密碼吧,呵呵。

4)“用戶名都不需要輸入”的階段

本來以為3)的做法已經是無法再簡化的了,但居然這么神奇,用戶名都不需要輸入,點個按鈕就可以了!沒錯,這就是關聯其他賬號,比方說用QQ賬戶登錄、用微信賬號登錄等等,如果你現在已經登錄QQ,那么就可以一鍵關聯賬號並登錄了!

大家為了爭奪用戶,注冊這事情簡化到令人發指的程度!

 

這僅僅是一個例子,系統中需要着重考慮易用性設計的地方還是很多的,例如:

1)首頁。
2)經常被使用的界面,如登錄、查詢界面。
3)用來拓展業務的界面,如注冊界面。
4)復雜的編輯界面。
5)帶有運算功能的界面。
6)重要人物會使用的界面,如報表。
……


 

9.5 技術人員應該怎樣對待用戶體驗設計
 
N年前,我作為面試官面試一位程序員,該程序員是來自競爭對手的公司的。我問他為什么離開原來的公司,他說:原來那個公司代碼很不規范,很多 If Else,很多 Select Case,每一次遇到需求變化都需要去折騰,這些代碼已經無法改下去了,我想到更規范的公司工作!
程序員追求進步是好事,但如果我告訴你另外一個讓我們慚愧的事實,你可能不一定願意加入我們公司了。這個讓我們慚愧的事實就是:競爭對手的軟件銷量比我們的軟件高多了,這是因為他們的軟件好用,用戶體驗好!我們的軟件更多是面向軟件工程師,而不是面向最終用戶。
如果這個事實還不足夠讓你震撼,那么和你的薪金掛鈎,相信就會震撼到你的小心臟了!你的軟件賣的好,你的薪金高,你能獲得高額的提成,你會介意去處理那些If Else嗎?還是喜歡去干程序結構良好,但用戶體驗很差,軟件賣不出去,工資高不到哪的工作?
回到本文開始的那個例子,決定客戶是否買軟件的決定因素就是用戶體驗,而不是你的程序如何OO,如何用了多少種設計模式?
 
上述文字可能有些極端,並不是鼓勵你只追求用戶體驗設計,而不需要關注軟件的內部結構,而是希望作為技術人員的你,能更多關注一下用戶體驗設計。
 
 
 
9.6 用戶體驗設計小結
 
架構設計、數據庫設計打造的是軟件“內在美”,詳細設計主要打造“內在美”同時也需要考慮“外在美”,而用戶體驗設計主要就是針對“外在美”的!
軟件的UI是客戶直接體驗軟件的地方,好的用戶體驗比追求新技術和追求漂亮設計更加重要,優秀的軟件應該是既有外在美也有內在美的。當然我還要啰嗦一句,大部分用戶是外貌協會的,不要企圖用“某軟件是吸血鬼”的說法來恐嚇客戶,讓客戶不買競爭對手的軟件,只買你的軟件噢!
 
 

 

10.持續提升設計水平

這是本系列文章的最后一篇了,軟件設計有無盡的可能性,絕對不是幾篇文章或者是一本書就能幫助你升仙的,多實踐多嘗試才能幫助你更上一層樓。工作中的設計挑戰可能不豐富,難度不夠,你自己需要為自己多找一些案例來挑戰,多寫代碼,多做總結,建立你自己的代碼重用庫。

如果你是公司的管理層,你可能不僅僅考慮的是個人能力提升的問題,而是更多地考慮讓整個公司設計能力提升的問題,可能想到設計流程制度化、設計文檔模板化等工作思路。公司領導要更多考慮需求積累、技術積累,打造公司的核心產品線,核心技術等,打造代碼重用庫、組件庫等等,要達到一定的高度都不是靠爆發的,而是靠長期的積累。積累達到一定的層次,“后人”就可以利用“先人”的智慧達到更高的高度。我們這些現代人可能並不比古代人聰明,我們能干很多古代人不能干的事情,是因為我們利用了先祖為我們積累的大量文明成果。

 

 

11.后話

我正式出版的一本書《火球——UML大戰需求分析》中提到,我打算將來寫一本《活用UML——軟件設計高手》,一些朋友問到這本書什么時候出版?

我很不好意思,這本書出版沒有排到日程上,但“軟件設計是怎樣煉成的”這個系列文章其實是此書的濃縮版,我打算將這個系列文章連同其他文章,編進一本軟件研發及管理最佳實踐的書中,此書還沒有最終定名。此書將會覆蓋軟件研發的方方面面 ,目標就是培養厲害的軟件項目經理,讓你裝備周身刀,把把鋒利!

我還會在博客中為大家陸續分享文章,謝謝你的支持,請繼續捧場!

 

本文是系列文章的最后一篇,謝謝你的支持!

 

如果本文對你有幫助,麻煩點一下“推薦”啦,謝謝!

 

 

作者:張傳波

創新工場創業課堂(敏捷課程)講師

軟件研發管理資深顧問

CMMI首席專家

《火球——UML大戰需求分析》作者

軟件知識原創基地創辦人

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM