UML diagrams model aspects of our system.
- Structural diagrams illustrate objects, attributes, and operations.
- Profile, Class, Composite structure, Component, Deployment, Object and Package diagrams.
- Behavioural diagrams illustrate dynamic system behaviour.
- Activity, Use case, State machine, Sequence, Communication, Interaction overview and Timing diagrams.
Points to systems our system interacts with.
Static structure of system objects.
|~||Package (for methods)|
Correct class diagrams
- Abstract classes’ names should be in italics
- Interface names should be prefixed with <<interface>>
- Do not include getters, setters or inherited methods.
- Do include interface methods
Heirarchy: Draw arrow from child to parent class.
|Abstract Class||White Arrowhead|
|Interface||White arrowhead, dotted line|
Association between classes.
|Aggregation (part of)|
|Composition (made up of)|
|Dependency (used temporarily)|
- In aggregation, one may exist without the other
- For composition, this is not true; stronger association
Additionally, write 1 or * on associations to represent 1 to many etc. relations.
Represents workflows of stepwise activities, like a flowchart.
State machine Diagram
System state transitions, like a finite state machine.
There is a correspondance between activity & state machine diagrams. Actions in state machine corerspond to boxes in activity.
Interactions of actors with events.
Communications between objects.
- A box represents an active object (i.e. running code)
- Nested boxes indicate recursion
- To make notes on a sequence diagram, draw a lil’ sticky note
Object naming schemes:
|Object type||Naming scheme||Example|
|Object of unknown class||Name||Smith|