郝 鳴
[摘要]對(duì)軟件開(kāi)發(fā)過(guò)程中界面設(shè)計(jì)師與開(kāi)發(fā)者的任務(wù)分工與合作問(wèn)題進(jìn)行探討,分別對(duì)設(shè)計(jì)師與開(kāi)發(fā)者提出一些要求使其能夠在軟件開(kāi)發(fā)的過(guò)程中充分發(fā)揮各自所長(zhǎng),從而促進(jìn)開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)造出更加吸引人的軟件產(chǎn)品。
[關(guān)鍵詞]軟件開(kāi)發(fā) 用戶界面 合作模式 團(tuán)隊(duì)管理
中圖分類號(hào):C96文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0910218-01
一、前言
隨著計(jì)算機(jī)的廣泛應(yīng)用,越來(lái)越多的人開(kāi)始使用計(jì)算機(jī)進(jìn)行工作。隨之而來(lái)的問(wèn)題是如何使人們更好的使用計(jì)算機(jī)軟件,用戶界面[1]的可用性與用戶體驗(yàn)[2]直接影響到軟件產(chǎn)品的推廣和銷售。逐漸地用戶界面設(shè)計(jì)師成為了軟件開(kāi)發(fā)團(tuán)隊(duì)中的一個(gè)重要的角色。如何使用戶界面設(shè)計(jì)師融入軟件開(kāi)發(fā)團(tuán)隊(duì)中,使感性思維與理性思維的結(jié)合達(dá)到一種平穩(wěn)、互補(bǔ)的狀態(tài)是軟件團(tuán)隊(duì)管理上的一個(gè)重要工作。
二、合作中的問(wèn)題
在軟件開(kāi)發(fā)團(tuán)隊(duì)中,用戶界面設(shè)計(jì)師與開(kāi)發(fā)者的合作類似與“打網(wǎng)球”的形式。在軟件系統(tǒng)的實(shí)現(xiàn)階段,先由用戶界面設(shè)計(jì)師設(shè)計(jì)出界面原型,其生成產(chǎn)物一般是不具有任何交互性的位圖圖片。而后開(kāi)發(fā)者以設(shè)計(jì)師的設(shè)計(jì)原型為基礎(chǔ)用程序代碼進(jìn)行實(shí)現(xiàn)。當(dāng)開(kāi)發(fā)者在實(shí)現(xiàn)設(shè)計(jì)師所設(shè)計(jì)的界面時(shí),設(shè)計(jì)師這個(gè)時(shí)候是沒(méi)有具體工作的,這其實(shí)是一種資源的浪費(fèi)。
當(dāng)開(kāi)發(fā)者將實(shí)現(xiàn)后的界面反饋給設(shè)計(jì)師的時(shí)候,或許爭(zhēng)執(zhí)就隨之產(chǎn)生了。用程序代碼來(lái)實(shí)現(xiàn)設(shè)計(jì)師的意圖并不是想象的那么容易,如果是開(kāi)發(fā)基于Win32的程序,那么就需要調(diào)用大量的Windows API實(shí)現(xiàn)自繪界面。設(shè)計(jì)師往往不滿意開(kāi)發(fā)者的“作品”。作為開(kāi)發(fā)者更是怨聲載道,認(rèn)為開(kāi)發(fā)程序可要比設(shè)計(jì)師畫(huà)張圖復(fù)雜得多。雙方都不能理解對(duì)方,這不利于開(kāi)發(fā)工作的繼續(xù)進(jìn)展。從根本上講,這是由于藝術(shù)與技術(shù)上的鴻溝造成的。由此可見(jiàn),要在一個(gè)開(kāi)發(fā)團(tuán)隊(duì)里同時(shí)發(fā)揮設(shè)計(jì)師與開(kāi)發(fā)者最大的能力,達(dá)到開(kāi)發(fā)進(jìn)度上的有效把握具有很大難度。
三、新的軟件開(kāi)發(fā)模型
傳統(tǒng)的軟件開(kāi)發(fā)模型確實(shí)存在著不利于設(shè)計(jì)師與開(kāi)發(fā)者進(jìn)行合作的因素,要解決這個(gè)問(wèn)題首先需要填補(bǔ)藝術(shù)與技術(shù)的鴻溝。微軟的Expression Blend+Visual Studio 2008組合,Adobe的Flash Catalyst+Flex組合是新型開(kāi)發(fā)工具的典型代表。這兩大公司所推出的解決方案在大體思想上是相同的,即將軟件界面與業(yè)務(wù)邏輯進(jìn)行分離,并提供無(wú)縫合并的能力。他們各自推出了基于XML的界面描述語(yǔ)言,微軟的界面描述語(yǔ)言為XAML,Adobe的界面描述語(yǔ)言為MXML。XAML和MXML都是設(shè)計(jì)師與開(kāi)發(fā)者便于理解的標(biāo)記語(yǔ)言,這可以讓設(shè)計(jì)師快速構(gòu)建軟件的界面,而且設(shè)計(jì)師產(chǎn)出的成品可以無(wú)失真的直接由開(kāi)發(fā)者直接使用,之前由界面設(shè)計(jì)位圖轉(zhuǎn)化為可執(zhí)行的程序代碼的鴻溝被界面描述語(yǔ)言填平了。開(kāi)發(fā)者和設(shè)計(jì)師完全可以各司其職,做好自己擅長(zhǎng)的工作。這是技術(shù)的更新帶給軟件開(kāi)發(fā)的進(jìn)步,但是僅僅有技術(shù)的支持并不能真正解決軟件開(kāi)發(fā)團(tuán)隊(duì)中兩種角色高效合作的問(wèn)題。
四、開(kāi)發(fā)團(tuán)隊(duì)中人員配置
在傳統(tǒng)的軟件開(kāi)發(fā)團(tuán)隊(duì)成員中大多是由計(jì)算機(jī)相關(guān)專業(yè)的人員組成,這部分群體對(duì)軟件開(kāi)發(fā)了如指掌。他們把注意力集中在軟件系統(tǒng)的功能開(kāi)發(fā)上,對(duì)軟件的界面設(shè)計(jì)大多沒(méi)有經(jīng)過(guò)專業(yè)培訓(xùn)。如果要與設(shè)計(jì)師進(jìn)行合作,他們應(yīng)該對(duì)交互設(shè)計(jì)進(jìn)行基本的了解與掌握,但并不要求熟悉或者精通,因?yàn)檫@部分工作完全可交給設(shè)計(jì)師來(lái)完成。為了更好的和設(shè)計(jì)師的產(chǎn)出物進(jìn)行整合,在開(kāi)發(fā)的過(guò)程中應(yīng)該適當(dāng)?shù)牟捎贸墒斓能浖_(kāi)發(fā)框架,這可以從基礎(chǔ)的軟件架構(gòu)上將界面和邏輯進(jìn)行分離。而且,盡可能的將所有的對(duì)軟件的操作都用更細(xì)的粒度進(jìn)行劃分,并用Command模式[3]進(jìn)行封裝便于整合設(shè)計(jì)師設(shè)計(jì)的界面交互模型,即便在日后的調(diào)整和維護(hù)中也可以高效快速的進(jìn)行調(diào)整而不會(huì)影響到程序的業(yè)務(wù)邏輯結(jié)構(gòu)。
設(shè)計(jì)師的加入為軟件開(kāi)發(fā)團(tuán)隊(duì)注入了新鮮的血液,設(shè)計(jì)師群體普遍具有感性的思維方式,邏輯思維不象開(kāi)發(fā)者那樣縝密。他們的工作重點(diǎn)是發(fā)揮創(chuàng)意來(lái)為軟件設(shè)計(jì)良好的交互模型和優(yōu)雅的圖形界面。正規(guī)來(lái)講,設(shè)計(jì)師應(yīng)細(xì)分為交互設(shè)計(jì)師與圖形用戶界面設(shè)計(jì)師。交互設(shè)計(jì)師側(cè)重與軟件的交互設(shè)計(jì),圖形用戶界面設(shè)計(jì)師側(cè)重于軟件表面的工作。一般情況下,這兩種角色通常由一個(gè)人來(lái)充當(dāng)。這就對(duì)設(shè)計(jì)師提出了一些較高的要求。從根本上來(lái)講,軟件開(kāi)發(fā)還是一項(xiàng)理性工作,感性思維占優(yōu)的設(shè)計(jì)師要融入這個(gè)團(tuán)隊(duì),還是需要他們將“個(gè)性”進(jìn)行收斂,讓設(shè)計(jì)工作建立在合理可用的基礎(chǔ)之上。設(shè)計(jì)師對(duì)軟件開(kāi)發(fā)或許不是那么了解,將設(shè)計(jì)師融入軟件開(kāi)發(fā)團(tuán)隊(duì)的首要任務(wù)是要使設(shè)計(jì)師更加了解軟件的運(yùn)行機(jī)制。針對(duì)不同程度的設(shè)計(jì)師,提出以下幾種方案。
1.沒(méi)有任何界面設(shè)計(jì)經(jīng)驗(yàn)的設(shè)計(jì)師。這部分設(shè)計(jì)師一般不具備界面設(shè)計(jì)的經(jīng)驗(yàn),其原來(lái)的專業(yè)方向大多為平面設(shè)計(jì)。他們的知識(shí)結(jié)構(gòu)決定其不具備較強(qiáng)的邏輯思維能力,但是具備很強(qiáng)的視覺(jué)傳達(dá)方面的專業(yè)知識(shí)。針對(duì)這樣的設(shè)計(jì)師,軟件開(kāi)發(fā)團(tuán)隊(duì)可對(duì)其進(jìn)行相關(guān)培訓(xùn)使其對(duì)軟件開(kāi)發(fā)中的規(guī)則與限制進(jìn)行了解。這對(duì)于此種類型的設(shè)計(jì)師來(lái)講是個(gè)不小的挑戰(zhàn),因?yàn)樗麄円呀?jīng)習(xí)慣了“自由繪圖”式的工作方式,大腦中對(duì)這種工作方式也絕對(duì)認(rèn)可,如果讓他們進(jìn)行軟件界面的設(shè)計(jì)將會(huì)在一定程度上限制他們的自由。這就需要團(tuán)隊(duì)中的開(kāi)發(fā)者與其進(jìn)行充分的溝通和引導(dǎo),使其在軟件開(kāi)發(fā)的規(guī)則下自由創(chuàng)作。
2.對(duì)人機(jī)交互有一定了解的設(shè)計(jì)師。這部分設(shè)計(jì)師大多從工業(yè)設(shè)計(jì)專業(yè)轉(zhuǎn)型而來(lái),他們對(duì)人機(jī)交互有一定的了解,并且工業(yè)設(shè)計(jì)專業(yè)的知識(shí)結(jié)構(gòu)使他們本身就具有一定的邏輯思維能力,并且兼具較強(qiáng)的設(shè)計(jì)能力。這種類型的設(shè)計(jì)師只要經(jīng)過(guò)短時(shí)間的培養(yǎng),即可勝任軟件界面的設(shè)計(jì)工作。經(jīng)過(guò)培訓(xùn)后的設(shè)計(jì)師通過(guò)閱讀軟件開(kāi)發(fā)說(shuō)明文檔,能夠與開(kāi)發(fā)者進(jìn)行同步開(kāi)發(fā),進(jìn)行無(wú)縫的合作。
3.具有豐富界面設(shè)計(jì)經(jīng)驗(yàn)的設(shè)計(jì)師。這部分設(shè)計(jì)師參與過(guò)若干軟件項(xiàng)目的開(kāi)發(fā),對(duì)用戶界面設(shè)計(jì)乃至軟件開(kāi)發(fā)的流程非常熟悉。對(duì)于此類設(shè)計(jì)師要讓他們承擔(dān)起設(shè)計(jì)團(tuán)隊(duì)的管理工作,帶領(lǐng)上述兩種類型的設(shè)計(jì)師進(jìn)行工作。為充分發(fā)揮其能力,要讓他們參與軟件系統(tǒng)的需求分析和系統(tǒng)設(shè)計(jì)的工作,目的是讓他們從軟件的可用性和用戶體驗(yàn)的角度對(duì)軟件的整體設(shè)計(jì)提出他們的想法與積極的建議。他們的意見(jiàn)或建議正好彌補(bǔ)傳統(tǒng)的軟件工程師只注重軟件系統(tǒng)功能、效率等技術(shù)層面的缺陷,使整個(gè)軟件系統(tǒng)在設(shè)計(jì)之初就更加合理。
五、總結(jié)
優(yōu)秀的軟件系統(tǒng)不僅僅是功能的強(qiáng)大,同時(shí)還需要具有良好的軟件界面方便最終用戶的使用。新的軟件開(kāi)發(fā)模型需要用戶界面設(shè)計(jì)師的加入。設(shè)計(jì)師在軟件開(kāi)發(fā)團(tuán)隊(duì)中起到越來(lái)越重要的作用。傳統(tǒng)的軟件開(kāi)發(fā)團(tuán)隊(duì)?wèi)?yīng)該對(duì)設(shè)計(jì)師進(jìn)行引導(dǎo),使其能夠較好的融入復(fù)雜的軟件開(kāi)發(fā)工作中。對(duì)設(shè)計(jì)師與開(kāi)發(fā)者進(jìn)行合理有效的配置與管理可使軟件開(kāi)發(fā)團(tuán)隊(duì)的工作更加高效,創(chuàng)造出更加吸引人的軟件系統(tǒng)。
參考文獻(xiàn):
[1]Alan Cooper,Robert Reimann,David Cronin著,About Face 3交互設(shè)計(jì)精髓,北京:電子工業(yè)出版社,2008.
[2]Steve Krug著,Don't Make Me Think:A Common Sence Approach To Web Usability,北京:機(jī)械工業(yè)出版社,2006.
[3]Erich Gamma,Richard Helm,Ralph Johnson等著,李英軍、馬曉星、蔡敏等譯,設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ),北京:機(jī)械工業(yè)出版社,2004.