Thursday, April 3, 2014

More on UML Modelling with PlantUML

Here an excellent explanation of the different types of dependencies amongst classes.

Here are all the sort of relationships you can draw.
As a simple reminder, Composition, Aggregation, Dependency, Association are in decreasing order of "tight coupling" between 2 classes.

  • Composition = B cannot exist without A
  • Aggregation = B is a part of A
  • Dependency = change in B affects A
  • Association = very loose relationship

left to right direction
Class01 <|-- Class02 : Extension
Class001 "1" *-- "many" Class002 : contains (one to many)
Class03 *-- Class04  : Composition
Class05 o-- Class06 : Aggregation
Class07 .. Class08 : Dependency
Class09 -- Class10 : Association
Class11 <|.. Class12 : Implements
Class13 --> Class14: Unidirectional Association
Class15 ..> Class16: Unidirectional Dependency
Class19 *--> Class20: Unidirectional Composition
Class21 -- Class21: Reflexive Association

No comments: