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 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 Apartment Rental System Tenant Bank External Manager Lease, Payments Bank Deposit Lease Cash Report Receipts, Notices Apartment 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.) Department Staff Course Registration System Course information Course offerings Enrollment information 0 Students Student schedules 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 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 to help the real estate agent show houses to the buyer. Sellers AREI System House information Buyer information House Information 0 Buyers House information House Information Multiple Listing Service 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 New Tenant Process Collection Process Delinquent Process Lease D1 Tenant File Tenant Info Level 0 DFD: Apartment Rental
Payments Bank Bank Deposit Receipt Ext. Mgr Cash Report D1 Tenant File Unpaid Charges Delinquency Report Tenant Info Delinquencies Copy of lease Notice Level 0 DFD: Registration
Dept Staff 1 Maintain department course offerings 2 Maintain student enrollments 3 Course Enrollment Reports Course Offering Changes Course Offerings Available courses D1 Fees D2 Course Offerings D3 Enrollments Course information Student Enrollment Report Request Student Enrollment Report Enrollment information Students Course Offering Updates Course Offering List Fee Payment History Available course request Available courses Available courses Course enrollment Student schedule Student schedule Course enrollment request Level 0 DFD: AREI
Sellers Maintain house seller information D2 Sales Contracts House information Generate requested report 1 2 Sales Contract D3 Offered Houses House information Buyer information form D1 Multiple Listing Services File House information Sales Contract House information House information House information Buyers House information request D4 Buyers Buyer information 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 Security Deposit Collect Rent Deposit Receipts Payment Receipts Unpaid Charges Bank Deposit Bank Deposit D1 Tenant File Tenant Info Tenant Info Cash Report Level 1 DFD: Apartment Rental
Deposit Check 2.1.1 Make Bank Deposit Bank Deposit 2.1.2 Update Tenant File Deposit Info D1 Tenant File Update Info 2.1.3 Create Receipt Tenant Info Receipt Level 2 DFD: Apartment Rental
Level 1 DFD (1 of 3): Registration
Dept. Staff Produce course offering list Add new course Department ID Department ID D2 Course Offerings Course to delete Course modifications Course Offering List Request Course offering list New Course information New Course Delete course Modify existing courses Course to delete Course modifications Existing Course information 1.1 1.2 1.3 1.4 Level 1 DFD (2 of 3): Registration
Students Produce course offering list Add course to schedule D2 Course Offerings Course to delete Current schedule request Available courses Course to add to enrollment Course enrollment add Delete course from schedule Obtain current schedule Course to delete 2.1 2.2 2.3 2.4 Available Course Request Available Courses D3 Enrollments D1 Fees Student enrollment information Fee payment history Course enrollment add Student schedule Level 1 DFD (3 of 3): Registration
Dept. Staff Obtain report type D2 Course Offerings Report type Course offering information Generate requested report 3.1 3.2 Report Request D3 Enrollments Enrollment information Requested 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 Deposit Check 2.1.1 Make Bank Deposit Bank Deposit 2.1.2 Update Tenant File Deposit Info D1 Tenant File Update Info 2.1.3 Create Receipt Tenant Info Receipt