📊

Understanding Data Flow Diagrams

May 14, 2025

Data Flow Diagrams (DFDs)

Introduction

  • Purpose: Illustrates how data is processed by a system in terms of inputs and outputs.
  • Focus: Flow of information—where data comes from, where it goes, and how it gets stored.
  • Historical Context: Became popular in the 1970s, first described by Larry Constantine and Edie Jordan in structured design.

Types of DFD Notations

  • Jordon and Coad (Yordan and Coad):
    • Used for system analysis and design.
    • Processes depicted as circles.
  • Gane and Sarson:
    • Common for visualizing information systems.
    • Processes depicted as squares with rounded corners.

Common Symbols and Notations

  1. Process Notation:
    • Transforms incoming data flow into outgoing data flow.
  2. Data Store Notation:
    • Repositories of data in the system, sometimes called files.
  3. Data Flow Notation:
    • Lines through which packets of information flow, labeled with the data name.
  4. External Entity Notation:
    • Objects outside the system that communicate with it.
    • Sources and destinations of system's inputs and outputs.

Levels or Layers of DFDs

  • Context Diagram (Level 0):
    • Top-level diagram with one process node (Process 0).
    • Generalizes the function of the entire system in relation to external entities.
  • Level 1:
    • More detailed analysis of data in the context diagram.
  • Level 2 and Beyond:
    • Further breakdown of processes, leading to pseudocode.
    • Pseudocode is informal coding language for human reading.

Constructing DFDs

  • Tools: Automated diagramming tools like SmartDraw.
    • Provides symbols and templates for easy construction.
    • Features like drag-and-drop and typing for data entry.
    • Allows nesting of different levels using hyperlinks.

Additional Resources

  • How-To Video: Demonstrates building a DFD from start to finish.

Conclusion

  • Data flow diagrams are valuable tools for visualizing the flow and processing of data within systems.
  • They assist in system analysis and design before implementation.