2007年9月9日 星期日

E01 使用OOAD開發就可以提升軟體品質?

在軟體業裡似乎流行起魔法,謠傳說只要公司用OOAD技術開發就可以大幅提升軟體品質或是減少開發時間等等的,聽到的人都感覺很興奮。但是OOAD本質上只是一種設計方法,即使應用了方便的工具還是不見得有希望有的成效。

設計最重要的還是心裡的想法,方法與工具只是輔助落實心裡想的使之可以更詳細表達出來,對於設計內容並沒有實質的幫助。一名把整個系統視為一個大Component來開發的人,不管用什麼方式都只會產出得到一個大黑箱的設計,完全不能期待換成OOAD會有什麼不同。這應該是我們最基本的認知。

不管用哪一種方法來設計,確認好Data Model、架構水平層次與垂直使用層次,並加上應付改變的設計;然後經由不斷地review、討論與修正,逐漸修正為最適合這個系統的彈性設計才能提升軟體品質。再經由包裝獨立元件的軟體工廠挑選適合的元件快速組裝底層動作部分,未來可以將設計重心放在商業邏輯的控制,以此來減少日後的開發時間。

提升軟體品質的動作其實是耗費時間的,但是可以省卻的是設計不良時維護的痛苦,若能再加上提供適當的reuse元件來減少底層部分的設計,在第一個專案時或許感覺不到改進,但是從第二個類似專案起就可以開始節省開發投入的資源。

當然,必要的前提是我們得保證軟體設計內容的彈性與品質才行。

沒有留言:

張貼留言