設計軟體架構是軟體架構師和分析師的最為重要的工作,作為軟體基因的架構,應該增加一點以人為本的成分,讓軟體更加貼近使用者,更加人性化。
 
Windows Vista
筆者最近參加了一個關於Windows Vista的技術講座,眾多的人性化功能吸引了我。從友好的介面,簡潔的操作中足以看出微軟在人性化設計上花費了很大氣力。蘋果的最新作業系統——Mac OS X Leopard,從目前能看到的一點點預覽中也能夠看出其在人性化功能上花費了不少氣力。Leopard最終會提供什麼功能,只能等到它的蓋頭完全掀起才能全部領略,不過可以肯定的是微軟與蘋果公司都在人性化設計方面花費了不少心思。
大家可能對諾基亞的那句廣告詞習以為常了——科技以人為本。是的,手機尚且如此,每天那麼多人都要使用的軟體更應該如此了。從上述這些即將釋出的作業系統可以感覺到軟體以人為本的理念。其實軟體以人為本的設計思想早已不是什麼新鮮理論了,具體體現在人性化設計、應用挖掘以及多元化選擇三個方面,下面就以大家接觸最多的軟體——作業系統為例,來闡述軟體以人為本的具體體現。
 
人性化設計
關於人性化設計大家最容易理解,不外乎將軟體設計得更加易用、更加方便、更加高效。人性化的介面,人性化的功能還有人性化的操作,這從下文對Windows Vista、SUSE 10的介紹中可以體會一點吧。然而,這只不過是軟體的以人為本的初級表現。
 
應用挖掘
筆者使用了“應用挖掘”這個自創名詞,何謂應用挖掘呢?就是充分挖掘現有技術的潛力,將這些技術落實到某種應用,如Windows Vista中的家長管理功能:可以控制兒童在使用Windows Vista時執行什麼程式,上什麼網站,訪問那些資源,並將孩子進行的操作一一記錄。這個功能並沒有新增多少新技術,只是充分挖掘了組策略的應用並加以功能聚合和定製。另外如SUSE 10中的YaST,較好地解決了Linux軟體和驅動安裝的難題,使使用者可以更加便捷地使用Linux。這項功能只是整合了一些早就出現的命令列工具新版本並加以圖形化包裝而已,但這樣的確確地改善了使用者操作體驗,降低了使用者使用難度,提高了效率。
應用挖掘可以說是軟體應用以人為本的一個較高層次表現。
 
多元化選擇
這點比較容易理解,就是給軟體使用者自由選擇的權利,滿足軟體使用者的不同需求和個性化選擇。說得通俗點就是“蘿蔔白菜各有所愛”,充分尊重軟體使用者的喜好。軟體世界同現實世界一樣,也是一個多極化的世界,很多人需要簡單易用的 Windows,但還有一些人青睞靈活、高效、自由的Linux,還有人對蘋果的作業系統情有獨鍾,除了自由選擇和個性化因素,更為關鍵的是每種作業系統術業有專攻,各有各的特點和優勢,誰也不能完全取代誰。軟體的世界需要多極化,需要豐富多彩,既需要Copyright也需要Copyleft,既需要商業軟體也需要開源軟體。

今後的軟體不再是複雜、冷冰冰的控制流程,而是一個充滿人性化的享受和體驗,讓使用者在0和1的世界裡也可以感到人文關懷,當然,這些都需要軟體架構師和分析師在架構軟體前充分地考慮和調研。