茫茫網海中的冷日 - 對這文章發表回應
茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1671803 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
HoneyMoon_Day3_00027.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

對這文章發表回應

發表限制: 非會員 可以發表

發表者: 冷日 發表時間: 2008/3/19 7:52:59
軟體設計美學之道第1回——美力時代?軟體烏托邦
前幾個月讀了一本封面標題為「美力時代」的商業周刊,封面的小標──「當美成為時代的新競爭力,你也該為美感能力建立存摺」,讓我愣了幾十秒:這是多麼簡單而又令人震撼的一句話,道盡了近年來世界科技及經濟的進化。

美感這兩個字可以應用到人們感觀所能觸及到的所有事物,因此除了看到的商品,享用的服務也一樣開始受著「美力」所影響。從最近蘋果電腦的白色旋風iPod,以及由ICQ啟始而影響人們溝通習慣的網路即時傳訊、部落格(Blog)到網路相簿(如最近熱門的Flickr)等等,大家應該就可以感受到了吧。由「美力」所帶來的經濟力是如此強大,各行各業的產品也好,服務也好,都越來越講究精緻甚至豪華,產品或服務的功能面已經是基本的要求,似乎美的展現才是大家的決戰點。

美的本質是創造力

其實美的追求是人類的天性,當社會進步到某一個程度,我想這是合理的現象,人類也是感觀的動物,遇到美麗的事物,人們可以利用五官,甚至是心去感受,而「設計」,是表現出美的方法之一,例如華裔建築師貝聿銘為法國羅浮宮設計了一個玻璃金字塔入口,那是一個很美的架構,人們即使不懂它的設計原理,也可以用眼睛去欣賞它的外觀,用心去感受它古典造型及現代建材的融合。

我常常在想,那軟體設計的工作呢?軟體的「設計」有人能看的到嗎?它的美有價值嗎?當我在讀《Software Architecture in Practice》一書時,封面的羅浮宮玻璃金字塔照片表達了軟體架構的美──就和偉大的建築一樣,而差別只在於建築是人人看得到摸得到,而軟體架構卻不是。既然如此,軟體的設計需要美學嗎?還是只在學理派的烏托邦才看得到呢?美學大師蔣勳的一句話「…美的本質是創造力…」,讓我更相信自己心中的軟體烏托邦,軟體的本質也是創造力,「設計」則是讓創造力具化出美的手段。


看到這裡,也許有一些經驗較豐富的軟體人會笑說,在臺灣的軟體環境裏,軟體美學是沒有價值的。可能是因為臺灣的軟體市場小,所以臺灣的軟體公司資本也比較小,讓臺灣的老闆比較重視馬上看得到的「錢」途,而大家也總是比較重視「看得到的設計」,對於「看不到的設計」,在沒發生任何狀況前,大多是自然地忽略,因此就養壞了市場對於軟體設計的不尊重,並間接影響到軟體開發人員的價值。我姑且不評論這個適合放到討論網站的題目,以及會變成砲灰的答案,因為事情的看法常常和信仰有關,而現實的對與錯是不會影響到信仰的,對不對?所以先來談談我所看到的軟體美學吧。

軟體架構之美好比建築之美
我不得不拿建築來比喻軟體開發,因為真的太相似了,建築師設計出建築藍圖之後,需要有各類專家依照藍圖的設計,真正地將房子蓋起來,而軟體開發也是同樣需要設計及實作的。那什麼能夠感覺到美呢?一個建築師發揮創意所蓋出來的房子,應該是兼具美麗外觀、安全與實用等等,人們可以從建築的實體,感受出建築師的創意,進而感受出這一種美的「思維」,因此,除了形狀、顏色、聲音或者動作可以讓人感覺到美,思維也應該能讓人感覺美,而設計就是一種高度的思維活動。


從建築師的「創意」到施工實作的過程中,還需要「溝通」,不然思維是無法實現的。相同的,軟體的設計就是將「創意」的思維表現出來,有創意的軟體設計必需要能與實作者溝通,而溝通最好的工具,就是共同的語言。

有空多敷Pattern面膜
近年來OOAD盛行後,匯集物件導件精髓的Design Pattern,就是用來發揮創意解決問題並且表達溝通最好的共同語言了,在軟體設計人員驅之若騖學習之餘,大家除了要了解它的使用時機,其溝通的意義也是很重要的。

美麗,真的該從頭開始,身為軟體開發人員應該有空就敷一下Pattern面膜,因為這些是許許多多前人所留下的智慧,當你從其中感受出設計思維之後,對於這些美麗元素能不發出讚嘆都會很難,我也是在了解Pattern的過程中,慢慢地體會到物件導向的精神。

軟體架構的風格與結構
一個軟體系統就像建築一樣,有其風格及結構,就是所謂的軟體架構。調理出好的架構體質對軟體系統未來的美麗外觀、堅固安全與實用是非常重要的,這和一般疊床架屋的蠻幹方式有很大的不同。


使用思維來塑造軟體架構的美感,也就是使用Pattern來設計軟體架構,並且以架構為中心的開發方式,可以讓設計的美麗從軟體核心一層一層地透出來。而物件導向的精髓提供了軟體架構許多巧妙的設計或者擴充空間,進而影響軟體未來的實作與發展。

一個軟體專案的開發過程當然包含了許許多多不同領域及責任的專家們,這是一種需要團隊合作的藝術,單純的利用Pattern來溝通創意當然是不夠的。專家們有不同的理念及需求,這是一個複雜的現實環境,而藝術與現實的結合才能實現創意,才能讓人感動吧!

一個有效的軟體開發流程就像是一位導演,指揮著不同的專家,在適當的時機使用相同的語言,來溝通整合大家的創意及需求。因此有了思維還不夠,我們需要方法才能導演出美麗,甦醒軟體美學。

講了那麼多虛無飄渺的東西,感覺像藝術一樣距離遙遠,也許這真的需要在烏托邦才做得到,當然,尋找軟體烏托邦是充滿挑戰的,而膽識是必要的條件。

《作者簡介》葉政達

艾群科技研發中心技術經理,中原大學電子工程研究所碩士。曾任職於網際商擎科技、台聯電訊研發工程師等職,專精於OOAD、軟體架構設計、Pattern、J2EE、J2SE、行動運算應用;通過SCEA、SCWCD、SCJP等認證。曾參與電子商務系統、航空即時訂票系統、SNMP網路管理產品開發、亞太電信QMA Image Solution、Sandio Mobile Sync產品設計開發等專案規畫建置。
內容圖示
url email imgsrc image code quote
樣本
bold italic underline linethrough   












 [詳情...]
validation picture

注意事項:
預覽不需輸入認證碼,僅真正發送文章時才會檢查驗證碼。
認證碼有效期10分鐘,若輸入資料超過10分鐘,請您備份內容後,重新整理本頁並貼回您的內容,再輸入驗證碼送出。

選項

Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|