讀古今文學網 > 程序員必讀之軟件架構 > 理解影響 >

理解影響

任何時候當你開始為一個新的軟件系統工作或擴展已有的軟件系統,在高層次上理解需求、約束和原則都至關重要。為什麼?簡言之,要開始設計選型,這是你所需知識的基本水平。

首先,瞭解這些東西可以幫助減少擺在你面前的可選項,特別是如果你發現驅動力包括了複雜的非功能性需求或者像部署平台的限制之類的主要約束。T.S.艾略特(T.S.Eliot)說過:

當被迫工作在一個嚴格的框架下,想像力被迫發揮到極限,迸發出豐富的點子。完全的自由可能會讓工作變得雜亂無序。

其次,也許是最重要的,那就是根據特定的目標和語境,做出「明智」的設計決策。如果不瞭解金融風險系統 相關的性能(比如計算複雜度)、可伸縮性(比如數據量)、安全性和審計等需求,就開始為其設計解決方案,你設計出的解決方案很可能不符合目標。

軟件架構談論的是重要的設計決策,其重要性以變動的成本來衡量 。對於那些從根本上塑造了最終軟件架構的重要決策而言,起點是在高層次上對需求、約束和原則的理解。早些理解它們,將有助於避免將來昂貴的返工。