Data-Flow Diagram (DFD) Standards
For creating a Data-Flow Diagram (DFD), there are specific diagramming standards that you can use to ensure clarity, consistency, and effective communication among stakeholders. The two most widely recognized standards for DFDs are the Yourdon and DeMarco notation and the Gane and Sarson notation.
1. Yourdon and DeMarco Notation
Yourdon and DeMarco notation is one of the original and most popular notations for DFDs, introduced by Edward Yourdon and Tom DeMarco.
Key Elements
- Processes:
- Represented by circles or rounded rectangles.
- Labeled with a verb phrase that describes the transformation (e.g., “Process Order”).
- Data Stores:
- Depicted as open-ended rectangles or two parallel lines.
- Represent places where data is stored (e.g., databases, files).
- Labeled with a noun phrase (e.g., “Customer Data”).
- External Entities (Sources/Sinks):
- Shown as squares or rectangles.
- Represent external systems or actors that interact with the system.
- Labeled with a noun phrase (e.g., “Customer”, “Supplier”).
- Data Flows:
- Illustrated with arrows.
- Show the movement of data between processes, data stores, and external entities.
- Labeled with the name of the data (e.g., “Order Details”).
Benefits of Using Yourdon and DeMarco Notation
- Simplicity: Easy to understand and interpret.
- Widely Recognized: Commonly taught and used in systems analysis and design.
- Focus on Processes: Emphasizes the processes and transformations of data.
2. Gane and Sarson Notation
Gane and Sarson notation was developed by Chris Gane and Trish Sarson and is another widely used standard for DFDs.
Key Elements
- Processes:
- Represented by rectangles with rounded corners or rectangles divided into sections.
- May include a unique identifier and a descriptive name.
- Data Stores:
- Depicted as open-ended rectangles (similar to a rectangle missing one side).
- Represent places where data is stored.
- Labeled appropriately (e.g., “Inventory Records”).
- External Entities (Sources/Sinks):
- Shown as squares or rectangles with squared corners.
- Represent external systems or actors.
- Labeled with a noun phrase.
- Data Flows:
- Illustrated with arrows.
- Show the movement of data between elements.
- Labeled with the data being transferred.
Benefits of Using Gane and Sarson Notation
- Structured Representation: Provides a clear and detailed depiction of system components.
- Professional Appearance: Often preferred for formal documentation due to its structured style.
- Detailed Process Description: Processes can be broken down into sub-processes with more detail.
3. Comparison of Yourdon and DeMarco vs. Gane and Sarson Notations
Aspect | Yourdon and DeMarco | Gane and Sarson |
---|---|---|
Process Symbol | Circles or rounded rectangles | Rectangles with rounded corners |
Data Store Symbol | Open-ended rectangles or parallel lines | Open-ended rectangles |
External Entity | Squares or rectangles | Squares or rectangles with sharp edges |
Complexity | Simpler, less formal | More structured, suitable for complex systems |
Usage | Common in academic settings | Common in professional and corporate environments |
4. Application
A DFD helps visualize the flow of data through a system, identifying processes, data stores, external entities, and interactions. Use it to represent processes, data flows, and external systems without adding unnecessary system-specific details.
Recommended Notation
Gane and Sarson Notation is recommended for projects with complex systems due to:
- Structured Representation: Better suited for complex systems.
- Professional Documentation: Offers a formal appearance preferred in professional settings.
- Detailed Process Breakdown: Allows decomposition of processes into sub-processes for in-depth analysis.
5. Steps to Create a Gane and Sarson DFD
- Identify All Processes:
- List all the processes that transform data within the system.
- Assign a unique identifier and descriptive name to each process.
- Identify Data Stores:
- Determine where data is stored within the system.
- Label each data store appropriately.
- Identify External Entities:
- Recognize all external systems and actors that interact with the system.
- Label them clearly.
- Identify Data Flows:
- Map out the flow of data between processes, data stores, and external entities.
- Label each data flow with the data it represents.
- Draw the Diagram:
- Use standardized symbols for processes, data stores, external entities, and data flows.
- Ensure arrows accurately represent the direction of data movement.
- Validate the Diagram:
- Review the DFD to ensure it accurately represents the system’s data flow.
- Confirm that all data inputs and outputs are accounted for.
6. Tools Supporting DFD Notations
Several tools support creating DFDs using Gane and Sarson or Yourdon and DeMarco notations:
- Microsoft Visio:
- Offers templates and stencils for both notations.
- Provides professional diagramming capabilities.
- Lucidchart:
- Web-based tool with DFD templates.
- Supports collaboration and sharing.
- draw.io (diagrams.net):
- Free online diagramming tool.
- Supports custom shapes and notations.
- SmartDraw:
- Includes templates for DFDs.
- Offers a rich library of symbols.
- Visual Paradigm:
- Supports DFD creation with both notations.
- Offers additional features for software design.
- Creately:
- Online tool with real-time collaboration.
- Provides DFD templates and examples.
7. Additional Considerations
- Consistency:
- Maintain consistent use of symbols and notation throughout the diagram.
- Ensure that the level of detail is appropriate for the intended audience.
- Labeling:
- Clearly label all elements in the diagram.
- Use descriptive names for processes and data flows.
- Detail Levels:
- Level 0 DFD (Context Diagram):
- Shows the system as a single process with its relationships to external entities.
- Level 1 DFD:
- Decomposes the main process into sub-processes.
- Level 2+ DFDs:
- Further decomposition of sub-processes for detailed analysis.
- Level 0 DFD (Context Diagram):
- Avoid Data Flow Errors:
- Black Holes: Processes that have inputs but no outputs.
- Miracles: Processes that have outputs but no inputs.
- Grey Holes: Processes where the inputs are insufficient to produce the outputs.
- Data Flow Direction:
- Ensure arrows accurately represent the direction of data movement.
- Avoid bidirectional arrows; instead, use two separate arrows if data flows in both directions.
- Documentation:
- Include a legend or key explaining the symbols used.
- Provide metadata such as the diagram’s title, author, date, and version.
8. Conclusion
Using the Gane and Sarson notation for Data-Flow Diagrams is recommended due to its structured approach and suitability for complex systems. It will help you and your stakeholders visualize how data moves through the system, interacting with various entities and processes.
By carefully mapping out the data flows, you can identify potential bottlenecks, ensure data integrity, and provide a clear communication tool for developers, analysts, and other stakeholders.
If you need assistance in creating your Data-Flow Diagram or have questions about implementing DFD standards, feel free to ask!