如何繪製UML Diagram?
為什麼要畫?
方便快速理解整個系統的架構,與class之間的關係
UML
Class
如圖總共三格:
- 第一格Library Management System是Class的名稱(如是abstract class請使用斜體)
- 第二格是放Attributes的
- 第三格是methods
- Methods裡的parameters不一定要寫,也可以寫,增加細節
Visibility
每個attributes或是methods都會有可見度,以下是幾個常用的符號
- protected可以被subclass存取
- package/default十分少用,整個package可以存取
關係
Association
- 純粹代表他們之間有關係
- 常常會在線中間加上動詞之類來辨識,例如A吃B
Inheritance
- 就是OOP當中的Inheritance
- 例如
A -> B
,那就是A繼承B
Realization
- 就是implementation
A -> B
,那就是A implements B
Dependency
- 依賴
A -> B
,A使用B,例如A是車子,一定要有B駕駛來開- 單一方改變了另一方可能會受到影響(非雙方)
Aggregation
A 菱形- B
或是A 菱形->B
,A owns B
,任一方消失不會影響另一方
Composition
A 實心菱形- B
或是A 實心菱形-> B
,B是A的一部分,A消失B就會跟著消失- 例如人擁有頭手腳,但人如果消失,那頭手腳也會跟著消失
參考
- 簡單理解 UML 類別圖
- 這個影片非常清楚的解釋了UML: UML class diagrams
- UML Class Diagram Tutorial
- 快速搞懂 UML 類別圖 6 種關係線
如何繪製UML Diagram?
https://f88083.github.io/2023/11/19/如何繪製UML/