What is a Data Flow Diagram? Explain its Features.
A Data Flow Diagram (DFD), also known as a “bubble chart”, has the purpose of clarifying system requirements and identifying major transformations that will be come programs in system design. So it is the starting point of the design phase that functionally decomposes the requirements specifications down to the lowest level of detail. A Data Flow Diagram (DFD) consists of a series of bubbles joined by line. The bubbles represent data transformations and the lines represent data flows in the system.
Data Flow Diagram (DFD) Symbols.
In Data Flow Diagram (DFD), there are four symbols,
- A square defines a source (originator) or destination of system data.
- An arrow identifies data flow data in motion. It is a pipeline through which information flows.
- A circle or a “bubble” (some use an oval bubble) represents a process that transforms incoming data flow(s) into outgoing, data flow(s).
- An open rectangle is a data store data at rest, or a temporary repository of data.
Note that a Data Flow Diagram (DFD) describes what data flow (logical) rather than how they are processed, so it does not depend on hardware, software, data structure, or file organization. The key question that we are trying to answer is: What major transformations must occur for input to be correctly transformed into output?
Let’s expand process orders to elaborate on the logical functions of the system. First, incoming orders are checked for correct book titles, authors’ names, and other information and then batches with other book orders from the same bookstore to determine how many copies can be shipped through the warehouse.
Also, the credit status of each bookstore is checked before shipment is authorized. Each shipment has ship¬ping notice detailing the kind the number of books shipped. This is compared to the original order received (by mail or phone) to ascertain its accuracy. The details of the order are normally available in a special file or a data store, called “bookstore orders”.
Constructing a Data Flow Diagram (DFD).
Several rules of thumb are used in drawing DFD:
Processes should be named and numbered for easy reference. Each name should be representative of the process.
The direction of low is from top of bottom and from left to right. Data traditionally flow from the source (upper left corner) to the destination (lower right corner), although they may flow back to a source. One way to indicate this is to draw a long flow line back to the source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the Data Flow Diagram (DFD), it is marked with a short diagonal in the lower right corner.
When a process is exploded into lower-level details, they are numbered. For example, process 5 (assemble customer order) is exploded into two sub-processes; create invoice and verify invoice. Since they are sub-levels, they are numbered 5.1 & 5.2, respectively.
The names of data stores, sources, and destinations are written in capital letters. Process and data flow names have the first letter of each word capitalized.
A Data Flow Diagram (DFD) typically shows the minimum contents of data stores. Each data store should contain all the data elements that flow in and out. Questionnaires can be used to provide information for a first cut. All discrepancies, missing interfaces, redundancies, and the like are then accounted for often through interviews.
The Data Flow Diagram (DFD) methodology is quite effective, especially when the required design is unclear and the user and the analyst need a notational language for communication. The Data Flow Diagram (DFD) is easy to understand after a brief orientation. The main problem, however, is the large number of iterations that often are required to arrive at the most accurate and complete solution.
A data dictionary is a structured repository of data about data. It is a set of rigorous definitions of all Data Flow Diagram (DFD) data elements and data structures. A data dictionary has many advantages. The most obvious is documentation; it is a valuable reference in any organization. Another advantage is improving analyst/user communication by establishing consistent definitions of various elements, terms and procedures.
During implementation, it serves as a common base against which programmers who are working on the system compare their data descriptions. Also control information maintained for each data element is cross-referenced in the data dictionary. For example, programs that use a given data element are cross referenced in a data dictionary, which makes it easy to identify them and make any necessary charges, Finally, a data dictionary is an important step in building a data base. Most data base management systems have a data dictionary as a standard feature.
If we choose words that represent the general thinking of common vocabulary, there are three classes of items to be defined.
Data element: The smallest unit of data that provides for no further decomposition. For example, “date” consists of day, month, and year. They hang together for all practical purposes.
Data structure: A group data element handled as a unit. For example, “phone” is a data structure consisting of four data elements. Area code-exchange-number-extension for ex-ample, 12121-121212-12121-12. “BOOK DE-TAILS” is a data structure consisting of the data elements author name, tile. ISBN (Inter-national Standard Book Number), LOCN (Library of Congress Number), publisher’s name, and quantity.
Data flows and data stores: As defined earlier, data flows are data structures in motion, whereas data stores are data structures at rest. A data store is a location where data structures are temporarily located. The three levels the make up the hierarchy of data is shown in the following figure.