2 Data Flow Diagrams (DFDs) Data flow diagram (DFD) is a picture of the movement of data between external entities and the processes and data stores within a systemDFDs are an excellent illustration of modeling as the bridge between specification and implementation.
10 Data Store Is used in a DFD to represent data that the system stores Labels should be noun phrases
11 Rule: Data StoreMust have at least one incoming and one outgoing data flow
12 Source/Sink (External Entity) External entity that is origin or destination of data (outside the system)Is the singular form of a department, outside organization, other IS, or personLabels should be noun phrasesSource – Entity that supplies data to the systemSink – Entity that receives data from the system
13 Rule: Source/SinkMust be connected to a process by a data flow
15 Rules for Using DFD Symbols Data Flow That ConnectsYESNOA process to another processA process to an external entityA process to a data storeAn external entity to another external entityAn external entity to a data storeA data store to another data store
17 Context Diagram Top-level view of IS Level Of DetailsContext DiagramTop-level view of ISShows the system boundaries, external entities that interact with the system, and major information flows between entities and the system.Example: Order system that a company uses to enter orders and apply payments against a customer’s balance
19 Developing DFDs: An Example Hoosier Burger’s automated foodordering systemContext Diagram (Figure 8-4) containsno data storesNext step is to expand the contextdiagram to show the breakdown ofprocesses (Figure 8-5)
20 Figure 8-4 Context diagram of Hoosier Burger’s food ordering system
21 Level-0 DFDShows the system’s major processes, data flows, and data stores at a high level of abstractionWhen the Context Diagram is expanded into DFD level-0, all the connections that flow into and out of process 0 needs to be retained.
22 Figure 8-5Level-0 DFD of Hoosier Burger’s food ordering system
23 Context Diagram of Order System Order system that a company uses to enter orders and apply payments against a customer’s balance
24 Level-0 DFD of Order System Order system that a company uses to enter orders and apply payments against a customer’s balance
26 Lower-Level Diagrams Functional Decomposition Balancing An iterative process of breaking a system description down into finer and finer detailUses a series of increasingly detailed DFDs to describe an ISBalancingThe conservation of inputs and outputs to a data flow process when that process is decomposed to a lower levelEnsures that the input and output data flows of the parent DFD are maintained on the child DFD
27 Strategies for Developing DFDs Top-down strategyCreate the high-level diagrams (Context Diagram), then low-level diagrams (Level-0 diagram), and so onBottom-up strategyCreate the low-level diagrams, then higher-level diagrams
28 Data Flow Diagram Errors The following conditions are errors that occur when drawing a data flow diagram:A process with only input data flow or only output data flow from it.
29 Data Flow Diagram Errors (Continued) Data stores or external entities are connected directly to each other, in any combination.
30 Data Flow Diagram Errors (Continued) Incorrectly labeling data flow or objectsExamples are:Labels omitted from data flow or objects.Data flow labeled with a verb.Processes labeled with a noun.Too many processes on a data flow diagram.Nine is the suggested maximum.
31 Data Flow Diagram Errors (Continued) Omitting data flow from the diagramUnbalanced decomposition between a parent process and a child diagramThe data flow in and out of a parent process must be present on the child diagram.
32 Current Physical There are two types of DFDs Physical and Logical DFDs In the early stages you'll build a current physical DFD. On these you'll be recording, warts and all, the ways things are presently (often known as the "As-is").It will have all sorts of un-logical things to show and will reflect how things are done currently. There will likely be processes that exist purely because things are done manually. Data stores (such as stick pins or copy orders file etc.) will exists because of how things are presently done.
33 Current Physical shown as External Entities. Clerical and temporary data stores will likely feature heavilyWhat you document on the DFD won't seem to be very logical (I've even found processes that aren't actually needed, but still are done because no one told the staff they were no longer needed!).Dataflow names will likely correspond to document namesThere are sure to be process to process flowsData flows between external entities will possibly feature
34 Logical Data Flow Diagrams Logical data flow diagrams show how the business operates.They have processes that would exist regardless of the type of system implemented.In the current logical DFD variant, you start with the current physical and remove all aspects that are to do with "how" things are done presently - you need to be showing only the "what" aspects.
35 Data Flow Diagram Progression The progression of creating data flow diagrams is:Create current physical DFDCreate a logical DFD of the current system.Next add all the data and processes not in the current system that must be present in the new system.Finally derive the physical data flow diagram for the new system.
37 Logical Data Flow Diagrams Advantages Advantages of logical DFDs are:Better communication with users.More stable systems, since the design is based on a business framework.Increased understanding of the business by analysts.The system will have increased flexibility and be easier to maintain.Elimination of redundancy.
38 Physical Data Flow Diagrams Physical data flow diagrams show how the system operates or how the new system will be implemented.Physical data flow diagrams include:Clarifying which processes are manual and which are automated.Describing processes in greater detail.Sequencing processes in the order they must be executed.
39 Physical Data Flow Diagrams Physical data flow diagrams include (continued):Temporary data stores and transaction files.Specifying actual document and file names.Controls to ensure accuracy and completeness.
40 Physical Data Flow Diagrams AdvantagesClarifying which processes are manual and which are automatedDescribing processes in more detail than logical DFDsSequencing processes that have to be done in a particular orderIdentifying temporary data stores
41 Physical and Logical Data Flow Diagrams WHAT the system does - Current Physical DFDHOW it does it - Current Logical DFDWHAT it should do - Required Logical DFDHOW it should do it - Required Physical DFD
42 Guidelines for Drawing DFDs CompletenessDFD must include all componentsnecessary for system Each component must be fully described in the project dictionary or CASE repository.ConsistencyThe extent to which information contained on one level of a set of nested DFDs is also included on other levels
43 Exercise:Precision Tools sells a line of high-quality woodworking tools. When customers place orders on the company’s Web site, the system checks to see if the items are in stock, issues a status message to the customer, and generates a shipping order to the warehouse, which fills the order. When the order is shipped, the customer is billed. The system also produces various reports.Draw a context diagram for the order systemDraw DFD diagram 0 for the order system