Wednesday, January 11, 2017

Data Flow Diagram


Data Flow Diagram – Case Study

This Case Study states the project background and describes Data Flow Diagram(DFD) for following levels, as part of the requirement gathering process
  • Define level 0 DFD, to capture data transfers between systems.
  • Define level 1 DFD for major business processes for all input and output data for each processes, representing appropriate data stores


Project Background

NGO Life is one of the largest Insurance Provider in US. NGO had set up a project team to work on policy admin system, which involves complex data processes. Policy Admin Is an integrated system, where data transformations happens between their upstream and downstream applications on daily basis.

Caroline – Client manager for the project
Chris – Senior Business Analyst for the project

Problem Statement

Chris is in the process of doing a comprehensive system assessment, understanding, requirement analysis and gathering for their critical Policy Admin system, which involves complex data processes.

At the end of requirement analysis phase, Chris finds that, there are lot of data and technical flaws in the system. Chris needs to prepare Data flow Diagram (DFD), to explain the existing system issues

What are the recommended activities that, Chris should perform with regards to DFD preparation as part of system understanding and requirement gathering process?

Solution Approach
  • Define level 0 (Context Level Diagram) DFD, to capture data transfer between systems.
  • Define level 1 DFD for major business processes with all input and output data for each processes, representing appropriate data stores. During the definition,
o    Ensure each process, data store have at least one data flowing into it and one coming out of it and all data flows either starts or ends in a process
o    Ensure every data item that appears on a DFD originates and is used somewhere within the related DFDs
o    Ensure no entity is allowed to access data store directly, either to read or update
o    Ensure data processing happens before data transfer from one source to another source.
o    Ensure data processing happens before data transfer from one source to another data store and vice versa
o    Ensure data processing happens before data transfer from one data store to another data store
o    Ensure all data that is sent / received, stored, transformed or moved within the  system and externally are captured clearly


LO Data Flow Diagram

Assume that the different systems/data stores mentioned in the diagrams are part of the enterprise which the Policy Admin system interacts with


Benefits
  • DFD helps to identify system flaws, through clear understanding on each processes
  • DFD aids process improvements in the system, by identifying existing system issues.
  • It acts as an easy to understand analysis deliverable for stakeholders
  • DFD depicts overall view with system boundaries and detailed representation of system components
  • DFD helps to verify requirements by stakeholders


Data Flow Diagram Concepts

Data Flow Diagram (DFD) is a flow modeling technique that shows how information flows through a system – how it is input, processed, stored and output from the system.
The components in a DFD and their representations as per different notations are as below;

Component
Description
Gane-Sarson
Yourdon
Entity
Provide or receive data from the system


Process
Transform data

Data Store
Store data within the
System
Data Flow
Move data from / to external entities / processes

  • A Level 0 DFD (Context diagram) defines the system boundaries and shows the movement of data into and out of the system
  • A Level 1 DFD shows the main processes within the project’s scope and the data that is required and produced by each process. Data Stores are depicted in Level 1 DFD.
  • A DFD can be broken down into further levels, depending upon the complexity of the processes involved. This process is called DFD Leveling.
  •  
  • Validation of DFDs is very important at each level. Below checklist of points can be used to make sure the DFD is consistent and correct.
  • Each process must have at least one data flow going into it and one coming out of it.
  • Every data store must have at least one data flow going into it and one coming out of it.
  • All data flows must either start or end at a process
  • Every data item that appears on a DFD must originate and be used somewhere within the related DFDs
  • A process should be named as a verb and a data item as a noun
  • No entity should be allowed direct access to data store, either to read to update


Representations of some common errors in DFD:
Wrong
Right
Description
 
A source or a sink cannot provide data to another source or sink without some processing occurring
Data cannot move directly from a source to a data store without being processed
Data cannot move directly from a data store to a sink without being processed
Data cannot move directly from one data store to another without being processed


Representations of some common errors in DFD – Black Hole, Gray Hole and Miracles

Representations of some common errors in DFD:


Did you know that a DFD can aid in bringing about process improvements?
  • The evaluation process of the DFD may point out a deficiency in the system or a situation in which users are not aware of how certain processes operate
  • A brainstorming session with the below questions for evaluation can help identify issues / improvements in the system
  •  
  • Are there processes that do not receive input / produce output – identify non-value adding processes
  • Are there data stores that are never referenced – identify data stores which are dormant
  • Is a process too busy – if a process is serving multiple purposes, it might need to be exploded further
  • Is the inflow of data adequate / too much for the process – identify whether an interface needs improvement
  • Is each process independent of other processes and dependent only on the data It receives as input – identify whether a process needs to be more loosely coupled
  • Is the wait time for input too much for a process – identify steps to reduce the delays in input
  • Is the processing time too much in any process – identify steps to improve the efficiency of processes

Advantages:
  • Easy to understand.
  • A useful analysis deliverable.
  • Effective tool for communicating on the system to the stakeholders.
  • Defines the system boundary and provides detailed representation of system components
  • Aids in understanding system flaws and bringing about process improvements

Disadvantages:
  • Preparing DFDs for large systems can be time consuming
  • Physical considerations of the system are not included
Quiz
1. External Entities in a data flow diagram are
o    A. Source of input data only
ü  B. Source of input data or destination of results
o    C. Destination of results only
o    D. Repository of data

2. A Data Flow Diagram (DFD) is composed of which elements?
o    Data sources and destinations
o    Data flows
o    Transformation Processes
o    Data stores
ü  All of the listed options

3. Which among the below represents correct DFD notation, matching to the text given within?

ü  A and B
o    B. B and C
o    C. A,B and D
o    D. B,C and D

4.  A DFD process that has inputs but no outputs is a(an:
o    A. Gray hole
o    B. Elementary process
o    C. Basic process
o    D. Function
ü  E. None of the listed options

5.  A context diagram
ü  A. Is a DFD which gives an overview of the system
o    B. Is a detailed description of a system
o    C. Is not used in drawing a detailed DFD
o    D. Has multiple processes

6.  By leveling a DFD we mean
o    A. Reviewing the DFD to remove duplicate processes
o    B. Make the DFD structure uniform
ü  C. Expanding a process into one or more sub-processes giving more detail
o    D. Summarizing a DFD to specify only the essentials

7. Given below is the Level 1 DFD for a system. Is the diagram correct?
ü  A. No, There is no output data flow from the process
o    B. Nom, The entities do not have data flows between them
o    C. No, the entities are not transferring data to the data stores
o    D. Yes, the level 1 DFD looks complete

8. The following portion of DFD is wrong as
o    A. The process has only one input
o    B. The process writes and reads from the same data store
ü  C. The process name is wrong; it should be an active verb
o    D. Output data from the process flows to external entities

9.  Lowest level DFD may add new data flow to represent exception handling like error Messages. State True or False?
ü  A. True
o    B. False

10. Is the below DFD right?
o    A. Yes
ü  B. No