National Diploma in Systems Analysis and Design Data Flow Modelling
A data flow model (DFM) defines the passage of data through a system, The DFM comprises: A consistent set of Hierarchic Data Flow Diagrams (DFD) Associated documentation
Components of DFD’s External Entities Data Flows Processes Data Stores
External Entities An external entity is a person, organisation, department, computer system or anything else which either sends data into a system or which receives data from a system, but which for the purposes of the project in question are outside the scope of the system itself. A Customer Identifier Name Sends data into or receives data from a system
Data Flows A data flow is a route by which data may travel from one element of a DFD to another. Data flows are represented by arrows which are labelled with a simple meaningful name CustomerDetails A route by which data can flow from one element to a DFD to another
Processes Processes are transformations which change incoming data flows into outgoing data flows. Processes are represented as rectangles which contain a simple description of the process, e.g. verify customer details. Each process has a unique reference number. 1. Accts Check Customer Details Process Description LocationIdentifier Transformations which change incoming data flows to outgoing data flows
Processes - continued In the early stages it is possible to show where in the organisation the process takes place, e.g. Accounts Section, however this is a physical constraint imposed by the existing system and should not appear in a completed ‘logical’ data flow diagram
Data Stores A data store is a repository for data. A data store is represented by an open ended rectangle containing the name of the data store (usually a plural noun such as customers), each data store has a unique reference number prefixed by the letter D D1Orders Identifier Name A repository for data
Data Flow Diagrams Having described the basic components of DFD’s, the next stage is to look at how the components can be fitted together to form a complete DFD. Essentially the External Entity, Process and Data Store components can be interlinked using certain valid data flows.
External Entity to Process, i.e. receiving data from outside the system
Process to External Entity, i.e. sending data out of the system
Process to Data Store, i.e. writing data to a data store
Data Store to Process. i.e. reading from a data store
Process to Process, i.e simply passing data on within the system
External Entity to Data Store This is the logical equivalent of giving customers and suppliers direct access to update/delete your files, eg using an editor. There has to be a process to transfer data from external entity to data store
Data Store to External Entity This is the logical equivalent of giving customers and suppliers direct access to read your files, eg using an editor
Data Store to Data Store In this case even a direct to file copy is considered to be carried out by a process
How are DFD’s Constructed? There are no hard and fast rules and many re-drafts will be necessary as your understanding improves and new/changed requirements are identified, however, the following steps may be useful: Establish the major inputs and outputs of the system, their sources, recipients and represent them in a context diagram; Establish a process which handles each data flow on its arrival into the system; Establish a process that generates each output data flow;
Identify the data stores which are required to link the input and output processes, ie the data stores which need to be read from and written to; Rationalise the Level 1 DFD so that it includes 6-10 processes (This may be done by combining and /or splitting processes; For each level 1 process draw a level 2 DFD and if necessary draw any level 3 DFD’s required; Review the entire DFD set against the identified requirements and re-draft if necessary.
Data Flow Diagram Levels External Entity Level 0Level 1Level2 Overall Process Process 2.2 Process 2.3 Process 2
Data Flow Diagram Levels Level 3Level4 Elementary Process Description Process Process Process
An Example of a simple DFD Consider for a moment that you are reading a book, and then passing the information that you have gained onto a friend. You have all the required components to construct a simple DFD: Process:You Data Store:Book External Entity:A Friend Data Flow:Book Information
An Example of a simple DFD Now if we put this diagram together we now have: A Friend 1You Gather and explain the contents of the book M1 Book (Data Store) (Process) (External Entity) (Data Flow) Data Flow) Book Information This is an example of a physical Diagram
An Example of a simple DFD DFD’s can be used to show the logical view of a situation: Recipient 1Communicator Communicate M1 Communication Data It does not matter anymore who or where the data is coming from or to!
Conclusion DFD’s can be used to represent any situation a system can present. They can represent both physical and logical views of a situation. There are no hard or fast rules for the construction of DFD’s and Your design will change a number of times. Normally evolve from the context diagram, (identifying the major Inputs/outputs). Each level of your DFD should hold 5 or so process box’s.
Conclusion There are commonly only 3 levels used. The lowest level (Level 4) that can be reached is the Elementary Process Description (EPD’s) EPD’s commonly use Decision trees, decision tables or Structured English. Further Reading: Systems Analysis Techniques by Mark Lejk and David Deeks, pages (Introducing Data Flow Diagrams and Creating DFD’s)