UML
November 2025
UML, the Unified Modelling Language, is a standard for modelling software
Packages
Packages are a type of construct that groups something else.
THey can group other UML elements into higher-level units, including other packages.
In UML, packages are represented as tabbed folders with either only a name or a name in the tab alongside contents
Library
Patron
Loan
Publication
Section
Reference
UML Package Diagrams
Package diagrams include packages and dependencies
Dependencies are represented as dashed arrows, and they are not transitive
[@TODO: Example of a package diagram]
Additional UML elements can be used to associate packages and package diagrams can represent implementation relationships (OOP)
UML Sequence Diagrams
Sequence diagrams are used to represent a scenario.
Roles are presented at the top of the diagram and time is represented from top to bottom.
A role’s “lifeline” is represented by a dashed vertical line.
Messages are shown as lines between actor lifelines:
- A solid arrowhead represents a synchronous call
- An open arrowhead represents an asynchronous call
Exchanges are labelled for additional detail, and returns from operations are represented as dashed lines with open arrowheads.
Diagrams will also sometimes make use of action bars over the lifelines to show when an actor is active.
[@TODO: Add an example of this diagram type]
UML Activity Diagrams
Activity diagrams describe logic, they contain initial and final nodes.
Initial nodes are filled circles, final nodes are filled circles with another concentric circle around it.
Normal flow is indicated by arrows with open arrowheads. (solid line)
Activities are rounded rectangles (fully rounded)
UML activity diagrams include conditional behaviour through decisions and merges (represented by diamonds)
Prallel behaviour is supported via forks and joins
Feeling Massochistic?
Here’s the entire spec: https://www.omg.org/spec/UML/2.5.1/
796 pages of pain that will not help you in a job!!!