Lecture 11: Process Modeling: Outline
Lecture 11: Process Modeling: Outline
Lecture 11: Process Modeling: Outline
IS 460 Notes
1. DFD Elements
Data Flows & Control Flows A data flow represents an input of data to a process, or the output of data from a process. o A data flow may also be used to represent the creation, reading, deletion, or updating of data in a file or database (data store). o A composite data flow is a data flow that consists of other data flows. A control flow represents a condition or nondata event that triggers a process. o Used sparingly on DFDs. Data Stores A data store is an inventory of data. o Frequently implemented as a file or database. o A data store is data at rest compared to a data flow that is data in motion. o Almost always one of the following: Persons (or groups of persons) Data Places Store Objects Events (about which data is captured) Concepts (about which data is important) o Data stores depicted on a DFD store all instances of data entities (depicted on an ERD) External Agents An external agent defines a person, organization unit, or other organization that lies outside of the scope of the project but that interacts with the system being studied. o External agents define the boundary or scope of a system being modeled. o As scope changes, external agents can become processes, and vice versa. 2
IS 460 Notes
o Almost always one of the following: Office, department, division inside the business but outside the system scope. An external organization or agency. Another business or another information system. One of your systems end-users or managers External Alternatively: Source/Sink Agent o Depicts the origin and/or destination of the data o Sometimes referred to as an external entity o Drawn as a square symbol o Name states what the external agent is o Because they are external, many characteristics are not of interest to us
Process Concepts o A process is work performed on, or in response to, incoming data flows or conditions so that they are transformed, stored or distributed 1.0 o A System is a Process
2. Process Decomposition
Functional Decomposition Decomposition o The act of breaking a system into its component subsystems, processes, and subprocesses. Each level of abstraction reveals more or less detail. Decomposition Diagrams o A decomposition diagram or hierarchy chart shows the top-down, functional decomposition of a system o Numbering Scheme Decomposition of DFDs o Functional decomposition o Act of going from one single system to many component processes o Repetitive procedure o Lowest level is called a primitive DFD o Level-N Diagrams o A DFD that is the result of n nested decompositions of a series of subprocesses from a process on a level-0 diagram Context Diagram o A data flow diagram (DFD) of the scope of an organizational system that shows the system boundaries, external entities that interact with the system and the major information flows between the entities and the system o Shows the context into which the business process fits o Shows the overall business process as just one process o Shows all the outside entities that receive information from or contribute information to the system
A Process
IS 460 Notes
Level 0 Diagram o A data flow diagrams (DFD) that represents a systems major processes, data flows and data stores at a higher level o Shows all the processes that comprise the overall system o Shows how information moves from and to each process o Adds data stores Level 1 Diagrams o Shows all the processes that comprise a single process on the level 0 diagram o Shows how information moves from and to each of these processes o Shows in more detail the content of higher level process o Level 1 diagrams may not be needed for all level 0 processes Level 2 Diagrams o Shows all processes that comprise a single process on the level 1 diagram o Shows how information moves from and to each of these processes o Level 2 diagrams may not be needed for all level 1 processes o Correctly numbering each process helps the user understand where the process fits into the overall system Rules for stopping decomposition o When each process has been reduced to a single decision, calculation or database operation 4
IS 460 Notes
o When each data store represents data about a single entity o When the system user does not care to see any more detail o When every data flow does not need to be split further to show that data are handled in various ways o When you believe that you have shown each business form or transaction, on-line display and report as a single data flow o When you believe that there is a separate process for each choice on all lowest-level menu options
3. Data Flows
Data Flows to and from Data Stores
Diverging and Converging Data Flows o A diverging data flow is one that splits into multiple data flows. o Useful for illustrating data that starts out naturally as one flow, but needs to be routed to parallel processes. o Also useful for illustrating multiple copies of the same output going to different destinations. o A converging data flow is the merger of multiple data flows into a single packet. o Useful for illustrating data from multiple sources that must come back together for some subsequent processing Alternative Data Flows o Where a process can produce different data given different conditions o We show both data flows and use the process description to explain why they are alternatives o Tip -- alternative data flows often accompany processes with IF statements
IS 460 Notes
o Objects always have a unique name In order to keep the diagram uncluttered, you can repeat data stores and data flows on a diagram Data Flow Diagramming Rules o Process A. No process can have only outputs (a miracle) B. No process can have only inputs (black hole) C. A process has a verb phrase label o Data Store D. Data cannot be moved from one store to another. E. Data cannot move from an outside source to a data store F. Data cannot move directly from a data store to a data sink G. Data store has a noun phrase label o Source/Sink H. Data cannot move directly from a source to a sink I. A source/sink has a noun phrase label o Data Flow J. A data flow has only one direction of flow between symbols. K. A fork means that exactly the same data go from a common location to two or more processes, data stores or sources/sinks L. A join means that exactly the same data come from any two or more different processes, data stores or sources/sinks to a common location M. A data flow cannot go directly back to the same process it leaves N. A data flow to a data store means update O. A data flow from a data store means retrieve or use P. A data flow has a noun phrase label Balancing DFDs o When decomposing a DFD, you must conserve inputs to and outputs from a process at the next level of decomposition o This is called balancing o We can split a data flow into separate data flows on a lower level diagram Four Additional Advanced Rules Due to Balancing DFDs Q. A composite data flow on one level can be split into component data flows at the next level, but no new data can be added and all data in the composite must be accounted for in one or more subflows. R. The input to a process must be sufficient to produce the outputs (including data placed in data stores) from the process. Thus all outputs can be produced, and all data in inputs move somewhere, either to another process or to a data store outside the process or on a more detailed DFD showing a decomposition of that process. S. At the lowest level of DFDs, new data flows can be added to represent data that are transmitted under exceptional conditions; these data flows typically represent error messages or confirmation notices. T. To avoid having data flow lines cross each other, you may repeat data store, source/sink on a DFD. Use an additional symbol, like a double line on the middle vertical line of a data
IS 460 Notes
IS 460 Notes
Take the steps listed on the use case and depict each as a process on the level 1 DFD Inputs and outputs listed on use case become data flows on DFD Include sources and destinations of data flows to processes and stores within the DFD May also include external entities for clarity Input data flows shown on a parent DFD are often unbundled on the child diagram using splits o Output data flows shown on a child DFD are often bundled using joins and shown as a larger data flow on the parent diagram o When to stop decomposing DFDs? o Ideally, a DFD has at least 3 processes and no more than 7-9. o o o o o