Header Ads Widget

728-90

Software Engineering: Data Flow Diagram(DFD)

Data Flow Diagram(DFD)

A data flow diagram is a graph that depicts the flow of data in an information system and can show both incoming and outgoing data flows. The DFD does not specify how data moves through the system.

Data flow diagram can be of two types:

1.      Logical DFD : This type of DFD focuses on the system process and the flow of data within the system. For example in banking software how data is moved within the entities.

2.      Physical DFD: This type of DFD shows how the data flow is implemented in the system, and it is more specific and closely related to its implementation.

DFD Components:

DFD can represent the source, destination, storage, and flow of data using the following set of components.

Entity: Entities are both the source and destination of informational data. These entities are typically depicted as rectangular shapes, each with their own unique name or label.

Process: These are the activities or the action followed by the system to convert input data into required output data. It is represented by a circle.

Data flow: The movement of data is depicted using directional arrows, with the base indicating the source and the head representing the destination.

Data store: Data stores are storage containers of the data. It is reprinted by parallel lines.


Levels of Data Flow Diagram:

In Software engineering, you can draw a DFD (data flow diagram) to represent a system with different levels of abstractions. DFDs at higher levels are broken down into low levels - hacking more data and functionality. Levels in a DFD are numbered from 0 to 2 or higher. Here we will study only three levels of abstraction i.e. level 0, level 1, level 2.

Level 0 DFD:  This is the top-level DFD. It shows the main processes, data flows and data stores within the system. However, it does not provide information on the inner workings of these processes.

It is also known as context diagram and present the whole system as a bubble with the inputs and outputs indicated by the arrows.

Level 1 DFD:  This level allows for a deeper understanding of the system by dividing the main processes defined in Level 0 DFD into a sub-process. On Level 1 DFD, each sub-process is represented as a process in its own right. Data flows and data stores are also shown for each sub-process.

Level 2 DFD:  This level further deepens the understanding of the system by dividing sub-processes defined in Level 1 DFD into sub-processes, each of which is represented as a process on Level 2 DFD.

Rules of Data Flow Diagram:


Advantages of DFD:

·  Easy to understand.

·  Improves system analysis.

·  Support system design.

·  Enable testing and verification.

·  Facilitates documentation.

Disadvantages of DFD:

·  Time consuming.

·  Needs an expert.

·  Difficult to keep up to date.

Data Dictionary:

A data dictionary provides a comprehensive listing of all data elements present in the DFD model of a system. It outlines the purpose of each data element and defines any composite data elements in relation to their constituent parts. For example, a data dictionary entry may represent that the data grossPay consists of the components regularPay and overtimePay. 

              Gross pay = regular pay + overtime pay.

Case tool helps in the maintenance of the data dictionary because it automatically captures the data entries in the DFD to create the data dictionary.

The notations used in the data dictionary are given in the table below:

Some features of Data Dictionary is given below:

·         Used for Designing and testing software in Software Engineering

·         Used to find data items by using descriptions.

·         Ordered list of a subset of data items can be created using data dictionary.

·         Ordered list of items can be created.

Advantages of Data Dictionary:

·         Data Integrity

·         Data quality

·         Consistency and standardization

·         Improved collaboration

·         Improved efficiency

Disadvantages of Data Dictionary:

·         Implementation and maintenance cost

·         System complexity

·         Resistant to change

·         Data security

·         Data governance 






Post a Comment

0 Comments