How to :
Data Flow Diagrams
(DFDs)
Data Flow Diagrams (DFDs)
Data flow diagram CUSTOMER
Order In-Stock Request
WAREHOUSE
(DFD) is a picture of Status
Message
1.0
the movement of Status Data
Check
Status
Shipping
Order
data between Shipping
2.0
Order
Data
3.0
external entities and Confirmation Pending
Issue D1 Orders
Status
Messages Generate
the processes and
Shipping
Order Data Order
data stores within a
Payment 4.0
Order Data
Invoice
system
Manage
Accounts
Receivable
5.0
Accounting Data Accounts Receivable Data
Produce
Accounts Reports
D2 Receivable
Inventory
Reports
ACCOUNTING
DFD Symbols (Gane & Sarson)
Process
Data Flow
Data Store
Source/Sink (External Entity)
Process
1.0
Grade Detail Grade Report
Produce
Grade
Report
Work or actions performed on data (inside the
system)
Labels should be verb phrases
Receives input data and produces output
Rule 1: Process
Can have more than one outgoing data flow
or more than one incoming data flow
1.0
Graded Work
Submitted Work
Grade
Student Student Grade
Work
3.0
Hours Worked
Gross Pay
Calculated
Pay Rate
Gross
Pay
Rule 2: Process
Can connect to any other symbol (including
another process symbol)
1.0 2.0 Inventory
Order Accepted Order Change
Verify Assemble
Order Order
Process: Correct/Incorrect?
5.0
Services Perfomed Invoice
Create
Invoice
Policy Number Payment Amount
Apply
Insurance
Premium
2.1
Hours Worked Pay Rate
Calculate
Gross
Pay
Data Flow
Deposit
Is a path for data to move from one part of the
IS to another
Arrows depicting movement of data
Can represent flow between process and
data store by two separate arrows
2.1
Payment Detail
D1 Accounts
Invoice Detail
Post Receivable
Payment
Data Flow: Correct/Incorrect?
5.0
Post
Payment
Courses
Customer
Payment
Class
List D2 Daily Payments
Daily
Payment
Students
6.0
Prepare
Deposit
Data Store
D1 Students
Is used in a DFD to represent data that the
system stores
Labels should be noun phrases
Rule: Data Store
Must have at least one incoming and one
outgoing data flow
Customer Payment
D1 Daily
Payments
Daily Payment
Data Store: Correct/Incorrect?
2.0 D2 Accounts
Receivable
Book
Flight
Invoice
Payment
Detail
Detail
Fight
Request
3.0
Post
Passengers
Payment
Source/Sink (External Entity)
1.0
Order
CUSTOMER Invoice
Verify
Order
External entity that is origin or destination of
data (outside the system)
Is the singular form of a department, outside
organisation, other IS, or person
Labels should be noun phrases
Source – Entity that supplies data to the
system
Sink – Entity that receives data from the
system
Rule: Source/Sink
Must be connected to a process by a data flow
BANK
Bank
Deposit
2.0
Prepare
Deposit
Source/Sink: Correct/Incorrect?
PAYROLL CUSTOMER CUSTOMER
DEPARTMENT
Paycheck
Payment Payment
EMPLOYEE 3.0
Accounts
Receivable
Apply
Payment
Rules for Using DFD Symbols
Data Flow That Connects
YES NO
A process to another process
A process to an external entity
A process to a data store
An external entity to another external entity
An external entity to a data store
A data store to another data store
List the errors of this DFD
DF2
E1 1.0
DF5 P2
DF1 DS1
DF3
DF6
2.0
DF4
DF2 P1
E1
Context Diagram
Top-level view of IS
Shows the system boundaries, external entities that
interact with the system, and major information flows
between entities and the system.
Example: Order system that a company uses to
enter orders and apply payments against a
customer’s balance
Order
Context Diagram of
CUSTOMER WAREHOUSE
Order System
Order
Picking
Reject
List
Notice
Payment Invoice
0 Completed
Order
Order
System
Bank Cash
Commission Receipts
Deposit
Entry
SALES
ACCOUNTING BANK
REP
Level-0 DFD
Shows the system’s major processes, data flows,
and data stores at a high level of abstraction
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.
Order
Context Diagram of
CUSTOMER WAREHOUSE
Order System
Order
Picking
Reject
List
Notice
Payment Invoice
0 Completed
Order
Order
System
Bank Cash
Commission Receipts
Deposit
Entry
SALES
ACCOUNTING BANK
REP
Order Picking List
Level-0 DFD of CUSTOMER WAREHOUSE
Order System 1.0
Fill
Order Order
Reject
Notice
Invoice
2.0
Payment
Create Completed
Invoice
Invoice Order
Accounts
D1 Receivable
Invoice
Payment 3.0
Detail
Detail
Apply
Payment
Commission Bank Deposit Cash Receipts Entry
SALES
BANK ACCOUNTING
REP
Lower-Level Diagrams
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
Balancing
The conservation of inputs and outputs to a data flow
process when that process is decomposed to a lower
level
Ensures that the input and output data flows of the
parent DFD are maintained on the child DFD
Strategies for Developing DFDs
Top-down strategy
Create the high-level diagrams (Context
Diagram), then low-level diagrams (Level-0
diagram), and so on
Bottom-up strategy
Create the low-level diagrams, then higher-
level diagrams
Exercise:
Precision Tools sells a line of high-quality woodworking
tools. When customers place orders on the company’s
Web site, the system checks to see if the items are in
stock, issues a status message to the customer, and
generates a shipping order to the warehouse, which fills the
order. When the order is shipped, the customer is billed.
The system also produces various reports.
Draw a context diagram for the order system
Draw DFD diagram 0 for the order system
Identify Entities,Process,Data Stores & Data Flow
Entities Data Flows
Customer Order
Warehouse In-Stock Request
1.0
Accounting Order Data
Processes Status Data
2.0
1.0 Check Status Status Message
2.0 Issue Status Messages Shipping Order
3.0
3.0 Generate Shipping Order Order Data
4.0 Manage Accounts Invoice
Receivable Shipping Confirmation
4.0
5.0 Produce Reports Payment
Data Stores Accounting Data
D1 Pending Orders Accounts Receivable Data
D2 Accounts Receivable Order Data 5.0
Inventory Reports
Order
CUSTOMER In-Stock WAREHOUSE
Payment Request
Status 0 Shipping
Message Order
Order
Invoice System Shipping Confirmation
Inventory
Reports
Context
ACCOUNTING
Diagram of
Order
System
Order In-Stock Request
CUSTOMER WAREHOUSE
1.0
Status
Message
Check Shipping
Status Data Status Order
Order
2.0 Data
Shipping 3.0
Confirmation Pending
Issue D1 Orders
Status
Messages Generate
Shipping
Order Data Order
Payment 4.0
Order Data
Invoice
Manage
Accounts
Receivable
5.0
Accounting Data Accounts Receivable Data
Produce
Accounts Reports
D2 Receivable
Inventory
Level-0 of Reports
Order System
ACCOUNTING