UML Flashcards

1
Q

UML

A

Unified Modelling Language
- Standardized software design language
- Under the umbrella of Object Management Group (OMG)
- The “Swiss Army Knife” of notations
- The most used language for modelling software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

advantages of UML

A
  • It is not tied to any development process
    • Waterfall, Scrum, Kanban, XP, etc.
  • Can be used across the whole life cycle
    • Promotes iterative refinement of models
  • It is scalable
    • You can zoom in with additional details when needed
  • It has different representations
    • Graphical
    • Textual
    • Machine-readable
  • It is a general-purpose modelling language
  • It can be used for modelling a mobile app, but also a satellite
  • It is comprehensive
    • Different parts of a system can be described with UML
  • Supports both
    • Descriptive models (originally intended usage by its creators)
    • Prescriptive models (allows things like automatic model analysis and execution or code generation)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A UML model is represented graphically through

A

diagrams

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Two types of UML diagrams

A
  1. structure
  2. behaviour
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

structure diagrams

A
  • Emphasise the static description of the elements of the system being modelled
  • Structural elements may have an associated behaviour, e.g., operations in a class diagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

behaviour diagrams

A
  • Behaviour = the direct consequences of an action of at least one object
  • Affects how the states of objects change over time
  • Can be specified through the actions of a single object (e.g.,
    state machine) or result from in
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

package diagrams

A

To describe the organisation of coarse-grained implementation units

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

activity diagrams

A
  • To specify system behaviour via the control and data flow of
    actions

→ Allows both structural and behavioural modelling to cover the overwhelming majority of any kind of system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Component diagram

A

For distributed systems with interprocess communication between components with clearly defined interfaces, e.g., service- or microservice based systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

state machine diagram

A

For systems with a decent number of clearly defined states, between which the system transitions, e.g., cyber-physical systems like smart homes or robots

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

sequence diagram

A

For systems with very complex, low-level method invocation flows that need to be modelled (activity diagrams are often easier to understand, but more suited to high-level flows)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

object diagram

A

Situationally useful for reasoning about or debugging the creation of objects according to modelled constraints

How well did you know this?
1
Not at all
2
3
4
5
Perfectly