4. DATA DESIGN When designing data-driven systems, the inputs
and outputs are the most important, not processing and
computation. Therefore, the order of analysis and
design is somewhat different from the traditional order
when developing, say, real-time systems. Namely:
data structures are defined first, procedural
components are built as derived from data structures.
In fact, the design process consists in defining data
structures, merging them into the prototype of the
program structure and filling this structure with
detailed data processing logic.
Jackson's structural design is a classic example
of this approach. Its basic design procedure is intended
for "simple" programs (a "complex" program is
broken down into simple ones using traditional
methods) includes the following 4 stages:
- Data design phase.
- Program design stage.
- Operations design phase.
- The stage of designing texts.
At the design stage of data, it is necessary to
define the structures of input and output data and, on
their basis, build some model of the internal data
representation. This requires:
Build a model of the functional requirements of
the system at the level of control processes (analyzing
the subject area).
Then build a data model at the entity-relationship
level (by analyzing processes).
DATA FLOW DIAGRAMS
Data flow diagrams (DFDs) are the most popular
tool for building a system model at the level of control
processes. With their help, these requirements are
broken down into functional components (processes)
and presented as a network connected by data streams.
The main goal is to demonstrate how each process
transforms its inputs into outputs, as well as to reveal
the relationships between the processes. DFDs are
represented using Jordan notation.
The following concepts are basic:
Data stream. A mechanism for transferring
information from one part of the system to another.
They are depicted by named arrows, the orientation of
which indicates the direction of movement of
information.
Process. Produces output streams from input
streams according to some rule. It is depicted as a
circle, inside which the name of the process and its
number are placed (for links to it inside the diagram).
Data storage (storage). Allows you to save data
between processes. The information it contains can be
used at any time after it has been defined, and the data
can be selected in any order. It is depicted by two
parallel horizontal lines, between which the name of
the repository is written.
External entity. An entity outside the context of
the system, which is a source or receiver of data (does
not participate in data processing). It is represented by
a rectangle with a name inside.
When constructing diagrams, it is advisable to
observe the following sequence:
Dividing many requirements into groups.
Identification of external and internal system
objects. Extract information about objects from the
requirements for primary (input) and secondary
(output) documents.
Identification of the main types of information
circulating between the system and external objects.
Development of a common DFD. At the same
time, proceed from the recommendation: place from 3
to 6-7 processes on each diagram (the limit of human
capabilities of simultaneous perception). Combine
more complex processes into one process, and group
threads.
Formation of DFD of lower levels by
decomposing complex processes into parts (in parallel