軟件的品質就像內褲一樣重要~

這是上上個星期 (9月底),我至大陸深圳「軟件園區-產學研究中心」教授兩天的「雲端與安卓系統開發與實務-案例研討」課程時,在他們大樓的男廁所小便時看到的這一段話:「素質就像內褲,雖然看不到,但是很重要。」

天哪,這麼的俗卻又如此的貼切,恰好可以用來解釋軟體的「結構設計」,這一向被軟體開發人員所忽視,但卻才是維繫系統的主結構根基。

「結構 (structure)」是系統組織的一種方式 (A manner of organization),每一種可以呈現完整全貌的事物,內涵必然是由許多的元素 (elements),以某種的形式所組合而成。

以「咖啡」為例,它可以是被視為一個整體,其結構組成的主要元素有 「咖啡粉」,「糖(optional)」,「奶精(optional)」,「水」 等。藉此一個小例子可以知道:整體物件是由內部眾多不同種類的元素所組成的。

而內部的組成元素也是由其它更細部的元素所組成,例如,水的結構成分是由 H2 + O 所組成。如此也可以知道:整體物件內的組成元素是屬於具有層次的階層式結構 (hierarchical structure)。只不過,是否有必要一直追蹤到更細部層次的組成元素,其實有待商確。例如,煮咖啡會在乎是否要加糖、加奶精,但卻沒有必要分析水的結構(H2O)吧。

小至被視為是單一的物件,但其實仍是由眾多更小的元素所來組成;大至所謂的「系統 (system)」,則總成的元素更是多種類,且可能需要探究至更細部的階層內。

例如「工作流程 (workflow)」系統,大的組件可能有「流程引擎 (engine)」,「流程定義 (process definition)」,「規則 (rule)引擎」等主要的元件 (component)。而「流程引擎」元件內則可能由「process instance」,「activity」,「task」等更細部的元素所組成。

「結構的分析與設計」,正是在探究上述所謂的組成元素。分析得好與否,影響到的是耦合度 (coupling)問題,也就是比較與「彈性度」、「延展性」、「再利用性」等議題有關,但與系統的實作關係卻沒麼大。

可惜,由於現今應用系統的開發越形走向速食文化,只重視「光鮮亮麗」、「華而不實」的表象。至於「內涵」,誰在乎你!有沒有穿內褲,會不會影響到長期的身心狀況,沒那麼重要啦。

[系統安裝] 安裝 Windows 7 64bit OS (20091118)

最近我的 Desktop 系統又開始不穩定了。 當你安裝了許多有的沒的,這樣的情況是必然會發生的,而最佳的解決方式不是去調教,重新安裝絕對是最快的途徑。 所以利用上個星期假日,乾脆把系統重灌成 Windows 7 64bit,因為我一向迷信大容量記憶體,目前主機板上是插了 6GB 的 DDR2 記憶體,要能完全用上,必然是要安裝 64bit 的作業系統了。

安裝過程很順利,的確有比 Vista 還要來得簡潔。 以前安裝 Windows XP 時,包括 Lan 與 顯示卡的驅動程式都要自行先下載回來再安裝,而現在 Windows 7 的安裝過程,就同時幫你全偵測到了,所以可以直接連上網,真的很方便。

不過,我的硬體週邊,有兩個無法被 Windows 7 辨識。 一為 Umax 4400 Scanner、另一為 麗臺 Leadtek PVR-3000 電視卡。 前者 Scanner 歷史悠久,沒有釋放出新的驅動程式我還能接受,但是我那張電視卡在兩年多前可算是最頂級的,結果爬文後並問了 Leadtek 客服後,得到的答案竟是說該晶片已停產,不打算推出 Windows7 的版本,這讓我怎麼能接受? 再過一陣子,我可能會串連許多購買同產品的網友們一同來抗議。 (相關經過,可以參考:" 哲楓小站 » 麗臺科技商品館 » Win7 驅動" 討論串。 版主 小建先生不同於 Leadtek 的消極,服務態度非常好。)

這一次的系統安裝,我就沒有像以前那麼小心了,反正就是很隨興。 先裝好必要相關週邊的驅動程式後,再來就是想到那些應用軟體、工具程式等的,就馬上去下載安裝。 包括 Avast 防毒軟體,在 Windows 7 64bit 環境下常駐也是都沒有問題的。系統執行效能真的有覺得比在 Vista、甚至比在 WinXP 時還要好。 我想這應該是 MS 在記憶體配置管理上的技術有提升、且有充分運用到完整的 6GB 記憶體的緣故。

安裝 64bit 最擔心的就是應用軟體相容性問題、尤其是看盤交易軟件。 元大 Yeswin 我現在跑 WinXP SP3 相容模式,執行起來沒問題;結果又是永豐金的 eLeader,跑相容模式的話,Windows 標題元件那邊(放大、縮小)排列會重疊、而直接在原生 64bit 環境下執行,更新下載有時會出問題、還有交易下單時沒有音效。 唉,這個看盤系統的相容性與穩定性真的很差勁,要不是因為手續費的話,早就棄之不用了。

對啦,我小女兒最在乎的【魔獸世界】,在 Windows7 64bit 環境下執行起來也是沒有問題,而且看來好像執行效能更為順暢。 ^^

截至目前為止,我對於轉移到 Windows 7 64bit 的環境下可說是相當滿意,稍有少數軟體相容性的問題,但還可以接受。 最重要的是,記憶體可以全開! 這是我最為重視的。 我打算插滿主機板為 8GB,這樣大概可以同時跑兩個 VM OS 也沒有問題吧! 還有還有,為了充分運用到 ReadyBoost Cache 技術,我也跑去買了一條 8GB 的隨身碟,作為 ReadyBoost 之用,這樣的話,除了開機時間似乎可以縮短、讀取資料時也比較不會時常讓硬碟嘎嘎叫吧? 這個後文再分享囉~

※ 延伸參考
 o 我的桌上型電腦系統又重裝了~ (2009-01)
 o [系統安裝] 重新安裝我的 Windows XP 系統 (2008/06/01)
 o 【心得】重裝 OS 有感~

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal