Top Banner
Process Models: Process Models: Data Flow Diagrams Data Flow Diagrams Special thanks goes to Dr. Jack T. Marchewka for many of the ideas and examples contained in these notes.
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: dfd

Process Models:Process Models:Data Flow DiagramsData Flow Diagrams

Special thanks goes to Dr. Jack T. Marchewka for many of the ideas and examples contained in these notes.

Page 2: dfd

Process Modeling Objective:

Understand the concept of business processes

Understand and create Data Flow Diagrams.

Page 3: dfd

DFDs Visually represent

data flows processes

Emphasize the logic of system Provide documentation for Analysis

& Design

Page 4: dfd

Data Flow DiagramsData Flow

Process

File or Data Store

Source or Entity

Gane & Sarson Methodology

Page 5: dfd

DFDs Do not show technical aspects Show interrelations of systems &

subsystems Facilitates

developer understanding user-developer communication

Completeness of data & process definitions

Page 6: dfd

The Systems Concept

Input Process Output

Page 7: dfd

DFDs

1

Process

Data Flow

Input

Data Flow

Output

Page 8: dfd

Developing DFDs Context Diagram

System Overview Little or no detail

Zero Level Explosion More detailed

First,Second, Third Levels More detailed levels

Page 9: dfd

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

Page 10: dfd

Context DFD Examples

0

ApartmentRentalSystem

Tenant

Bank

ExternalManager

Lease,Payments

Bank Deposit

LeaseCashReport

Receipts, NoticesApartment Rental

Page 11: dfd

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.)

Page 12: dfd

DepartmentStaff

CourseRegistrationSystem

Courseinformation

Courseofferings

Enrollmentinformation

0

StudentsStudentschedules

Registration Context Diagram

Page 13: dfd

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.

Page 14: dfd

SellersAREISystem

Houseinformation

Buyerinformation

HouseInformation

0

BuyersHouseinformation

HouseInformation

Multiple ListingService

AREI Context Diagram

Page 15: dfd

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

Page 16: dfd

1

2

3

Tenant

NewTenantProcess

CollectionProcess

DelinquentProcess

Lease

D1 Tenant FileTenant InfoLevel 0 DFD: Apartment Rental

Payments

BankBank Deposit

Receipt

Ext.Mgr

Cash Report

D1 Tenant File

UnpaidCharges

DelinquencyReport

TenantInfo

Delinquencies

Copy of lease

Notice

Page 17: dfd

Level 0 DFD: Registration

Dept.Staff

1

MaintainDept. Courses

2

Maintainstudentenrollments

3

CourseEnrollmentReports

Course Changes

CourseOfferings

D1 Fee data

D2 Course offered list

D3 Enrollment FileCourseinformation

Student EnrollmentReport Request

StudentEnrollmentReport

Enrollmentinfo

StudentCourseUpdate

Course beingOffered

Fee Info

course selection

courses offered

Courses offered

course registered

Relevant schedule

schedule

Courseenrollmentrequest

Page 18: dfd

Level 0 DFD: AREI

Sellers

Maintainhousesellerinformation

D2 Sales Contracts

Houseinformation

Generaterequestedreport

1

2

Sales Contract

D3 Offered Houses

House information

Buyer information form

D1Multiple ListingServices File

House information

SalesContract

House information

House information

House information

Buyers

House information request

D4 Buyers

Buyerinformation

Page 19: dfd

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

Page 20: dfd

Deposit Checks

Rent Checks

2.1

2.2

Collect SecurityDeposit

CollectRent

Deposit Receipts

Payment Receipts

Unpaid Charges

Bank Deposit

Bank DepositD1 Tenant File

TenantInfo

TenantInfo

CashReport

Level 1 DFD: Apartment Rental

Page 21: dfd

DepositCheck

2.1.1MakeBank

Deposit

Bank Deposit

2.1.2UpdateTenant

File

DepositInfo

D1 Tenant FileUpdate

Info

2.1.3CreateReceipt

Tenant Info

Receipt

Level 2 DFD: Apartment Rental

Page 22: dfd

Level 1 DFD (1 of 3): Registration

CurriculumStaff

ListingCourses Being offered

NewCourses

Department ID

Department ID

D2 Course List

Course toBe Removed

Course changes

List Request

Course offering list

New Courseinformation

New Course

CourseRemoved

Course Change

Course removed

Course changes

Existing Courseinformation

1.1

1.2

1.3

1.4

Page 23: dfd

Level 1 DFD (2 of 3): Registration

Students

Producecourseofferinglist

Add courseto schedule

D2 Course Offerings

Course todelete

Current schedule request

Available courses

Course to addto enrollment

Course enrollment add

Deletecourse fromschedule

Obtaincurrentschedule

Course to delete

2.1

2.2

2.3

2.4

Available CourseRequest

AvailableCourses

D3 Enrollments

D1 Fees

Student enrollmentinformation

Fee payment history

Course enrollmentadd

Student schedule

Page 24: dfd

Level 1 DFD (3 of 3): Registration

Dept.Staff

Obtainreporttype

D2 Course Offerings

Reporttype

Course offeringinformation

Generaterequestedreport

3.1

3.2

ReportRequest

D3 EnrollmentsEnrollmentinformationRequested

report

Page 25: dfd

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!

Page 26: dfd

Logical & Physical DFDs

Logical focuses on modeling the business system independent

Physical focuses on modeling the system system dependent

Page 27: dfd

Logical DFDs - Current System Good for communication &

understanding Focus on business activities

User view of the current system Model of the business

Page 28: dfd

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”

Page 29: dfd

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

Page 30: dfd

Partitioning the Physical DFD Defining

manual procedures automated procedures

circled using a dotted line Batch versus On-Line Procedures

Page 31: dfd

DepositCheck

2.1.1MakeBank

Deposit

Bank Deposit

2.1.2UpdateTenant

File

DepositInfo

D1 Tenant FileUpdate

Info

2.1.3CreateReceipt

Tenant Info

Receipt