2013年2月5日 星期二

軟體開發適合 BottomUp 或 TopDown?

        在進行軟體開發的系統設計,有兩種迥然不同的思維模式,一種是由下到上的 BottomUp,也就像是蓋房子一樣,由地基規劃打底開始,逐步往上;另一種是由上至下的 TopDown,由需求主導,逐步向底層延伸。甚至,微軟曾經為了不得罪兩邊的支持者,提出了折衷的 MiddleOut 從中間往兩邊延展的模式,但落得兩邊都不討好的下場,所以這個含糊其辭的異教論我就不在此討論了。


        十年前當 XML base 的 WebService 初試啼聲,彷若帶來一道曙光,是 IT 界整合的創世救星的年代,那時候各種系統整合的名詞蜂擁而出,開始有 SOA(Service-Oriented Architecture:服務導向架構)、 BPM(Business Process Management)或是 ESB(Enterprise Service Bus:企業服務匯流)⋯⋯等令人眼花繚亂的名詞,當年我負責協助金融業導入相關技術產品與專案,就遇到究竟該 TopDown or BottomUp 僵持不下的爭論。