溫故而知新,將《軟體架構設計》一書一遍遍的讀,看到深處方覺得更像是一本修身養性的書。我覺得不是每個專案都適合採用所有技術去做架構設計,本身有很多都是作用重複,可以靈活選擇的。軟體架構設計首要是建立領域模型,領域模型是與客戶和使用者之間溝通的橋梁;其次是概念架構設計,概念架構設計同專案經理達成一致,確保後續專案進行過程中的綱領性檔案;最後是邏輯檢視和物理檢視設計,這兩個檢視能在架構師、專案經理、開發人員之間確保軟體的功能、質量和約束。
領域模型
領域模型,就是將行業內的專有語言以視覺化的方式抽象成乙個或一套模型,不僅關注重要的領域概念,更重要的是能刻畫領域概念之間的關係,一般採用類圖和狀態圖表示,有時候還需要領域詞彙表。類圖表示領域模型中的靜態資訊,例如銀行系統中的銀行卡、存摺等,狀態圖表示領域模型中的動態資訊,例如儲蓄賬戶的狀態轉換變化關係。領域詞彙表對一些難以理解的專業術語進行文字表述,就像詞典一樣。
概念架構設計
dana bredemeyer認為概念架構界定系統的高層元件、以及它們之間的關係。概念架構意在對系統進行適當分解、而不陷入細節。藉此,可以與管理人員、市場人員、使用者等非技術人員交流架構。概念架構規定了每個元件的非正式規約、以及架構圖、但不涉及介面細節。溫昱老師指出概念架構的三個特徵:直指目標、設計思想、重**擇。在我看來,「直指目標」這個目標就是使用者對我們下達的指標,例如跨平台、高效能、提供api支援第三方等;「設計思想」是對目標的詳細闡述,採用什麼方式能實現跨平台、高效能等,例如劃分不同層次,各個層次分離;「重**擇」就是對設計思想中的重點進行策略分析,例如採用垂直劃分系統而不是水平劃分。
邏輯檢視
邏輯檢視規定了軟體系統由哪些邏輯元素組成以及這些邏輯元素之間的關係。具體而言它是由邏輯層、功能子系統、模組組成。主要進行模組劃分和介面定義,然後用用例圖描述模組中的基本功能,包圖和元件圖描述模組劃分和介面定義。
物理檢視
物理架構用部署圖表現,每個部署伺服器中可以用元件描述,一般採用部署圖和元件圖描述硬體分布和軟體部署。
軟體架構實現
溫故而知新,將 軟體架構設計 一書一遍遍的讀,看到深處方覺得更像是一本修身養性的書。我覺得不是每個專案都適合採用所有技術去做架構設計,本身有很多都是作用重複,可以靈活選擇的。軟體架構設計首要是建立領域模型,領域模型是與客戶和使用者之間溝通的橋梁 其次是概念架構設計,概念架構設計同專案經理達成一致,確...
軟體架構 微服務架構
我們可以將微服務架構 microservices architecture 理解為 soa 的公升級。基於以下相同點 當問到微服務架構與soa的區別,我們能找到以下回答 微服務其核心思想是在應用開發領域,使用一系列微小服務來實現單個應用的方式途徑,或者說微服務的目的是有效的拆分應用,實現敏捷開發和部...
軟體架構 事件驅動架構
事件 event 就是狀態的顯著變化,比如說前面提到的客戶下單被執行。從 來分,事件可以分為系統內部事件和外部事件。從型別來分,可以分為業務事件和系統事件。事件驅動架構 event driven architecture,eda 乙個事件驅動框架 eda 定義了乙個設計和實現乙個應用系統的方法學,在...