DFD
DFD
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
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
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
19
Processes
1
Pay Bill
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…
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
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
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
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
Establish Equip
Type
Establish New Equip
52