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
Kung and Solvberg (1986)
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?
Made with Slides.com