DFD examples 1 Creating DFDs Define Entities • External entities represent persons, processes or machines which produce data to be used by the system or receive data that is output by the system • Examples: Student, Customer, Client Define Processes • Processes are discrete actions that transform input data to output data • Examples: Create Student Record, Calculate Purchase Cost, Register Client Student 2.1 Create Student Record 2 Creating DFDs (cont’d) Define Data Stores • Data stores are temporary or permanent repositories of information that are inputs to or outputs of processes • Examples: Student Master, Client List D3 Student Master Define Data Flows • Data flows represent the transfer of data over time from one “place” (entity, process, data store) to another • Examples: New Student Information (from Student, to Student Master) New Student Information 3 Creating DFDs (cont’d) Define the System • A system is the collection of all business processes which perform tasks or produce outputs we care about. It is “what happens.” • The system is a single process, connected to external entities • Represented in a “Context Diagram” Define Subsystems • A subsystem gives a more detailed view individual processes contained in the context diagram • Includes data stores, more elementary processes 4 DFDs Created by Top-Down Analysis Create a narrative: description of Narrative system Create a Context Diagram that contains a single process (“the system”) and all entities which share data with the system Context Diagram Diagram 0 DFD Explode the “parent” context diagram to produce a Diagram 0 (“child”) DFD Create Diagram 1, 2, …, n DFDs that Diagram 1 DFDs represent “explosions” of Diagram 0, 1, …, n-1 DFDs until a diagram has only “primitive” processes Create process descriptions to be implemented by application programs: queries, macros, reports, programming languages Diagram n DFDs E-R Diagram Process Descriptions 5 Where to Begin Creating DFDs Start with the data flow from an external entity and work forwards Start with the data flow to an external entity and work backwards Examine the data flows into or out of a data store Examine data flows, entity connections and data stores associated with a particular process Note fuzzy, ill-defined areas of the system for further clarification 6 What to Avoid in DFDs 4 Processes with no outputs or no inputs Perform Repair Processes whose inputs are obviously inadequate to yield outputs Connecting data stores directly to each other Class List Students Courses Having data flows terminate at data stores Connecting entities to anything other than processes Payroll Department Employees Making the data flow diagram too cluttered (e.g. 9 processes) Many processes with a single input and output (linear flow) 1 2 3 Process A Process B Process C 7 Creating Data Flow Diagrams Lemonade Stand Example Creating Data Flow Diagrams Example The operations of a simple lemonade stand will be used to demonstrate the creation of dataflow diagrams. Steps: 1. Create a list of activities • Old way: no Use-Case Diagram • New way: use Use-Case Diagram 2. Construct Context Level DFD (identifies sources and sink) 3. Construct Level 0 DFD (identifies manageable sub processes ) 4. Construct Level 1- n DFD (identifies actual data flows and data stores ) Creating Data Flow Diagrams Example 1. Create a list of activities Think through the activities that take place at a lemonade stand. Customer Order Serve Product Collect Payment Produce Product Store Product Creating Data Flow Diagrams Example 1. Create a list of activities Also think of the additional activities needed to support the basic activities. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Creating Data Flow Diagrams Example 1. Create a list of activities Group these activities in some logical fashion, possibly functional areas. Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Creating Data Flow Diagrams Example 2. Construct Context Level DFD (identifies sources and sink) Create a context level diagram identifying the sources and sinks (users). Context Level DFD Order Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor CUSTOMER Sales Forecast 0.0 Lemonade Production Schedule EMPLOYEE Pay System Product Served Payment Received Goods Payment VENDOR Time Worked Purchase Order Creating Data Flow Diagrams Example Create a level 0 diagram identifying the logical subsystems that may exist. 3. Construct Level 0 DFD (identifies manageable sub processes ) Level 0 DFD 1.0 Sale Customer Order Serve Product Collect Payment Product Ordered Payment CUSTOMER Produce Product Store Product Pay for Labor Product Served Received Goods VENDOR Order Raw Materials Pay for Raw Materials Sales Forecast Customer Order Purchase Order Production Schedule 2.0 Production EMPLOYEE Inventory 3.0 Procurement Payment Order Decisions Pay 4.0 Payroll Time Worked Creating Data Flow Diagrams Example Create a level 1 decomposing the processes in level 0 and identifying data stores. 4. Construct Level 1- n DFD (identifies actual data flows and data stores ) Level 1 DFD CUSTOMER Customer Order ORDER Customer Order Serve Product Collect Payment 1.1 Record Order Severed Order Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor Payment 1.2 Receive Payment PAYMENT Request for Forecast 1.3 Produce Sales Forecast Sales Forecast Creating Data Flow Diagrams Example Create a level 1 decomposing the processes in level 0 and identifying data stores. 4. Construct Level 1 (continued) Level 1 DFD Product Order ORDER Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor 2.1 Serve Product Quantity Severed RAW MATERIALS Production Schedule 2.2 Produce Product Production Data 2.3 Store Product Quantity Used INVENTORTY Quantity Produced & Location Stored Creating Data Flow Diagrams Example Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment 4. Construct Level 1 (continued) Level 1 DFD Order Decision 3.1 Produce Purchase Order PURCHASE ORDER Quantity On-Hand Quantity Received Received Goods 3.2 Receive Items Produce Product Store Product Payment Approval Order Raw Materials Pay for Raw Materials 3.3 Pay Vendor Pay for Labor Payment RAW MATERIALS RECEIVED ITEMS VENDOR Creating Data Flow Diagrams Example Create a level 1 decomposing the processes in level 0 and identifying data stores. Customer Order Serve Product Collect Payment 4. Construct Level 1 (continued) Level 1 DFD Time Worked 4.1 Record Time Worked TIME CARDS Employee ID EMPLOYEE Payroll Request 4.2 Calculate Payroll Produce Product Store Product Unpaid time cards PAYROLL Payment Approval Order Raw Materials Pay for Raw Materials 4.3 Pay Employe e Pay for Labor Payment PAYMENTS Process Decomposition 0.0 Lemonade System Context Level 1.0 Sale 1.1 Record Order 1.2 Receive Payment 2.0 Production 2.1 Serve Product 2.2 Produce Product 2.3 Store Product 3.0 Procurement 3.1 Produce Purchase Order 3.2 Receive Items 3.3 Pay Vendor 4.0 Payroll 4.1 Record Time Worked 4.2 Calculate Payroll 4.3 Pay Employe e Level 0 Level 1 DFD Example: Bus Garage Repairs Buses come to a garage for repairs. A mechanic and helper perform the repair, record the reason for the repair and record the total cost of all parts used on a Shop Repair Order. Information on labor, parts and repair outcome is used for billing by the Accounting Department, parts monitoring by the inventory management computer system and a performance review by the supervisor. Key process (“the system”): performing repairs and storing information related to repairs External Entities: Bus, Mechanic, Helper, Supervisor, Inventory Management System, Accounting Department, etc. Processes: Record Bus ID and reason for repair Determine parts needed Perform repair Calculate parts extended and total cost Record labor hours, cost 20 DFD Example: Bus Garage Repairs (cont’d) Data stores: Personnel file Repairs file Bus master list Parts list Data flows: Repair order Bus record Parts record Employee timecard Invoices 21 Bus Garage Context Diagram Bus Fixed mechanical problems Mechanical problem to be repaired Helper Labor 0 Bus Repair Process Labor Mechanic Labor, parts cost details Repair summary List of parts used Supervisor Inventory Management System Accounting 22