Data flows are usually the first components to be defined. System inputs and outputs are determined from interviewing, observing users, and analyzing documents and other existing systems. The information captured for each data flow may be summarized using a form containing the following information:
- ID, an optional identification number. Sometimes the ID is coded using a scheme to identify the system and the application in the system.
- A unique descriptive name for this data flow. This name is the text that should appear on the diagram and be referenced in all descriptions using the data flow.
- A general description of the data flow.
- The source of the data flow. The source could be an external entity, a process, or a data flow coming from a data store.
- The destination of the data flow (same items listed under the source).
- An indication of whether the data flow is a record entering or leaving a file or a record containing a report, form, or screen. If the data flow contains data that are used between processes, it is designated as internal.
- The name of the data structure describing the elements found in this data flow. For a simple data flow, it could be one or several elements.
- The volume per unit of time. The data could be records per day or any other unit of time.
- An area for further comments and notations about the data flow.
Once again we can use our World’s Trend Catalog Division example “A Data Flow Diagram (DFD) Example” from Chapter “Using Data Flow Diagrams” to illustrate a completed form. Figure illustrated below is an example of the data flow description representing the screen used to add a new CUSTOMER ORDER and to update the customer and item files. Notice that the external entity CUSTOMER is the source and that PROCESS 1 is the destination, providing linkage back to the data flow diagram. The checked box for “Screen” indicates that the flow represents an input screen. It could be any screen, such as a Web page, graphical user interface (GUI), mobile phone, or perhaps a mainframe screen. The detailed description of the data flow could appear on this form, or it could be represented as a data structure.
Data flows for all inputs and outputs should be described first, because they usually represent the human interface, followed by the intermediate data flows and the data flows to and from data stores. The detail of each data flow is described using elements, sometimes called fields; a data structure; or a group of elements.
A simple data flow may be described using a single element, such as a customer number used by an inquiry program to find the matching customer record.
Describing Data Structures
Data structures are usually described using algebraic notation. This method allows the analyst to produce a view of the elements that make up the data structure along with information about those elements. For instance, the analyst will denote whether there are many of the same element in the data structure (a repeating group), or whether two elements may exist mutually exclusive of each other. The algebraic notation uses the following symbols:
- An equal sign () means “is composed of.”
- A plus sign () means “and.”
- Braces { } indicate repetitive elements, also called repeating groups or tables. There may be one repeating element or several in the group. The repeating group may have conditions, such as a fixed number of repetitions, or upper and lower limits for the number of repetitions.
- Brackets [ ] represent an either/or situation. Either one element may be present or another, but not both. The elements listed between the brackets are mutually exclusive.
- Parentheses ( ) represent an optional element. Optional elements may be left blank on entry screens and may contain spaces or zeros for numeric fields in file structures.
Figure illustrated below is an example of the data structure for adding a customer order at World’s Trend Catalog Division. Each NEW CUSTOMER screen consists of the entries found on the right side of the equal signs. Some of the entries are elements, but others, such as CUSTOMER NAME, ADDRESS, and TELEPHONE, are groups of elements or structural records. For example, CUSTOMER NAME is made up of FIRST NAME, MIDDLE INITIAL, and LAST NAME. Each structural record must be further defined until the entire set is broken down into its component elements. Notice that following the definition for the CUSTOMER ORDER screen are definitions for each structural record. Even a field as simple as the TELEPHONE NUMBER is defined as a structure so that the area code may be processed individually.