向架構師進軍:如何編寫軟件架構文檔
問:為什么要編寫軟件架構文檔,它的好處是什么?
答:
有文檔的架構有助于不同利益相關者之間進行有效的溝通。
有文檔的架構可以提供追溯其他工作產品的上下文。
有文檔的架構可以傳達可供選擇的架構解決方案。
有文檔的架構有助于從一個現有架構轉換到一個新架構計劃的計劃編制。
有文檔的架構通常能通過識別組成架構的元素及它們之間的依賴性來幫助編制計劃。
有文檔的架構可以提醒架構師在其所作的某些決定背后的基本原理。
有文檔的架構有助于識別哪些資源可重用以及可重用的時機。
有文檔的架構有助于架構的評估。
問:編寫軟件架構文檔的步驟是什么?
答:
識別利益相關者組。
選擇視點。
創建工作產品。
給架構描述打包。
問:編寫軟件架構文檔的視點有哪些?
答:
視點分為兩類,分別是基礎視點和交叉視點。其中基本視點的類型有四種,分別為:
(1)功能性視點:它關注支持系統功能性的元素。
(2)部署視點:它關注支持系統分布的元素。
(3)需求視點:為形成架構的系統需求提供說明,它包括功能性需求、品質和約束。
(4)確認視點:為系統提供必需的功能、展示必需的品質和適應定義的約束提供說明。
交叉視點是從某一特定功能的視點出發,與基礎視點交叉綜合關注的元素,下圖為一交叉視點的例子。
問:軟件架構通常要描述框架,應該從哪些角度去描述?
答:
多重視圖和場景視圖的使用。
實現層級。
交叉關注。
問:軟件架構的4+1視圖模型是什么?
答:
軟件架構的4+1視圖是指邏輯視圖、開發視圖、過程視圖、物理視圖和場景(視圖)。
邏輯視圖是設計的對象模型。
過程視圖獲取設計的并發和同步方面的信息。
開發視圖描述的是軟件開發環境中的軟件靜態組織。
物理視圖描述了軟件與硬件之間的映射,還反映了它在分布式方面的信息。