Lect 0913
Lect 0913
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 Logical - the essence of a process Physical - the implementation of a process Partitioned physical - system architecture or high-level design
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
Current logical diagrams
start with context level decompose as needed for understanding
Source/ Sink
Data Flow
Running Example
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
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
Available Seats
Available Seats
1.1
Class Request
1.2
Valid Class Request Feasible Class Check Request for Availability Error
1.3
Enroll Student in Class
Student and Course Data
Error
Student Record
Course Record
D4
Student Transcripts
D5
Course Catalogue
Physical DFDs
Model the implementation of the system Start with a set of child diagrams or with level 0 diagram Add implementation details
indicate manual vs. automated processes describe form of data stores and data flows extra processes for maintaining data
Running Example
D3 Semester Schedule DB
Available Seats
Advisement Authorization
Unavailability Message
Student File
Course Description
D1 Semester Enrollment DB
Running Example
D3 Semester Schedule DB
Available Seats
Available Seats
D4 Registrars Student DB
D5 Course Catalogue DB
D1 Semester Enrollment DB
Running Example
D3 Semester Schedule DB
Available Seats
Student Emailed
Student Record
Course Record
D4 Registrars Student DB
D5 Course Catalogue DB
D1 Semester Enrollment DB
Another Example
Management
Customer
Delivery Person
Delivery Information
Cook
Another Example
Customer
Phone Number 1.0 Find Customer Record 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 Info
Customer Record
Order Information
D3
Sales Records
Weekly Report
Management
Cook
Another Example
Customer History
3.1 Determine Customer Discount
D2 Customer History
Order Information
Sales Records
Another Example
Customer Information
D1 Customer Master
Another Example
Syntax Errors Phoned Customer Information Phone Number 5.1 Clerk Types Customer Information Recorded Customer Information 5.2 System Validates Customer Information Valid Customer Information
D1
Customer DB
Customer Record
Another Example
Delivery Person
Cust. Info.
D2 Customer History DB
Phone #
Copies of D3 Sales Records File Order Slips & Del. Printouts Copies of Order Slips 7.0 Mgr Prints Weekly Report Weekly Totals (batch) Management Cook
Customer
Phoned Customer Order
Another Example
Delivery Person
D3
Sales DB
Phone #
Cook
Sales Records
Another Example
Delivery Person
D3
Sales DB
Phone #
Cook
Sales Records
1.0
2.0
Gather Data
Compile Statistics
3.0
Analyze Responses
Final Report
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
Customer Information
2.0
Customer Data
D1 Customer Data
Doctor
Service Information 0
Diagnosis
Patient
1.0
1.0
1.0
2.0
1.0
2.0
3.0
1.0
Customer Data
2.0
3.0
Customer Data
Order
1.0
Get Customer Data Customer Data
3.0
1.1 Customer Phone Get Customer Phone 1.3 Customer Address Request Customer Address Customer Phone
1.1 Customer Phone Invalid Phone Number Message Customer Address Get Customer Phone 1.3 Request Customer Address 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
D1 Employee Master
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 4.0 Print Employee Paycheck Gross Pay 2.0 Calculate Withholding Amount Withholding Amount
Net Pay
DFD
1.0 Take Order
Cook
Places Order
Customer
Name
Hours
Name Address
Inventory
2.0 Convert Order to Cooking Instructions Cooking Instructions D1 Order Log Cook Inventory Processing Processed Order 3.0 Convert Order to Ingredient List
Item
Quantity
Ingredients
Incorrect ERD
Customer
Order
Time Date
DFD
1.0 Take Order
Contains
ItemQuantity
Includes
Ingredient
2.0 Convert Order to Cooking Instructions Cooking Instructions D1 Order Log Cook Processed Order
Item
Ingredient Quantity
Description
Cooking Instructions
Ingredients
StepId
Description
Inventory Processing
Correct ERD