What is dfd or data flow diagram in software engineering

 What is dfd (Data Flow Diagram)

Data flow diagram (DFD) is an graphical technique that describes information flow and the transformations that are applied as data move from input to output. 
data flow diagram in software engineering

Data flow diagram (DFD) serves two purposes:
  • To provide an indication of how data are transformed as they move through the system, and
  • To depict the functions (and sub-functions) that transform the data flow.
The DFD serves as the basis of the modelling of function. A description of each function presented in the DFD is contained in a process specification.

Symbols of DFD
symbols used for DFD

Here are 4 symbols used in DFD.

Data Flow
  • A data flow is a data item that is 'flowing' from one place to another and it is represented by an arrow.
  • All data flow in a DFD should be labeled.
  • The arrowhead indicates the direction of data flow. 
Process or Transform
  • A process is applied to data and 'transforms' it in some way.
  • A circle is used to represent a "process" or "transform".
  • A terminator is an external entity represented by a  rectangle.
  • These are any producers or consumers of information that reside outside the bounds of the system being modelled.
Data Store
  • A data store is a repository of data and is represented by a double line.
  • This data is stored for use by one or more processes. It may be as simple as a buffer or queue or as sophisticated as database.
Step in Developing a DFD
Follow these steps

Draw a context diagram
  • The context-level diagram shows the main sources, sinks, processes and the scope of the system under development.
  • The purpose of the context-level diagram is to conceptualize the general sources and sinks of data.
Decompose the context-level diagram
  • The context-level diagram is exploded or decomposed into a second level DFD.
Decompose to an elementary level

  • This level of diagram explains in even greater detail the actual processes that are occurring.
  • Levelling occurs until enough detail is described for the systems analyst and users to understand the system fully.

DFD in software engineering

The construction of DFDs starts with the high level of DFD at level 0. It captures the entire system as a single process with all the associated terminators and interactions between terminators and the system.

The level 0 DFD defines the boundary of the system. Subsequently, the system may broken down into a hierarchy of processes, data stores, and data flows.

A detailed-level DFD is one where the context-level DFD have been decomposed to a level where the system is defined at its most elementary level using DFD symbols.

Post a comment