看看實際效果
類別圖製作工具範例。
同一款工具,四種需求。下方每張圖都是實際產生的成果。
輸入內容
為使用 Singleton Logger 的用戶端建立 UML 類別圖,其中 Logger 具有靜態 instance、getInstance 方法和 log 方法。
接著試試新增一個回傳 Logger 的 LoggerFactory。在 Logger 中新增私有的記錄層級欄位。
UML 類別圖 · OMG UML 2.5.1 §9–§11 · schematex-umlclass
產生的圖表
什麼是類別圖?
類別圖是描述系統靜態結構的 UML 圖。它會列出類別、資料與操作,並透過繼承、關聯、聚合或組合呈現類別之間的關係。
你可以在實作前用它決定哪些職責應該放在一起,也可以用來說明現有的程式碼。它描述的是模型,而不是訊息在執行階段傳送的順序。
- Standard
- OMG UML 2.5.1 §9–§11
- Also follows
- ISO/IEC 19505-2:2012 · Classification / Classifiers / Associations
- Engine
- schematex-umlclass
- Editable
- Double-click text, drag nodes
- Export
- SVG · PNG · PDF
適用對象
誰會使用類別圖製作工具?
在實作前或設計審查期間,記錄類別階層與設計模式。
團隊規劃新服務或模組時,共同掌握邊界與相依性。
透過小型物件導向範例,更容易討論屬性、方法與關係。
運作方式
三個步驟製作類別圖。
01
描述需求
寫一段話就能開始。
“為使用 Singleton Logger 的用戶端建立 UML 類別圖,其中 Logger 具有靜態 instance、getInstance 方法和 log 方法。”
02
查看圖表
由合適的繪圖引擎產生。
03
提出修改
每次修改都會保留版本。
新增一個回傳 Logger 的 LoggerFactory。
V2 · DRAWN FROM V1, NOTHING RETYPED常見問題
常見問題
什麼是類別圖?
類別圖是透過類別、屬性、方法與關係呈現系統結構的 UML 圖,常用於建立物件導向軟體模型。
類別圖應該包含哪些內容?
納入與設計相關的類別、重要屬性與操作,以及它們之間的關係。當相關物件的數量很重要時,請加入多重性。
繼承、組合和關聯有什麼差別?
繼承表示子類別擴充父類別。組合表示一個物件擁有另一個物件的生命週期。關聯則是較鬆散的連結,兩個物件可以獨立存在。
+、- 和 # 符號代表什麼?
它們表示 UML 中的可見性:+ 代表 public,- 代表 private,# 代表 protected。public 成員可在類別外部使用,而 private 和 protected 成員的存取範圍較小。
如何製作類別圖?
描述重要的類別、每個類別儲存或執行的內容,以及它們如何連結。例如,指出哪個類別擁有另一個類別、哪些類別會繼承,以及關係是一對一還是一對多。
相關工具