Skip to content

Analytical Tools

You use analytical tools to show the relationships between:

  • users
  • data
  • systems

These tools need to match the data you collected about the current system or manual process. Include them in your software requirements specification.

Required Analytical Tools

  • context diagrams (Level 0)
  • data flow diagrams (Level 1)
  • use case diagrams

Context Diagrams (Level 0)

Context diagrams represent the data flows between a system and the external entities that interact with it.

Components and symbols

  • System: shown as a circle containing the system name
  • External entity: shown as a square or rectangle labelled with the entity name
  • Duplicated entity: if needed for layout clarity, a duplicated entity can be shown with a diagonal line across the top-left corner
  • Data flow: shown as a labelled, unidirectional line with an arrowhead

Rules

  • Data cannot flow directly between two entities.
  • Data flows cannot cross each other.
  • Each data flow should represent a single set of information being transferred.

Sample Context Diagram

Sample context diagram

This sample shows one system interacting with three external entities through five data flows.

Data Flow Diagrams (Level 1)

Data flow diagrams show how data is provided, processed, stored and output within the system. They should be consistent with any context diagram created for the same system.

Components and symbols

  • Process: shown as a circle containing the process name
  • External entity: shown as a square or rectangle labelled with the entity name
  • Duplicated entity: if needed for layout clarity, a duplicated entity can be shown with a diagonal line across the top-left corner
  • Data flow: shown as a labelled, unidirectional line with an arrowhead
  • Data store: shown as two horizontal parallel lines with the stored data named between them

Rules

  • Data cannot flow directly between entities.
  • Data cannot flow directly between data stores.
  • Data cannot flow directly between an entity and a data store.
  • Data flows cannot cross each other.
  • Each data flow should represent a single set of information being transferred.
  • A process must have at least one input and one output.
  • A data flow leaving a process should have a different name from the input received.
  • A data store must have at least one input and one output.
  • All processes must connect to at least one data store, process or external entity.
  • All external entities must provide at least one input or receive at least one output from the system.

Sample Data Flow Diagram

Sample data flow diagram

This sample shows multiple processes, two data stores, three entities and a chain of data flows through the system.

Use Case Diagrams

Use case diagrams visually represent the interactions between users and a system.

Components and symbols

  • System boundary: a rectangle containing the use cases, associations and relationships, labelled with the system name in the top-left corner
  • Actor: a person icon or stick figure labelled with the role underneath or above the figure
  • Use case: an ellipse with the use case name inside it
  • Association: a line joining a use case and an actor
  • Relationship: a dashed unidirectional line

Relationship types

  • <<includes>>: used when one use case always incorporates the behaviour of another use case; the arrow points from the base use case to the included use case
  • <<extends>>: used when one use case extends another use case only when certain conditions are met; the arrow points from the extending use case to the base use case

Sample Use Case Diagram

Sample use case diagram

This sample shows actors, use cases and the links between them inside the system boundary.