Updated: 08 August 2026
UML
PlantUML
Updated: 03 August 2026
Quick start
See https://plantuml.com/starting
- Go to https://plantuml.com/download and choose the GPL compiled jar.
- Launch the PlantUML GUI with
java -jar plantuml.jar -gui - With the GUI, navigate to a directory containing plantuml text files. The UML image files should be automatically created in the same directory.
Or without the GUI, watch a directory for changes and re-generate image files automatically
java -jar plantuml.jar -watch ./trading-uml
Convert a single puml file to a png image.
java -jar ~/plantuml-1.2026.6.jar backing-up.puml
Use Case
Updated: 31 August 2024
- Actors can be related e.g. an International Student IS A Student.
- Use packages to group similar Actors or Use Cases.
Composition vs Aggregation
Updated: 04 April 2025
An example with PHP:
/* COMPOSITION */
/* If human object is deleted heart object is deleted also. */
class Heart{}
class Human{
private $heart;
public function addHeart(){
$this->heart = new Heart();
}
}
$human = new Human();
$human->addHeart();
/* AGGREGATION */
/* If car object is deleted engine object still exists. */
class Engine{}
/* The Aggregate */
class Car{
private $engine;
public function __construct(Engine $engine){
$this->engine = $engine;
}
}
$engine = new Engine();
$car = new Car($engine);
