2. Overview
A Concept
Primitive Symbols
Context Diagram
Level 1 Diagram
Decomposition
Example
Do’s and Don’ts
Shortcomings
2
3. A Concept: Simple Example
RMS: Root Mean Square
3
RMS
Calculator
0
User
I/P Data
rms
Validate
input
1
Compute
RMS
2
Valid Data
Display
result
3
rms rms
Further Decomposition…
I/P Data
4. Concept
“A graphical representation of the flow of
data through an information system, modelling
its process aspects.”
“A hierarchical graphical model of a system
that shows –
The different processing activities / functions that
the system performs, and
The data interchange among those functions.”
Also known as the Bubble Chart
4
5. Concept
Shows:
What data is Input; Who generates it: Source
What data is O/P; Who receives it: Destination/Sink
What processing is performed on data; by whom: Proc
Where data come from and go to: Data Flow
What data is stored; where: Data Store
Does not show:
Timing of processes: Executed in parallel or sequence
Conditions: based on which functions may or may not
get executed
Control flow / Algorithmic details
That’s why: Different from Flowchart
5
6. Concept
Why Popular?
Easy to understand by technical and non-technical
persons
Can provide high level system overview; with
boundaries and connections to other systems
Can provide a detailed representation of system
components
Uses limited number of primitive symbols (only four)
Provides hierarchy of DFDs – Reduces complexity using
abstraction at each level
Top level: Most abstract: Context Diagram / Level 0 Diagram
Next level: Level 1 Diagram
Further levels: Level 2, 3, 4…
6
7. Primitive Symbols for DFD
Process / Function: Circle,
Rounded Rectangle
Actions performed on data:
Transformed, Stored, or Distributed
Annotated with number and name of
function
Name starts with verb (Except context
level diagram)
Data Flow: Directed arc, Arrow
Single piece of data or logical
collection of data
Annotated with name/description of
data
7
8. Primitive Symbols for DFD
External Entity: Rectangle
Source and/or Sink
Origin and/or Destination of the data
External, cos outside the system
Annotated with name (Noun)
Data Store: Open rectangle,
parallel lines
Data structure, File, Table, Database
Annotated with corresponding names
of data items
8
9. Context or Level 0 Diagram
Concept:
Most abstract representation of the system
Highest level or simplest representation of system
Entire system as single bubble – annotated with
software name (noun is used for naming bubble)
Represents the context in which system would
exist – external entities, data input to the system,
data output from the system
9
10. Context or Level 0 Diagram
Main steps:
Identify where data is captured from: Source
Identify where data is distributed to: Destination
Describe the overall process
Map these out in a diagram using the correct
symbols
Link them with data flows that are labelled
10
11. Level 1 Diagram
Concept:
Represents high level functions of the system –
derived based on functional requirements from
SRS
3 to 7 bubbles – each representing single high
level function
Input data to these functions
Output data from these functions
External entities can be avoided
Data store can be introduced at this level or at
next levels
11
12. Level 1 Diagram
Main steps:
Identify and draw the processes that make up the Level 0
process: High level functions
Allocate descriptions to these processes
Lay out the sources/sinks and data flows from the
Level 0 diagram
Draw in any data stores used in the process
Link the new processes and data stores with named data
links: Data flows
12
13. Decomposition
Concept:
Also knows as factoring or exploding a bubble
Bubbles are decomposed into sub-functions at
the successive levels of the DFD model
Decomposition into 3 to 7 bubbles
Too few: superfluous, redundant, trivial
Too many: makes DFD model hard to understand
How far: until function can be described using
simple algorithm or instructions
13
14. Decomposition
Numbering:
Numbering:
Context Level DFD: 0
Level 1 DFD: 1,2,3…
Level 2 DFD: 1.1, 1.2,…, 2.1,2.2,…
Balancing:
The data that flow into or out of a bubble must
match the data flow at the next level of DFD.
14
15. Decomposition/Level ‘n’ Diagram
Main steps:
Identify and draw the processes that make up the Level
n-1 process
Allocate descriptions to these processes
Lay out all the data flows from the Level n-1 diagram
Draw in any data stores used in the process
Link the new processes and data stores with named data
links: Data flows
15
16. Ex: Food Order System
Description
Customer provides order.
System produces receipt by referring order and gives to
customer.
Order is also sent to kitchen department.
Based on order, “Goods sold” and “Inventory” files are
updated.
Reports for the top management regarding sales,
inventory depletion (income, expenditure) are generated.
16
17. Context or Level 0 Diagram
Main steps:
Identify where data is captured from
Identify where data is distributed to
Describe the overall process
Map these out in a diagram using the
correct symbols
Link them with data flows that are labelled
17
19. Context or Level 0 Diagram
Main steps:
Identify where data is captured from
Identify where data is distributed to
Describe the overall process
Map these out in a diagram using the
correct symbols
Link them with data flows that are labelled
19
21. Context or Level 0 Diagram
Main steps:
Identify where data is captured from
Identify where data is distributed to
Describe the overall process
Map these out in a diagram using the
correct symbols
Link them with data flows that are labelled
21
22. Context or Level 0 Diagram
22
Food
Ordering
System
0
CUSTOMER KITCHEN
RESTAURANT
MANAGER
23. Context or Level 0 Diagram
Main steps:
Identify where data is captured from
Identify where data is distributed to
Describe the overall process
Map these out in a diagram using the
correct symbols
Link them with data flows that are
labelled
23
25. Level 1 Diagram
Main steps:
Identify and draw the processes that make up the
Level 0 process
Allocate descriptions to these processes
Lay out the sources/sinks and data flows from the Level 0
diagram
Draw in any data stores used in the process
Link the new processes and data stores with named data
links
25
26. Level 1 Diagram
26
1.0
Receive and
transform
Customer
Food Order
3.0
Update
Inventory
file
2.0
Update
Goods Sold
file
4.0
Produce
Management
Reports
27. Level 1 Diagram
Main steps:
Identify and draw the processes that make up the Level 0
process
Allocate descriptions to these processes
Lay out the sources/sinks and data flows from the
Level 0 diagram
Draw in any data stores used in the process
Link the new processes and data stores with named data
links
27
28. Level 1 Diagram
28
1.0
Receive and
transform
Customer
Food Order
3.0
Update
Inventory
file
2.0
Update
Goods Sold
file
4.0
Produce
Management
Reports
Receipt
Customer Order
CUSTOMER KITCHEN
Food Order
RESTAURANT
MANAGER
Management
Reports
29. Level 1 Diagram
Main steps:
Identify and draw the processes that make up the Level 0
process
Allocate descriptions to these processes
Lay out the sources/sinks and data flows from the Level 0
diagram
Draw in any data stores used in the process
Link the new processes and data stores with named data
links
29
30. Level 1 Diagram
30
1.0
Receive and
transform
Customer
Food Order
3.0
Update
Inventory
file
2.0
Update
Goods Sold
file
4.0
Produce
Management
Reports
Receipt
Customer Order
CUSTOMER KITCHEN
Food Order
RESTAURANT
MANAGER
Management
Reports
D1 Goods Sold File D2 Inventory File
31. Level 1 Diagram
Main steps:
Identify and draw the processes that make up the Level 0
process
Allocate descriptions to these processes
Lay out the sources/sinks and data flows from the Level 0
diagram
Draw in any data stores used in the process
Link the new processes and data stores with
named data links
31
32. Level 1 Diagram
32
1.0
Receive and
transform
Customer
Food Order
3.0
Update
Inventory
file
2.0
Update
Goods Sold
file
4.0
Produce
Management
Reports
Receipt
Customer Order
CUSTOMER KITCHEN
Food Order
RESTAURANT
MANAGER
Management
Reports
Goods
Sold
Inventory
Data
Goods
Sold Data
Inventory
Data
Daily Goods Sold Amount Daily Inventory Depletion Amount
D1 Goods Sold File D2 Inventory File
33. Level ‘n’ Diagram
Main steps:
Identify and draw the processes that make up the Level
n-1 process
Allocate descriptions to these processes
Lay out the sources/sinks and data flows from the Level
n-1 diagram
Draw in any data stores used in the process
Link the new processes and data stores with named data
links
33
34. Level 2 Diagram
34
4.0
Produce
Management
Reports
Management
Reports
Daily Goods Sold Amount Daily Inventory Depletion Amount
4.1
Access Goods
Sold and
Inventory Data
4.2
Aggregate
Goods Sold
and Inventory
Data
4.3
Prepare
Management
Reports
Daily
Goods
Sold
Amount
Daily Inventory
Depletion Amount
Goods
Sold data
Inventory
Data
Aggregated
Data
Management
Reports
39. Shortcomings of DFD
Can be Imprecise
May not capture the entire functionality
What happens if inputs are wrong; if book not found
Control aspects not defined
Order: inputs are consumed, output r produced: X
Order: different processes are executed: X
Decomposition: Subjective
How to arrive at successive level; Up to how much level:
subjective; depends upon analyst
Same problem Multiple DFDs possible
Decomposition: No specific guidance
39