Data Flow Diagrams
• Data flow diagram: is a graphical modeling tool to
depict the flow of data through a system and the
work or processing performed by that system.
– What’s the system doing?
• Use a limited number of symbols.
• Do not depict management or operational elements
of a system.
Data Flow Diagram (DFD)
• Key points for modeling
– How data moves through the organization
– Relationships between various data flows
– Storage of data
• There are no FIXED rules about how a DFD should be
developed…
2
Notations of DFD
DE MARCO & YOURDON NOTATIONS
External Entity
Data Flow
Process
Data Store
3
Notations of DFD
GANE & SARSON NOTATIONS (more universal)
External Entity
Data Flow
Process
Data Store
4
Process Logic
• DFDs are effective tools for identifying
processes, but are not good at showing all the
detail logic inside those processes.
– Not always easy to know what the lowest logical
level is (see next slide)
• However, it is better than:
– Flowcharts and Pseudocode (difficult for users to
understand).
5
External Entities
SUPPLIER
• An External Entity is a provider (source) or
receiver (sink) of data and information of the
system
15
External Entities …
• As scope changes, external agents can become
processes, and vice versa.
• Almost always one of the following:
– Office, department, division inside the business but
outside the system scope.
– An external organization or agency.
– Another business or another system.
– One of system’s end-users or managers
16
Data Stores
D1 Accounts Receivable
• A data store is an inventory of data.
– A data store means “data at rest.”
– A data flow means “data in motion.”
17
Data Stores …
– Almost always one of the following:
• Persons (or groups of persons): e.g., customer
• Places: e.g, cash register
• Objects: e.g., product
• Events (about which data is captured): e.g., sales
18
Data Flows
DELIVERY SLIP
• A Data Flow represents an input of data to a process, or the
output of data from a process.
• A Data Flow does not represent a document or a physical
good: it represents the exchange of information in the
document or about the good
19
Processes
1
Pay Bill
• A Process is a work or action performed on input data
flow to produce an output data flow
• Use a verb/verb phrase to label the action performed by
the process
• A Process must have at least one input data flow and at
least one output data flow.
20
How to find each one…
• External Entities (EE): noun
– people/organizations/things that supply information to or use
information from the system
• Processes (P): verb/verb phrase
– actions/doing words
• Data Flows (DF): name of data
– movement/exchange of information/data between external entities to
processes, and processes to processes
• Data Stores (DS): noun
– store/record information/data
21
Example for finding each one…
• A student (EE/DS) sends in an application form (DF) containing
their personal details, and their desired course
• The university (EE) checks (P) that the course (EE/DS) is
available.
• If the course is available and the student is enrolled (P) in the
course, the university confirms (P) the enrolment by sending a
confirmation letter (DF) that they are registered (P) for the
course to the student.
• Or if the course is unavailable the student is sent a rejection
letter (DF).
• What system is being modeled?
22
Guidelines for Developing DFD
1. Develop a list of business activities
– Similar to business rules of ERD
2. Create the Context Diagram (first task)
– shows external entities and data flows to and from the
system: conceptual DFD
3. Create level 0 DFD (or Diagram 0)
– shows general processes at the highest level
4. Create level 1 DFD (or Child Diagram)
― shows more detailed processes
5. Create level n-1 DFD…..
23
Context Diagram Building Procedure
• Identify the system and its boundaries (the context)
• Identify external entities (providers, receivers of
system info)
• Identify external data flows (input, output)
– However, NO DATA STORE !!!
• Note: the whole system itself is a process (it receives
input and transforms into output)
• Go back to the class website for the Context
Diagram!
24
Decomposition of Context Diagram
M
0
P Context Diagram
M D1 Level-0 Diagram
1 2
P
3
Level-1 Diagram
N
25
Description of Each Level
• Context Diagram: This is the highest level and
represents the overall system and its interaction with
its environment
• Level 0 Diagram: This shows the major subsystems
and their interactions
• Level x Diagram: Shows the processes that make up
each of the major subsystems
Level 0 DFD Building Procedure
• Level-0 DFD
– Identify what is being done between each input and its
corresponding output
– Identify the processes
– Identify external data flows between external entities and
processes
– Identify internal data flows between processes and data
stores
Level 0 Tips
• Generally move from top to bottom, left to
right
• Minimize crossed lines
• Iterate as needed
– The DFD is often drawn many times before it is
finished, even with very experienced systems
analysts
28
Tips for Level 1 and Below
• Sources for inputs and outputs listed at higher level
• List source and destination of data flows to processes
and stores within each DFD
• Depth of DFD depends on overall system complexity
– Two processes generally don’t need lower level
– More than seven processes become overly complex and
difficult to read
29
Tips for Level 1 and Below
• Level-1 DFD’s
– Sub-processes (primitive processes) of Level-0 processes
• Sources for inputs and outputs listed at higher level
• List source and destination of data flows to processes and
stores within each DFD
• Depth of DFD depends on overall system complexity
– Two processes generally don’t need lower level
– More than seven processes become overly complex and difficult to
read
30
Context diagram of Student Administration
System
External entity: Student
Process: Student Administration
process application
Data Flows: Application Form,
Confirmation/Rejection Letter
Apply logical sequence of the system..
• A student (EE / DS) sends in an application form (DF)
containing their personal details, and their desired course
• The university checks (P) that the course is available.
• If the course (DS) 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 (P)
for the course to the student.
• Or if the course is unavailable the student is sent a rejection
letter (DF).
32
How to find each one…
• External Entities (EE): noun
– people/organizations/things that supply information to or use
information from the system
• Processes (P): verb/verb phrase
– actions/doing words
• Data Flows (DF): name of data
– movement/exchange of information/data between external entities to
processes, and processes to processes
• Data Stores (DS): noun
– store/record information/data
33
Level-0 DFD
• External entity: Student
• Processes: Check course available, Enroll student, Confirm
Registration
• Data Flows: Application Form, Course Details, Course
Enrolment Details, Student Details, Confirmation/Rejection
Letter
• Data Stores: Courses, Students.
• Also see the “Lemonade Stand” example from the class
website
34
35
Common Process Errors on DFDs
36
Rules in DFD Building ...
M
P Context Diagram
M
1 2 P
N 3
Level-0 Diagram
37
Rules in DFD Building
• Rule 1 : Use only DFD notations to avoid
confusion
• Rule 2 : Use an action VERB to label a process
(because a process is an action !!!)
38
Rules in DFD Building ...
• Rule 3 : Must be one process associated with
each data flow …
39
Rules in DFD Building ...
• Rule 3 : Must be one process associated with
each data flow …
M N
M N
40
Rules in DFD Building ...
• Rule 3 : Must be one process associated with
each data flow.
41
Rules in DFD Building ...
• Rule 4 : Shaded corner must appear in ALL
occurrences of a duplicated symbol in a same
diagram
CUSTOMER D3 Accounts Receivable
CUSTOMER
D3 Accounts Receivable
42
Rules in DFD Building ...
• Rule 5 : No process without output data flow
(black hole !!!)
43
Rules in DFD Building ...
• Rule 6 : No process without input data flow
(miracle !!!)
44
Rules in DFD Building ...
• Rule 7 : No need for routing (without
transforming) a data flow with a process (non
value-added activities !!!)
Info A Info A
45
Rules in DFD Building ...
• Rule 8 : Identical input, output data flows for
parent and child processes (but the child
processes can have their own throughputs)
– See the picture in next slide
46
Detail Rules in DFD Building ...
M
P Context Diagram
M
1 2 P
N 3
Level-0 Diagram
47
Rules in DFD Building ...
• Rule 9 : Data flows cannot split by themselves
48
Rules in DFD Building ...
• Rule 9 : Data flows cannot split …
49
Rules in DFD Building ...
• Rule 10 : A data packet can combine many data
elements being transmitted at the same time to
the same destination
50
Rules in DFD Building ...
• Rule 11 : Double-headed arrows are forbidden
[in- flow (update) and out-flow (extract info)
of a data store are different]
51
Decomposition: Use-Case Diagram
Mgmt Subsystem
Service Subsystem Make Service
Statistic Inquiry
Modify Work Type
Enter Service
Request
Establish New
Client
Check Unresolved Establish New Work
Client Requests Type
Management
Generate Monthly
«uses» Invoices
Resolve Service
Request
«uses» Equipment Subsystem
Time
Enter Component
Enter Work Record Information
Establish
Component Type
Enter Misc Charge
Technician
Establish Equip
Type
Establish New Equip
52