Data Flow Diagram (DFD) Review Learning Objective This collection of slides will review the technique of drawing data flow diagrams. Data Flow Diagramming Page 1 What is a Data Flow Diagram? • A data flow diagram (DFD) is a graphical tool that allows system analysts (and system users) to depict the flow of data in an information system. • The DFD is one of the methods that system analysts use to collect information necessary to determine information system requirements. Data Flow Diagramming Page 2 What is a Data Flow Diagram? • A Data Flow Diagram is intended to serve as a communication tool among – – – – – systems analysts end users data base designers system programmers other members of the project team Data Flow Diagramming Page 3 What does a DFD look like? Data Flow Diagramming Page 4 Why Draw Data Flow Diagrams? • To clearly and concisely communicate the flow of data through a system. • Why use a DFD and not just text? – “Since we previously had no way of showing a tangible model, we have had to build the next best thing, which is to use English narrative to describe the proposed system. Can you imagine spending five years’ salary on a custom built house on the basis of an exhaustive narrative description of how the house will be built? ... If you use English to describe a complex system... the result takes up so much space that it’s hard for the reader to grasp how the parts fit together (Gane and Sarson, Structured System Analysis, 1974) • DFD’s are easier to understand than text. Data Flow Diagramming Page 5 DFD Symbols and Definitions Process Data store External Entity Data flow • Process - performs some action on data, such as creates, modifies, stores, delete, etc. Can be manual or supported by computer. • Data store - information that is kept and accessed. May be in paper file folder or a database. • External entity - is the origin or destination of data. Entities are external to the system. • Data flow - the flow of data into or out of a process, datastore or entity Data Flow Diagramming Page 6 Rules for Drawing DFD’s A minimum of one data flow in and one data flow out of a process A datastore must be connected to a process (either in, out, or both) An external entity must be connected to a process (either in, out, or both) A single data flow must only flow one way Data Flow Diagramming Page 7 DFD: Common Mistakes • Process has no data flowing into it, but has data flowing out. • Data store is hooked to external entity. This means external entity can read and write to your data file without auditing!! • The data flow goes in two directions at once. Two or more arrows should be used to show the flow to and from each process. Data Flow Diagramming Page 8 DFD Example 1 • The Broadway Entertainment Company – An important first step to consider is to look at the key processes under study. These can be itemized into a hierarchical series, where the highest level (level 0) describes a general department, or business unit, to the lowest level. The lowest level is a point where you cannot break a process into any more divisible components. These are referred to as functional primitives. Data Flow Diagramming Page 9 DFD: Adding Levels of Detail • The highest level, called the context diagram, is only an overview. More detail is typically needed for system analysts. • We add detail to a DFD by creating “levels”. The first level added after the context diagram is called level “0”. • Each new level breaks apart one process and “decomposes” the single process into a new, more detailed DFD. A complete DFD can have many (up to 6 or 7) levels depending on the complexity of system. • Breaking the DFD into levels is referred to as “Decomposition”. Data Flow Diagramming Page 10 DFD: Numbering Levels • In a DFD with many levels it’s easy to forget which level you are on. That’s why each level has different numbering for the processes on the diagram. The ‘level’ corresponds to the number of decimal places required to define a process in it. Here’s how it works: – – – – Context Diagram Level 0 Level 1 Level 2 Process labeled “0” Processes labeled 1.0, 2.0, 3.0, . Processes labeled 1.1, 1.2, 1.3, . Processes labeled 1.11, 1.12,... Data Flow Diagramming Page 11 Top (0) Process Level Broadway Entertainment System In-Store System 0 Membership 1 Rental 2 Sales 3 Data Flow Diagramming Inventory 4 Employee 5 Page 12 Level 1: Membership Membership 1 Enrol 1.1 Issue New Card 1.2 Reinstate 1.3 Data Flow Diagramming Transient 1.4 Page 13 Level 1: Rental (note this is the primitive level for this series of processes) Rental 2 Rent 2.1 Return 2.2 Data Flow Diagramming Reports 2.3 Page 14 Level 1: Sales Sales 3 Process Sales 3.1 Process Returns 3.2 Data Flow Diagramming Page 15 Level 1: Inventory Inventory 4 Order 4.1 Receipt 4.2 Reject 4.3 Data Flow Diagramming Transfer 4.4 Page 16 Level 1: Employee Employee 5 Time Reporting 5.1 Add / Delete 5.2 Data Flow Diagramming Page 17 Level 2: Membership Membership 1 Enrol 1.1 Input Member Data 1.1.1 Assign Member Number 1.1.2 Update Member File 1.1.3 Issue New Card 1.2 Input Member Number 1.2.1 Print Card 1.2.2 Reinstate 1.3 Input Member Number 1.3.1 Update Member File 1.3.2 Transient 1.4 Input Member Number 1.4.1 Update Transient Rental File 1.4.2 Data Flow Diagramming Page 18 Level 2: Sales Sales 3 Process Sales 3.1 Input Member Number 3.1.1 Input Item Data 3.1.2 Update Sales File 3.1.3 Print Receipt 3.1.4 Process Returns 3.2 Input Item Data 3.2.1 Update Sales File 3.2.2 Data Flow Diagramming Print Receipt 3.2.3 Page 19 Level 2: Inventory Inventory 4 Order 4.1 Issue Purchase Order 4.1.1 4.1.2 Receipt 4.2 Input Item Data 4.2.1 Update Inventory File 4.2.2 Update Receipts File 4.2.3 Reject 4.3 Input Order Item 4.3.1 Update Rejection Report File 4.3.2 Transfer 4.4 Input Item Number 4.4.1 Update Inventory Files 4.4.2 Data Flow Diagramming Page 20 Level 2: Employee Employee 5 Time Reporting 5.1 Input Employee Number 5.1.1 Input Time Sheet Data 5.1.2 Add / Delete 5.2 Add 5.2.1 Input Employee Data 5.2.2 Assign Employee Number 5.2.3 Update Employee File 5.2.4 Delete 5.3 Input Employee Number 5.3.1 Update Employee File 5.3.2 Data Flow Diagramming Page 21 DFD Levels: Context Diagram • First we can start to draw a general overview. This general overview is called a “Context Diagram”. • A Context Diagram shows three things: – all external entities – a single process labeled “0”that represents the entire system (food ordering system) – the major information flows between the external entities and the system. Data Flow Diagramming Page 22 DFD Levels: Context Diagram • It would be impossible to understand all of the data flows, and to identify all of the ‘external entities’ relating to our information system in one pass, so we tend to draw DFD’s incrementally. Data Flow Diagramming Page 23 Building a DFD • We tend to start at the context level, break processes down to Level 0, and then start to consider where data enters and exits our information system, where it is stored, and how a process converts it from one form to another. We are interested here in the movement of data and its conversion. Data Flow Diagramming Page 24 Building a DFD • Note that a DFD is NOT time-sensitive, and that it is NOT a flowchart. It simply shows how and where data itself progresses through our system. • There are other ways to add information to a chart, such as what departments are responsible for certain activities, or which is batch, realtime, etc. Data Flow Diagramming Page 25 DFD: Logical vs Physical • Note that the Context Diagram did NOT record the movement of merchandise, but rather the information flow surrounding the underlying business processes. – A DFD that shows the movement of information is called a “logical” DFD. – A DFD that shows the movement of physical stuff (such as merchandise) is called a “physical” DFD. • The logical DFD is by far the most common type of DFD and therefore we will focus on this in this class. Data Flow Diagramming Page 26 DFD for Broadway • Corresponding to the Process Structure Charts previously outlined, Broadway’s DFD can be drawn as per the following charts: Data Flow Diagramming Page 27 Context Level (note there are no storage elements at this level) Data Flow Diagramming Page 28 Level 0 Data Flow Diagramming Page 29 DFD: Some Final Notes • How many processes on a diagram? – rule of thumb is to have 5 - 7 processes, if you need more, create a new level. • Are there conventions for naming objects? – process names are verb phrases – all others are noun phrases • How many levels should you go? – Only as many as you need to communicate adequately. The key is efficient communication. Data Flow Diagramming Page 30 What have we learned? • • • • What is a DFD and Why do we use DFD’s? What are the rules for drawing DFD? What is a Context Diagram? What is the difference between logical and physical DFD? • What is a Level 0 DFD? • What is balancing and decomposition? Data Flow Diagramming Page 31 Epilogue • The Broadway Entertainment Company DFD was created with the IBM Case tool – Rationale Rose Data Flow Diagramming Page 32