Process Modeling - Northern Illinois University

Download Report

Transcript Process Modeling - Northern Illinois University

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
Tenant
Lease,
Payments
Apartment
Rental
System
Lease
Cash
Report
Bank Deposit
Bank
External
Manager
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
information
Department
Staff
Course
offerings
0
Course
Registration
System
Enrollment
information
Student
schedules
Students
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
Sellers
House
information
Buyer
information
AREI
System
Buyers
House
information
House
Information
House
Information
Multiple
Listing
Service
Level 0 DFD






Detail from “exploding” the contextlevel 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
Copy of lease
Lease
Tenant Info
D1 Tenant File
1
New
Tenant
Process
Receipt
Tenant
Bank
Deposit
Bank
2
Notice
Payments
Collection
Process
Cash Report
Unpaid
Charges
Tenant
Info
D1 Tenant File
Delinquencies
Ext.
Mgr
3
Delinquent
Process
Delinquency
Report
Level 0 DFD: Registration
Course Offering
Changes
1
Available
courses
Maintain
department
course
offerings
Course Offering
List
D2
Available courses
Course Offerings
Dept
Staff
Course
information
Student Enrollment
Report Request
Student
Enrollment
Report
2
Maintain
student
enrollments
Course
Offering
Updates
Course
Offerings
Available
course request
Course
enrollment
request
D3
Course enrollment
Student schedule
Student
schedule
Fee Payment
History
Enrollments
3
Course
Enrollment
Reports
Enrollment
information
D1
Fees
Students
Level 0 DFD: AREI
Sales
Contract
1
D2
Sales Contract
Sellers
House information
Sales Contracts
Maintain
house
seller
House information
information
House information
D1
Multiple Listing
Services File
D3
Offered Houses
House information
2
House
information
House information request
Buyer information form
Buyers
House information
Generate
requested
report
Buyer
information
D4
Buyers
Create Child Diagrams

Vertical Balancing



External entities are not shown
May contain additional data stores


A child diagram cannot produce output or
receive input that the parent does not
produce or receive
e.g.., transaction files
Primitive when no longer exploded
Level 1 DFD: Apartment Rental
2.1
Deposit Checks
Deposit Receipts
Collect
Security
Deposit
Tenant
Info
Bank Deposit
D1 Tenant File
Tenant
Info
Bank Deposit
2.2
Rent Checks
Payment Receipts
Collect
Rent
Unpaid
Charges
Cash
Report
Level 2 DFD: Apartment Rental
Deposit
Check
2.1.1
Make
Bank
Deposit
Bank
Deposit
Deposit
Info
2.1.2
Update
Tenant
File
Update
Info
2.1.3
Receipt
Create
Receipt
Tenant
Info
D1 Tenant File
Level 1 DFD (1 of 3): Registration
Department ID
Course Offering
List Request
1.1
Produce
course
offering
list
Course offering list
Department ID
1.2
New Course
Add new
course
New Course
information
D2
Dept.
Staff
Course to
delete
Course Offerings
1.3
Delete
course
Course to delete
1.4
Existing Course
information
Course modifications
Modify
existing
courses
Course modifications
Level 1 DFD (2 of 3): Registration
Available Course
Request
2.1
Produce
course
offering
list
Available
Courses
Available courses
D2
Course Offerings
2.2
Course enrollment add
Add course
to schedule
Course to add
to enrollment
Students
Course to
delete
Student schedule
Fees
D3
Enrollments
Course to delete
2.4
Current schedule request
D1
Course enrollment
add
2.3
Delete
course from
schedule
Fee payment history
Obtain
current
schedule
Student enrollment
information
Level 1 DFD (3 of 3): Registration
3.1
Report
Request
Obtain
report
type
Report
type
3.2
Dept.
Staff
Requested
report
Course offering
information
D2
Course Offerings
D3
Enrollments
Generate
requested
report
Enrollment
information
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
Deposit
Check
2.1.1
Make
Bank
Deposit
Bank
Deposit
Deposit
Info
2.1.2
Update
Tenant
File
Update
Info
2.1.3
Receipt
Create
Receipt
Tenant
Info
D1 Tenant File
Break point… next slides are more
detailed concerning the dfd
building process of the same
examples.
Context DFD Examples
Apartment Rental
Receipts, Notices
0
Tenant
Lease,
Payments
Apartment
Rental
System
Lease
Cash
Report
Bank Deposit
Bank
External
Manager
Context DFD Examples
Apartment Rental
Receipts, Notices
0
Tenant
Lease,
Payments
Apartment
Rental
System
Lease
Cash
Report
Bank Deposit
Bank
External
Manager
Level 0 DFD: Apartment Rental
1
New
Tenant
Process
2
Collection
Process
3
Delinquent
Process
Level 0 DFD: Apartment Rental
1
New
Tenant
Process
Tenant
Bank
2
Collection
Process
3
Delinquent
Process
Ext.
Mgr
Level 0 DFD: Apartment Rental
Lease
1
New
Tenant
Process
Tenant
Bank
2
Collection
Process
3
Delinquent
Process
Ext.
Mgr
Level 0 DFD: Apartment Rental
Copy of lease
Lease
Tenant Info
D1 Tenant File
1
New
Tenant
Process
Tenant
Bank
2
Collection
Process
3
Delinquent
Process
Ext.
Mgr
Level 0 DFD: Apartment Rental
Copy of lease
Lease
Tenant Info
D1 Tenant File
1
New
Tenant
Process
Tenant
Bank
2
Payments
Collection
Process
Tenant
Info
D1 Tenant File
3
Delinquent
Process
Ext.
Mgr
Level 0 DFD: Apartment Rental
Copy of lease
Lease
Tenant Info
D1 Tenant File
1
New
Tenant
Process
Tenant
Receipt
Bank
Deposit
Bank
2
Payments
Collection
Process
Unpaid
Charges
Tenant
Info
D1 Tenant File
Cash Report
3
Delinquent
Process
Ext.
Mgr
Level 0 DFD: Apartment Rental
Copy of lease
Lease
Tenant Info
D1 Tenant File
1
New
Tenant
Process
Receipt
Tenant
Bank
Deposit
Bank
2
Notice
Payments
Collection
Process
Cash Report
Unpaid
Charges
Tenant
Info
D1 Tenant File
Delinquencies
Ext.
Mgr
3
Delinquent
Process
Delinquency
Report
Level 0 DFD: Apartment Rental
Copy of lease
Lease
Tenant Info
D1 Tenant File
1
New
Tenant
Process
Receipt
Tenant
Bank
Deposit
Bank
2
Notice
Payments
Collection
Process
Cash Report
Unpaid
Charges
Tenant
Info
D1 Tenant File
Delinquencies
Ext.
Mgr
3
Delinquent
Process
Delinquency
Report
Level 1 DFD: Apartment Rental
2.1
Deposit Checks
Deposit Receipts
Collect
Security
Deposit
Tenant
Info
Bank Deposit
D1 Tenant File
Tenant
Info
Bank Deposit
2.2
Rent Checks
Payment Receipts
Collect
Rent
Unpaid
Charges
Cash
Report
Level 1 DFD: Apartment Rental
2.1
Deposit Checks
Deposit Receipts
Collect
Security
Deposit
Tenant
Info
Bank Deposit
D1 Tenant File
Tenant
Info
Bank Deposit
2.2
Rent Checks
Payment Receipts
Collect
Rent
Unpaid
Charges
Cash
Report
Level 2 DFD: Apartment Rental
Deposit
Check
2.1.1
Make
Bank
Deposit
Bank
Deposit
Deposit
Info
2.1.2
Update
Tenant
File
Update
Info
2.1.3
Receipt
Create
Receipt
Tenant
Info
D1 Tenant File
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
information
Department
Staff
Course
offerings
0
Course
Registration
System
Enrollment
information
Student
schedules
Students
Level 0 DFD: Registration
Course Offering
Changes
1
Available
courses
Maintain
department
course
offerings
Course Offering
List
D2
Available courses
Course Offerings
Dept
Staff
Course
information
Student Enrollment
Report Request
Student
Enrollment
Report
2
Maintain
student
enrollments
Course
Offering
Updates
Course
Offerings
Available
course request
Course
enrollment
request
D3
Course enrollment
Student schedule
Student
schedule
Fee Payment
History
Enrollments
3
Course
Enrollment
Reports
Enrollment
information
D1
Fees
Students
Level 1 DFD (1 of 3): Registration
Department ID
Course Offering
List Request
1.1
Produce
course
offering
list
Course offering list
Department ID
1.2
New Course
Add new
course
New Course
information
D2
Dept.
Staff
Course to
delete
Course Offerings
1.3
Delete
course
Course to delete
1.4
Existing Course
information
Course modifications
Modify
existing
courses
Course modifications
Level 0 DFD: Registration
Course Offering
Changes
1
Available
courses
Maintain
department
course
offerings
Course Offering
List
D2
Available courses
Course Offerings
Dept
Staff
Course
information
Student Enrollment
Report Request
Student
Enrollment
Report
2
Maintain
student
enrollments
Course
Offering
Updates
Course
Offerings
Available
course request
Course
enrollment
request
D3
Course enrollment
Student schedule
Student
schedule
Fee Payment
History
Enrollments
3
Course
Enrollment
Reports
Enrollment
information
D1
Fees
Students
Level 1 DFD (2 of 3): Registration
Available Course
Request
2.1
Produce
course
offering
list
Available
Courses
Available courses
D2
Course Offerings
2.2
Course enrollment add
Add course
to schedule
Course to add
to enrollment
Students
Course to
delete
Student schedule
Fees
D3
Enrollments
Course to delete
2.4
Current schedule request
D1
Course enrollment
add
2.3
Delete
course from
schedule
Fee payment history
Obtain
current
schedule
Student enrollment
information
Level 0 DFD: Registration
Course Offering
Changes
1
Available
courses
Maintain
department
course
offerings
Course Offering
List
D2
Available courses
Course Offerings
Dept
Staff
Course
information
Student Enrollment
Report Request
Student
Enrollment
Report
2
Maintain
student
enrollments
Course
Offering
Updates
Course
Offerings
Available
course request
Course
enrollment
request
D3
Course enrollment
Student schedule
Student
schedule
Fee Payment
History
Enrollments
3
Course
Enrollment
Reports
Enrollment
information
D1
Fees
Students
Level 1 DFD (3 of 3): Registration
3.1
Report
Request
Obtain
report
type
Report
type
3.2
Dept.
Staff
Requested
report
Course offering
information
D2
Course Offerings
D3
Enrollments
Generate
requested
report
Enrollment
information
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
Sellers
House
information
Buyer
information
AREI
System
Buyers
House
information
House
Information
House
Information
Multiple
Listing
Service
Level 0 DFD: AREI
Sales
Contract
1
D2
Sales Contract
Sellers
House information
Sales Contracts
Maintain
house
seller
House information
information
House information
D1
Multiple Listing
Services File
D3
Offered Houses
House information
2
House
information
House information request
Buyer information form
Buyers
House information
Generate
requested
report
Buyer
information
D4
Buyers