COMP1531
7.4 - SDLC Design - System Modelling
What's a model?
Conceptual Modelling
-
A model that is conceptual
- ... with a real world correspondence
- ... without a real world correspondence
- A model of a concept
Conceptual models software engineers care about
- Data models
- Mathematical models
- Domain models
- Data flow models
- State transition models (today)
How models are used
- To predict future states of affairs.
- Understand the current state of affairs.
- Determine the past state of affairs.
- To convey the fundamental principles and basic functionality of systems (communication)
Communicating models
-
Four fundamental objectives of communicating with a conceptual model:
- Enhance an individual's understanding of the representative system
- Facilitate efficient conveyance of system details between stakeholders
- Provide a point of reference for system designers to extract system specifications
- Document the system for future reference and provide a means for collaboration
System Modelling
-
Structural – Emphasise the static structure of the system
- UML class diagrams
- ER diagrams
- ... many others
-
Behavioural - Emphasise the dynamic behaviour
- State diagrams
- Use case diagram
- ... some others
State Machines
- Machines made up of a finite number of states.
- The machine can be transitioned from one state to another
- Simple example: a door
State diagrams
- A diagrammatic representation of a state.
- Some variation in notation.
- Typically: states are circles, transitions are labelled arrows connecting them
State machines
-
Useful for modelling systems that have clearly defined states. For example:
- UIs with different screens
- Network protocols
- Conversational interfaces
Parking meter
Parking meter
Opal Card
- Can we model the opal card system as a state machine?
COMP1531 21T1 - 7.4 - System Modelling
By haydensmith
COMP1531 21T1 - 7.4 - System Modelling
- 412