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 Emphasize the logic of system 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 Output Input Process
DFDs 1 Data Flow Input Data Flow Output Process
Developing DFDs Context Diagram Zero Level Explosion 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 Lease External Cash Report External Manager Apartment Rental System Tenant Lease, Payments 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 Registration System Course information Enrollment information Department Staff Students Course offerings Student 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 AREI System Buyer information Sellers Buyers Buyer information Sellers Buyers House information House information House Information House 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
D1 Tenant File 1 Tenant Bank 2 Ext. Mgr 3 D1 Tenant File Level 0 DFD: Apartment Rental Tenant Info D1 Tenant File Copy of lease 1 Lease New Tenant Process Tenant Receipt Bank Deposit Bank 2 Payments Notice Collection Process Cash Report Unpaid Charges Tenant Info Ext. Mgr 3 D1 Tenant File Delinquent Process Delinquency Report Delinquencies
Level 0 DFD: Registration Course Offering Changes 1 Maintain department course offerings Available course request Available courses Available courses Course Offering List 2 Maintain student enrollments Students Available courses Course enrollment Course Offering Updates Course Offerings Student schedule Course enrollment request D2 Course Offerings Dept Staff Student schedule Course information D3 Enrollments Fee Payment History Student Enrollment Report Request 3 Course Enrollment Reports D1 Fees Enrollment information Student Enrollment Report
Level 0 DFD: AREI Sellers Maintain house seller information D2 Sales Contracts House Generate requested report 1 2 Sales Contract D3 Offered Houses House information Buyer information form D1 Multiple Listing Services File Sales Contract Buyers House information request D4 Buyer
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
2.1 Deposit Checks Deposit Receipts Bank Deposit D1 Tenant File 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 Cash Report Unpaid Charges
2.1.1 Deposit Check 2.1.2 Update Info D1 Tenant File 2.1.3 Receipt Level 2 DFD: Apartment Rental 2.1.1 Deposit Check Bank Deposit Make Bank Deposit Deposit Info 2.1.2 Update Info Update Tenant File D1 Tenant File 2.1.3 Receipt Create Receipt Tenant Info
Level 1 DFD (1 of 3): Registration Dept. Staff Produce course offering list Add new Department ID D2 Course Offerings Course to delete Course modifications Course Offering List Request Course offering list New Course information Delete Modify existing courses Course to delete Existing Course 1.1 1.2 1.3 1.4
Level 1 DFD (2 of 3): Registration Available Course Request Produce course offering list 2.1 Available courses Available Courses D2 Course Offerings Add course to schedule 2.2 Course enrollment add Course to add to enrollment Fee payment history D1 Fees Students Delete course from schedule 2.3 Course enrollment add Course to delete Course to delete D3 Enrollments Obtain current schedule 2.4 Student enrollment information Current schedule request Student schedule
Level 1 DFD (3 of 3): Registration Dept. Staff Obtain report type D2 Course Offerings Report Course offering information Generate requested 3.1 3.2 Request D3 Enrollments Enrollment Requested
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 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 Check 2.1.2 Update Info D1 Tenant File 2.1.3 Receipt Bank Deposit Make Bank Deposit Deposit Info 2.1.2 Update Info Update Tenant File D1 Tenant File 2.1.3 Receipt Create Receipt Tenant Info
Break point… next slides are more detailed concerning the dfd building process of the same examples.
Context DFD Examples Apartment Rental Receipts, Notices Lease External Cash Report External Manager Apartment Rental System Tenant Lease, Payments Bank Deposit Bank
Context DFD Examples Apartment Rental Receipts, Notices Lease External Cash Report External Manager Apartment Rental System Tenant Lease, Payments Bank Deposit Bank
1 2 3 Level 0 DFD: Apartment Rental New Tenant Process Collection Delinquent Process
1 Tenant Bank 2 Ext. 3 Mgr Level 0 DFD: Apartment Rental New Tenant Process Tenant Bank 2 Collection Process Ext. Mgr 3 Delinquent Process
1 Tenant Bank 2 Ext. 3 Mgr Level 0 DFD: Apartment Rental Lease New Process Tenant Bank 2 Collection Process Ext. Mgr 3 Delinquent Process
D1 Tenant File 1 Tenant Bank 2 Ext. Mgr 3 Level 0 DFD: Apartment Rental Tenant Info D1 Tenant File Copy of lease 1 Lease New Tenant Process Tenant Bank 2 Collection Process Ext. Mgr 3 Delinquent Process
D1 Tenant File 1 Tenant Bank 2 Ext. Mgr 3 D1 Tenant File Level 0 DFD: Apartment Rental Tenant Info D1 Tenant File Copy of lease 1 Lease New Tenant Process Tenant Bank 2 Payments Collection Process Tenant Info Ext. Mgr 3 D1 Tenant File Delinquent Process
D1 Tenant File 1 Tenant Bank 2 Ext. Mgr 3 D1 Tenant File Level 0 DFD: Apartment Rental Tenant Info D1 Tenant File Copy of lease 1 Lease New Tenant Process Tenant Receipt Bank Deposit Bank 2 Payments Collection Process Cash Report Unpaid Charges Tenant Info Ext. Mgr 3 D1 Tenant File Delinquent Process
D1 Tenant File 1 Tenant Bank 2 Ext. Mgr 3 D1 Tenant File Level 0 DFD: Apartment Rental Tenant Info D1 Tenant File Copy of lease 1 Lease New Tenant Process Tenant Receipt Bank Deposit Bank 2 Payments Notice Collection Process Cash Report Unpaid Charges Tenant Info Ext. Mgr 3 D1 Tenant File Delinquent Process Delinquency Report Delinquencies
D1 Tenant File 1 Tenant Bank 2 Ext. Mgr 3 D1 Tenant File Level 0 DFD: Apartment Rental Tenant Info D1 Tenant File Copy of lease 1 Lease New Tenant Process Tenant Receipt Bank Deposit Bank 2 Payments Notice Collection Process Cash Report Unpaid Charges Tenant Info Ext. Mgr 3 D1 Tenant File Delinquent Process Delinquency Report Delinquencies
2.1 Deposit Checks Deposit Receipts Bank Deposit D1 Tenant File 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 Cash Report Unpaid Charges
2.1 Deposit Checks Deposit Receipts Bank Deposit D1 Tenant File 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 Cash Report Unpaid Charges
2.1.1 Deposit Check 2.1.2 Update Info D1 Tenant File 2.1.3 Receipt Level 2 DFD: Apartment Rental 2.1.1 Deposit Check Bank Deposit Make Bank Deposit Deposit Info 2.1.2 Update Info Update Tenant File D1 Tenant File 2.1.3 Receipt Create Receipt Tenant Info
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 Registration System Course information Enrollment information Department Staff Students Course offerings Student schedules
Level 0 DFD: Registration Course Offering Changes 1 Maintain department course offerings Available course request Available courses Available courses Course Offering List 2 Maintain student enrollments Students Available courses Course enrollment Course Offering Updates Course Offerings Student schedule Course enrollment request D2 Course Offerings Dept Staff Student schedule Course information D3 Enrollments Fee Payment History Student Enrollment Report Request 3 Course Enrollment Reports D1 Fees Enrollment information Student Enrollment Report
Level 1 DFD (1 of 3): Registration Dept. Staff Produce course offering list Add new Department ID D2 Course Offerings Course to delete Course modifications Course Offering List Request Course offering list New Course information Delete Modify existing courses Course to delete Existing Course 1.1 1.2 1.3 1.4
Level 0 DFD: Registration Course Offering Changes 1 Maintain department course offerings Available course request Available courses Available courses Course Offering List 2 Maintain student enrollments Students Available courses Course enrollment Course Offering Updates Course Offerings Student schedule Course enrollment request D2 Course Offerings Dept Staff Student schedule Course information D3 Enrollments Fee Payment History Student Enrollment Report Request 3 Course Enrollment Reports D1 Fees Enrollment information Student Enrollment Report
Level 1 DFD (2 of 3): Registration Available Course Request Produce course offering list 2.1 Available courses Available Courses D2 Course Offerings Add course to schedule 2.2 Course enrollment add Course to add to enrollment Fee payment history D1 Fees Students Delete course from schedule 2.3 Course enrollment add Course to delete Course to delete D3 Enrollments Obtain current schedule 2.4 Student enrollment information Current schedule request Student schedule
Level 0 DFD: Registration Course Offering Changes 1 Maintain department course offerings Available course request Available courses Available courses Course Offering List 2 Maintain student enrollments Students Available courses Course enrollment Course Offering Updates Course Offerings Student schedule Course enrollment request D2 Course Offerings Dept Staff Student schedule Course information D3 Enrollments Fee Payment History Student Enrollment Report Request 3 Course Enrollment Reports D1 Fees Enrollment information Student Enrollment Report
Level 1 DFD (3 of 3): Registration Dept. Staff Obtain report type D2 Course Offerings Report Course offering information Generate requested 3.1 3.2 Request D3 Enrollments Enrollment Requested
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 AREI System Buyer information Sellers Buyers Buyer information Sellers Buyers House information House information House Information House Information Multiple Listing Service
Level 0 DFD: AREI Sellers Maintain house seller information D2 Sales Contracts House Generate requested report 1 2 Sales Contract D3 Offered Houses House information Buyer information form D1 Multiple Listing Services File Sales Contract Buyers House information request D4 Buyer