你瞭解系統架構圖嗎?系統架構圖是用來視覺化呈現複雜技術架構的工具,會清楚地說明硬體、軟體、網路元件如何相互協同,讓整個系統正常運作。本篇文章將聚焦於系統架構圖的角色——它是協助理解系統架構、讓不同專案關係人之間溝通更順暢的必備視覺工具。

1.什麼是系統架構圖?製作的目的為何?
系統架構圖(System Architecture Diagram)是用來視覺化呈現某套系統或解決方案之間架構與組成元件的圖表。這張圖會說明不同模組、硬體、軟體、資料流程與其他元件如何相互作用、協同運作。製作系統架構圖的目的包含以下幾點。
設計與理解: 系統架構圖能協助在設計階段就視覺化理解系統的架構與結構,讓開發人員、工程師更容易掌握系統整體輪廓。
溝通: 系統架構圖能協助不同專案關係人之間的溝通。開發人員、專案經理、商業分析師等成員看著同一張圖討論,能避免誤解、建立共通認知。
故障排除: 系統運作中發生問題時,可透過系統架構圖進行故障排除,掌握特定模組與連接點,更容易定位問題原因。
相關文章: 能定位問題的特性要因圖是什麼?
變更管理與升級: 系統發展過程中會新增模組或修改既有元件,系統架構圖能確認調整後的整體系統架構,協助確認升級是否依計畫進行。
文件紀錄: 系統架構圖會做為專案文件紀錄的一部分。隨著專案推進,系統架構可能修改,因此保持圖面最新狀態、追蹤專案進度相當重要。
整體而言,系統架構圖是理解與有效管理整體系統的必備工具。
2.系統架構圖的元件(架構)
系統架構圖包含多種用來視覺化呈現特定系統架構與組成的元件,以下是一般系統架構圖中常見的主要元件。

圖1.系統架構圖範例(AWS架構圖)
硬體模組:
伺服器: 執行系統的實體伺服器,包含資料庫伺服器、應用程式伺服器等。
網路設備: 路由器、交換器、防火牆等用來管理網路通訊的設備。
軟體模組:
應用程式: 提供商業邏輯與特定功能的軟體應用。
資料庫: 儲存系統使用資料的資料庫,包含關聯式資料庫、NoSQL資料庫等。
中介軟體:
訊息佇列伺服器: 仲介系統內部訊息傳遞的軟體。
應用程式伺服器: 提供應用程式執行環境,仲介用戶端與資料庫之間的通訊。
資料儲存:
檔案系統: 用來儲存、管理檔案的資料儲存單元。
資料倉儲: 彙整、管理大量資料,針對分析優化的資料庫。
使用者介面:
網頁前端: 使用者直接操作的網頁型使用者介面。
行動應用程式: 智慧型手機、平板專用的應用程式。
資安模組:
防火牆: 防護網路免於非法存取的資安設備。
驗證與存取管理: 管理使用者與系統存取權限的機制。
外部介面:
API 端點: 系統與外部服務、應用程式的連接介面。
資料饋送: 外部資料匯入與對外資料提供的機制。
這些元件會依據特定系統的需求與架構有所不同。製作系統架構圖時,依據目標系統的特性挑選元件,並清楚呈現彼此的交互關係相當重要。
3.系統架構圖的失敗案例分析
那麼,無法達成目標的系統架構圖是什麼樣子呢?製作系統架構圖的目的之一,是讓人輕鬆理解系統組成,因此過於複雜的系統架構圖無法達成目標。接下來我們以一張難以理解的系統架構圖為例來說明。

圖2.難以理解的系統架構圖範例
資訊不足:
這張圖畫了4台伺服器,卻沒有清楚說明每台伺服器在系統中的角色,例如是應用程式伺服器還是資料庫,這些資訊都沒有呈現。
過度複雜:
這張圖用線條連接伺服器,但很難分辨彼此的連接關係。如果伺服器之間有階層架構,只要區分階層就會簡單好懂;依照伺服器種類區分顏色,也能提升閱讀性。
圖3是修正後的系統架構圖,不僅標示了每台伺服器的角色,也完成階層劃分,資料庫伺服器也改用不同圖示,最後依照伺服器種類區分顏色,是不是變得好懂了呢?

圖3.修正後的系統架構圖
透過系統架構圖的失敗案例分析,能協助透過溝通優化、使用正確資訊、導入合適工具與流程,實現更有效的系統架構視覺化呈現。
4. 繪製清晰好懂系統架構圖的重點
我們從上述失敗案例,歸納出系統架構圖怎麼畫的重點。
4-1:明確化角色:
清楚說明圖中每個圖示在系統內負責的角色,例如要明確區分是資料庫還是負載平衡器。
4-2:明確的階層架構:
清楚呈現系統的不同階層相當重要,例如將最靠近用戶端的伺服器放在用戶端側,資料庫放在最遠端,明確劃分階層。
4-3:使用合適的圖示:
不同角色的組成元件使用不同圖示,讓人一眼就能看懂架構,盡量朝這個方向設計系統架構圖。
4-5:圖表的顏色與形狀:
運用顏色與形狀區分不同元件與功能,例如用方形表示伺服器、圓形表示資料庫,善用視覺差異能提升理解度。
4-6:使用合適的工具:
透過合適的工具製作架構圖,部分工具內建符號與範本,能高效繪製出風格統一的圖表。
掌握這些重點,就能讓系統架構圖更好懂,讓團隊成員與相關人員快速理解。
5. 快速製作系統架構圖!3款實用工具推薦
製作、管理系統架構圖時,使用實用工具會更有效率。試想一下用手繪製、管理系統架構圖,肯定非常麻煩。這裡為你介紹Visio、Edrawmax、draw.io三款工具,分別簡單說明後再進行比較。
EdrawMax:

優點:
- 能製作多種圖表與圖形的多功能工具。
- 介面簡單、好操作。
- 內建豐富範本與符號,製圖更方便
- 提供免費版本,付費版價格親民, 價格僅為Visio的三成左右。
缺點:
部分進階功能需使用付費版。
Microsoft Visio:

優點:
微軟產品,與Office系列軟體相容性高。
內建大量範本與圖形,適合製作專業圖表。
具備強大的圖形對齊與排列功能。
缺點:
需要負擔授權成本。
雲端協同功能比其他工具受限。
draw.io

優點:
開放原始碼,可免費使用。
雲端型工具,支援不同平台與設備。
眾多企業採用,持續更新優化。
缺點:
離線模式下部分功能會受限。
需要網路連線。
三款工具比較
| 價格: | Visio為商用產品,需購買授權;draw.io為開放原始碼免費工具;EdrawMax有免費版,但部分功能有限制。 |
| 易用性: | draw.io與EdrawMax都相當好操作,尤以雲端型的draw.io更容易取用。 |
| 功能: | Visio提供多項專業功能,draw.io與EdrawMax的功能也足以滿足一般使用者需求。 |
| 平台支援: | Visio以Windows為主,draw.io與EdrawMax為雲端型,可在不同平台與設備使用。 |
| 範本與圖形: |
Visio提供的範本與圖形數量最多,draw.io與EdrawMax也有多元選擇。 |
工具選擇取決於專案需求與預算。Visio最適合對應企業等級需求,draw.io與EdrawMax為雲端工具、容易入門,可依專案規模與使用目的挑選。
總結
系統架構圖是視覺化呈現複雜技術架構的工具,有助於不同專案關係人之間順暢溝通。系統架構圖的元件包含硬體、軟體、中介軟體、資料儲存、資安模組、外部介面等。失敗原因包含資訊不正確、過度複雜、工具使用不當,改善這些問題相當重要。想製作清晰的系統架構圖,重點在於簡潔性、一致性、階層架構明確、適當標註、運用顏色形狀、使用圖示、明確方向性、分組整理、使用合適工具等因素。Visio、draw.io、EdrawMax各有優缺點,選擇取決於專案需求與預算。