1 Data Flow Diagrams
2 Identifying Data Flows During the analysis stage of a project it is important to find out how data flows through a system: Where does the data originate? What processing is performed on it and by whom? Who uses the data? What data is stored and where? What output is produced and who receives it?
3 DATA FLOW DIAGRAMS [DFDS] A diagram to show how data is captured, processed, stored and distributed within a system. This is generally represented during the analysis stage of a project, but can be further refined during the design stage to show more detail of how the system functions.
4 PROCESS DATA FLOW E.g. Result of a query to a database, contents of a printed report : data that moves together to common destinations Actions performed on data so that they are transformed, stored or distributed. This can be a computerised or manual transformation SYMBOLS USED IN A DFD
5 DATA STORE A physical location to hold data e.g. a file folder or notebook etc. SYMBOLS USED IN A DFD Origin and/or destination of the data. Often referred to as external entities (source or sink)as they are outside the system. We are only interested in how data flows in to or from the system to them. DATA SOURCE
6 It is often impossible to represent a complete business on one diagram. For this reason it is quite common to use more than one level of Data Flow Diagram with each level showing more detailed information about part of the previous diagram. It is important that the diagram should be made as clear as possible and for this reason it is not uncommon to draw the same source or sink [external entity] more than once to help achieve this. How Much Detail ?
7 Main steps when constructing a Level 0 Diagram : Identify where data is captured from Identify where data is distributed to Describe the overall process Map these out in a diagram using the correct symbols Link them with data flows that are labelled Context or Level 0 Diagram The highest level view of a system. This only has one process which represents the overall function of the system and has no data stores as all the data is stored within the process.
8 Constructing a Level 1 diagram Identify and draw the processes that make up the Level 0 process Allocate descriptions to these Lay out the sources/sinks and data flows from the Level 0 diagram Draw in any data stores used in the process Link the new processes and data stores with named data links
9 IF it is necessary to produce a level 2 or level 3 diagram, the same steps would be followed as used when constructing the Level 1 diagram Constructing a Level 2/3 diagram
10 Here is an example of how Data flow diagrams would be used to model the logic of data flows in a small business that fits kitchens. Identify where data is captured from Identify where data is distributed to Describe the overall process Map these out in a diagram using the correct symbols Link them with data flows that are labelled 1. Context or Level 0 Diagram
11 Level 0 Context diagram CUSTOMER
12 Identify where data is captured from Identify where data is distributed to Describe the overall process Map these out in a diagram using the correct symbols Link them with data flows that are labelled
13 CUSTOMER Level 0 Context diagram CustomerKitchen Fitter Owner/ Manager Supplier
14 Identify where data is captured from Identify where data is distributed to Describe the overall process Map these out in a diagram using the correct symbols Link them with data flows that are labelled
15 Level 0 Context diagram CustomerKitchen Fitter Owner/ Manager Supplier Kitchen Invoicing and supply system 0
16 Identify where data is captured from Identify where data is distributed to Describe the overall process Map these out using the correct symbols Link them with data flows that are labelled
17 Level 0 Context diagram CustomerKitchen Fitter Owner/ Manager Supplier Kitchen Invoicing and supply system 0 Customer Order Invoice/ quotes Job Details Product requests Product details Management reports
18 Constructing a Level 1 diagram Identify and draw the processes that make up the Level 0 process Allocate descriptions to these Lay out the sources/sinks and data flows from the Level 0 diagram Draw in any data stores used in the process Link the new processes and data stores with named data links
19 Level 0 Context diagram CustomerKitchen Fitter Owner/ Manager Supplier Kitchen Invoicing and supply system 0 Customer Order Invoice/ quotes Job Details Product requests Product details Management reports Does this show enough detail?
20 It is essential that you have a clear idea of EXACTLY what you wish to model. Examples may be: creating an invoice Adding a supplier/customer/product Searching for supplier/customer/product Running a backup procedure Archiving Level 1 diagram
21 Creating an invoice Created by: only the manager can do this Created by: only the manager can do this How often: either monthly or ad-hoc How often: either monthly or ad-hoc Inputs: Customer details (ref) and dates Inputs: Customer details (ref) and dates Output medium: A4 paper Output medium: A4 paper
22 Creating an invoice for products collected between two dates List what you need on the invoice, in detail (assume it is all in the system and you only need to get it out) List what you need on the invoice, in detail (assume it is all in the system and you only need to get it out) –Customer details: name, address, phone, postcode, –Product name, unit price, reference number, description –Order details, date(s) of purchase, quantity, product, total –Invoice details: period start/end date, invoice date (because we are creating the invoice these may need to be created at request time and written back to the relevant data store)
23 Owner/ Manager customer data Customer name/ref Get customer name Customer name/ref Get start date and end date dates order data dates list product Id numbers between dates Get product details product data Sort into groups by customer Generate invoice Print invoice Customer Customer details Dates & product Id product Id product details dates Invoice details Invoice details Invoice Add invoice date Invoice date
24 So that’s about as complex as we need You can have level 1 DFDs that just have one entity one process and one data store You can have level 1 DFDs that just have one entity one process and one data store
25 Do’s and Don’ts when constructing a Data Flow Diagram
26 Do’s and Don’ts when constructing a Data Flow Diagram
27 Do’s and Don’ts when constructing a Data Flow Diagram