Process Modeling Graphically represent the processes that capture, manipulate, store, and distribute data between a system and its environment Models DFDs -- Process, Data & Externals ERDs -- Data Structure -- no Process Process Logic and Timing Process Modeling Deliverables Context DFD (Not in D/2000) DFD of current physical system DFD of current logical system DFD of new logical system Adequate descriptions of each DFD component (Oracle Repository) DFD Mechanics Process Data store Source/Sink Data flow Context Level DFD Customer Order 0 Food Order CUSTOMER Receipt Food Ordering System Management Reports RESTAURANT MANAGER Figure 8.4, p284 KITCHEN Level Zero (First Level) Diagram Customer Order CUSTOMER Receipt 1 Goods Sold Formatted Goods Sold Data Food Order Receive & Transform Customer Food Order KITCHEN Inventory Data 2 3 Update Goods Sold File Update Inventory File Formatted Inventory Data D2 Inventory File D1 Goods Sold File Daily Goods Sold Amounts 4 Produce Management Reports Figure 8.5, p285 Daily Inventory Depletion Amounts Management Reports RESTAURANT MANAGER DFD Rules -- Process A. No process can have only outputs B. No process can have only inputs Every Process has Input & Output C. (1) Use Verb phrase labels for the lowest level (Basic Function Module - a BFM has no explosion) (2) Use xxx Process for the others DFD Rules -- Process Incorrect A. B. Correct DFD Rules -- Data Store D.Data cannot move directly from one data store to another data store E. Data cannot move directly from an outside source to a data store F. Data cannot move directly to an outside sink from a data store One end of a Data Flow must be a Process G. Use a Noun phrase label (Entity Name) DFD Rules -- Source / Sink H. Data cannot move directly from a source to a sink. It must be moved by a process. I. Noun phrase label. (External) Contents are Entities - one Primary DFD Rules -- Data Flow J. K. L. A data flow has only one direction of flow between symbols; a data flow may flow in both directions to and from a data store (usually two symbols) A fork in a data flow means that exactly the same data goes to two different processes or data stores. A join in a data flow means that exactly the same data comes from two different processes and data stores. DFD Rules -- Data Flow Incorrect J. K. L. Correct DFD Rules -- Data Flow M. A data flow cannot go directly back to the same process it leaves N. A data flow to a data store means create, update or delete O. A data flow from a data store means retrieve or use P. Use a Noun phrase label. Contents are attributes of entities and data items Other DFD Issues Decomposition (Explosion) Explode a single process into subprocesses Balancing (the Great Circle Rule) Conserve all process inputs and outputs when decomposing a process Decomposition of 4.0 Daily Goods Sold Am ounts 4.1 Inventory Data Access Daily Inventory Depletion Am ounts Goods Sold & Inventory Data Goods Sold Data 4.2 Aggregate Goods Sold & Inventory Data Aggregated Data 4.3 Prepare Managem ent Reports Figure 8.8 and 8.7, p289 Managem ent Reports Decomposition of 4.3 4.3.2 4.3.1 Aggregated Data Format Management Reports Figure 8.9, p290 Formatted Data Print Management Reports Management Reports Balance - Context Level 0 Source 1 A B System Sink 1 Unbalanced DFD 1 Source 1 A C Source 2 Formatted Formatted A C 2 B Sink 1 DFD Rules -- Advanced Rules R. The inputs to a process must be sufficient to produce the outputs S. At the lowest level of DFDs, new data flows may be added to represent data that are transmitted under exceptional conditions (e.g., error messages). T. To avoid having data flow lines cross each other, you may repeat data stores or sources / sinks on a DFD. DFD Guidelines Completeness Consistency Timing Iterative Development Primitive DFDs -- BFM Level Single database operation - update, retrieve, create, delete Single other process function -- input or output data; calculate; decision Process for each option or choice Data flow split to each use set User and Analyst are satisfied Element of Personal Choice