Process Models:
Data Flow Diagrams
Special thanks goes to Dr. Jack T. Marchewka for many of the ideas
and examples contained in these notes.
Process Modeling
Objective:
Understand the concept of business
processes
Understand and create Data Flow
Diagrams.
DFDs
Visually represent
data flows
processes
Emphasize the logic of system
Provide documentation for Analysis &
Design
Data Flow Diagrams
Data Flow
Process
File or Data Store
Source or Entity
Gane & Sarson Methodology
DFDs
Do not show technical aspects
Show interrelations of systems &
subsystems
Facilitates
developer understanding
user-developer communication
Completeness of data & process
definitions
The Systems Concept
Input Process Output
DFDs
Data Flow 1 Data Flow
Input Process Output
Developing DFDs
Context Diagram
System Overview
Little or no detail
Zero Level Explosion
More detailed
First,Second, Third Levels
More detailed levels
Context DFD
Basic overview of the system
Contains only 1 process
given the number zero
Shows all external entities
Major data flows among entities
Generally no data stores
Assign a name to the whole system
Context DFD Examples
Apartment Rental
Receipts, Notices
0 Lease External
Cash Manager
Tenant Apartment Report
Lease,
Rental
Payments
System
Bank Deposit
Bank
Recall: on-line university registration
(from Use Case examples)
The system should enable the staff of each academic department to
examine the course offered by their department, add and remove
course, and change the information about them (e.g., the maximum
number of students). It should permit students to examine currently
available courses, add and drop courses to and from their schedules,
and examine the course for which they are enrolled. Department staff
should be able to print a variety of reports about the courses and the
students enrolled in them. They system should ensure that no
student takes too many course and that students who have any
unpaid fees are not permitted to register. (Assume that a fees data
store is maintained by the university's financial office that the
registration system accesses but does not change.)
Registration Context Diagram
Course 0 Enrollment
information information
Course
Department Registration
Students
Staff Course System Student
offerings schedules
Recall: real estate (from Use Case
examples)
A Real Estate Inc. (AREI) sells houses. People who want to sell their
houses sign a contract with AREI and provide information on their house.
This information is kept in a database by AREI and a subset of this
information is sent to the citywide multiple-listing service used by all real
estate agents. AREI works with two types of potential buyers. Some
buyers have an interest in one specific house. In this case, AREI prints
information from its database, which the real estate agent uses to help
show the house to the buyer (a process beyond the scope of the system
to be modeled). Other buyers seek AREI’s advice in finding a house that
meets their needs. In this case, the buyer completes a buyer information
form that is entered into a buyer database, and AREI real estate agents
use its information to search AREI’s database and the multiple-listing
service for houses that meet their needs. The results of these searches
are printed and used to help the real estate agent show houses to the
buyer.
AREI Context Diagram
0 Buyer
information
House AREI
Sellers information System Buyers
House
information
House House
Information Information
Multiple
Listing
Service
Level 0 DFD
Detail from “exploding” the context-
level DFD
Show less than 9 processes
Number each process
Show data stores (master files)
Ignore the handling of exceptions
Show all external entities
Level 0 DFD: Apartment Rental Tenant Info
Copy of lease
D1 Tenant File
Lease 1
New
Tenant
Process
Tenant Receipt Bank
Deposit Bank
2
Payments Collection
Notice
Process Cash Report
Tenant Unpaid
Info Charges
Ext.
3
D1 Tenant File Mgr
Delinquent
Delinquencies Process Delinquency
Report
Level 0 DFD: Registration
Course Changes
1
course selection
Maintain Courses offered
Course being
Offered Dept. 2
Courses courses offered
Maintain Student
student course registered
Course
Course enrollments
Update Relevant schedule
Offerings
Course
D2 enrollment
Course offered list
Dept. request schedule
Staff
Course
information D3 Enrollment File Fee Info
Student Enrollment
Report Request 3
Course Enrollment D1 Fee data
Student info
Enrollment Enrollment
Report Reports
Level 0 DFD: AREI
Sales
Contract
1
D2 Sales Contracts
Sales Contract
Maintain
house
seller House information
Sellers House information information
House information
D3 Offered Houses
Multiple Listing
D1 Services File House information
House
2 information
House information request
Generate
Buyer information form requested Buyer
report information
Buyers D4 Buyers
House information
Create Child Diagrams
Vertical Balancing
A child diagram cannot produce output or
receive input that the parent does not
produce or receive
External entities are not shown
May contain additional data stores
e.g.., transaction files
Primitive when no longer exploded
Level 1 DFD: Apartment Rental
Deposit Checks 2.1 Deposit Receipts
Collect
Security
Tenant Deposit
Info
Bank Deposit
D1 Tenant File
Tenant Bank Deposit
Info
2.2
Rent Checks Payment Receipts
Collect
Rent
Cash
Unpaid Report
Charges
Level 2 DFD: Apartment Rental
2.1.1
Deposit Make
Bank
Check Deposit
Bank
Deposit
Deposit
Info
2.1.2
Update Update
Tenant Info D1 Tenant File
File
2.1.3
Receipt Create Tenant
Receipt Info
Level 1 DFD (1 of 3): Registration
Department ID
1.1 Course offering list
List Request Listing Department ID
Courses
Being
offered 1.2
New Course
New
New Course Courses
information
D2 Course List
1.3
Curriculum Course to
Staff Be Removed Course removed
Course
Removed
Existing Course
1.4 information
Course changes
Course
Change Course changes
Level 1 DFD (2 of 3): Registration
Available Course
Request
2.1 Available courses
Available Produce
Courses course
offering
D2 Course Offerings
list
2.2
Course enrollment add
Add course
Course to add to schedule Fee payment history
to enrollment
D1 Fees
2.3 Course enrollment
Course to add
Students
delete
Delete
course from Course to delete
schedule
D3 Enrollments
2.4
Student enrollment
Current schedule request Obtain information
current
Student schedule schedule
Level 1 DFD (3 of 3): Registration
3.1
Report
Request Obtain
report
type
Report
type
Course offering
3.2 information
Dept. D2 Course Offerings
Staff
Generate
requested
report
D3 Enrollments
Enrollment
Requested information
report
Common Errors
Forgetting data flows
Arrow pointing wrong way
Connecting data stores & sources
Incorrectly labeling processes or flows
Too many processes (break it up!)
Data flows entering a process must be
different when leaving!
Logical & Physical DFDs
Logical
focuses on modeling the business
system independent
Physical
focuses on modeling the system
system dependent
Logical DFDs - Current System
Good for communication &
understanding
Focus on business activities
User view of the current system
Model of the business
Logical DFDs - New System
Look for improvements
effectiveness - i.e., doing the “right thing”
efficiency - i.e., doing the “thing right”
Transition from “Analysis” to “Design”
Physical DFDs
Use the new logical DFD to make transition to
a CBIS
Define Machine versus manual boundaries
processes = programs or manual procedures
data stores = data files or manual files
Define controls, validations, & security
Define actual file names & printouts
Master & transaction files
Partitioning the Physical DFD
Defining
manual procedures
automated procedures
circled using a dotted line
Batch versus On-Line Procedures
2.1.1
Deposit Make
Bank
Check Deposit
Bank
Deposit
Deposit
Info
2.1.2
Update Update
Tenant Info D1 Tenant File
File
2.1.3
Receipt Create Tenant
Receipt Info