做軟件架構設計,你不得不知道這些圖

在上篇文章《軟件架構設計之思想篇》中,Relax通過蓋房子做了一個類比,聊到了在進行架構設計中我們該從哪些方面去考慮,文中提到了系統、子系統、層次結構、組件、模塊、接口和部署等等這樣一些抽象的字眼,那大家有沒有再深層次的考慮這樣的一個問題,就是我們如何將我們考慮的這些點展現出來呢?

作爲一名架構師,你設計的架構其實是要給很多人看的,包括公司領導、產品、開發、測試和運維,那麼你該如何把你設計的架構展示給別人呢? 這就是Relax今天想跟大家聊的內容。大家還是不妨先花個兩三分鐘好好想一想這個問題。

相信很多小夥伴都已經知道了,答案就是圖。所以今天Relax其實聊的主要就是架構設計中的那些圖。

架構設計理論上一般劃分五種視圖,即邏輯架構視圖、開發架構視圖、運行架構視圖、物理架構視圖和運行架構視圖。5種架構視圖的內容和關係可以看下面兩張圖:
五種架構視圖
在這裏插入圖片描述
從圖中可以看到,五種視圖涵蓋了邏輯層次劃分、接口定義、開發代碼組織結構、運行性能設計、運維部署以及數據存儲等方方面面。

在Relax的實際架構設計工作中,邏輯架構視圖和物理架構視圖考慮得最多,開發架構視圖中的代碼組織結構,運行架構視圖的多線程高併發以及數據架構視圖中的數據持久化和存儲,主要是作爲關鍵技術點進行分析的,這一點其實是跟所處行業有關。

除了上面的五種視圖以外,Relax還想跟大家聊一下另外一種圖,就是UML圖,UML包含很多種圖,Relax就不在這裏一一介紹了,Relax只談一下自己實際工作中經常用到的五種UML圖—類圖、構件圖、部署圖、用例圖和序列圖。

類圖主要是描述一個類的結構,類是面向對象一個概念,在c語言這種面向過程的語言中,其實也可以按模塊的不同功能使用類圖來描述這個模塊的.c文件和.h文件。

構件圖也可以叫組件圖,個人覺得跟上面5圖中的邏輯架構視圖有點像,主要就是描述系統可以劃分的邏輯層次,每個層次包含哪些組件以及子系統包含哪些邏輯層次等等這些內容。

部署圖其實跟上面5圖中的物理架構視圖有點像,描述的是系統的位置跟硬件形態。

用例圖描述的是系統的輸入活動以及系統的自身任務,比如用戶會對系統進行什麼樣的配置操作等等。

序列圖其實就是針對用例圖的輸入活動,系統中的各個組件針對這個輸入如何協同工作,相關組件的一個處理流程的描述。

好了,軟件架構設計中的那些圖,Relax今天就聊到這兒,由於都是理論知識,所以可能不是很好理解,不過不要着急,理論是用於指導具體實踐的,所以後面Relax會結合今天聊的這些理論知識來談一個具體的架構設計的案例,相信大家就能很好的理解了。

想要Relax寫出更精彩的文章?那麼希望老鐵別吝嗇你的三連擊哦
1、點贊,可以讓更多的人看到這篇文章
2、關注我的原創微信公衆號『Relax聊技術』,第一時間閱讀我的文章。
3、也歡迎關注我的博客哦。
Relax聊技術

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章