1. 程式人生 > >架構設計-五檢視

架構設計-五檢視

1.什麼是架構設計

我們要成為架構設計師我們需要了解什麼是架構設計。簡單一點,架構設計就是一個系統的草圖,描述了構成系統的抽象元件,以及各個元件之間的是如何進行通訊的,這些元件在實現過程中可以被細化為實際的元件比如類或者物件。在面向物件領域中,元件之間的聯通通常面向於介面實現的。

2.架構設計為了解決什麼問題

開發之初邏輯設計階段要確定系統如何開發,整個系統融合為一個系統開發還是從業務角度將系統拆分為幾個獨立的子系統。

在即將進入開發的時候關注了資料是如何持久化的,以及資料庫選型、以及非資料庫檔案的儲存格式,等這些儲存方案的確定。

在開發過程中我們要關注如何保證開發質量,如何分層,程式碼可擴充套件性,使用的設計模式,依賴了那些框架,開發語言這些方向的確定。

開發完成之後進入執行階段,如何在架構設計的時候保證執行期間的質量屬性、效能、可伸展性等,主要是系統執行程序的劃分,以及程序之間通過執行緒來通訊。

同時如果系統並非是單機執行,還需考慮系統的物理部署,系統部署在那個伺服器上,這些伺服器配置效能怎樣能否勝任系統的執行,作業系統選型,以及系統部署的網路拓撲圖,還有就是保證資料安全的資料備份怎樣設計的。

3.架構的分類

對於“架構”來講,理論上劃分了5種架構檢視,分別是:邏輯架構、開發架構、執行架構、物理架構、資料架構。 在這裡插入圖片描述

架構檢視 著重考慮 關注點 描述方式
邏輯架構 1.功能需求——系統應答向用戶提供什麼樣的服務。2.不僅包括使用者可見的功能,還包括為實現使用者功能而必須提供的“輔助功能模組” 行為和職責的劃分。 分層架構,功能模組或者類圖。UML:靜態——包圖,類圖,物件圖;動態——序列圖,協作圖,狀態圖,活動圖。
開發架構 1.著重考慮開發環境中模組的實際組織方式 2.包括源程式檔案、配置檔案、源程式包、編譯後的目標檔案和第三方庫檔案等。 軟體開發環境中軟體模組實際組織方式——具體涉及源程式檔案,配置檔案,源程式包,編譯後的目標檔案和第三方庫檔案。 UML:包圖,類圖,元件圖
執行架構 執行期質量屬性——效能,可伸縮性,持續可用性,安全性 系統的併發和同步,涉及程序和執行緒技術。 UML:包圖類圖物件圖來說明執行時的關鍵的概念;序列圖,協作圖等來描述互動機制。
物理架構 安裝和部署的需求——包括計算機,網路,硬體設施情況,以及如何部署 軟體單元如何對映到硬體,以及硬體相關的可靠性,可伸縮性,效能和安全性等。 UML:部署圖,元件圖
資料架構 資料需求 持久化資料的組織,資料傳遞,資料複製和資料同步策略。 E-R圖