2 2. Process modelingProcess model is a graphical representation of the processes that capture, manipulate, store, and distribute data between a system and its environment and among system components.Process models utilize the information gathered during requirements determination to model processes and data structures.The deliverables of process modeling are:Context DFDDFDs of current physical systemDFDs of current logical systemDFDs of new logical systemDFDs of new physical system
3 Data Flow Diagram (DFD) DFD is a diagrammatic representation of both physical and logical information systems using the four DFD symbols shown below.
4 Symbols of DFD and their definition Process: work or actions performed on data (inside the system)Data store: data at rest (inside the system)Source/sink: external entity that is origin or destination of data (outside the system)Data flow: arrows depicting movement of dataDeveloping DFDsData Flow Diagramming Guidelines and RulesGuidelines Applied in DFDs:The inputs to a process are different from the outputs of that process. The purpose of a process is to transform inputs into outputs.Objects on a DFD have unique names. Every process has a unique name.DFD must include all components necessary for system (completeness).
5 Each component must be fully described in the project dictionary or CASE repository. The extent to which information contained on one level of a set of nested DFDs is also included on other levels (consistency). Rules Governing Data Flow Diagramming Process Rules 1. No process can have only outputs. It is making data from nothing (a miracle). If an object has only outputs, then it must be a source. 2. No process can have only inputs (a black hole). If an object has only inputs, then it must be a sink. 3. A process has a verb phrase label. Data Store Rules 1. Data cannot move directly from one data store to another data store. Data must be moved by a process. 2. Data cannot move directly from an outside source to a data store. Data must be moved by a process that receives data from the source and places the data into the data store. 3. Data cannot move directly to an outside sink from a data store. Data must be moved by a process. 4. A data store has a noun phrase label.
6 Source/ Sink rules:1. Data cannot move directly from a source to a sink. It must be moved by a process if the data are of any concern to our system. Otherwise, the data flow is not shown on the DFD.2. A source/sink has a noun phrase label.Data Flow:1. A data flow has only one direction of flow between symbols. It may flow in both directions between a process and a data store to show a read before an update. The latter is usually indicated, however, by two separate arrows because these happen at different times.2. A fork in a data flow means that exactly the same data goes from a common location to two or more different processes, data stores, or sources/sinks (this usually indicates different copies of the same data going to different locations).3. A join in a data flow means that exactly the same data come from any of two or more different processes, data stores. Or sources/sinks to a common location.4. A data flow cannot go directly back to the same process it leaves. There must be at least one other process that handles the data flow, produces some other data flow, and returns the original data flow to the beginning process.5. A data flow to a data store means update i.e. delete or change.6. A data flow from a data store means retrieve or use.7. A data flow has a noun phrase label. More than one data flow noun phrase can appear on a single arrow as long as all of the flows on the same arrow move together as one package.
7 Context DiagramContext diagram is an overview of an organizational system that shows:The system boundaries.External entities that interact with the system.Major information flows between the entities and the system.Note: only one process symbol, and no data stores shown
8 Context Diagram of ABC Restaurant’s Food Ordering System
9 Level-0 DiagramLevel-0 diagram is a data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail.Processes are labeled 1.0, 2.0, etc. These will be decomposed into more primitive (lower-level) DFDs.Level-0 DFD of ABC Restaurant’s Food Ordering System
10 Process at Level-0 are labeled as 1.0, 2.0, 3.0, etc.
11 Decomposition of DFDsFunctional decomposition is an iterative process of breaking a system description down into finer and finer detail. It creates a set of charts in which one process on a given chart is explained in greater detail on another chart. The decomposition continues until no sub-process can logically be broken down any further.Level-1 diagram results from decomposition of Level-0 diagram; and Level-2 diagram results from decomposition of Level-1 diagram. Generally, Level-n diagram is a DFD diagram that is the result of n nested decompositions from a process on a level-0 diagram. The lowest level of DFD is called primitive DFD.
12 Level -1 DFDProcesses at Level-1 are labeled as n.1, n.2, n.3, etc; where n is any one of the processes taken from Level-0.
13 Level-2 DiagramThis diagram shows the decomposition of Process 4.3 from Level-1 diagram of ABC Restaurant’s Food Ordering System.Processes at Level-2 are labeled as n.m.1, n.m.2, n.m.3, etc; where n.m is any one of the processes taken from Level-1.
14 Balancing DFDsBalancing refers to the conservation of inputs and outputs to a data flow diagram process when that process is decomposed to a lower level. The Conservation Principle orders us to conserve inputs and outputs to a process at the next level of decompositionA DFD is said to be balanced if:Number of inputs to lower level DFD equals number of inputs to associated process of higher-level DFDNumber of outputs to lower level DFD equals number of outputs to associated process of higher-level DFD
15 Unbalanced set of DFDs Context-Diagram (1 input (A) and 1 output (B)) Level-0 Diagram (2 inputs (A,C)and 1 output (B))
16 Data flow splitting occurs when a composite data flow at a higher level is split and different parts go to different processes in the lower level DFD. In this case the DFD remains balanced because the same data is involved, but split into two parts.
17 Types of DFDs There are four different types of DFDs. 1. Current PhysicalProcess labels identify technology (people or systems) used to process the data.Data flows and data stores identify actual name of the physical media.2. Current LogicalPhysical aspects of system are removed as much as possible.Current system is reduced to data and processes that transform them.3. New LogicalIncludes additional functions.Obsolete functions are removed.Inefficient data flows are reorganized.4. New PhysicalRepresents the physical implementation of the new system.
18 3. Logic ModelingData flow diagrams do not show the logic inside the processes. Hence, logic modeling is used to represent internal structure and functionality of processes depicted on a DFD. Logic modeling can also be used to show when processes on a DFD occur. The deliverables of logic modeling are structured English representation of the process logic and decision table representations.Modeling Logic with Structured EnglishStructured English: is a modified form of English language used to specify the logic of information system processes. It typically relies on action verbs and noun phrases and contains no adjectives; there is no single specific standard in structured English.
19 Current logical DFD for ABC Restaurant's Inventory Control System
20 Structured English representation of the four processes depicted in the above DFD Process 1.0: Update Inventory Added DO READ next invoice-item-record FIND matching inventory-record ADD Quantity-added from Invoice-item-record to Quantity-in stock on Inventory-record UNTIL End-of-file Process 2.0: Update Inventory Used READ next Stock-item-record FIND matching Inventory-record SUBTRACT Quantity-used on Stock-item-record from Quantity-in-stock on Inventory-record
21 Process 3.0: Generate Orders DOREAD next Inventory-recordBEGIN IFIf Quantity-in-stock is less than Minimum-order-quantityTHEN GENERATE OrderEND IFUNTIL End-of fileProcess 4.0: Generate PaymentsREAD Today’s-dateSORT Invoice-records by DateREAD next invoice-recordIF Date is 30 days or greater than Today’s-dateTHEN GENERATE PaymentsUNTI END-of-file
22 Modeling Logic with Decision Tables Decision table is a matrix representation of the logic of a decision which specifies the possible conditions for the decision and the resulting actions.It is best used for complicated decision logic.
24 Decision Table has three major parts 1. Condition stubs: that part of a decision table that lists the conditions relevant to the decision.2. Action stubs: that part of a decision table that lists the actions that result for a given set of conditions.3. Rules: that part of a decision table that specifies which actions are to be followed for a given set of condition.Indifferent condition: is a condition whose value does not affect which actions are taken for two or more rules. The action followed from an indifferent condition does not depend on the condition’s value.
25 Procedure for Creating Decision Tables Name the condition and the values that each condition can assume.Name all possible actions that can occur.List all possible rules.Define the actions for each rule.Simplify the table.