如何繪製UML Diagram?

為什麼要畫?

方便快速理解整個系統的架構,與class之間的關係

UML

Class

Class

如圖總共三格:

  • 第一格Library Management System是Class的名稱(如是abstract class請使用斜體)
  • 第二格是放Attributes的
  • 第三格是methods
  • Methods裡的parameters不一定要寫,也可以寫,增加細節

Visibility

每個attributes或是methods都會有可見度,以下是幾個常用的符號

By參考資料第二項
  • protected可以被subclass存取
  • package/default十分少用,整個package可以存取

關係

Relationships by Ref. 3

Association

  • 純粹代表他們之間有關係
  • 常常會在線中間加上動詞之類來辨識,例如A吃B

Inheritance

  • 就是OOP當中的Inheritance
  • 例如A -> B,那就是A繼承B
  • Image

Realization

  • 就是implementation
  • A -> B,那就是A implements B

Dependency

  • 依賴
  • A -> B,A使用B,例如A是車子,一定要有B駕駛來開
  • 單一方改變了另一方可能會受到影響(非雙方)

Aggregation

  • A 菱形- B或是A 菱形->BA owns B,任一方消失不會影響另一方

Composition

  • A 實心菱形- B或是A 實心菱形-> B,B是A的一部分,A消失B就會跟著消失
  • 例如人擁有頭手腳,但人如果消失,那頭手腳也會跟著消失

參考

  1. 簡單理解 UML 類別圖
  2. 這個影片非常清楚的解釋了UML: UML class diagrams
  3. UML Class Diagram Tutorial
  4. 快速搞懂 UML 類別圖 6 種關係線

如何繪製UML Diagram?
https://f88083.github.io/2023/11/19/如何繪製UML/
作者
Simon Lai
發布於
2023年11月19日
許可協議