Lect 0212
Lect 0212
Lect 0212
2
Types of DFDs
• Current - how data flows now
• Proposed - how we’d 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
Four Basic Symbols
#
# 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
Professor
Class Request
0
Student Payment Course
Receipt Registration
System
Student Schedule
Enrollment Registrar
statistics
Modeling Dilemma: Scope
• Deciding whether an entity is an external
source/sink or an integral part of the system
• E.g. users of the system, managers who
oversee the process
• Does the entity simply provide or receive
information, or do they perform some part
of the process?
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 Logical Level 0 Diagram
Payment
Class Request Student
Receipt
1.0 2.0
D1 Student Class Records Payment
Register Collect Information
Student for Student Fee
Course Student and Student D2 Student Payments
Course Data Class Record Payment
Student
Class
Student Class Record Student Class Record
Record
3.0 4.0 5.0
Produce Produce Produce
Student Class Enrollment
Schedule Roster Report
Student Schedule Enrollment
Class Roster Report
Available Seats
D3 Semester Schedule
Available Seats
Error Student
Student Course Record and Course
Record Data
Available Seats
D3 Semester Schedule DB
Available Seats
Available Seats
D3 Semester Schedule DB
Available Seats
Available Seats
D3 Semester Schedule DB
Available Seats
1.1 1.2
Customer Customer Customer
Lookup Record Extract
Information Customer Customer Zip Code
Entry Address
1.1 1.2
Customer Customer
Phone Get Phone Lookup
Customer Customer
Phone Address
Customer
Address
1.3
Customer Request
Address Customer
Address
1.0
Customer Get Customer
Information Customer Address
Address
1.1 1.2
Customer Customer
Phone Get Phone Lookup
Customer Customer
Invalid Phone Phone Address
Customer
Number Message
Address
1.3
Customer Request
Address Customer
Address
Another Example
Perfect Pizza: Context Level Diagram
Weekly
Report Management
Phone Number
0
Customer Order Customer
Customer
Customer Info Order
System
Phone
Number
1.0 2.0 3.0
Find Customer Take Order Print Delivery Delivery
Customer Information Customer Information Delivery Information Person
Record Order Order
Customer
D2 Customer History
History
3.1 Customer
Determine Information
Customer
3.2
Discount Discount
Order Record
Information Amount Discount
3.3
Print
Discount
Delivery
Information
Instructions
5.1 5.2
Customer Information Record Raw Store
Customer Customer Customer
Information
Information Record
Customer
Record
D1 Customer Master
Another Example
Perfect Pizza: Physical Child Diagram
Syntax Cancelled
Errors Transaction
Phoned
Customer 5.1 Recorded 5.2 Valid Customer 5.3
Information Clerk Types Customer System Information Clerk
Phone Customer Information Validates Visually
Number Information Customer Confirms
Information Cust. Info.
Customer 5.4
Format New Customer
D1 Customer DB Record Information
Customer
Record
Another Example
Perfect Pizza: Current Physical Level 0 Diagram
Phoned
Customer Customer Order
Phone
Number
1.0 2.0 3.0
Delivery
Clerk Finds Customer Clerk Takes Customer System Prints Delivery
Customer Information Customer Delivery Person
Order & Order Printout
Row (by phone) Info Order
Customer D3 Sales DB
Record
Sales
5.0 Records
Clerk Adds 7.0
Customer System Prints
Phone # Weekly Report Weekly
Record Totals
Cook Management (batch)
Another Example
Perfect Pizza: Partitioned Physical Level 0 Diagram
Phoned
Customer Customer Order Order
Info D3 Sales DB
Phone
Number Discount
Info
1.0 2.0 3.0
Delivery
System Finds Customer Clerk Enters Order System Prints Delivery
Customer Information Customer Delivery Person
Order Info Printout
Record (by phone) Order
Customer D3 Sales DB
Record
Sales
5.0 Records
Clerk Adds 7.0
Customer System Prints
Phone # Weekly Report Weekly
Record Totals
Cook Management (batch)