What is meant by data flow diagram?

A visual description of data flow in the system is called a data flow diagram(DFD). DFD is capable of explaining incoming data flow, outgoing data flow, and data storage. The data flow diagram describes how data flows through the system. DFD is developed using standardized notations and symbols. The data flow diagram represents the boundaries and scope of the whole system. Data flow graphs and bubble charts are the other names of DFD.

Types of data flow diagram

DFD is broadly classified into two types and they are,

Logical data flow diagram

The focus of logical DFD is on "what" happens in the particular data flow like what data is transmitted, what entities are receiving that data, what processes occur, etc. Logical DFD does not delve into the technical aspects of a system or process. Non-technical employees should be able to understand these diagrams. Datastore in logical DFD describes the data collections (regardless of how they store the data).

Physical data flow diagram

The focus of physical DFD is on "how" things occur in the data flow. Physical DFD specifies the software, files, hardware and people involved in the data flow. A brief physical DFD can facilitate the development of the code needed to implement a data system. Datastore in logical DFD represents the databases and physical files.

While creating a DFD, the following are the primary rules to consider,

  • Every process must have minimum one output and input.
  • Every data store must have minimum one data flow in and data flow out.
  • The stored data at the system must pass across the process.
  • The process at DFD need to be linked to other process or data store.

Symbols used in data flow diagram

The system symbol names are derived from developers Gane & Sarson or Yourdon & DE Marco. The Gane & Sarson or Yourdon & DE Marco methodology differed from one another by the method of drawing a data flow diagram. The process is represented as a square in Gane & Sarson system, whereas in Yourdon & DE Marco system the process is in a circular shape. The basic symbols of DFD are,

External entity

An object outside the system, which the system communicates is known as an external entity. An external entity represents the terminator, source, organization, and people (actor). An external entity is the source and destination of the system which receives/sends data from/to their system. External entities are defined using a sharp-cornered rectangle.

Process

The process helps in receiving the data (input data) and processing the output with various content. Every process has a unique name, which helps to identify its function. The process can be either simple (like getting the inputs, data saving, etc) or complex (like processing the sales report for a certain product). The process is defined using a circle or rectangle with rounded corners.

Data flow

The path of data, which moves from one part to another part of the system is called data flow. The data element can be either single or group. Data flow is defined using an arrow (arrow refers to their flow direction).

Data store

A data repository of a system is called a data store. Every data store has a label (example: order). A data store is a repository that holds the data for subsequent use like a membership form, database table, etc.

The image represents the symbols used in data flow diagram.

Levels in DFD

DFD is a graphical representation of the process/system and it ranges from simple to complex with various levels, starting from level 0. However, level 0 is intuitive and common DFD and it is also known as a context diagram. The following are the various levels of DFD,

Level 0

The simplest level in DFD is the context diagram (level 0). Level 0 is the basic overview of the entire system. Level 0 is designed to show the system as a single high-level process with its relationship to the external entities. This level describes the system input and output. Level 0 is easily understood by the stakeholders, data analysts, developers, and business analysts.

Level 1

Level 1 gives a complete breakout of pieces of the context diagram. In level1, the main objectives of the system are highlighted and breakdown the high-level process of level 0 into subprocesses.

Level 2

Each and every process in level 1 will be further divided into subprocesses, and this decomposition will continue for all the levels. That is level 2 goes one process deeper into the parts of level 1. This level is used to project the necessary details related to the system's functioning.

Advantages

  • Helps to understand the system's functioning and the limits.
  • Used as a part of the system documentation file.
  • DFD is a graphical representation that is quite easy to understand.
  • Provides a detailed representation of the system components.

Disadvantages

  • DFD makes the programmers confused regarding the system.
  • DFD takes a long time to create.
  • The physical considerations are left out.

Data flow diagram vs flow chart

DFD depicts the logical data flow between various components of the system whereas flow chart depicts the control flow within the system.

Common Mistakes and Pitfalls

While creating a DFD, the following are the mistakes to avoid,

  • Each process needs to have a minimum of one input and output.
  • Each data store needs to have a minimum of one data flow in and one data flow out.
  • Data store in the system must go through the process.
  • All the processes in the DFD go to another data store or process.

Context and Applications

This topic is important for postgraduate and undergraduate courses, particularly for, bachelors in computer science engineering and associate of science in computer science.

Practice Problems

Question 1: Which DFD type focuses on the system process and its data flow?

a) System DFD

b) Physical DFD

c) Logical DFD

d) None of the above

Answer: Option c is correct.

Explanation: The logical DFD's main focus is on the system process and its data flow is illustrated using logical DFD. In logical DFD, the data store represents the data collections.

Question 2: State true or false: Every process needs to have a minimum of ____ output and input.

a) One

b) Two

c) Three

d) Four

Answer: Option a is correct.

Explanation: A DFD is a graphical description of data flow. When the data flow diagram is created, the developer needs to check every process in DFD needs to have a minimum of one output and input.

Question 3: Which among the following cannot be a DFD component?

a) External entities

b) Process

c) Attributes

d) Data flow

Answer: Option c is correct.

Explanation: Attributes cannot be a DFD component; whereas, the components are data flow, process, external entities, and data store. System symbol names are based on the developers (Gane & Sarson or Yourdon & DE Marco) and the difference is the drawing method. The process shape is square in Gane and Sarson, whereas, the process shape is a circle in Yourdon and DE Marco method.

Question 4:

A directed arc or line in DFD represents

a) Data Store

b) Data Process

c) Data Flow

d) None of the above

Answer: Option c is correct.

Explanation: The path of data, which moves from one part to another part of the system is called data flow. The data element can be either single or group. Data flow is defined using an arrow.

Question 5: A context diagram ___.

a) is a DFD that gives an overview of the system

b) is a detailed description of a system

c) is not used in drawing a detailed DFD

d) None of the above

Answer: Option a is correct.

Explanation: Level 0 is the other name of the context diagram. It focuses on the high-level system function. The entire system is described in a single process at level 0 and it does not have any data store.

Want more help with your computer science homework?

We've got you covered with step-by-step solutions to millions of textbook problems, subject matter experts on standby 24/7 when you're stumped, and more.
Check out a sample computer science Q&A solution here!

*Response times may vary by subject and question complexity. Median response time is 34 minutes for paid subscribers and may be longer for promotional offers.

Search. Solve. Succeed!

Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.

Tagged in
EngineeringComputer Science

System Design

Modeling Data

Data Flow Diagram

Data flow diagram Homework Questions from Fellow Students

Browse our recently answered Data flow diagram homework questions.

Search. Solve. Succeed!

Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.

Tagged in
EngineeringComputer Science

System Design

Modeling Data

Data Flow Diagram