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:
    1. Enhance an individual's understanding of the representative system
    2. Facilitate efficient conveyance of system details between stakeholders
    3. Provide a point of reference for system designers to extract system specifications
    4. 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