7. Data Flow Diagram:
"a network representation of a
system. The system may be
automated, manual, or mixed. The
DFD portrays the system in terms of
its component pieces, with all
interfaces among the components
indicated." - Tom DeMarco
hence DFDs:
focus on the movement of data
between external entities and
processes, and between processes
and data stores
12. LOGICAL DFDs
STRUCTURED ANALYSIS
Focuses on the business and how the business
operates. It is not concerned with how the system
will be constructed.
13.
14. PHYSICAL DFDs
The data flow diagrams which represent the
model of the current system (manual or
computerized), are known as physical DFDs.
Shows how the system will be implemented
including the hardware, software, files and people
involved in the system
16. Physical vs Logical DFDs
Physical
when any physical object or process is present
Logical
when no physical components are present
Physical = How? i.e. limited to the way
things are done
Logical = What? i.e. concerned with what is
done
Example – a data store called ‘Sales
Notebook’ is a physical data store but
‘Sales File’ is logical.
19. EXTERNAL ENTITY
It represent any entity that supplies data or
receives information from system. For example,
customer, sales department, employee etc., are
external entities.
CUSTOMER
20. DATA FLOW
The data flow indicates the movement of data
either from input to process or from process to
output. Data flow is labeled to show what data is
flowing. For example, customer details, sales
report, etc., are data flows.
New customer
Information
21. PROCESS
Processes are the actions performed on input
data to produce the output data. They are given
some meaningful names. For example, prepare
bill, calculate sales, compute pay etc., are the
processes.
2.1
Create customer Record
22. DATA STORE
Data store indicates the data file or register where
data is accumulated. For example, customer
master file, employee register, sales transaction
files, etc., are data stores.
Customer
Master file
D3
26. Creating Data Flow Diagrams
Creating DFDs is a highly iterative process of
gradual refinement.
General steps:
1. Create a preliminary Context Diagram
2. Identify Use Cases, i.e. the ways in which users
most commonly use the system
3. Create DFD fragments for each use case
4. Create a Level 0 diagram from fragments
5. Decompose to Level 1,2,…
6. Go to step 1 and revise as necessary
7. Validate DFDs with users.
27. Constructing a Context Diagram
identify and list sources/sinks (external
entities)
identify and list inputs to and outputs from
sources/sinks (external entities)
create context diagram
28.
29. .
Level-O Diagram
A data flow diagram (DFD) that represents a
system’s major processes, data flows and data
stores at a high level of detail.
When the Context Diagram is
expanded into DFD level-0, all the
connections that flow into and out of
process 0 needs to be retained.
30. Level-0 DFD of Hoosier Burger’s food ordering system
8.30
32. Decomposition of DFDs
Functional decomposition
An iterative process of breaking a system description
down into finer and finer detail
Uses a series of increasingly detailed DFDs to describe
an IS
Act of going from one single system to many
component processes
Repetitive procedure
Lowest level is called a primitive DFD
Level-N Diagrams
A DFD that is the result of n nested decompositions of
a series of subprocesses from a process on a level-0
diagram
33. Balancing DFDs
When decomposing a DFD, you must conserve
inputs to and outputs from a process at the next
level of decomposition
Ensures that the input and output data flows of
the parent DFD are maintained on the child DFD
This is called balancing
Example: Hoosier Burgers
In Figure 1, notice that there is one input to the system,
the customer order
Three outputs:
Customer receipt
Food order
Management reports
35. Balancing DFDs Example (Continued)
Notice Figure 2. We have the same inputs and
outputs
No new inputs or outputs have been introduced
We can say that the context diagram and level-0
DFD are balanced
37. Balancing DFDs:
An unbalanced example
Figure 3:
In context diagram, we have one input to the system, A
and one output, B
Level-0 diagram has one additional data flow, C
These DFDs are not balanced
38. Figure 3: An unbalanced set of data
flow diagrams
SOURCE SINK
(a) Context diagram
(b) Level-0 diagram
SOURCE 1
SINK
0
SOURCE 2
1.0
2.0
A B
A
C
B
40. Creating Data Flow Diagrams
Steps:
1. Create a list of activities
2. Construct Context Level DFD
(identifies sources and sink)
3. Construct Level 0 DFD
(identifies manageable sub processes )
4. Construct Level 1- n DFD
(identifies actual data flows and data stores )
Example
The operations of a simple
lemonade stand will be used
to demonstrate the creation
of dataflow diagrams.
41. Creating Data Flow Diagrams
1. Create a list of activities
Example
Think through the activities
that take place at a lemonade
stand.
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
42. Creating Data Flow Diagrams
Example
Also think of the additional
activities needed to support
the basic activities.
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
1. Create a list of activities
43. Creating Data Flow Diagrams
Example
Group these activities in
some logical fashion,
possibly functional areas.
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labour
1. Create a list of activities
44. Creating Data Flow Diagrams
0.0
Lemonade
System
EMPLOYEE
CUSTOMER
Pay
Payment
Order
Context Level DFD
Example
Create a context level
diagram identifying the
sources and sinks (users).
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
VENDOR
Payment
Purchase Order
Production Schedule
Received Goods
Time Worked
Sales Forecast
2. Construct Context Level DFD
(identifies sources and sink)
Product Served
45. Creating Data Flow Diagrams
Level 0 DFD
Example
Create a level 0 diagram
identifying the logical
subsystems that may exist.
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
3. Construct Level 0 DFD
(identifies manageable sub processes )
2.0
Production
EMPLOYEE
Production
Schedule
1.0
Sale
3.0
Procure-
ment
Sales Forecast
Product Ordered
CUSTOMER
Pay
Payment
Customer Order
VENDOR
Payment
Purchase Order
Order
Decisions
Received Goods
Time Worked
Inventory
Product Served
4.0
Payroll
46. Creating Data Flow Diagrams
Level 1 DFD
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
4. Construct Level 1- n DFD
(identifies actual data flows and data stores )
1.3
Produce
Sales
Forecast
Sales Forecast
Payment
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
1.1
Record
Order
Customer Order
ORDER
1.2
Receive
Payment
PAYMENT
Severed Order
Request for Forecast
CUSTOMER
47. Creating Data Flow Diagrams
Level 1 DFD
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
4. Construct Level 1 (continued)
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
2.1
Serve
Product
Product Order
ORDER
2.2
Produce
Product
INVENTORTY
Quantity Severed
Production
Schedule
RAW
MATERIALS
2.3
Store
Product
Quantity Produced &
Location Stored
Quantity Used
Production Data
48. Creating Data Flow Diagrams
Level 1 DFD
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
4. Construct Level 1 (continued)
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
3.1
Produce
Purchase
Order
Order Decision
PURCHASE
ORDER
3.2
Receive
Items
Received
Goods
RAW
MATERIALS
3.3
Pay
Vendor
Quantity
Received
Quantity On-Hand
RECEIVED
ITEMS
VENDOR
Payment Approval
Payment
49. Creating Data Flow Diagrams
Level 1 DFD
Example
Create a level 1
decomposing the processes
in level 0 and identifying
data stores.
4. Construct Level 1 (continued)
Time Worked
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
4.1
Record
Time
Worked
TIME CARDS
4.2
Calculate
Payroll
Payroll Request
EMPLOYEE
4.3
Pay
Employe
e
Employee ID
PAYROLL
PAYMENTS
Payment Approval
Payment
Unpaid time cards