DFD
DFD
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.
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)
Source/ Sink
Data Flow
Running Example
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
Student
Payment Receipt
2.0
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
D3
Semester Schedule
Taken Slot
Available Slots
1.1
Class Request
1.2
Valid Class Request Feasible Class Check Request Schedule Availability Error
Check Prerequisites
Error
Student Record
Course Record
D4
Student Transcripts
D5
Course Catalogue
Another Example
Weekly Report
Phone Number Customer Order 0 Customer Order System Cook Order
Management
Customer
Customer Info
Delivery Person
Delivery Information
Cook
Another Example
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
D3
Sales Records
Weekly Report
Management
Cook
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
2.0
2.0
Total Records
BETTER
2.0
QA Process
BETTER
2.1 Customer Information Store Customer Data Customer Data Customer Information
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
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
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
Customer Order
Customer Address
Customer Information 3.0
Customer Order
Customer Address
2.0
Customer Data
1.0 Get Customer Data Customer Data
1.0
Customer Information
Customer Address
1.1 Customer Phone Get Customer Phone 1.3 Customer Address Customer Phone
1.0
Customer Information
Customer Address
1.1 Customer Phone Invalid Phone Number Message Customer Address Get Customer Phone 1.3 Customer Phone
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
D1 Employee Master
Employee Record
Employee Time Record 1.0 Calculate Gross Pay Gross Pay 2.0 Calculate Withholding Amount Withholding
Employee Record
Net Pay
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
Net Pay