2005-02-28

一個對程式系統的"系統設計"重要性的比喻

這是我常跟同事描述"系統設計"重要性的比喻 大家可以參考看看:
1.台北101不是鄉下"做土水"的工人可以建得出來的:
建築師:
設計大玩意,具備設計/規劃能力,力學訓練及美感養成。就像程式系統設計師,知道如何做出好的系統設計。
砌了一輩子牆的工人:
利用反射神經就可以砌出一片完美的牆。但是,還是不知道如何建立(設計)超高大樓。就像只專注在程式語法上的coder,靠反射神經就可以寫程式。對於規劃設計軟體系統,可能不太清楚。
2.翻譯小說:
這陣子看村上的新小說,突然領悟到一件事: 好看的小說,是因為字字雕琢才變成好小說嗎? 我的答案是:不!
就像翻譯小說,很多的修辭都被改成另一個語言,常常不能找到直接對應的修辭,但為什麼好看的翻譯小說跨過語言的邊界,還是好看呢? 還是因為好故事吧!好的故事情節,好的起承轉合,就像好的軟體系統 一定需要好的系統設計(好的情節)。這件事的重要性遠大於系統的實作(字字雕琢)。
一些建議:
1.有好的程設技巧是一件好事,我在這裡提的重點是:系統設計的能力並不是程式設計久了就自然會的。所以,我常在辦公室提醒那些程式寫得不錯的工程師,可以開始培養系統設計的能力了。
2.多看看學界或產業界的經驗,會有助益。

沒有留言: