IntermediateTopic 48 of 104Software & Computing
UML and modelling
Diagrams that describe structure and behaviour of software.
In depth
UML diagrams model software: class, sequence, use case, activity, state and component diagrams. They communicate structure and behaviour among team members and with stakeholders. Use as much modelling as helps; avoid heavy documentation that goes stale.
Key points
- Associations and multiplicity
- Sequence of messages
- Model-driven engineering
ExampleA sequence diagram shows the login flow between browser, API and database.
What is UML and modelling?
Diagrams that describe structure and behaviour of software.
Why is it important to understand UML and modelling?
Diagrams make complex software structure and behaviour easier to discuss, so UML is a common shared language in design reviews.
What does a class diagram show?
The classes, their attributes and methods, and the relationships such as association, inheritance and composition between them.
Do diagrams need to be complete?
No. A simple diagram that clarifies a decision is more useful than a complete one that nobody reads.
How is UML and modelling used in practice?
Typical applications include drawing a class diagram for a monitoring application, showing a sequence of messages between a client and a server and modelling the states of a machine controller with a state diagram.
What should I learn before UML and modelling?
Study "Requirements engineering" first (topic 47 of 104 in Software & Computing). It covers the groundwork this topic builds on.
What are the key points of UML and modelling?
Associations and multiplicity. Sequence of messages. Model-driven engineering.
Can you give an example of UML and modelling?
A sequence diagram shows the login flow between browser, API and database.
What comes after UML and modelling?
The next topic is "Unit testing", which builds directly on this one.
How difficult is UML and modelling?
It is classed as Intermediate in Software & Computing (topic 48 of 104). It is an intermediate topic. Work through the beginner topics in Software & Computing first.