As part of Requirements Analysis, the designer may request organizational charts from the business,
and supplement these charts with information gathered during interviews with users to assess how data flow is handled within the organization. He or she uses this information to create a data flow diagram.
These diagrams are useful to the designer in establishing user views across multiple databases (and also in determining if multiple databases are needed) and in sorting business objects by subject matter.
While there are different styles of data flow diagrams
, they are quite similar in appearance and function and are read in the very same way.
The Yourdon/DeMarco data flow diagram, for example, includes symbols that illustrate:
- Who handles the data (text enclosed in a square)
- Where the data moves (arrows on the diagram)
- Where the data are stored (text surrounded by parallel lines)
- What is done to the data (text inside a circle)
The following mouse over tooltip illustrates a typical Yourdon/DeMarco data flow diagram. Note the use of the symbols mentioned
- Text surrounded by a square indicates people who handle the data.
- Arrows connecting text indicate the movement of data.
- Text within circles indicates an operation performed on the data.
- Text enclosed by parallel lines indicates where the data is stored.
The diagram below contains an explanation of how the data is piped fron one component to the next.
It is not always necessary to create a data flow diagram. For example, Stories on CD, Inc. is small, with only one subject database.
It is not necessary to create a diagram to understand the flow of data in this instance.
Views created for this company would provide specific information in a specific format, and those views could be documented without recourse to a data flow diagram. However, a large organization with several subject databases (or one very large database) will require numerous user views that draw from different databases. In this case, a data flow diagram is important for two reasons:
- To determine what data from which databases go into different user views
- To assist application designers in planning database application programs
The larger the organization for which you are designing database(s), the more important it is to create a data flow diagram. The next lesson discusses user views.