Data Flow Diagrams (DFDs)

A Data Flow Diagram (DFD) is a visual representation of data flow within a system. It illustrates how data is input, processed, stored and output, providing a clear overview of the system’s processes and interactions.

Key Components:

Processes:

  • Represented by circles or rounded rectangles.
  • Indicate actions or transformations performed on data.
  • Example: “Validate Login.”

Data Stores:

  • Represented by open-ended rectangles or parallel lines.
  • Indicate where data is stored within the system.
  • Example: “User Database.”

External Entities:

  • Represented by rectangles.
  • Denote external systems, users, or organisations interacting with the system.
  • Example: “Customer” or “Payment Gateway.”

Data Flows:

  • Represented by arrows.
  • Show the movement of data between processes, data stores and external entities.
  • Example: “Customer Info.”

Levels of DFDs:

Level 0 (Context Diagram):

  • A high-level view of the entire system.
  • Shows only one process representing the whole system, external entities and major data flows.

Level 1:

  • Breaks down the Level 0 process into sub-processes.
  • Provides more detail on how data flows between major components.

Level 2 (and Beyond):

  • Further decomposes Level 1 processes for more granular detail.
  • Used for complex systems requiring in-depth analysis.

Purpose of DFDs:

  • To visualise data flow and identify inefficiencies or bottlenecks in a system.
  • To serve as a communication tool between developers, analysts and stakeholders.
  • To aid in system design and requirement gathering.

Advantages:

  • Simplifies Complex Systems: Provides a clear overview of system data flow.
  • Improves Communication: Helps non-technical stakeholders understand system processes.
  • Identifies Gaps: Highlights missing or inefficient data flows.

Limitations:

  • No Sequence Representation: This does not show the timing or order of operations.
  • Static View: This does not represent system dynamics or real-time interactions.

Data flow diagrams are an essential tool for understanding, analysing and designing data-driven systems.