2/17/2008 Using Dataflow Diagrams 7 Learning Objectives • Comprehend the importance of using logical and physical data flow diagrams (DFDs) to graphically depict movement for humans and systems in an organization • Create, use, and explode logical DFDs to capture and analyze the current system through parent and child levels • Develop and explode logical DFDs that illustrate the proposed system • Produce physical DFDs based on logical DFDs you have developed • Understand and apply the concept of partitioning of physical DFDs Systems Analysis and Design, 7e Kendall & Kendall © 2008 Pearson Prentice Hall Kendall & Kendall Data Flow Diagrams Major Topics • Graphically characterize data processes and flows in a business system • Depict: • System inputs • Processes • outputs Kendall & Kendall 7­3 Advantages of the Data Flow Approach • Data flow diagram symbols • Data flow diagram levels • Creating data flow diagrams • Physical and logical data flow diagrams • Partitioning • Communicating Using Data Flow Diagrams Kendall & Kendall 7­4 Basic Symbols • Freedom from committing to the technical implementation too early • Understanding of the interrelatedness of systems and subsystems • Communicating current system knowledge to users • Analysis of the proposed system Kendall & Kendall 7­2 7­5 • A double square for an external entity • An arrow for movement of data from one point to another • A rectangle with rounded corners for the occurrence of a transforming process • An open­ended rectangle for a data store Kendall & Kendall 7­6 1 2/17/2008 Figure 7.1 The four basic symbols used in data flow diagrams, their meanings, and examples External Entities • Represent another department, a business, a person, or a machine • A source or destination of data, outside the boundaries of the system • Should be named with a noun Kendall & Kendall 7­7 Data Flow 7­8 Process • Shows movement of data from one point to another • Described with a noun • Arrowhead indicates the flow direction • Represents data about a person, place, or thing Kendall & Kendall Kendall & Kendall 7­9 • Denotes a change in or transformation of data • Represents work being performed in the system • Naming convention • Assign the name of the whole system when naming a high­level process • To name a major subsystem attach the word subsystem to the name • Use the form verb­adjective­noun for detailed processes Kendall & Kendall 7­10 Figure 7.2 Steps in developing data flow diagrams Data Store • A depository for data that allows examination, addition, and retrieval of data • Named with a noun, describing the data • Data stores are usually given a unique reference number, such as D1, D2, D3 • Represents a: • Filing cabinet • Database • Computerized file Kendall & Kendall 7­11 Kendall & Kendall 7­12 2 2/17/2008 Creating the Context Diagram Figure 7.3 Context diagram • The highest level in a data flow diagram • Contains only one process, representing the entire system • The process is given the number 0 • All external entities, as well as Major data flows are shown Kendall & Kendall 7­13 7­14 Drawing Diagram 0 (Continued) Drawing Diagram 0 • The explosion of the context diagram • May include up to nine processes • Each process is numbered • Major data stores and all external entities are included Kendall & Kendall Kendall & Kendall 7­15 Figure 7.3 Note the greater detail in diagram 0 • Start with the data flow from an entity on the input side • Work backwards from an output data flow • Examine the data flow to or from a data store • Analyze a well­defined process • Take note of any fuzzy areas Kendall & Kendall 7­16 Data Flow Diagram Levels • Data flow diagrams are built in layers • The top level is the Context level • Each process may explode to a lower level • The lower level diagram number is the same as the parent process number • Processes that do not create a child diagram are called primitive Kendall & Kendall 7­17 Kendall & Kendall 7­18 3 2/17/2008 Creating Child Diagrams (Continued) Creating Child Diagrams • Each process on diagram 0 may be exploded to create a child diagram • A child diagram cannot produce output or receive input that the parent process does not also produce or receive • The child process is given the same number as the parent process • Process 3 would explode to Diagram 3 Kendall & Kendall 7­19 Figure 7.4 Differences between the parent diagram (above) and the child diagram (below) • Entities are usually not shown on the child diagrams below Diagram 0 • If the parent process has data flow connecting to a data store, the child diagram may include the data store as well • When a process is not exploded, it is called a primitive process Kendall & Kendall 7­20 Checking the Diagrams for Errors • Forgetting to include a data flow or pointing an arrow in the wrong direction Kendall & Kendall 7­21 Checking the Diagrams for Errors (Continued) 7­22 Checking the Diagrams for Errors (Continued) • Incorrectly labeling processes or data flow • Including more than nine processes on a data flow diagram • Connecting data stores and external entities directly to each other Kendall & Kendall Kendall & Kendall 7­23 Kendall & Kendall 7­24 4 2/17/2008 Figure 7.5 Typical errors that can occur in a data flow diagram (payroll example) Checking the Diagrams for Errors (Continued) • Omitting data flow • Creating unbalanced decomposition (or explosion) in child diagrams Kendall & Kendall 7­25 Kendall & Kendall 7­26 Figure 7.7 Features common of logical and physical data flow diagrams Logical and Physical Data Flow Diagrams • Logical • Focuses on the business and how the business operates • Not concerned with how the system will be constructed • Describes the business events that take place and the data required and produced by each event • Physical • Shows how the system will be implemented • Depicts the system Kendall & Kendall 7­27 Figure 7.8 The progression of models from logical to physical Kendall & Kendall 7­28 Developing Logical Data Flow Diagrams • Better communication with users • More stable systems • Better understanding of the business by analysts • Flexibility and maintenance • Elimination of redundancy and easier creation of the physical model Kendall & Kendall 7­29 Kendall & Kendall 7­30 5 2/17/2008 Figure 7.10 Physical data flow diagrams contain many items not found in logical data flow diagrams Developing Physical Data Flow Diagrams • Clarifying which processes are performed by humans and which are automated • Describing processes in more detail • Sequencing processes that have to be done in a particular order • Identifying temporary data stores • Specifying actual names of files and printouts • Adding controls to ensure the processes are done properly Kendall & Kendall 7­31 Event Modeling and Data Flow Diagrams 7­33 Figure 7.12 An event response table for an Internet storefront Kendall & Kendall 7­32 Event Response Tables • An input flow from an external entity is sometimes called a trigger because it starts the activities of a process • Events cause the system to do something and act as a trigger to the system • An approach to creating physical data flow diagrams is to create a data flow diagram fragment for each unique system event Kendall & Kendall Kendall & Kendall 7­35 • An event table is used to create a data flow diagram by analyzing each event and the data used and produced by the event • Every row in an event table represents a data flow diagram fragment and is used to create a single process on a data flow diagram Kendall & Kendall 7­34 Figure 7.13 Data flow diagrams for the first three rows of the Internet storefront event response table Kendall & Kendall 7­36 6 2/17/2008 Partitioning Data Flow Diagrams Use Cases and Data Flow Diagrams • Each use case defines one activity and its trigger, input, and output • Allows the analyst to work with users to understand the nature of the processes and activities and then create a single data flow diagram fragment Kendall & Kendall 7­37 Reasons for Partitioning 7­38 • Improves the way humans use the site • Improves speed of processing • Ease of maintaining the site • Keep the transaction secure 7­39 Communicating Using Data Flow Diagrams Kendall & Kendall 7­40 Summary • Data flow diagrams • Use unexploded data flow diagrams early when ascertaining information requirements • Meaningful labels for all data components Kendall & Kendall Kendall & Kendall Partitioning Web Sites • Different user groups • Timing • Processes may be separated into different programs for security • Similar tasks • Efficiency • Consistency • Security Kendall & Kendall • Partitioning is the process of examining a data flow diagram and determining how it should be divided into collections of manual procedures and computer programs • A dashed line is drawn around a process or group of processes that should be placed in a single computer program • Structured analysis and design tools that allow the analyst to comprehend the system and subsystems visually as a set of interrelated data flows • DFD symbols • Rounded rectangle • Double square • An arrow • Open­ended rectangle 7­41 Kendall & Kendall 7­42 7 2/17/2008 Summary (Continued) Summary (Continued) • Partitioning data flow diagrams • Creating the logical DFD • Context­level data flow diagram • Level 0 logical data flow diagram • Child diagrams • Creating the physical DFD • Create from the logical data flow diagram • Partitioned to facilitate programming Kendall & Kendall 7­43 • Whether processes are performed by different user groups • Processes execute at the same time • Processes perform similar tasks • Batch processes can be combined for efficiency of data • Processes may be partitioned into different programs for security reasons Kendall & Kendall 7­44 8