柏苗
西南計算機有限責任公司 重慶 400060
我們可以認為軟件系統是一個信息系統的“靈魂”,而硬件系統是信息系統的“骨肉”,兩者缺一不可,相輔相成。但是真正讓一個信息系統脫穎而出,區別于其他信息系統的只能是它所承載的軟件系統。比如蘋果手機雖然硬件水平不一定是同期內手機中的翹楚,但是蘋果特有的IOS系統,讓IPhone顯得卓爾不凡。蘋果手機的成功很大一部分取決于作為靈魂的軟件系統IOS的成功。
我們把信息系統模型抽象出來三大能力,思維能力,記憶能力和交流能力。所謂思維能力就是信息系統處理所收到信息的能力,思維能力是三大能力中的核心,一個信息系統優于同類信息系統的表現主要就在超越同類的信息處理能力;所謂記憶能力就是信息系統記錄和存儲信息的能力,是現實世界在系統中的影像,是思維的前提,為信息交流提供基礎;所謂交流能力就是信息系統與外界通信進行交互信息的能力,它也是三大能力中不可或缺的,一個“封閉”和“對外隔絕”的信息系統是毫無意義的存在。本文采用信息系統模型三大能力的觀點,再加上一些并行,串行等的模型化觀點對好的軟件系統進行分析。
一款好的軟件系統必定是一款易用的系統。對應于信息系統三大能力中的交流能力。一款好用的軟件,應該是一款好“交流”的軟件。
這個“交流”可以是機器與機器的交流,表現在實際中就是一款軟件的兼容性強,它可以跨軟件平臺運行,比如支持windows、Linux、IOS各種操作系統,它也可以跨硬件平臺運行,比如支持X86架構,ARM架構等。
這個“交流”還可以是軟件與軟件的交流,在實際中,一款易用的軟件必定擴展性強,接口眾多,比如很早就風靡一時的魔獸爭霸游戲,他給用戶提供了自定義的接口和地圖編輯器,在魔獸爭霸基礎上開發出來的Dota,同樣廣受玩家的追捧。
這個“交流”,我覺得最重要的還是人與軟件系統的交流,主要但不僅僅限于人機界面的設計。當今社會,軟件行業競爭激烈,每款產品都在不停升級以防止被社會所淘汰,筆者認為,對各種商業化軟件的升級最主要的工作就是在設計新的人機界面上,用樣式更美觀,操作更便捷的界面風格來吸引和留住用戶,使軟件產品能長盛不衰。比如最近我在使用Excel編輯敏感數據,我需要將此excel發送給另外的人,但是又不希望敏感的數據遭到篡改,那么excel就提供了對工作表的鎖定功能。通過對工作表的鎖定,必須要有密碼才能對被鎖定的數據進行修改。這樣保證了通過excel進行通信的時候,數據的完整性和正確性;再比如大家都廣為熟悉的微信軟件,其核心功能幾乎一直沒變,但是體現給用戶的是越來越炫的界面,越來越人性化和便捷的操作,我相信這些不停升級的努力,也是微信能長期保持大量用戶的原因之一;包括常使用的語音助手等,其實也是為了提高軟件與人類交流的能力。所以,一款好的軟件系統是在不斷追求與人更好地溝通的[1]。
前面我們重點談到了交流能力,這是因為筆者認為軟件的易用性是目前軟件成敗的根本;接下來我想談一下思維能力,這是區別一款軟件強大與否的關鍵。
一個強大的系統肯定是一個支持并行的系統,即是一個能支持多線程,多進程的系統。因為用戶總希望能同時用軟件系統做幾件事情,比如一邊聽歌,一邊上網,一邊寫作業。
一個強大的系統必須也是一個穩定的系統,一個三天兩頭崩潰宕機的系統肯定是誰都不愿意使用的。從系統模型的觀點,穩定的系統必定是合理的使用的負反饋的機制和閉環控制的思想,及對所有可能的異常進行合理的糾偏,使得軟件回到正確的軌道上來,避免加大錯誤的正反饋。
眾所周知,在硬件水平一定的情況下,程序的算法決定程序的運行效率。從軟件系統模型的觀點來看,所有的程序不外乎于三種結構:順序,選擇,循環。那么如何合理的組織好這三種結構,來提升軟件系統的運行效率,這個是開發人員需要考慮的事情。
按人們以往一貫的思維,更強大的軟件系統必定要更耗費硬件的資源。但是windows 8的出現顛覆了人們的這一觀點。Win8運行的最低配置要求甚至比win7還低,而在相同配置的機子上運行win8的速度明顯比win7要快。不得不說,微軟的工程師肯定是透徹理解了信息系統的三大能力之思維能力的需要,對軟件系統進行了良好的設計,從而實現了更加強大的思維能力。
目前,云的概念是被吹得如火如荼,在筆者看來,就云存儲而言,其實歸根到底還是人們對信息系統的記憶能力的要求的一種延伸。信息社會,信息是大爆炸的,是海量的,任何人,任何存儲設備都不能指望能存下所有的海量信息,但是云的概念的出現,就是為了方便人們對信息的存放和獲取。信息系統不但要能存東西,還要方便,只要有網絡的地方,我就可以和“云端”進行交互信息,往云端放,從云端取。
目前云的應用在針對個人用戶的范圍內是廣泛的發展,什么云電視、云手機是應接不暇。但是在針對企業級用戶的領域內還有待拓展。這個很大的一個因素就是用戶基于安全性的考慮。一個企業他有沒有信心將作為商業秘密的商業數據交給云服務商進行托管,這是一個亟須解決的問題。
所以我們在考慮信息系統的記憶能力時,不僅要考慮實現的方便性,更重要的一點是記憶的安全性,就是信息系統的記憶會不會被未授權的用戶所非法的獲取。我想所有人都不希望自己的記憶對其他所有人都是可見的吧。
在筆者的實際工作中,還接觸到一類軟件系統對數據的存儲有著極為苛刻的要求。數據需要定期的增量備份,需要鏡像全量備份,還需要有災難恢復的機制。所有的種種,其實都是客戶對軟件系統模型的記憶能力提出的更高的要求。
采用軟件系統模型的觀點來重新看待身邊的軟件系統,發現凡是優秀的軟件系統必定是能夠透過現象發現本質,采用軟件系統模型的思想與方法論。