What is dfd or data flow diagram in software engineering

Sonu Tewatia
2 min readDec 17, 2020

--

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 (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.

Here are 4 symbols used in DFD.

  • 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.
  • 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.
  • 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.
  • 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

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.

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.

Originally published at https://www.csmates.com.

--

--

Sonu Tewatia

Software Engineer | Content Writer | Programmer | System Admin | Linux Administration |