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) Context DFD: scope of system, what elements are inside vs. outside system DFD of current physical system: specify which people and technology are used in which processes DFD of current logical system: show what data processing functions are performed by the current system DFD of new logical system Detailed descriptions of each DFD component: all entries are now (as move through cycle) in CASE tool
DFD Mechanics Notation is Gane and Sarson….DeMarco and Yourdon is also used. Price uses G&S. Each symbol is given a meaningful name and data stores and processes are numbered (we’ll figure out how)... Process: work or actions performed on the data so that they are transformed, stored, or distributed….manual or computer-based Data store: Data at rest, may take the form of many different physical representations…file folder, computer file, notebook Source/Sink:the origin and or destination of data, sometimes referred to as external entities..outside the system….another person, organization, or information system outside our boundary Data flow: data in motion, composed of many pieces of data that are generated at the same time and flow together Since external entities are outside system, we don’t worry about 1) interactions between external entities 2) what an external entity does with information or how it operates on it 3) How to control or redesign an external entity How to provide external entities direct access to stored data
Context Level DFD Figure 8.4, p284 Single process labeled “0” represents the entire system we are constructing. All context diagrams have only one process labeled 0. Sources and sinks represent external boundaries. The data stores are conceptually inside the process and should not appear on the context diagram. Now need to think about what processes make up the single process represented in the context diagram... Figure 8.4, p284
Level Zero (First Level) Diagram 4 major processes: Input/Transform/Store/Output 1) Capture data from different sources: Process 1 2) Maintain data stores: Process 2 and 3 Produce and distribute data to different sinks: Process 4 High level descriptions of data transformation operations: Process 1 Begins with order from customer which is then processed Any data flow generated by a process that goes onto an external entity (e.g., receipt and food order) we no longer need to worry about 1 Cheeseburger, 1 Nuggets, and 2 fries would update data store labeled goods sold. Daily goods sold used to produce management report in Process 4. Order would also send data flow containing specific inventory used to produce food, e.g., a cheeseburger means 1 fewer patty, bun and slice of cheese, etc. How quickly is order data used to update inventory? How are tomatoes and other condiments handled? Don’t know…a lot of details are missing in DFD. Look at difference implied between relationships of Process 1 and 3 versus 2 and 4. Figure 8.5, p285
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 The names of the incoming data flows into a process are different from the outgoing data flows because the process “transforms” them Process must have a verb in it since it is doing something Every process, sink, etc. has a unique name.
DFD Rules -- Process Incorrect Correct A. B.
DFD Rules -- Data Store One end of a Data Flow must be a Process 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. 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) K. A fork in a data flow means that exactly the same data goes to two different processes or data stores. L. 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 Correct J. K. L.
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 Going from a single large system to smaller subcomponents Each of the 4 processes in the Level 0 diagram are candidates for decomposition Decomposition continues until you reach the point where no subprocesses can logically be broken down any further…lowest level of DFD (which is really the highest number) is called a primitive DFD
Decomposition of 4.0 Figure 8.8 and 8.7, p289 Each level of DFD should be on a separate page, no DFD should have more than 7 processes (more than 7 makes the document too crowded and too difficult to understand), rule of thumb, not in stone. Figure 8.8 and 8.7, p289
Decomposition of 4.3 Figure 8.9, p290
Balance - Context Level System B A Sink 1 Source 1 Must conserve inputs and outputs to a process at the next level of decomposition. Process 1.0 in the level-0 diagram must have the same inputs and outputs when decomposed into a level-1
Unbalanced DFD Source 1 Source 2 Sink 1 1 A C Formatted A Formatted C Where is this unbalanced? No Source 2 in Level-0 2 Sink 1 B
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 Completeness: Have you included all necessary components for your system in your model…have you followed all the rules. CASE tools test for completeness automatically. Need to define each component fully in the project dictionary Label/name, two line description, list of aliases, composition or list of data elements contained in the data flow, notes, a list of locations where this data flow appears and names of sources and destinations on each of these DFDs for the data flows Consistency: extent to which information contained in one level is nested in lower sets Timing: does flow happen real time, once per week, etc. DFD has no way of indicating Iterative Development: will draw same level diagram multiple times prior to having it “right” Primitive DFDs: when do you stop decomposition process. How do you know when you have reached lowest logical level? Reduced each process to a single decision, each data store represents a single entity, user does not want more detail, cannot split data flows further, have shown each business form or transaction,
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