繪製軟件架構圖的主要原因之一是在軟件設計過程中交流思想,就像你會在建築項目前期看到草擬的藍圖。
在我定期舉辦的訓練班上,我會要求各個小組設計一個簡單的金融風險系統 ,這是其中一堂課上完成的一張架構圖的照片。除了解決方案,這張圖本身在我所見中也相當典型,它展示了一個概念性設計而不是技術細節。
問人們為什麼他們的圖不展示任何技術決策,得到的反應多種多樣:
- 「[金融風險系統]的解決方案很簡單,可以用任何技術構建」;
- 「我們不想把一種解決方案強加給開發者」;
- 「這屬於實現細節」;
- 「我們遵循『最後責任時刻』原則」。