做軟件架構設計,這個好用的畫圖工具推薦給你

前面寫了兩篇軟件架構設計的文章,今天Relax想跟大家聊一聊如何通過具體的工具去畫出軟件架構設計中的那些圖,那麼今天主要給大家分享的是一個好用的架構設計畫圖工具——Enterprise Architect(後面都簡稱EA)。

前面說了Relax平時主要用到了類圖、構件圖、部署圖、用例圖和序列圖五種圖,所以這篇文章主要是想比較詳細的說明如何通過EA畫出這些圖。

安裝好EA後,打開EA新建一個工程,選擇對應的視圖,具體步驟見下圖紅色方框標註:
在這裏插入圖片描述
點擊確認後,在EA的右側就可以看到對應的視圖:
在這裏插入圖片描述
可以看到,用例圖、類圖、組件圖和部署圖都已經有了,序列圖還沒有,我們待會兒手動添加一下就行了。這樣,我們就可以開始通過EA畫我們想要的這些圖了,爲了大家好理解,Relax會舉一個簡單的網站系統架構設計的例子,當然不一定恰當,大家能理解其中的意思就行了。

選中上圖中的User Case View,然後選擇Toolbox(EA中畫圖都是選中視圖,然後去對應的Toolbox選相應的控件),如下圖所示:
在這裏插入圖片描述

用例試圖概括的是角色和系統之間的關係,描述了系統的功能需求,角色和系統的交互以及系統的反應。任何一個網站最少有兩種角色,用戶和管理員,拖動ToolBox中的Actor到頁面上,按提示輸入用戶,表示新建用戶角色,那麼用戶這個角色最少包含註冊、登錄和發表評論功能,拖動ToolBox中的Use Case到頁面上,按提示屬於註冊、登錄和發表評論,如下所示(管理員的用例圖操作也是一樣):
在這裏插入圖片描述
這樣基本的用例圖就畫好了,上面說過創建工程時沒有序列圖,現在我們就可以接着畫序列圖了,這裏我們以用戶註冊爲例,選中註冊,然後右鍵選中Add,選中Interaction,選中with Sequence Diagram,見下圖:
在這裏插入圖片描述

右鍵選擇Interaction,選擇屬性,修改序列表的名稱爲註冊:
在這裏插入圖片描述

到此,序列圖就建好了,序列圖描述的對於一個功能,系統內部各個相關模塊之間的流程關係,下面畫一下用戶註冊這個過程中,網站相關模塊的流程:
在這裏插入圖片描述

好了,到此,用戶註冊的序列圖就畫完了。

下面再看看構件圖(組件圖),構件圖描述的是系統的邏輯層次結構和劃分的模塊,選中Component View,然後選擇Toolbox:
在這裏插入圖片描述

下面再看看部署圖,部署圖描述的是系統硬件部署時上下游設備的一個位置連接關係,對於小型個人站點來說,大家可能覺得我直接租一臺雲主機一配置就完事兒了,根本就不需要關心這些,但是對於大型網站來說,網站服務器部署時的DNS配置、負載均衡、防火牆、CDN,數據存儲等等,都是不得不考慮的,所以部署圖也是架構設計中需要重點考慮的,通過看系統的部署圖,我們可以知道系統在整個環境中的位置,在EA中,選中Deployment就可以畫部署圖:
在這裏插入圖片描述

最後講一下類圖,類圖就涉及到具體的編碼了,在架構設計前期可能還用不到,到概要設計階段就要考慮了。

類圖其實就相當於寫代碼之前把模塊的文件劃分、函數API以及參數,變量定義和外部接口都提前想好了,在具體編碼中就只用關心實現了,這樣做的好處就是,在編碼之前就可以定義出外部接口,方便多模塊多人的協同開發,同時編碼之前大家就可以對類圖進行評審,避免等完成代碼開發之後由於考慮不周導致的返工。

這裏還要說一下,其實EA中還可以將畫好的類圖直接生成代碼,這樣在畫圖的過程中,其實就把部分代碼都寫好了,簡直就是程序員的福音啊。在EA中,選中Logical View,從Toolbox選中控件就可以開始畫類圖了:

添加函數和結構體都是右鍵選中Attributes添加變量,選擇Operations添加函數方法:
在這裏插入圖片描述

下面是登錄模塊畫的一個類圖:
在這裏插入圖片描述
要想自動生成代碼,選擇類圖右鍵選擇Generate Code就行了。

好了,Relax要講的五種圖就講完了,大家有想了解更多詳細內容的,可以評論給我留言。

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

發佈了21 篇原創文章 · 獲贊 44 · 訪問量 3651
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章