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.
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.
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 DiagramsData 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
1
Process
Data Flow
Input
Data Flow
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
0
ApartmentRentalSystem
Tenant
Bank
ExternalManager
Lease,Payments
Bank Deposit
LeaseCashReport
Receipts, NoticesApartment Rental
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.)
DepartmentStaff
CourseRegistrationSystem
Courseinformation
Courseofferings
Enrollmentinformation
0
StudentsStudentschedules
Registration Context Diagram
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.
SellersAREISystem
Houseinformation
Buyerinformation
HouseInformation
0
BuyersHouseinformation
HouseInformation
Multiple ListingService
AREI Context Diagram
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
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
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
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
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
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
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
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
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
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
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
DepositCheck
2.1.1MakeBank
Deposit
Bank Deposit
2.1.2UpdateTenant
File
DepositInfo
D1 Tenant FileUpdate
Info
2.1.3CreateReceipt
Tenant Info
Receipt