南通科迅教育老師提醒你;
說(shuō)起產(chǎn)品UI設計通常的認識就是“圖形界面的設計”而產(chǎn)品的交互設計往往被忽略!
一個(gè)好的交互設計對產(chǎn)品的成功起著(zhù)很關(guān)鍵的作用。UI所做的就是用戶(hù)*接觸到的東西,也是一般性的用戶(hù)*接觸到的東西。用戶(hù)對于界面視覺(jué)效果和軟件操作方式的易用性的關(guān)心,要遠遠大于他對底層到底用什么樣的代碼去實(shí)現的關(guān)心。如果說(shuō)程序是一個(gè)人的肌肉和骨骼,那么UI設計就是人的外貌和品格!都是一個(gè)成功軟件產(chǎn)品必不可少的重要組成部分!對我而言程序懂得不多所以只是從UI設計與軟件產(chǎn)品整體的關(guān)系和如何才能使軟件產(chǎn)品得到*的UI設計角度來(lái)談。
現在我們的軟件產(chǎn)品存在的一些問(wèn)題有技術(shù)方面的問(wèn)題,但是更多的問(wèn)題來(lái)源于各個(gè)*、各個(gè)項目小組的之間的配合。我們現有的開(kāi)發(fā)流程一般都是由市場(chǎng)*提出客戶(hù)需求,產(chǎn)品設計人員提出產(chǎn)品設計報告,開(kāi)發(fā)*設計開(kāi)發(fā)計劃,由各個(gè)小組分別開(kāi)發(fā)一個(gè)模塊,*整合成為一個(gè)完整的軟件產(chǎn)品。在這些流程之間UI設計應該參與那一個(gè)部分,每一個(gè)部分應該做到什么地步才可以使產(chǎn)品得到*的UI設計效果呢?下面我們會(huì )在每一個(gè)部分具體分析。
首先分析一下現在的問(wèn)題所在,在一些軟件業(yè)比較發(fā)達的*軟件產(chǎn)品的UI設計過(guò)程貫穿了軟件開(kāi)發(fā)的自始至終,而且是必不可少的。而在*產(chǎn)品UI設計并沒(méi)有被廣泛接受,就算是已經(jīng)有了UI設計師的一些企業(yè)也沒(méi)有對產(chǎn)品的UI有著(zhù)足夠的重視,一般來(lái)講他們大都會(huì )把重點(diǎn)放在如何使用代碼實(shí)現所需要的功能,在我看來(lái)這只是一個(gè)成功軟件產(chǎn)品的一個(gè)部分。一個(gè)優(yōu)秀軟件產(chǎn)品的開(kāi)發(fā)過(guò)程應該是由四個(gè)部分組成:
1.軟件產(chǎn)品的設計(業(yè)務(wù)建模)
2.系統的設計(技術(shù)建模)
3.分單元的開(kāi)發(fā)(把軟件各個(gè)部分拆分分單元編寫(xiě)代碼)
4.測試(分為單元測試、系統集成測試和產(chǎn)品功能測試),這些是由軟件研發(fā)*做的工作。
除去以上軟件開(kāi)發(fā)過(guò)程的四個(gè)部分還有用戶(hù)需求和用戶(hù)驗收測試,這兩個(gè)過(guò)程是由市場(chǎng)*和產(chǎn)品用戶(hù)一起完成。所以說(shuō)用代碼實(shí)現產(chǎn)品功能(coding過(guò)程)只是軟件開(kāi)發(fā)的一個(gè)步驟?,F在我們回到UI設計的角度來(lái)看,作為UI設計人員我們需要全程參與到軟件開(kāi)發(fā)過(guò)程中,而不只是在某一個(gè)步驟參與,現在在大多數軟件企業(yè)里UI設計師只是在產(chǎn)品的coding過(guò)程的時(shí)候才實(shí)質(zhì)性的參與到軟件開(kāi)發(fā)過(guò)程里,而在其它幾個(gè)步驟里只是參加甚至根本沒(méi)有參加(在這里我要強調“參與”和“參加”是兩個(gè)詞的不同概念,“參與”指的是完全加入到開(kāi)發(fā)行列開(kāi)始進(jìn)入設計階段,而“參加”指的只是旁聽(tīng)會(huì )議或者提出一些簡(jiǎn)單的意見(jiàn)并沒(méi)有開(kāi)始進(jìn)入設計階段),這樣就會(huì )大大降低軟件產(chǎn)品的開(kāi)發(fā)效率使開(kāi)發(fā)成本成倍上升甚至導致整個(gè)產(chǎn)品的不成功!這并不是危言聳聽(tīng),下面我們分析一下在一個(gè)軟件產(chǎn)品的開(kāi)發(fā)過(guò)程中UI設計應該怎么做、做到什么地步才能避免上邊提到的那些問(wèn)題?
下面我會(huì )根據軟件開(kāi)發(fā)的過(guò)程解釋上邊的問(wèn)題,剛才我提過(guò)軟件開(kāi)發(fā)過(guò)程的幾個(gè)步驟:
1.產(chǎn)品建模
2.技術(shù)建模
3.分模塊開(kāi)發(fā)
4.測試,那么我們也分為這四個(gè)部分進(jìn)行討論:
一.產(chǎn)品建模時(shí)期:
我們首先來(lái)了解一下“輸入”和“輸出”,在UI設計里是很重要的兩個(gè)概念,經(jīng)常會(huì )有人過(guò)來(lái)對我說(shuō)“我們有一個(gè)軟件產(chǎn)品需要美化一下”然后再也沒(méi)有什么深入的解釋了,僅僅這句話(huà)我的工作就要開(kāi)始了,然而這個(gè)軟件是給誰(shuí)用的?是干什么的?我們卻一無(wú)所知!成功的UI設計首先要有完整的“輸入”,怎么才能叫做完整的“輸入”呢?也就需要UI設計師從整個(gè)軟件產(chǎn)品的策劃階段就開(kāi)始介入,在產(chǎn)品用戶(hù)(也就是客戶(hù))向市場(chǎng)*或者產(chǎn)品*提出產(chǎn)品需求的時(shí)候就要開(kāi)始參與到產(chǎn)品策劃開(kāi)發(fā)過(guò)程中來(lái),這一部分對于UI設計師而言就是*個(gè)輸入階段,并且在這個(gè)階段里UI設計師也需要提出一些對產(chǎn)品交互設計的意見(jiàn),以便產(chǎn)品*在做產(chǎn)品設計的時(shí)候更多的考慮到產(chǎn)品的交互性和功能的簡(jiǎn)單表現原則,有很多軟件在設計階段就被加入了許多并不是用的附加功能,其實(shí)一個(gè)好的軟件設計就是要用最簡(jiǎn)單的結構實(shí)現用戶(hù)的想法,一些可有可無(wú)的功能看上去很花哨往往會(huì )影響用戶(hù)的判斷能力,這些就是產(chǎn)品優(yōu)化的一些概念了。
在此我需要簡(jiǎn)單的提一下如果想要深入研究可以看一些有關(guān)于產(chǎn)品優(yōu)化的書(shū)籍甚至是心理學(xué)的書(shū)籍,有很多人認為軟件的優(yōu)化就是代碼的優(yōu)化(用最少的代碼實(shí)現產(chǎn)品功能),在我看來(lái)這只是程序的優(yōu)化是針對程序員而言的而不是整個(gè)軟件產(chǎn)品的優(yōu)化,產(chǎn)品優(yōu)化包含了交互設計在現在的多數軟件企業(yè)沒(méi)有專(zhuān)門(mén)做這一部分的交互設計師所以往往這一部分被忽略,我認為這一部分應該又UI設計師承擔起來(lái),從文章的開(kāi)頭我就說(shuō)過(guò)UI設計不只是圖形界面的設計,就算是有企業(yè)里邊有這樣的優(yōu)化人員或者交互設計師他們也要和UI設計師一起配合完成產(chǎn)品交互設計,作為UI設計師產(chǎn)品的交互性和易用性是在做設計的時(shí)候必須考慮的!
言歸正傳,產(chǎn)品設計人員經(jīng)常不會(huì )過(guò)多考慮簡(jiǎn)單易用原理也就是產(chǎn)品出來(lái)用什么樣的組合形式體現給用戶(hù),這也是UI設計師考慮最多的事情,所以UI設計師一定要在產(chǎn)品建模期間參與設計,給產(chǎn)品設計師一些意見(jiàn)。作為一名優(yōu)秀的UI設計師我們還要在了解了產(chǎn)品的需求之后更深入了解這個(gè)產(chǎn)品的使用環(huán)境和用戶(hù)群體的使用習慣。我們還需要了解市場(chǎng)上的同類(lèi)軟件產(chǎn)品的設計方案,研究他們的優(yōu)缺點(diǎn),以便在我們設計的時(shí)候吸取它們的長(cháng)處避免它們的錯誤。
在產(chǎn)品建模之后一般的都會(huì )由產(chǎn)品設計人員給客戶(hù)做一次功能設計講解,往往這樣的講解只是文字性質(zhì)的需要讓客戶(hù)想象著(zhù)理解,這就會(huì )造成很大的隱患有的客戶(hù)根本無(wú)法理解你的講解甚至對這樣的講解根本不認真聽(tīng),因為他們根本不懂,在討論過(guò)程中他們經(jīng)常會(huì )同意產(chǎn)品設計人員的一切設計想法但是產(chǎn)品測試的時(shí)候他們又會(huì )提出種種不滿(mǎn)意,我想這是一般的軟件公司都會(huì )遇到的也是最最頭疼的事情,但這并不能怪客戶(hù)我說(shuō)過(guò)客戶(hù)只會(huì )關(guān)心視覺(jué)效果和軟件的操作而并不會(huì )去關(guān)心我們是怎么實(shí)現這一切的。這種情況帶來(lái)的直接后果就是產(chǎn)品的反復修改開(kāi)發(fā)成本成倍上升,怎么避免呢?這就要靠UI設計師了,俗話(huà)說(shuō)“眼見(jiàn)為實(shí),耳聽(tīng)為虛”,所以需要UI設計師做出一個(gè)產(chǎn)品整體效果的demo。這個(gè)demo用圖片的形式表現就可以,我們只需要將要體現的產(chǎn)品界面做一個(gè)拼湊就可以了,因為這并不是產(chǎn)品的*樣子,只是協(xié)助產(chǎn)品設計人員給客戶(hù)講解產(chǎn)品設計。
產(chǎn)品建模時(shí)期UI設計師要了解客戶(hù)的要求想法和產(chǎn)品設計人員對產(chǎn)品功能的要求深入了解產(chǎn)品,采集用戶(hù)的使用需求、使用環(huán)境和使用習慣,了解市場(chǎng)同類(lèi)產(chǎn)品的設計分析它們的優(yōu)缺點(diǎn)。協(xié)助產(chǎn)品設計人員完成產(chǎn)品建模過(guò)程并制作產(chǎn)品展示demo模擬用戶(hù)對主要功能的操作過(guò)程和界面呈現,生成交互原型(基本上產(chǎn)品的交互性和易用性問(wèn)題都需要在產(chǎn)品建模的時(shí)期解決)。如果時(shí)間允許我們甚至可以提出一份“UI設計分析報告”,這份報告可以附在產(chǎn)品設計說(shuō)明后,更有效的幫助客戶(hù)了解我們的產(chǎn)品設計并且幫助開(kāi)發(fā)人員更好的遵循UI的整體要求來(lái)完成開(kāi)發(fā)工作。這個(gè)時(shí)期的關(guān)鍵是“交互設計”。
二.技術(shù)建模時(shí)期:000
在這個(gè)時(shí)期作為UI設計師我們已經(jīng)了解了軟件產(chǎn)品的功能需求并且拿到了一份產(chǎn)品設計人員的產(chǎn)品設計說(shuō)明,可以進(jìn)入界面樣式的設計過(guò)程了。
這個(gè)時(shí)候我們應該考慮更多的應該是產(chǎn)品的整體風(fēng)格和界面的設計,通常我們也會(huì )做出幾份方案給客戶(hù)選擇。有些客戶(hù)會(huì )要求產(chǎn)品遵循一個(gè)整體的VI設計標準,那么我們就需要按照一個(gè)整體的已定的風(fēng)格去設計軟件的界面,要與客戶(hù)公司的企業(yè)形象吻合。在這個(gè)時(shí)期軟件的UI設計進(jìn)入到了美術(shù)設計階段,我們需要制定整個(gè)軟件的風(fēng)格,塑造軟件的整體形象,并且具體的描述每一個(gè)界面中的元素和布局、文字字體等信息。
在這個(gè)階段我也不應過(guò)多的說(shuō)什么,主要是每個(gè)UI設計師各自發(fā)揮你們的藝術(shù)專(zhuān)長(cháng)用最簡(jiǎn)潔、最漂亮的界面表現軟件產(chǎn)品。需要注意的就是在我們設計整體風(fēng)格的時(shí)候一定要深入了解這個(gè)產(chǎn)品的理念,看看它是干什么用的。不同的產(chǎn)品要有不同的風(fēng)格,這里邊有很多的細節注意,不同的產(chǎn)品、同類(lèi)的產(chǎn)品不同的內容、不同的傳播介質(zhì),這些都會(huì )決定UI設計的風(fēng)格。
1.不同的產(chǎn)品:比如一個(gè)游戲產(chǎn)品就需要將界面做的花哨一些或者用大的圖片充斥;如果要是一個(gè)應用軟件就需要突出使用方便和強大的功能設計要簡(jiǎn)潔。
2.同類(lèi)不同的內容:比如一個(gè)可愛(ài)的游戲產(chǎn)品(像是卡通類(lèi)游戲)就需要將界面做的活潑生動(dòng)可愛(ài)一點(diǎn);如果是一個(gè)角色扮演的戰斗類(lèi)游戲(像是槍?xiě)痍J關(guān)類(lèi)游戲)就要做的酷一點(diǎn)深沉一些。
3.不同的傳播介質(zhì):我們要做的軟件產(chǎn)品有的需要在網(wǎng)絡(luò )上傳播那么就需要我們考慮到網(wǎng)絡(luò )速度的問(wèn)題;有的就是利用光盤(pán)當作介質(zhì)那么這樣的軟件就可以做一些比較花哨的效果。
所以說(shuō)不同的產(chǎn)品還需要單獨考慮,這也需要UI設計師多多了解產(chǎn)品,保持與客戶(hù)交流。還需要重點(diǎn)注意的就是我們在做圖形化設計的過(guò)程中千萬(wàn)要貫徹在前一個(gè)階段做好的交互設計,始終注意產(chǎn)品的交互性和易用性。在設計過(guò)程中我們一定要做出每種結構每一個(gè)步驟的效果圖,不能只提供圖標、按鈕、背景圖等圖片,這樣的話(huà)程序員根本不知道往那放這些東西,在這個(gè)時(shí)期我們就要最終確定軟件界面的呈現形式。
技術(shù)建模一般是由高級程序員完成的,他們會(huì )將整個(gè)軟件開(kāi)發(fā)分為一個(gè)一個(gè)功能模塊,分配給一個(gè)一個(gè)的開(kāi)發(fā)小組。但是這些負責技術(shù)建模的高級程序員考慮更多的往往是如何將整個(gè)設計用代碼實(shí)現、怎么才能更有效的復用以前已有的模塊等等,而不是軟件是什么模樣會(huì )有什么樣的風(fēng)格,所以作為UI設計師我們必須主動(dòng)出擊,多多和他們交流以保證我們的想法能夠完整的實(shí)現,如果有技術(shù)實(shí)現的問(wèn)題我們還要及時(shí)做出修改。
有時(shí)候我們還需要根據客戶(hù)或者產(chǎn)品的特定需求做一些延伸性的設計(也叫UI產(chǎn)品設計的外延),包括:軟件的安裝導航界面、產(chǎn)品的演示宣傳動(dòng)畫(huà)、一些附帶的桌面壁紙或者屏幕保護、代表軟件的卡通小精靈、有時(shí)還會(huì )被要求設計軟件的logo和廣告banner等等。技術(shù)建模時(shí)期的關(guān)鍵是“風(fēng)格和界面設計”。
三.分模塊開(kāi)發(fā)時(shí)期:
這個(gè)時(shí)期軟件開(kāi)發(fā)過(guò)程進(jìn)入實(shí)現階段,也是需要人力最多的時(shí)期,這樣就會(huì )分散UI設計師的精力。軟件會(huì )被切分為若干個(gè)小的模塊進(jìn)行代碼編寫(xiě),*整合成一個(gè)完整的軟件產(chǎn)品。對于一個(gè)程序員來(lái)講他們大多根本不會(huì )考慮到產(chǎn)品應該是什么樣子應該有什么整體風(fēng)格,他們所考慮的只是如何用代碼實(shí)現設計的要求,而且在現在的軟件企業(yè)多都實(shí)現了模塊的復用,這樣會(huì )大大節約人力成本,那么程序員只是對原有模板進(jìn)行修改使之適應新的軟件產(chǎn)品,這樣就會(huì )對UI設計的最終貫徹和實(shí)現帶來(lái)很大的麻煩。
做出的每一個(gè)模塊雖然已經(jīng)能夠使用但是都是“各自為政”沒(méi)有統一,因此我們也需要主動(dòng)的協(xié)助和監督程序員完整的實(shí)現UI設計的要求,如果有技術(shù)無(wú)法實(shí)現的問(wèn)題需要及時(shí)溝通改正設計方案。有的時(shí)候有些模塊需要有單獨的風(fēng)格,比如一些已有的軟件產(chǎn)品需要集合到某一個(gè)新的產(chǎn)品中去,這樣就會(huì )加大了設計師的設計難度,我們必須要在保證產(chǎn)品整體風(fēng)格不變的情況下將原有產(chǎn)品的設計風(fēng)格集合進(jìn)去,使之更加適合新的產(chǎn)品表現形式。
如果我們仍舊保持原有產(chǎn)品的風(fēng)格那么當各個(gè)模塊集合起來(lái)之后往往會(huì )使新的產(chǎn)品感覺(jué)很松散,進(jìn)入每一個(gè)功能都會(huì )覺(jué)得是另外一個(gè)軟件,使人對軟件的印象不深刻。在這個(gè)階段我們還是要主動(dòng)一些,跟進(jìn)各個(gè)模塊界面的實(shí)現?,F在很多軟件企業(yè)都存在很多UI設計師和程序員的協(xié)作問(wèn)題,不是程序員做不到UI設計的要求,就是UI設計師堅持一些自己的想法不能改動(dòng),還有的時(shí)候經(jīng)常會(huì )有人過(guò)來(lái)沒(méi)頭沒(méi)尾的說(shuō)幫我做點(diǎn)東西吧!當軟件集成到一起再一看,就是很多不同風(fēng)格的東西堆砌到一起,從頭到尾都不舒服,領(lǐng)導或者客戶(hù)看了以后極度不滿(mǎn)狂批一陣,*得出結果UI設計做的不到位。
有人說(shuō)UI設計師就要背著(zhù)軟件不成功的黑鍋,因為人們根本看不見(jiàn)代碼怎么寫(xiě)的,功能是怎么實(shí)現的,他們只知道對軟件的樣子和使用進(jìn)行評論。讓一個(gè)用戶(hù)評論一個(gè)軟件他們只會(huì )說(shuō)這個(gè)軟件好用看上去也不錯挺漂亮的,但是做為一個(gè)普通用戶(hù)決不會(huì )有人說(shuō)這個(gè)軟件程序寫(xiě)的不錯。
這么一看我們會(huì )聯(lián)想到現在軟件開(kāi)發(fā)之中主要的沖突在UI設計師和程序員之間,其實(shí)這只是表面的表現形式。實(shí)質(zhì)上這個(gè)現象體現了現在軟件企業(yè)的一個(gè)通病就是這個(gè)開(kāi)發(fā)組之間的協(xié)作關(guān)系混亂,程序員和UI設計師之間是平級協(xié)作關(guān)系,程序員是不會(huì )對產(chǎn)品負責的,這樣看來(lái)UI設計師只應該聽(tīng)項目經(jīng)理的,無(wú)論對設計做什么樣的改動(dòng)或者增添什么樣的東西,都應該由開(kāi)發(fā)項目經(jīng)理和產(chǎn)品經(jīng)理協(xié)商之后決定,只有他們可以對最終的產(chǎn)品負責。這樣也可以避免很多程序員和UI設計師之間的爭執和矛盾。
但是現在大多說(shuō)軟件企業(yè)的產(chǎn)品經(jīng)理和開(kāi)發(fā)項目經(jīng)理沒(méi)有做到這一點(diǎn),他們也根本不了解UI設計師和程序員的工作,也無(wú)法把握他們的工作量,這樣無(wú)序的管理會(huì )造成很麻煩的后果。其實(shí)可以建立一些合理的流程管理制度,就算企業(yè)沒(méi)有作為UI設計師也可以自己起草一份適合自己和企業(yè)的“UI設計需求申請單”,里邊應該列出我們需要的“輸入”內容、工作時(shí)間、最終的“輸出”結果等等欄目(可以自己根據要求靈活決定)。這樣形成一個(gè)有參與人、有依據、有存底的工作流程,出現問(wèn)題或者爭執的時(shí)候我們有據可依,這只是一個(gè)習慣性的東西因不同的企業(yè)而議不一定都要建立需求單。在分模塊開(kāi)發(fā)時(shí)期UI設計師應該做的是,在模塊開(kāi)發(fā)的前期做出產(chǎn)品每個(gè)模塊的效果demo(可以用圖片的形式表現)要求程序員按照demo的樣式進(jìn)行模塊開(kāi)發(fā),協(xié)助和監督程序員嚴格按照UI設計要求生成最終產(chǎn)品,把握各個(gè)模塊的統一,經(jīng)常了解程序員的工作進(jìn)展及時(shí)對不合理或者難以實(shí)現的設計進(jìn)行討論設計出新的方案。分模塊開(kāi)發(fā)時(shí)期的關(guān)鍵是“協(xié)助和監督程序員生成最終產(chǎn)品”。
四.測試時(shí)期的輸入和輸出:
軟件產(chǎn)品的測試會(huì )分為三個(gè)測試階段,*個(gè)是分模塊開(kāi)發(fā)完成之后每一個(gè)模塊進(jìn)行的單元測試;第二個(gè)是將各個(gè)單元集成為一個(gè)整體的產(chǎn)品進(jìn)行集成測試;第三個(gè)就是整個(gè)產(chǎn)品在交付使用前進(jìn)行的整體測試。在測試過(guò)程中UI設計師的任務(wù)相對會(huì )輕松一些,我們只需要跟著(zhù)測試人員走幾遍流程,如果在其中發(fā)現沒(méi)有按照UI設計要求的部分及時(shí)要求改正就好了。
我們還會(huì )經(jīng)常遇到客戶(hù)在測試過(guò)程中突然覺(jué)得那里不合適需要修改,這也是最最頭疼的事情了,有的時(shí)候他們說(shuō)的并不一定對,只要我們設計的每一個(gè)步驟都有一定的道理能夠說(shuō)服他們就一切ok了。如果他們執意要修改設計方案,那么我們沒(méi)辦法只能按照客戶(hù)需求修改。但是如果前邊按照本文的流程走下來(lái)我想這樣的可能性不大就算是修改也不會(huì )是大動(dòng)干戈。在修改過(guò)程中我們還是需要先做出效果圖,讓客戶(hù)確定再具體實(shí)施,這樣也會(huì )避免很多麻煩的。測試時(shí)期的關(guān)鍵是“檢查整個(gè)產(chǎn)品發(fā)現問(wèn)題及時(shí)改正”。
如今軟件的越來(lái)越多的考慮到人的因素,“以人為本”的設計理念貫穿了整個(gè)軟件產(chǎn)品開(kāi)發(fā)的始終,因此軟件產(chǎn)品的UI設計過(guò)程最重要的兩個(gè)部分就是行為和構造,也就是交互設計和界面設計。上面我們按照軟件開(kāi)發(fā)的四個(gè)階段,逐個(gè)的分析了每個(gè)時(shí)期UI設計的任務(wù)。由此我們可以看出UI設計并不完全是一個(gè)美術(shù)設計的過(guò)程,還有很重要的一個(gè)部分就是交互性和易用性的設計。我們要時(shí)刻把自己放在軟件的用戶(hù)角度來(lái)考慮,設計出最簡(jiǎn)單易用,界面友好的軟件產(chǎn)品。
善于使用繼承,讓美工團隊去設計窗體的界面,程序團隊只去實(shí)現窗體功能