"A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: a complex system designed from scratch never works and can not be made to work. You have to start over, beginning with a simple system." - John Gall, systems theorist.
一個複雜的系統,是由簡單的系統慢慢演化而來的。如果要從無到有,設計出一個複雜的系統,是絕對不可能成功的,任何複雜的東西,都要從簡單(基本)做起。
一個外表看起來複雜的系統,如果仔細去分析內部的架構,會發現它是由很多簡單的結構組合而成的。沒有一個系統可以無中生有憑空產生。
這是系統分析要做的事情,系統分析就是要透過設計的方法,將一個完整複雜的系統,切割為多個可被容易理解的子系統/流程。但分析不能太過注意細節,系統與流程的實作細節,要交給系統設計去處理。因為一個太精細的系統分析結果,反而會讓人難以整合出整個系統全貌。
跟 Gall’s Law 類似的法則是 KISS Principle。
Keep it simple, stupid (KISS) 就是在進行系統設計時,要盡可能保持簡單。換句話說,就是不能做過度設計 over design,過度設計的系統,會因為多餘的考量,讓使用者難以理解,也會犧牲掉運作的靈活/流暢度。
另外還有一個類似的奧卡姆剃刀原則 Occam's Razor
「切勿浪費較多東西,去做『用較少的東西,同樣可以做好的事情』。」
「如無必要,勿增實體。」(Do not multiply entities beyond necessity.)
這幾個原則都有一些共同的代名詞:化繁為簡、避重趨輕、避繁逐簡、以簡御繁、避虛就實。
沒有留言:
張貼留言