100% found this document useful (1 vote)
417 views29 pages

24 Data Flow Diagrams

A data flow diagram (DFD) is a logical model that shows the flow of data through a system using symbols like processes, data stores, external entities, and data flows. A DFD is useful for summarizing a system's boundaries, processes, and data at a high level. Creating a DFD is an iterative process, starting with a context-level diagram and then adding more detail with lower-level diagrams. Key principles for DFDs are data conservation, ensuring all data that enters a process is used or output, and iteration, where higher processes decompose into lower subprocesses.

Uploaded by

suntusha
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
417 views29 pages

24 Data Flow Diagrams

A data flow diagram (DFD) is a logical model that shows the flow of data through a system using symbols like processes, data stores, external entities, and data flows. A DFD is useful for summarizing a system's boundaries, processes, and data at a high level. Creating a DFD is an iterative process, starting with a context-level diagram and then adding more detail with lower-level diagrams. Key principles for DFDs are data conservation, ensuring all data that enters a process is used or output, and iteration, where higher processes decompose into lower subprocesses.

Uploaded by

suntusha
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 29

24 Data flow diagrams

24.1 Purpose
A data flow diagram is a logical model of the flow of data through a system that shows how the systems boundaries, processes, and data entities are logically related.

24.2 Strengths, weaknesses, and limitations


A data flow diagram is an excellent tool for summarizing and organizing detailed information about a systems boundaries, processes, and data entities, providing the analyst with a logical map of the system. Documenting the systems boundaries by drawing a context diagram helps the analyst, the user, and the responsible managers visualize alternative high-level logical system designs. The elements of a data flow diagram lead directly into physical design, with processes suggesting programs and procedures, data flows suggesting composites, and data stores suggesting data entities, files, and databases. Creating a data flow diagram is a process driven task. Consequently, it is relatively easy to overlook key data elements and composites. Balancing a data flow diagram verifies the models internal consistency, but does not necessarily reveal missing elements. Attempting to balance a significant logical model without appropriate software (such as CASE software) is at best difficult and can be misleading. Beginners and users often confuse data flow diagrams with process flowcharts.

24.3 Inputs and related ideas


The first step in creating a data flow diagram is to prepare a list of the systems boundaries, data, and processes using the tools covered in Part II. Data flow diagrams are a significant part of the structured analysis and design methodology (# 3). A data flow diagram is sometimes created in conjunction with an entity-relationship diagram (# 26) or data normalization (# 28). Processes are documented using one or more of the process description tools in Part VI (#s 55 through 60). The data elements and data composites are documented in the data dictionary (# 25). The data flow diagram is sometimes included in the requirements specification (# 35). A completed data flow is required by the automation boundaries technique described in # 36.

24.4 Concepts
A data flow diagram is a logical model that shows the flow of data through a system. 24.4.1 Data flow diagram symbols

Using Gane and Sarsons notation,4 four primary symbols are used to create a data flow diagram (Figure 24.1). A source or destination (sink) is represented by a (shaded) square. Sources and destinations define the systems boundaries; each one represents a person, organization, or other system that supplies data to the system, gets data from the system, or both. A process, or transform, (a round-cornered rectangle) identifies an activity that changes, moves, or otherwise transforms data. A data store (an open-ended, horizontal rectangle) represents data at rest and implies that the data are held (for some logical reason) between processes. A data flow (an arrow) represents data in motion. Additionally, Gane and Sarson use thick arrows to show physical or material flows. Using Yourdon7 and DeMarcos2 notation, sources and sinks are represented as rectangles, processes as circles, and data stores as horizontal rectangles open at both ends (two parallel horizontal lines). Data flows are shown as arrows. There is no symbol for a material flow. Figure 24.1 24.4.2 Conventions The following conventions are used.
24.4.2.1 Legal and illegal data flows

All data flows must begin and/or end with a process (Figure 24.2). Data cannot legally flow directly from a source to a destination or between a source/destination and a data store unless they pass through an intermediate process.

Figure 24.2 All data flows must begin and/or end with a process.
24.4.2.2 Data flow lines

Multiple data flows between two components can be shown by two data flow lines or by a two-headed arrow. Some analysts use two flow lines when the input and output data flows are different and a single two-headed arrow when they are the same. For example, a process that gets data from a store, updates the data, and then sends the same data elements back to the store calls for a two-headed arrow.
24.4.2.3 Naming

A process name consists of a verb followed by a noun. By convention, the names of the sources, destinations, and data stores are capitalized, while process names and data flows are shown mixed case.

24.4.2.4 Numbering

By convention, the processes in a level 1 data flow diagram are numbered 1, 2, 3, and so on. The numbers do not imply sequence; they are for reference only. The sub-processes in an exploded data flow diagram are assigned numbers starting with the parent processs number. For example, level 1 process 4 might be exploded into level 2 processes 4.1, 4.2, 4.3, and so on, while level 2 process 4.3 might be decomposed into level 3 processes 4.3.1, 4.3.2, 4.3.3, and so on. Many analysts use the letter D followed by a number to identify the data stores. For example, in an inventory system, INVENTORY might be D1, SALES might be D2, and so on. Some analysts identify the sources and destinations as well.
24.4.2.5 Duplicate symbols

Symbols can be repeated if doing so makes the diagram easier to read. For example, duplicating a symbol might be clearer than drawing lengthy or crossing data flows. Duplicate symbols are usually marked in some way; for example, source/destinations might be marked with a slash in the lower-left corner and data stores might be marked with an extra vertical line. 24.4.3 Underlying principles Two general principles guide the creation of a data flow diagram: the principle of data conservation and the principle of iteration.
24.4.3.1 The principle of data conservation

There are no miracles, and there are no black holes. A given process can neither lose nor create data. Any data that flow into a process must be used by or output by that process. Any data output by a process must be input to or created by an algorithm within that process. Except for constants, any data used by an algorithm within a process must first flow into the process. Finally, any data created by an algorithm must either be used by another algorithm within the same process or output by the process.
24.4.3.2 The principle of iteration

High-level processes are decomposed into lower-level processes. At the lowest level are primitive processes that perform a single function (or algorithm). Note that a lower-level process gets its data from its higher-level parent. 24.4.4 The context (level 0) diagram A context (level 0) diagram documents the systems boundaries by highlighting its sources and destinations. Documenting the systems boundaries by drawing a context

diagram helps the analyst, the user, and the responsible managers visualize alternative high-level logical system designs. For example, Figure 24.3 shows a context diagram for a typical inventory system. The system itself is shown as a single process. It provides data to the FINANCIAL SYSTEM. It both provides data to and gets data from MANAGER, SUPPLIER, and CUSTOMER. Note that the data flows are labeled with (at this level) composite names. Moving the boundaries significantly changes the system, and the ability to visualize the implications of different boundary assumptions is a powerful reason for creating a context diagram. For example, in Figure 24.3 the financial system and the inventory system are independent. An alternative logical design might move the financial system inside the inventory system (or vice versa), effectively integrating them. The result would be a somewhat more complex (but perhaps more efficient) system.

Figure 24.3 A context diagram. 24.4.5 The level 1 data flow diagram A level 1 data flow diagram shows the systems primary processes, data stores, sources, and destinations linked by data flows. Generally, a systems primary processes are

independent, and thus, separated from each other by intermediate data stores that suggest the data are held in some way between processes. For example, Figure 24.4 shows a level 1 data flow diagram for an inventory system. Start at the upper left with source/destination FINANCIAL SYSTEM. Data flow to FINANCIAL SYSTEM from process 9, Report cash flow. Data enter process 9 from data store D1, SALES. Data enter D1 from process 2, Sell appliance. Process 2 gets its data from CUSTOMER and from data stores D1, D3, D5, and D6, and so on. Note how intermediate data stores serve to insulate the primary processes from each other and thus promote process independence. A level 1 process is a composite item that might incorporate related programs, routines, manual procedures, hardware-based procedures, and other activities. For example, process 2, Sell appliance might imply (in one alternative) a set of sales associates guidelines, while another alternative might include a point-of-sale terminal equipped with a bar code scanner and necessary support software. In effect, the level 1 process Sell appliance represents all the hardware, software, and procedures associated with selling an appliance. As the data flow diagram is decomposed, the various sub-processes are eventually isolated and defined. 24.4.6 Documenting the model The data flow diagram shows the data flows between the systems sources, destinations, processes, and data stores.
24.4.6.1 The data dictionary

The data elements are recorded in the data dictionary (# 25). As work progresses, the data elements that occupy the same data store or share a data flow form composite items or data structures that are also documented in the data dictionary. For example, Supplier name, Supplier address, Description, Reorder quantity and other data elements flow to SUPPLIER from process 4 and form a data structure that might be called Reorder.

Figure 24.4 A level 1 data flow diagram.

24.4.6.2 Process descriptions

Each process is defined in a process description that notes its input and output data elements and composites and briefly describes the tasks or activities it performs. (Process description tools are described in Part VI.) Process (or data transform) descriptions are sometimes recorded in the data dictionary.
24.4.6.3 The CASE repository

In most CASE products (# 5), the data descriptions and process descriptions are stored in the CASE repository. 24.4.7 Verifying the model The point of verification is to ensure that the model is complete and internally consistent.
24.4.7.1 Syntax checking

Every data flow must begin and/or end with a process and have at least one arrowhead to define the direction of data movement. Every process and every data store must have at least one input data flow and at least one output data flow. If the inflow is missing, the source of the data is unknown. If the outflow is missing, that process or store acts like a black hole. In either case, something is wrong. Other syntax checks involve judgement. Process names should imply their function. Component names should be unique because redundant names are confusing.
24.4.7.2 Tracing data elements

Following the principle of data conservation, each data element in a level 1 data flow diagram must be rigorously traced from its destination, through the model, back to its source. If the source of every data element is accounted for, the data flow diagram is internally consistent.
24.4.7.3 Cross referencing

On the data flow diagram, each data element, data store, and data flow must appear in the data dictionary, and each process must have a matching process description. In the data dictionary, each logical data structure must match a data flow or a data store, and each data element must appear at least once on the data flow diagram. Additionally, each data element and each logical data structure must appear in the input or output list of at least one process description. There are two possible explanations for unused data elements: Either they are not needed by the system, or the analyst overlooked them.

Each process description must match a process on the data flow diagram, and the input and output lists must match the data flows. Every data element entering or leaving a process must appear in the data dictionary. Unused processes may have been overlooked when the data flow diagram was created. If not, they are unnecessary.
24.4.7.4 Tracing objectives

Note that if a significant feature of the system was overlooked, verification will not necessarily find the error. Consequently, the logical model should always be checked against the system objectives and the process or processes that contribute to meeting each one identified. If an objective cannot be matched with at least one process, that objective may have been overlooked. If a process cannot be matched with at least one objective, that process might be unnecessary. 24.4.8 Exploding the processes A level 1 data flow diagram is a high-level logical map of the system. It shows the key relationships but hides most of the details. Consequently, the next step is to explode the processes by taking advantage of the principle of iteration. The act of exploding a data flow diagram is sometimes called functional decomposition.
24.4.8.1 Level 2

Each level 1 process consists of several sub-processes that are listed on the process description. To explode the data flow diagram, the analyst creates an independent level 2 data flow diagram for each level 1 process. For example, Figure 24.5 shows a level 2 data flow diagram for process 4, Reorder stock (Figure 24.4). Note the numbering scheme. Processes 4.1, 4.2, 4.3, 4.4, and 4.5 are subprocesses of level 1 process 4.

Figure 24.5 A level 2 data flow diagram for process 4.

24.4.8.2 Local and global data

Global data are shared by two or more higher level processes. Local data are known only within one part of the system; intermediate computations are a good example. For example, in Figure 24.5, the data elements in data store D7, REORDER DATA are known only within the level 2 explosion of process 4 (and its sub-processes). Mistakes made while working with local data tend to be limited in scope, but global data errors can ripple throughout the system. Local data elements should be recorded in the data dictionary and identified as local. If they already exist, they might not be local; perhaps a global data element was overlooked.
24.4.8.3 Balancing the level 2 explosion

An exploded data flow diagram must be balanced by accounting for each input from the parent level and each output to the parent level. Checking to ensure that an explosion is balanced is similar to tracing data elements from their destination (output) back to their source (input). The only difference is that the higher-level processs outputs are traced back to the higher-level processs inputs through the exploded data flow diagram. Every global data element (or composite) input to the lower level must be used by at least one lower-level sub-process. Every global data element (or composite) output to the higher level must either be input to the lower level or generated by an algorithm within a lower-level sub-process. Each data element or composite input to or used by an exploded process must be defined in the higher-level process. Note that a higher-level composite might be decomposed into data elements or subcomposites at the lower level. Local data (by definition) are neither input to nor output from the explosion. 24.4.9 Functional primatives A functional primitive is a process (or transform) that requires no further decomposition. The process description for a functional primitive is sometimes called a mini-spec. The systems discrete physical components lie one step below a functional primitive. 24.4.10 The configuration item level The functional primitives and the data stores that appear at the lowest level of decomposition are called configuration items. A configuration item is a composite rather than a specific physical component; for example, a composite item might represent a program and the computer on which it runs, or a database and the device on which it resides. In a complete logical model, all the processes are decomposed down to the configuration item level, an imaginary line that links the systems configuration items. 24.4.11 The complete logical model

A logical model consists of a complete set of balanced data flow diagrams, a data dictionary, and one process description for each process at each level down to the configuration item level. Note that some processes will be exploded only to level 2, others to level 3, and so on, so the configuration item level does not necessarily correspond to a single, consistent data flow diagram level. The documentation package for a large system can be quite lengthy. Processes above the configuration item level are purely logical; their process descriptions consist of little more than lists of sub-processes. Those sub-processes can be obtained from the exploded data flow diagram, so some organizations exclude them from the finished model process descriptions above the configuration item level. The configuration item level processes will decompose into the systems programs and procedures. The data stores will map into files and databases. The data flows will become reports, screens, forms, and dialogues. Above the configuration item level, the logical relationships between the components support planning, coordination, and control. 24.4.12 Logical and physical data flow diagrams A logical data flow diagrams symbols are used to describe logical not physical entities. A process might eventually be implemented as a computer program, a subroutine, or a manual procedure. A data store might represent a database, a file, a book, a folder in a filing cabinet, or even notes on a sheet of paper. Data flows show how the data move between the systems components, but they do not show the flow of control. The idea is to create a logical model that focuses on what the system does while disregarding the physical details of how it works. A physical data flow diagram uses data flow diagram symbols to represent the systems physical processes (programs, manual procedures) and physical data stores (files, databases, reports, screens, etc.) and shows how the system works. Some analysts like to start the analysis process by preparing a physical data flow diagram of the present system. Following the analysis stage, physical data flow diagrams can be used to document alternative solutions.

24.5 Key terms


Balance A characteristic of an exploded data flow diagram in which each input from and output to the parent level is accounted for. Composite A set of related data elements; a data structure. Configuration item A functional primitive that appears at the lowest level of decomposition. Configuration item level An imaginary line that links the systems configuration items. Context diagram (level 0 data flow diagram)

A data flow diagram that documents the systems boundaries by highlighting its sources and destinations. Data flow Data in motion. Data flow diagram A logical model of the flow of data through a system. Data store Data at rest; implies that the data are held between processes. Data structure A set of related data elements; a composite. Destination (sink) A person, organization, or other system that gets data from the target system; a destination defines a system boundary. Explode To decompose a process in a data flow diagram to a lower level. Functional decomposition The act of exploding a data flow diagram. Functional primitive A process (or transform) that requires no further decomposition. Global data Data elements or composites that are shared by two or more processes. Level 1 data flow diagram A data flow diagram that shows the systems primary processes, data stores, sources, and destinations linked by data flows. Level 2 data flow diagram An explosion of a level 1 process. Local data Data elements or composites that are known only within one part of the system. Logical data flow diagram A data flow diagram that does not suggest physical references but shows the systems components as logical entities. Mini-spec The process description for a functional primitive. Physical data flow diagram A data flow diagram that identifies the systems physical processes and physical data stores. Process (transform) An activity that changes, moves, or otherwise transforms data. Source A person, organization, or other system that supplies data to the target system; a source defines a system boundary.

24.6 Software

Many CASE products support creating, modifying, maintaining, and balancing data flow diagrams. Charting programs, such as Visio and Micrografxs Flowcharter can be used to create data flow diagrams. The data flow diagrams in this # were created using Visio.

24.7 References
1. Davis, W. S., Business Systems Analysis and Design, Wadsworth, Belmont, CA, 1994. 2. DeMarco, T., Structured Analysis and System Specification, Yourdon, New York, 1978. 3. Gane, C., Rapid System Development, Rapid System Development, New York, 1987. 4. Gane, C. and Sarson, T., Structured Systems Analysis: Tools and Techniques, Prentice-Hall, Englewood Cliffs, NJ, 1979. 5. Martin, J. and McClure, C., Diagramming Techniques for Analysts and Programmers, Prentice-Hall, Englewood Cliffs, NJ, 1985. 6. Thayer, R. H. and Dorfman, M., System and Software Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA, 1990. 7. Yourdon, E. and Constantine, L. L., Structured Design, Prentice-Hall, Englewood Cliffs, NJ, 1979. What is a Context Diagram and what are the benefits of creating one?
The Context Diagram shows the system under consideration as a single high-level process and then shows the relationship that the system has with other external entities (systems, organizational groups, external data stores, etc.). Another name for a Context Diagram is a Context-Level Data-Flow Diagram or a Level-0 Data Flow Diagram. Since a Context Diagram is a specialized version of Data-Flow Diagram, understanding a bit about Data-Flow Diagrams can be helpful. A Data-Flow Diagram (DFD) is a graphical visualization of the movement of data through an information system. DFDs are one of the three essential components of the structured-systems analysis and design method (SSADM). A DFD is process centric and depicts 4 main components. Processes (circle) External Entities (rectangle) Data Stores (two horizontal, parallel lines or sometimes and ellipse) Data Flows (curved or straight line with arrowhead indicating flow direction)

Each DFD may show a number of processes with data flowing into and out of each process. If there is a need to show more detail within a particular process, the process is decomposed into a number of smaller processes in a lower level DFD. In this way, the Content Diagram or ContextLevel DFD is labeled a Level-0 DFD while the next level of decomposition is labeled a Level-1 DFD, the next is labeled a Level-2 DFD, and so on. Context Diagrams and Data-Flow Diagrams were created for systems analysis and design. But like many analysis tools they have been leveraged for other purposes. For example, they can also be leveraged to capture and communicate the interactions and flow of data between business processes. So, they dont have to be restricted to systems analysis.

A sample Context Diagram is shown here.

A Context Diagram (and a DFD for that matter) provides no information about the timing, sequencing, or synchronization of processes such as which processes occur in sequence or in parallel. Therefore it should not be confused with a flowchart or process flow which can show these things. Some of the benefits of a Context Diagram are: Shows the scope and boundaries of a system at a glance including the other systems that interface with it No technical knowledge is assumed or required to understand the diagram Easy to draw and amend due to its limited notation Easy to expand by adding different levels of DFDs Can benefit a wide audience including stakeholders, business analyst, data analysts, developers

Data Flow Diagrams - Free Online Tutorial

Instant Download The information in this free Data Flow Diagrams tutorial is taken from "GetAhead Flow Diagrams". This course consists of 5 hours of training and is equivalent in scop day instructor led course. It explains how to draw data flow diagrams, including worke examples and exercises. Click here to see details of this course.

Free Data Flow Diagrams Tutorial Data Flow Diagrams - Introduction Data flow diagrams can be used to provide a clear representation of any business function. The technique starts with an overall picture of the business and continues by analyzing each of the functional areas of interest. This analysis can be carried out to precisely the level of detail required. The technique exploits a method called top-down expansion to conduct the analysis in a targeted way.

The result is a series of diagrams that represent the business activities in a way that is clear and easy to communicate. A business model comprises one or more data flow diagrams (also known as business process diagrams). Initially a context diagram is drawn, which is a simple representation of the entire system under investigation. This is followed by a level 1 diagram; which provides an overview of the major functional areas of the business. Don't worry about the symbols at this stage, these are explained shortly. Using the context diagram together with additional information from the area of interest, the level 1 diagram can then be drawn. The level 1 diagram identifies the major business processes at a high level and any of these processes can then be analyzed further - giving rise to a corresponding level 2 business process diagram. This process of more detailed analysis can then continue through level 3, 4 and so on. However, most investigations will stop at level 2 and it is very unusual to go beyond a level 3 diagram. Identifying the existing business processes, using a technique like data flow diagrams, is an essential precursor to business process re-engineering, migration to new technology, or refinement of an existing

business process. However, the level of detail required will depend on the type of change being considered. Data Flow Diagrams Diagram Notation There are only five symbols that are used in the drawing of business process diagrams (data flow diagrams). These are now explained, together with the rules that apply to them.

This diagram represents a banking process, which maintains customer accounts. In this example, customers can withdraw or deposit cash, request information about their account or update their account details. The five different symbols used in this example represent the full set of symbols required to draw any business process diagram. External Entity

An external entity is a source or destination of a data flow which is outside the area of study. Only those entities which originate or receive data are represented on a business process diagram. The symbol used is an oval containing a meaningful and unique identifier. Process

A process shows a transformation or manipulation of data flows within the system. The symbol used is a rectangular box which contains 3 descriptive elements: Firstly an identification number appears in the upper left hand corner. This is allocated arbitrarily at the top level and serves as a unique reference. Secondly, a location appears to the right of the identifier and describes where in the system the process takes place. This may, for example, be a department or a piece of hardware. Finally, a descriptive title is placed in the centre of the box. This should be a simple imperative sentence with a specific verb, for example 'maintain customer records' or 'find driver'. Data Flow

A data flow shows the flow of information from its source to its destination. A data flow is represented by a line, with arrowheads showing the direction of flow. Information always flows to or from a process and may be written, verbal or electronic. Each data flow may be referenced by the processes or data stores at its head and tail, or by a description of its contents. Data Store

A data store is a holding place for information within the system: It is represented by an open ended narrow rectangle. Data stores may be long-term files such as sales ledgers, or may be short-term accumulations: for example batches of documents that are waiting to be processed. Each data store should be given a reference followed

by an arbitrary number. Resource Flow

A resource flow shows the flow of any physical material from its source to its destination. For this reason they are sometimes referred to as physical flows. The physical material in question should be given a meaningful name. Resource flows are usually restricted to early, high-level diagrams and are used when a description of the physical flow of materials is considered to be important to help the analysis. Data Flow Diagrams The Rules External Entities It is normal for all the information represented within a system to have been obtained from, and/or to be passed onto, an external source or recipient. These external entities may be duplicated on a diagram, to avoid crossing data flow lines. Where they are duplicated a stripe is drawn across the left hand corner, like this. The addition of a lowercase letter to each entity on the diagram is a good way to uniquely identify them. Processes When naming processes, avoid glossing over them, without really understanding their role. Indications that this has been done are the use of vague terms in the descriptive title area - like 'process' or 'update'. The most important thing to remember is that the description must be meaningful to whoever will be using the diagram. Data Flows Double headed arrows can be used (to show two-way flows) on all but bottom level diagrams. Furthermore, in common with most of the other symbols used, a data flow at a particular level of a diagram may be decomposed to multiple data flows at lower levels. Data Stores

Each store should be given a reference letter, followed by an arbitrary number. These reference letters are allocated as follows: 'D' - indicates a permanent computer file 'M' - indicates a manual file 'T' - indicates a transient store, one that is deleted after processing. In order to avoid complex flows, the same data store may be drawn several times on a diagram. Multiple instances of the same data store are indicated by a double vertical bar on their left hand edge. Data Flow Diagrams Relationship Grid

There are rules governing various aspects of the diagram components and how they can relate to one another. Data Flows For data flows the rules are as follows: Data flows and resource flows are allowed between external entities and processes. Data flows are also allowed between different external entities. However, data flows and resource flows are not allowed between external entities and data stores. Processes For processes the data flow rules are as follows: Data flows and resource flows are allowed between processes and external entities and between processes and

data stores. They are also allowed between different processes. In other words processes can communicate with all other areas of the business process diagram. Data Stores For data stores the data flow rules are as follows: Data flows and resource flows are allowed between data stores and processes. However, these flows are not allowed between data stores and external entities or between one data store and another. In practice this means that data stores cannot initiate a communication of information, they require a process to do this. Data Flow Diagrams Context Diagrams

The context diagram represents the entire system under investigation. This diagram should be drawn first, and used to clarify and agree the scope of the investigation. The components of a context diagram are clearly shown on this screen. The system under investigation is represented as a single process, connected to external entities by data flows and resource flows. The context diagram clearly shows the interfaces between the system under investigation and the external entities with which it communicates. Therefore, whilst it is often conceptually trivial, a context diagram serves to focus attention on the system boundary and can help in clarifying the precise scope of the analysis. The context diagram shown on this screen represents a book lending library. The library receives details of

books, and orders books from one or more book suppliers. Books may be reserved and borrowed by members of the public, who are required to give a borrower number. The library will notify borrowers when a reserved book becomes available or when a borrowed book becomes overdue. In addition to supplying books, a book supplier will furnish details of specific books in response to library enquiries. Note, that communications involving external entities are only included where they involve the 'system' process. Whilst a book supplier would communicate with various agencies, for example, publishers and other suppliers - these data flow are remote from the 'system' process and so this is not included on the context diagram. Data Flow Diagrams Context Diagram Guidelines Firstly, draw and name a single process box that represents the entire system. Next, identify and add the external entities that communicate directly with the process box. Do this by considering origin and destination of the resource flows and data flows. Finally, add the resource flows and data flows to the diagram. In drawing the context diagram you should only be concerned with the most important information flows. These will be concerned with issues such as: how orders are received and checked, with providing good customer service and with the paying of invoices. Remember that no business process diagram is the definitive solution - there is no absolute right or wrong. Data Flow Diagrams Level 1 Diagrams

The level 1 diagram shows the main functional areas of the system under investigation. As with the context diagram, any system under investigation should be represented by only one level 1 diagram. There is no formula that can be applied in deciding what is, and what is not, a level 1 process. Level 1 processes should describe only the main functional areas of the system, and you should avoid the temptation of including lower level processes on this diagram. As a general rule no business process diagram should contain more than 12 process boxes. The level 1 diagram is surrounded by the outline of a process box that represents the boundaries of the system. Because the level 1 diagram depicts the whole of the system under investigation, it can be difficult to know where to start. There are three different methods, which provide a practical way to start the analysis. These are explained in the following section and any one of them, or a combination, may prove to be the most helpful in any given investigation. There are three different methods, which provide a practical way to start the analysis. These are introduced below and any one of them, or a combination, may prove to be the most helpful in any given investigation: Data Flow Diagrams Resource Flow Analysis Resource flow analysis may be a useful method for starting the analysis if the current system consists largely of the flow of goods, as this approach concentrates on following the flow of physical objects. Resource flow analysis may be a useful method for developing diagrams if the current system consists largely of the flow of goods. Physical resources are traced from when they arrive within the boundaries of the system,

through the points at which some action occurs, to their exit from the system. The rationale behind this method is that information will normally flow around the same paths as the physical objects. Data Flow Diagrams Organizational Structure Analysis The organizational structure approach starts from an analysis of the main roles that exist within the organization, rather than the goods or information that is flowing around the system. Identification of the key processes results from looking at the organizational structure and deciding which functional areas are relevant to the current investigation. By looking at these areas in more detail, and analyzing what staff actually do, discrete processes can be identified. Starting with these processes, the information flows between them and between these processes and external entities are then identified and added to the diagram. Data Flow Diagrams Document Flow Analysis The document flow analysis approach is appropriate if the part of the business under investigation consists principally of flows of information in the form of documents or computer input and output. Document flow analysis is particularly useful where information flows are of special interest. The first step is to list the major documents and their sources and recipients. This is followed by the identification of other major information flows such as telephone and computer transactions. Once the document flow diagram has been drawn the system boundary should be added. Data Flow Diagrams Top Down Expansion

The section explains the process of top down expansion, or leveling. Furthermore, it illustrates that whilst there can only be one context and one level 1 diagram for a given system, these normally give rise to numerous lower level diagrams. Each process within a given business process diagram may be the subject of further analysis. This involves identifying the lower level processes that together constitute the process as it was originally identified. This procedure is known as top-down expansion or leveling. As a business process diagram is decomposed, each process box becomes a boundary for the next, lower level, diagram. Data Flow Diagrams Top Down Expansion Illustrated

In order to illustrate the process of top-down expansion, consider the three processes shown within this business process diagram. No detail is shown, only the outline of the process boxes, which have been identified during the drawing of a level 1 diagram. Any area of a level 1 diagram is likely to require further analysis, as the level 1 diagram itself only provides a functional overview of the business system. Therefore, below the level 1 diagram there will be a series of lower level diagrams. These are referred to as level 2, level 3, etcetera. In practice, level 2 is usually sufficient and it is unusual to carry out an analysis beyond level 3. In this example the process numbered 3, at level 1, will be investigated further thereby giving rise to a level 2 diagram. In the level 2 diagram four processes of interest have been identified and the numbering of these processes must reflect the parent process. Therefore the level 2 processes are numbered 3.1, 3.2, 3.3 and 3.4 Suppose that of these four level 2 processes, one was of sufficient interest and complexity to justify further analysis. This process, let's say 3.3, could then be further analyzed resulting in a corresponding level 3

diagram. Once again the numbering of these processes must reflect the parent process. Therefore these three level 3 processes are numbered 3.3.1, 3.3.2 and 3.3.3. Data Flow Diagrams Numbering Rules

The process boxes on the level 1 diagram should be numbered arbitrarily, so that no priority is implied. Even where data from one process flows directly into another process, this does not necessarily mean that the first one has to finish before the second one can begin. Therefore the processes on a level 1 diagram could be re-numbered without affecting the meaning of the diagram. This is true within any business process diagram - as these diagrams do not imply time, sequence or repetition. However, as the analysis continues beyond level 1 it is important that a strict numbering convention is followed. The processes on level 2 diagrams must indicate their parent process within the level 1 diagram. This convention should continue through level 3 diagrams, and beyond, should that level of analysis ever be required. The diagram on this screen clearly illustrates how processes on lower level diagrams identify their ancestral path.

Data Flow Diagrams - When to Stop It is important to know when to stop the process of top-down expansion. Usually this will be at level 2 or level 3. There are 3 useful guidelines to help you to decide when to stop the analysis: Firstly, if a process has a single input data flow or a single output data flow then it should be apparent that there is little point in analyzing it any further. Secondly, when a process can be accurately described by a single active verb with a singular object, this also indicates that the analysis has been carried out to a sufficiently low level. For example, the process named validate enquiry contains a single discrete task. Finally, ask yourself if anything useful will be gained by further analysis of a process. Would any more detail influence your decisions? If the answer is no, then there is little point in taking the analysis further. Data Flow Diagrams Keeping the Diagrams Clear In this section a variety of simple techniques are introduced to show how a business process diagram can be clarified. The examples used do not relate to any specific scenario but are hypothetical abstracts used for the purpose of illustration. Combining Processes Firstly, where a diagram is considered to contain too many processes, those that are related can often be combined. As a general rule no business process diagram should contain more than 12 process boxes. In some examples multiple process boxes can be identified as being related and can be combined into a single process box with a collective description. Exclude Minor Data Flows Where information is being retrieved from a data store, it is not necessary to show the selection criteria, or key, that is being used to retrieve it.

In the banking example, the customer details are shown being retrieved from the data store but the key used to retrieve this information is not shown. Where a data store is being updated, only the data flow representing the update needs to be shown. The fact that the information must first be retrieved does not need to be shown. Only the most important reports, enquiries, etcetera should be shown on the diagram. Communications that are of less significance can, if necessary, be detailed in support documentation. Combining External Entities Another way to reduce the complexity of a business process diagram is to combine any related external entities. For example, a business system will often be dealing with different units from within the same external organization, and these can be combined into a single external entity. Where these units are uniquely identified a number should follow the entity identification letter. However, when they are combined the numbers placed after the identifying alphabetic character are not shown. Combining Data Stores In a similar way, data stores that are holding related information should be suffixed with a lower case letter. Related data stores can also be combined, and where this is the case the numbers placed after the identifying alphabetic character are not shown

You might also like