Data Flow Diagrams - What is DFD? Data Flow Diagram Symbols and More
Data Flow Diagrams: Understanding Their Purpose and Structure
Introduction to Data Flow Diagrams
- Data flow diagrams (DFDs) illustrate how data is processed within a system, focusing on inputs, outputs, and storage.
- The primary emphasis of DFDs is the flow of information—where data originates, its destination, and how it is stored.
Historical Context
- DFDs gained popularity in the 1970s during software development, introduced by Larry Constantine and Edie Jordan in their work on structured design.
- They served as a visualization tool for software systems prior to the advent of UML diagrams.
Types of Notations
- There are two main types of notations for DFDs: Jordan & Encodes and Gane & Sarson.
- Jordan & Encodes are typically used for system analysis and design.
- Gane & Sarson are more common for visualizing information systems.
- A key distinction between these notations is the representation of processes; circles represent processes in Jordan & Encodes while squares with rounded corners do so in Gane & Sarson.
Common Symbols and Notations
- Process Notation: Represents transformation of incoming data into outgoing data flows.
- Data Store Notation: Indicates repositories where data is held; often referred to simply as "files."
- Data Flow Notation: Depicted as arrows indicating the movement of information; arrows should be labeled with the name of the data flowing through them.
- External Entity Notation: Represents objects outside the system that interact with it; they serve as sources or destinations for inputs/outputs.
Levels of Data Flow Diagrams
- DFDs can have multiple levels or layers to organize data effectively.
- The top level (Level 0), known as a context diagram, contains one process node that generalizes the entire system's function relative to external entities.
- Level 1 provides a more detailed analysis based on Level 0, with further breakdown possible in subsequent levels until reaching pseudocode—a human-readable coding structure.
Tools for Creating Data Flow Diagrams