Data Flow Diagrams (DFDs)
Data Flow Diagrams (DFDs) are a graphical/representation of
systems and systems components.
What is a Data Flow Diagram?
• A Data Flow Diagram is intended to serve as a
communication tool among
– systems analysts
– end users
– data base designers
– system programmers
– other members of the project team
Why Draw Data Flow Diagrams?
• To clearly and concisely communicate the flow of
data through a system.
• DFD’s are easier to understand than text.
DFD Symbols and Definitions
• Process - performs some action on data, such
as creates, modifies, stores, delete, etc. Can
Process be manual or supported by computer.
• Data store - information that is kept and
Data store accessed. May be in paper file folder or a
database.
•
External External entity - is the origin or destination of
data. Entities are external to the system.
Entity
• Data flow - the flow of data into or out of a
process, data store or entity
Data flow
Rules for Drawing DFD’s
A minimum of one data flow
in and one data flow out of
a process
A datastore must be
connected to a process
(either in, out, or both)
An external entity must
be connected to a process
(either in, out, or both)
A single data flow must
only flow one way
DFD: Common Mistakes
• Process has no data flowing into it,
but has data flowing out.
• Data store is hooked to external
entity. This means external entity can
read and write to your data file
without auditing!!
• The data flow goes in two directions
at once. Two or more arrows should
be used to show the flow to and from
each process.
Steps for DFD
1. people/organisations/things that supply information
to or use information from the system external
entities (EE)
2. Actions/doing words/verbs => Processes (P)
3. Movement/exchange of information/data between
external entities to processes, and processes to
processes => data flows (DF)
4. store/record information/data => data stores(DS)
An Example
Draw the DFD for a distance education university.
The enrolment process works as follows:
1. Students send in an application form containing their personal
details, and their desired course.
2. The university checks that the course is available and that the
student has necessary academic qualifications.
3. If the course is available the student is enrolled in the course,
and the university confirms the enrolment by sending a
confirmation letter to the student.
OR
4. If the course is unavailable the student is sent a rejection letter.
In Example
1. A student (EE) sends in an application form (DF) containing
their personal details, and their desired course.
2. The university checks (P) that the course is available.
3. If the course is available the student is enrolled (P) in the
course, and the university confirms (P) the enrolment by
sending a confirmation letter (DF) that they are registered
for the course to the student.
OR
4. If the course is unavailable the student is sent a rejection
letter (DF).
Context Diagram or 0 Level DFD
1 Level DFD
External entity – Student
Processes - Check available, Enrol student, Confirm Registration
Data Flows - Application Form, Course Details, Course Enrolment
Details, Student Details, Confirmation/Rejection Letter
Data Stores - Courses, Students.
Creating Data Flow Diagrams
Example 1. Create a list of activities
Think through the activities
that take place at a
lemonade stand.
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Creating Data Flow Diagrams
Example 1. Create a list of activities
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
Creating Data Flow Diagrams
Example 1. Create a list of activities
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 Labor
Creating Data Flow Diagrams
Example 2. Construct Context Level DFD
(identifies sources and sink)
Create a context level
diagram identifying the Context Level DFD
sources and sinks (users).
Sales Forecast
Order 0.0
CUSTOMER Lemonade Production Schedule EMPLOYEE
Customer Order Product Served System Pay
Serve Product Payment Time Worked
Collect Payment Received Goods
Payment
Purchase Order
Produce Product
Store Product VENDOR
Order Raw Materials
Pay for Raw Materials
Pay for Labor
Creating Data Flow Diagrams
Example 3. Construct Level 0 DFD
Create a level 0 diagram (identifies manageable sub processes )
identifying the logical Level 0 DFD
subsystems that may exist.
1.0
Sale
Customer Order Sales Forecast
Customer Order
Product Ordered
Serve Product
Payment
Collect Payment 2.0 Production
CUSTOMER EMPLOYEE
Production Schedule
Product Served
Produce Product
Inventory
Store Product Received Goods
3.0
VENDOR Procure- Order
Purchase Order
Order Raw Materials ment Decisions
Pay for Raw Materials Payment
Pay Time Worked
Pay for Labor 4.0
Payroll
Creating Data Flow Diagrams
Example 4. Construct Level 1- n DFD
Create a level 1 (identifies actual data flows and data stores )
decomposing the processes Level 1 DFD
in level 0 and identifying
CUSTOMER
data stores.
Customer Order
Request for Forecast
Customer Order ORDER
Serve Product 1.1
Record
Collect Payment Order
1.3
Produce
Severed Order Sales
Produce Product Payment Forecast
Sales Forecast
Store Product
1.2
Receive PAYMENT
Payment
Order Raw Materials
Pay for Raw Materials
Pay for Labor
Creating Data Flow Diagrams
Example 4. Construct Level 1 (continued)
Create a level 1
decomposing the processes Level 1 DFD
in level 0 and identifying
Product Order
data stores.
ORDER
Customer Order 2.1
Serve Quantity Severed
Serve Product Product
Collect Payment RAW
Production
MATERIALS
Schedule
Produce Product 2.2
Store Product Produce Quantity Used
Product
INVENTORTY
Order Raw Materials Production Data
Pay for Raw Materials
2.3 Quantity Produced &
Store Location Stored
Pay for Labor Product
Creating Data Flow Diagrams
Example 4. Construct Level 1 (continued)
Create a level 1
decomposing the processes Level 1 DFD
in level 0 and identifying Order Decision
PURCHASE
data stores. 3.1 ORDER
Produce
Purchase
Customer Order Order Quantity On-Hand
Serve Product Quantity
RAW
MATERIALS
Collect Payment Received Received
Goods
3.2
Produce Product Receive
Items
Store Product RECEIVED
ITEMS
Payment Approval
Order Raw Materials
VENDOR
Pay for Raw Materials 3.3
Pay
Vendor
Pay for Labor
Payment
Creating Data Flow Diagrams
Example 4. Construct Level 1 (continued)
Create a level 1
decomposing the processes Level 1 DFD
in level 0 and identifying Time Worked
data stores. 4.1 TIME CARDS
Record
Time
Customer Order Worked Employee ID
Serve Product EMPLOYEE
Collect Payment
Payroll Request
4.2
Unpaid time cards
Produce Product Calculate
Payroll
Store Product PAYROLL
Payment Approval
Order Raw Materials
4.3
Pay for Raw Materials Pay
Employe
e PAYMENTS
Pay for Labor
Payment
Process Decomposition
1.1 1.2
1.0
Record Receive
Sale
Order Payment
2.1 2.2 2.3
2.0
Serve Produce Store
Production
Product Product Product
0.0
Lemonade
System
3.1
3.0 3.2 3.3
Produce
Procure- Receive Pay
Purchase
ment Items Vendor
Order
4.1 4.3
4.2
4.0 Record Pay
Calculate
Payroll Time Employe
Payroll
Worked e
Context Level Level 0 Level 1
SmartDraw - Create Flowcharts, DFD, Floor Plans, and Other ...
https://www.smartdraw.com
See why SmartDraw is the smartest way to draw any type of chart, diagram: flowcharts, org charts, floor
plans, network diagrams, and more on any device.
SmartDraw Diagram Software
SmartDraw. Google Drive. Microsoft SmartDraw is the easiest and most powerful
OneDrive. Microsoft ... way to create ...
Create Diagrams Online Draw Floor Plans
SmartDraw allows you to integrate with all the SmartDraw is the fastest, easiest way to draw
tools you already ... floor plans ...
Download the SmartDraw Templates
With the SmartDraw app, you can make Browse templates and examples you can
diagrams on your desktop ... make with SmartDraw.
Dia Diagram Editor
Dia is free (open source) drawing software. Sketch your favorite
structured diagrams!
Dia Diagram Editor is a simple data flow diagram software for Windows.
http://dia-installer.de
DiagramRing
DiagramRing is free data flow diagram software for Windows.
DiagramRing is an advanced diagram editor. It supports lots of diagram
types like Flowcharts, Class Diagrams, DFDs, ERDs, Pie charts, ..
It provides a dedicated section for DFD symbols using which you
can create level 0 DFD.