How To Create Data Flow Diagram (DFD
How To Create Data Flow Diagram (DFD
Data Flow
Diagram (DFD)?
Data flow diagram (DFD) is a
diagram being used frequently
in software design. It visually
represents the flow of data
throughout processes in a
given system. DFD shows the
kind of information that will be
input to and output from
processes as well as where the
data will be stored.
What is Data
Flow Diagram?
A typical information system involves processing a lot of information
and processes. The purpose of Data Flow Diagrams is to view systems
as a whole with its scopes and boundaries while it illustrates the
movement of information between components. The focus of DFD is on
the flow of data throughout the system, not process flow. DFD allows
readers to easily see how the system will operate by knowing the kind
and flow of information involved.
DFD Types
Data Flow Diagram Levels
Unlike other diagrams, DFD can be drawn at different levels, based on the
purpose they are drawn to serve.
A context diagram is a data flow diagram that only shows the top
level, otherwise known as Level 0. At this level, there is only one
visible process node that represents the functions of a complete
system in regard to how it interacts with external entities.
Level 1 DFD
The Food Order System Data Flow Diagram example contains three
processes, four external entities, and two data stores.
Based on the diagram, we know that a Customer can place an Order. The Order
Food process receives the Order, forwards it to the Kitchen, store it in the Order data
store, and store the updated Inventory details in the Inventory data store. The process also
delivers a Bill to the Customer.
Cautions
representing the exchange of information. Connectors in a Data
Flow Diagram are for representing data, not for representing
process flow, step or anything else. When we label a data flow
that ends at a data store "a request", this means we are passing a
request as data into a data store. Although this may be the case
in implementation level as some of the DBMS do support the use
of functions, which intake some values as parameters and return
a result, in Data Flow Diagram, we tend to treat data store as a
sole data holder that does not possess any processing capability.
If you want to model the system flow or process flow, use
UML Activity Diagram or BPMN Business Process Diagram
instead. If you want to model the internal structure of a
datastore, use an Entity Relationship Diagram.
The Securities Trading Platform
Example
The figure shows a context
Data Flow Diagram that is
drawn for a security trading
platform. It contains a process
(shape) that represents the
system to model, in this case,
the "securities trading
platform". It also shows the
participants who will interact
with the system, called the
external entities. In this
example, CS
Assistant, Customer and Broke
r are the entities who will
interact with the system. In
between the process and the
external entities, there are
data flow (connectors) that
indicate the existence of
information exchange between
the entities and the system.
Level 1 DFD
The securities trading platform Data Flow Diagram example contains five
processes, three external entities and three data stores. Although there is no
design guidelines that governs the positioning of shapes in a Data Flow
Diagram, we tend to put the processes in the middle and data stores and
external entities on the sides to make it easier to comprehend.
Based on the diagram, we know that a Customer Service Assistant provides customer details to
the Open Account process. The result is the Customer details being stored in Customer data
store and Account details being stored in Account data store. Although we said that the attempt
to store customer and account details happens after the details are being provided by
the Customer Service Assistant, the Data Flow Diagram implies no such thing. It is our common
sense that lead us to interpret the diagram in the way that we understand it naturally. Strictly
speaking, the diagram only tells us the Open Account process receives customer details and
produce customer and account details, with no order specified. Note that Data Flow Diagram
does not answer in what way and in what order the information is being used throughout a
system.
The process Check
Transaction receives Transaction details from
the Transaction data store and pass it on
to Customer.
Level 2 DFD
The external entities and data stores in this DFD correspond with
those shown in the upper level (i.e. the diagram above). What
makes it different is the breakdown of Place Order process
into Place Order (Online) process and Place Order
(Offline) process.