Data Flow Diagrams
A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths through which the data moves, and the processes that produce, use, and transform data.
Why Data Flow Diagrams?
Can diagram the organization or the system Can diagram the current or proposed situation Can facilitate analysis or design Provides a good bridge from analysis to design Facilitates communication with the user at all stages
2
Types of DFDs
Current - how data flows now Proposed - how wed like it to flow
Levels of Detail
Context level diagram - shows just the inputs and outputs of the system Level 0 diagram - decomposes the process into the major subprocesses and identifies what data flows between them Child diagrams - increasing levels of detail Primitive diagrams - lowest level of decomposition
Recommended Progression
Write your Narrative of Existing System/Process Description Identify important elements Create Context Level Diagram (Existing) Create Level 0 Diagram (Existing) Create Context Level Diagram (Proposed) Create Level 0 Diagram (Proposed)
Four Basic Symbols
Source/ Sink
Data Flow
# Data Store Process
Context Level Diagram
Just one process All sources and sinks that provide data to or receive data from the process Major data flows between the process and all sources/sinks No data stores
Running Example
Course Registration: Context level Diagram
Class roster
Class Request 0 Course Registration System Enrollment Report
Professor
Student
Payment Receipt
Student Schedule
Registrar
Level 0 Diagram
Process is exploded Sources, sinks, and data flows repeated from context diagram Process broken down into subprocesses, numbered sequentially Lower-level data flows and data stores added
Running Example
Course Registration: Current Level 0 Diagram
Class Request
Student
Payment Receipt
1.0 Register Student for Course
D1 Student Class Records Student and Course Data
2.0
Collect Student Fee Student Class Record Payment
Payment Information D2 Student Payments
Student Class Record
Student Class Record
Student Class Record
3.0
Produce Student Schedule
Student Schedule
4.0
Produce Class Roster
Class Roster
5.0
Produce Enrollment Report
Enrollment Report
Student
Professor
Registrar
Child Diagrams
Explode one process in level 0 diagram Break down into lower-level processes using numbering scheme Must include all data flow into and out of parent process in level 0 diagram Dont include sources and sinks May add lower-level data flows and data stores
Running Example
Course Registration: Current Child Diagram
D3
Semester Schedule
Taken Slot
Available Slots
1.1
Class Request
1.2
Valid Class Request Feasible Class Check Request Schedule Availability Error
1.3 Enroll Student in Class
Student and Course Data
Check Prerequisites
Error
Student Record
Course Record
D4
Student Transcripts
D5
Course Catalogue
Another Example
Perfect Pizza: Context Level Diagram
Weekly Report
Phone Number Customer Order 0 Customer Order System Cook Order
Management
Customer
Customer Info
Delivery Person
Delivery Information
Cook
Another Example
Perfect Pizza: Current Level 0 Diagram
Customer Order
Customer
Phone Number 1.0 Find Customer Record Customer Info Customer Information 2.0 Take Customer Order Order Information Customer History D2 Customer History 3.0 Print Delivery Order Discount Info 6.0 Send Order to Cook Cook Order Delivery Information
Delivery Person
Customer Record
Order Information
D1 Customer Master Customer Record 5.0 Add Customer Record
D3
Sales Records
Sales Info 7.0 Print Weekly Totals
Weekly Report
Management
Cook
Data Flow Diagramming Rules
Processes
a process must have at least one input a process must have at least one output a process name (except for the context level process) should be a verb phrase
usually three words: verb, modifier, noun on a physical DFD, could be a complete sentence
1.0
2.0
Gather Data
Demographic Data
Compile Statistics
3.0
Survey Responses
Analyze Responses
Final Report
2.0
Visa Authorization
2.0
BETTER
Check Customer Credit
2.0
2.0
Total Records
BETTER
Total Sales Records
2.0
2.0
QA Process
BETTER
Inspect Finished Products
Data Flow Diagramming Rules
Data stores and sources/sinks
no data flows between two data stores; must be a process in between no data flows between a data store and a source or sink; must be a process in between no data flows between two sources/sinks
such a data flow is not of interest, or there is a process that moves that data
2.1 Customer Information Store Customer Data Customer Data Customer Information
2.1 Store Customer Data
Customer Data
Customer Preferences
D1 Customer Data
D1 Customer Data
Customer Preferences
D2 Customer Preferences
D2 Customer Preferences
2.1 Customer Information Store Customer Data Customer Data Customer Information Customer Data D1 Customer Data D1 Customer Data Customer Data
2.1 Store Customer Data
2.2 Extract Customer Preferences
Customer Preferences
Customer Preferences
D2 Customer Preferences
D2 Customer Preferences
Customer Customer Information 2.0 Customer Data Store Customer Data Customer Data D1 Customer Data
Customer
D1 Customer Data
Doctor
Service Information
0
Diagnosis Medical Billing System
Patient
Bill
Data Flow Diagramming Rules
Data flows
data flows are unidirectional a data flow may fork, delivering exactly the same data to two different destinations two data flows may join to form one only if the original two are exactly the same no recursive data flows data flows (and data stores and sources/sinks) are labelled with noun phrases
1.0 Take Customer Order
1.0 Take Customer Order
Customer Order
Order Total 2.0 Total Daily Sales Order Information Order Total 2.0 Total Daily Sales Order Information
3.0
Print Delivery Instructions
3.0
Print Delivery Instructions
1.0 Take Customer Order
2.0 Lookup Customer Record
1.0 Take Customer Order
2.0 Lookup Customer Record
Customer Order
Customer Address
Customer Information 3.0
Customer Order
Customer Address
3.0 Print Delivery Instructions
Print Delivery Instructions
1.0 Daily Sales
Calculate Weekly Sales
Cumulative To-Date Sales
Data Flow Diagramming Guidelines
The inputs to a process are different from the outputs Every object in a DFD has a unique name
1.0 Customer Data Validate Customer Data Customer Data
1.0 Customer Data Validate Customer Data Valid Customer Data
1.0 Get Customer Data Customer Data
2.0 Take Customer Order
Order Customer Data
3.0 Process Customer Order
1.0 Get Customer Data Customer Data
2.0 Take Customer Order Order
3.0 Process Customer Order
2.0
Customer Data
1.0 Get Customer Data Customer Data
Take Customer Order
3.0 Validate Customer Data
Only if these are exactly the same
Data Flow Diagramming Guidelines
A data flow at one level may be decomposed at a lower level All data coming into and out of a process must be accounted for On low-level DFDs, new data flows can be added to represent exceptional situations
1.0
Customer Information
Get Customer Address
Customer Address
1.1 Customer Phone Get Customer Phone 1.3 Customer Address Customer Phone
1.2 Lookup Customer Address Customer Address
Request Customer Address
1.0
Customer Information
Get Customer Address
Customer Address
1.1 Customer Phone Invalid Phone Number Message Customer Address Get Customer Phone 1.3 Customer Phone
1.2 Lookup Customer Address Customer Address
Request Customer Address
Data Elements
Indivisible pieces of data Data flows and data stores are made up of data elements Like attributes on an ER diagram The data elements of a data flow flowing in or out of a data store must be a subset of the data elements in that data store
Employee Hours Worked D2 Employee Time File
D1 Employee Master
Employee Record
Employee Time Record 1.0 Calculate Gross Pay Gross Pay 2.0 Calculate Withholding Amount Withholding
D1 Employee Master Check Reconciliation Record D3 Check Reconciliation
Employee Record
4.0 Print Employee Paycheck
Net Pay
3.0 Calculate Net Pay
Employee Paycheck Employee
Employee Hours Worked 5.0 Create Time Record Employee Time Record D2 Employee Time File D1 Employee Master 6.0 Reconcile Pay Check
D4 Withholding Tables Number of D1 Employee Master Dependents Withholding Rates Employee Record 1.0 Calculate Gross Pay Gross Pay Gross Pay 2.0 Calculate Withholding Amount Withholding Amount
Employee Time Record
Employee Record Paycheck Information
4.0 Print Employee Paycheck
Net Pay
3.0 Calculate Net Pay
Check Reconciliation Record D3 Check Reconciliation
Employee Paycheck Employee