Professional Documents
Culture Documents
6 - System Analysis and Design - Data Flow Diagram
6 - System Analysis and Design - Data Flow Diagram
They assist:
in breaking the system down into identifiable and well-defined processes.
in validating the analyst's understanding of the system.
WHERE DO DATA FLOW DIAGRAMS FIT?
DATA PROCESS INTERFACE
Model functional
REQUIREMENTS Data Process
User
interface
(process)
ANALYSIS requirements requirements
requirements requirements
identified during
requirements
analysis.
DFDs, Use
CONCEPTUAL ERDs, Class FHDs,
DESIGN diagrams Correspond Case Correspond prototypes Describe what the
with diagrams with
Current logical:
◦ reduced to essence, ignores physical implementation.
New logical:
◦ similar to current logical but represents new system (can be
same).
New Physical:
◦ represents physical implementation of new system.
Gane-Sarson DeMarco-Yourdon
Process
Process Number Process Number
Process Process
Description Description
Process Place
Processes transform incoming data flow(s) into outgoing data flow(s)
Data flows must be modified in some way.
Can specify basic operations:
◦ A – Add
◦ B – Browse
◦ C – Change
◦ D – Delete
Labeled with a name (verb) indicating nature of transformation(s).
Also labeled with a number indicating position in DFD hierarchy.
Gane-Sarson DeMarco-Yourdon
Entity
Entity Entity
Name Name
External entities
“is a person or organization, lying outside the context of a system, that is a net originator
or receiver of system data” [Source: DeMarco, 1979]
Depicts origin and/or destination of data.
Often referred to as sources and sinks.
Anything flowing into the system must end up either in a
data store or out of the system at a sink.
Labeled with a noun.
Knowing the composition of the packets (data items), the origin, and the
destination of a data flow is fundamental to the preparation of a DFD.
Process
Description
Process Place
Rules
A. No process can have only outputs (a miracle)
B. No process can have only inputs (black hole)
C. A process has a verb phrase label
Process
Process Number
Process
Description
Process Place
Process
Process Number
Process
Description
Process Place
Entity
Entity Entity
Name Name
Entity
Name
Entity
Entity
Name
Entity
Name
Data Store
Data Store
Symbol Data Store Name
Rule
A. A data flow to a data store means update
B. A data flow from a data store means retrieve or use
Data Store
Rule
Data cannot move directly from a source to a sink
Common Errors
Rule
Data cannot move directly from a source to a sink
Common Errors
Rule
D. Data cannot be moved directly from one store to another
E. Data cannot move directly from an outside source to a data store
F. Data cannot move directly from a data store to a data sink
G. Data store has a noun phrase label
Common Errors
Production Material requisition
Department
Rules
A. A data flow has only one direction of flow between symbols
B. A fork means that exactly the same data goes from a common location to two or
more processes, data stores or sources/sinks
C. A join means that exactly the same data comes from any two or more different
processes, data stores or sources/sinks to a common location
D. A data flow cannot go directly back to the same process it leaves
Common Errors
Phone Invoice and
company payment card
1
Invoice Payment
Pay
Payment card phone bill card and
payment
Monthly account report
Customer
3
New account application Prepare the
monthly
1 account report
for a customer
Account data Open new customer
account data
Account number
and address
customer data
Customer accounts
2 Frizzing account
Frizzing a letter
Accountant
customer Customer account
Status of a new data department
account
customer account
HOW DO WE MANAGE CLUTTER?
Leveling (decomposition).
Process of transformation from a single system to individual components
(subsystems).
Primitive DFD
Structured Pseudo
Chart Code
PROPOSED LIBRARY SYSTEM
CIRCULATION SUBSYSTEM
DATA MAINTENANCE SUBSYSTEM
BALANCING DFDS
When decomposing a DFD, you must conserve inputs to, and
outputs from, a process at the next level of decomposition.
[Source: Valacich et al., 2006]
Only occurs where the data flow goes outside of the parent
process.
In this case:
External entity - Student
Process - Student Administration process application
Data Flows - Application Form, Confirmation/Rejection Letter
Application Details 0
Student
Student Administration
System
Confirmation/Rejection Details
SYSTEM/LEVEL 0
DFD
External entity - Student
Existing Course
1.4 information
Course modifications
Modify
existing
Course modifications
courses
LEVEL 1 DFD (2 OF 3):
REGISTRATION
Available Course
Request
2.1 Available courses
Available Produce
Courses course
offering
D2 Course Offerings
list
2.2
Course enrollment add
Add course
Course to add to schedule Fee payment history
to enrollment
D1 Fees
D3 Enrollments
2.4
Student enrollment
Current schedule request Obtain information
current
Student schedule schedule
LEVEL 1 DFD (3 OF 3):
REGISTRATION
3.1
Report
Request Obtain
report
type
Report
type
Course offering
3.2 information
Dept. D2 Course Offerings
Staff
Generate
requested
report
D3 Enrollments
Enrollment
Requested information
report
FURTHER READING
http://yourdon.com/strucanalysis/wiki/index.php?
title=Chapter_9
SUMMARY
Basic concepts associated with DFDs
◦ data flows, processes, external entities, and data stores.
◦ leveling … dividing a large complex DFD into smaller related
DFDs
◦ balancing … flows in and out of a parent process are identical
to that of the child DFD
◦ resolved data flows … collectively representing the flow of
data between an external entity and a child (local) process
How can DFD elements such as data flows, processes, and data
stores assist the construction and verification of Entity
relationship diagrams (ERDs)?