Data Flow Diagrams: Components, Relationships, and Techniques

Requirements specification techniques exist, and according to the form of representation, might be graphical, textual, matrix-based, or frame-based.

Graphical Techniques

Each technique uses a series of graphical icons, each representing one component of a particular aspect of the model. It is important to highlight the connection between the various model components.

Textual Techniques

These techniques specify, in more detail, the components defined in the charts by a defined grammar.

Markup Techniques

These techniques specify information on a component of a model that has been declared in a diagram or in another context. It is represented by a form that includes all the features of the component.

Matrix Techniques

These techniques test between models that allow study and cross-references between components.

Relationships in Data Flow Diagrams

A relationship is the association or correspondence between entities.

  • Name: Every relationship has a name that clearly distinguishes it from the rest and by which it must be referenced.
  • Cardinality: It’s the number of entities involved in a relationship. Can associate two distinct entities (degree 2) or a single entity may associate with itself (degree 1), called in this case a reflective interface.

Data Dictionary

A data dictionary is an organized list of the data used by the system, represented graphically by data flows and stores in a DFD.

Data Flows

A data flow is a path through which data travels from one known component of the system to another. It represents the data in motion at a time and with a determined cardinality. They are the means of connection of the remaining components of the DFD. The arrow indicates the direction of the data. According to the persistence over time of data flowing through the flow, they can be discrete or continuous.

  • Discrete data flows represent data in motion at a given time.
  • Continuous data flows are a special case of discrete data flows representing persistent data flows over time.

Data Flow Diagrams (DFD)

A DFD is the most widespread technique in structured analysis. It models the functions to be performed by the system and the data flowing between them. They are used to model the system functions and data flow between them at different levels of abstraction. The upper levels define the functions of the system generally, and the lower levels define these functions in more detailed levels.

Components of a DFD

Process

Represents a function that transforms input data streams into one or more output data streams. The process must be able to generate output data streams from the input data flows plus local information. This rule is known as Data Retention and is represented by a circle. Inside the circle is a number and a name.

  • The name should be as representative as possible of the role that it represents.
  • It should be brief, usually consisting of a verb followed by a noun.
  • They must be unique within the set of DFDs.

Data Storage

If the data flows represent data in motion, the stores represent data at rest. The warehouse is a logical storage tank and can represent any data temporarily stored regardless of the device used.

The stores should carry a name which must be as representative as possible.

A store placed in the highest level serves as an interconnection of two or more processes. A store that only has a connection with a process is represented in the DFD in specifying the process. A simple structure can content a store with a more complex structure, which can be represented by a diagram entity/relationship.

External Entities

A DFD component that represents a generator or consumer of information for the system and does not belong to it. Represents a subsystem, individual, department, or organization, etc. They provide data to the system or receive data from outside the system.

  • They do not represent the possible information flows between them.
  • They are shown in the diagram by a square.
  • You can draw multiple times and will be marked as duplicate entities with an asterisk.