Sie sind auf Seite 1von 31

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

Data Flow

Input

Process

Output

Developing DFDs

Context Diagram

Zero Level Explosion

System Overview
Little or no detail
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 multiplelisting 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 AREIs 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 AREIs
database and the multiple-listing service for houses that meet
their needs. The results of these searches are printed and used

AREI Context Diagram

Sellers

House
information

Buyer
information

AREI
System
House
information

House
Information

House
Information

Multiple
Listing
Service

Buyers

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


Copy of lease
Lease

Tenant Info

1
New
Tenant
Process

Receipt

Tenant

D1 Tenant File

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

Course Offering
List

D2
Dept
Staff

Student Enrollment
Report Request

Available
course request

Available courses
Maintain
student
enrollments

Course
Offering
Updates

Course
Offerings

Student
Enrollment
Report

Available
courses

Maintain
department
course
offerings

Course Offerings
Course
information

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

D2

Sales Contract

Sellers

House information

Maintain
house
seller
information

Sales Contracts

House information

House information
D1

Multiple Listing
Services File

D3

Offered Houses

House information

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

Deposit Checks
Tenant
Info

2.1
Collect
Security
Deposit

Deposit Receipts

Bank Deposit

D1 Tenant File
Tenant
Info

Bank Deposit
2.2

Rent Checks

Collect
Rent

Unpaid
Charges

Payment Receipts
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
Add new
course

New Course
information

New Course

D2
Dept.
Staff

Course to
delete

Course Offerings

1.3
Delete
course

Course to delete

1.4
Course modifications

Modify
existing
courses

Existing Course
information

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

Dept.
Staff

Requested
report

3.2

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

Das könnte Ihnen auch gefallen