Title: Data Flow Diagrams
1Data 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.
2Why 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
3Types 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
4Levels 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
5Four Basic Symbols
Source/ Sink
Data Flow
6Context 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
7Running ExampleCourse Registration Context
level Diagram
Professor
Class roster
Class Request
Student
Payment
Receipt
Student Schedule
Registrar
Enrollment statistics
8Modeling 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?
9Level 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
10Running ExampleCourse Registration Current
Logical Level 0 Diagram
Student
Payment
Class Request
Receipt
Payment Information
Student and Course Data
Student Class Record
Student Class Record
Student Class Record
Student Class Record
Enrollment Report
Student Schedule
Class Roster
Student
Registrar
Professor
11Child 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
12Running ExampleCourse Registration Current
Logical Child Diagram
Available Seats
Available Seats
Class Request
Valid Class Request
Feasible Class Request
Error
Error
Student and Course Data
Student Record
Course Record
13Physical 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
14Running ExampleCourse Registration Current
Physical Child Diagram
Available Seats
Available Seats
1.2
1.1
1.3
Class Request
Advisement Authorization
Feasible Class Request
Check for Availability (myUMBC)
Check Prerequisites Met (manual)
Enroll Student in Class (STARS)
Student Notified (verbally)
Unavailability Message
Student and Course Data
Student File
Course Description
15Running ExampleCourse Registration Proposed
Physical Child Diagram
Available Seats
Available Seats
1.2
1.1
1.3
Class Request
Authorized Class Request
Valid Class Request
Check for Availability (automated)
Check Prerequisites Met (automated)
Enroll Student in Class (automated)
Student Notified (email)
Student Emailed
Student and Course Data
Student Record
Course Record
16Partitioning a physical DFD
- Part of system design
- System architecture
- high-level design
- overall shape of system
- some standard architectures
- Decide what processes should be grouped together
in the system components
17Running ExampleCourse Registration Physical
diagram (partitioned)
Available Seats
Available Seats
1.2
1.1
1.3
Class Request
Authorized Class Request
Valid Class Request
Check for Availability (automated)
Check Prerequisites Met (automated)
Enroll Student in Class (automated)
Student Notified (email)
Student Emailed
Student and Course Data
Student Record
Course Record
18Balancing
- Most important rule in data flow diagramming
- Every child diagram must include the same inputs
and outputs as the process it represents in its
parent diagram - Also applies to the level 0 diagram
- Checking for balancing is a good way to find
errors and omissions in your DFDs
19Customer Information
Customer Address
Directory Name
Customer Record
Customer Information
Customer Zip Code
Customer Information
Customer Record
Customer Address
Directory Name
20Balancing Exceptions
- A data flow at one level may be decomposed at a
lower level - On low-level DFDs, new data flows can be added to
represent exceptional situations - All data coming into and out of a process must be
accounted for
21Customer Information
Customer Address
Customer Phone
Customer Phone
Customer Address
Customer Address
22Customer Information
Customer Address
Customer Phone
Customer Phone
Invalid Phone Number Message
Customer Address
Customer Address
23Another ExamplePerfect Pizza Context Level
Diagram
Management
Weekly Report
Phone Number
Customer
Customer Order
Customer Info
Cook
Cook Order
Delivery Person
Delivery Information
24Another ExamplePerfect Pizza Current Logical
Level 0 Diagram
Customer
Customer Order
Phone Number
Delivery Person
Customer Information
Order Information
Delivery Information
Customer Record
Customer History
Discount Info
Customer Info
Order Information
Customer
Customer Order
Customer Record
Cook Order
Sales Info
Weekly Report
Cook
Management
25Another ExamplePerfect Pizza Current Logical
Child Diagram
Customer History
Customer Information
Discount Amount
Order Information
Discount Information
Delivery Information
26Another ExamplePerfect Pizza Current Logical
Child Diagram
Customer Information
Raw Customer Information
Customer Record
27Another ExamplePerfect Pizza Physical Child
Diagram
Syntax Errors
Cancelled Transaction
Phoned Customer Information
5.3
5.2
Recorded Customer Information
Valid Customer Information
Clerk Visually Confirms Cust. Info.
System Validates Customer Information
Phone Number
Customer Record
New Customer Information
D1
Customer DB
28Another ExamplePerfect Pizza Current Physical
Level 0 Diagram
Customer
Phoned Customer Order
Phone Number
Delivery Person
Customer Information
Customer Order Info
Delivery Printout
Customer Record
Copy of Order Slip
Customer History Record
Cust. Info.
Phoned Customer Info
Customer History Record
D2
Customer History DB
D1
Customer Spreadsheet
Customer
Copies of Order Slips Del. Printouts
Customer Record
Copies of Order Slips
Phoned Customer Order
Weekly Report
Phone
Copy of order slip
Cook
Management
29Another ExamplePerfect Pizza Proposed Physical
Level 0 Diagram
Customer
Phoned Customer Order
Order Info
Phone Number
Discount Info
Delivery Person
Customer Information
Order Info
Delivery Printout
Order Info
Customer Record
Customer History Record
Cust. Info.
Phoned Customer Info
Customer Record
Sales Records
Weekly Report
Phone
Cook
Management
30Another ExamplePerfect Pizza Partitioned
Physical Level 0 Diagram
Customer
Phoned Customer Order
Order Info
Phone Number
Discount Info
Delivery Person
Customer Information
Order Info
Delivery Printout
Order Info
Customer Record
Customer History Record
Cust. Info.
Phoned Customer Info
Customer Record
Sales Records
Weekly Report
Phone
Cook
Management