UML
Data Flow Diagram (DFD)
• Data Flow Diagram (DFD) provides a visual representation of the flow
of information (i.e. data) within a system.
• By drawing a Data Flow Diagram, you can tell the information
provided by and delivered to someone who takes part in system
processes, the information needed to complete the processes and the
information needed to be stored and accessed.
The Food Ordering System Example
Context DFD
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. Some of the benefits of
a Context Diagram are:
1. Shows the overview of the boundaries of a system
2. No technical knowledge is required to understand with the
simple notation
3. Simple to draw, amend and elaborate as its limited notation
•The figure below shows a context Data Flow Diagram that is drawn for
a Food Ordering System. It contains a process (shape) that represents
the system to model, in this case, the "Food Ordering System". It also
shows the participants who will interact with the system, called the
external entities. In this example, the Supplier, Kitchen, Manager,
and Customer are the entities who will interact with the system. In
between the process and the external entities, there is data flow
(connectors) that indicate the existence of information exchange
between the entities and the system.
Level 1 DFD
The figure below shows the level 1 DFD, which is the decomposition (i.e. break
down) of the Food Ordering System process shown in the context DFD. Read
through the diagram and then we will introduce some of the key concepts based on
this diagram.
•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.
•The Manager can receive Reports through the Generate
Reports process, which takes Inventory details and Orders as input from
the Inventory and Order data store respectively.
•The Manager can also initiate the Order Inventory process by
providing Inventory order. The process forwards the Inventory order to
the Supplier and stores the updated Inventory details in
the Inventory data store.