[Software Engineering] Data Flow Diagram/DFD Concept Symbol/Flowchart Layering/Data Dictionary

[Software Engineering] Data Flow Diagram/DFD Concept Symbol/Flowchart Layering/Data Dictionary

Table of contents

[Software Engineering] Data Flow Diagram/DFD Concept Symbol/Flowchart Layering/Data Dictionary

1. Introduction to Data Flow Diagram (DFD)

2. Data Flow Diagram (DFD) Concept Symbol

1. Data flow

 2. Processing (core)

3. Data storage

4. External entities

3. Data Flow Diagram (DFD) Hierarchy 

1. Layer Description 

2. Top-level data flow diagram

3. Middle-level data flow diagram

4. The underlying data flow diagram

4. Data dictionary

5. The principle of data flow graph balance:

1. Balance between parent graph (upper data flow graph) and child graph (lower data flow graph)

2. Balance within the subgraph

6. Principles of Data Flow Diagram Drawing


1. Introduction to Data Flow Diagram (DFD)

Data Flow Diagram (Data Flow Diagram):

In the requirements analysis stage, the tools used, in the "structured analysis" , the data flow diagram (DFD) is used very frequently;

Data flow diagram involves content: basic concept symbols, data dictionary, data balance principle;

2. Data Flow Diagram (DFD) Concept Symbol

1. Data flow

Data flow: The data flow is composed of a set of data with fixed components , indicating the flow direction of the data;

Data flow naming: Each data flow has a name , which expresses the meaning of the data transmitted by the data flow ; if "account information" is marked on the arrow, it means that the data flow transmits account information, indicating the content of the data ;

Data dictionary: The data flow arrows only indicate "account information" and there is no specific format content . Whether there are only account numbers or information such as account numbers/passwords/verification codes, the detailed formats of these data are defined in the data dictionary;

Symbolic representation: the data flow is represented by an arrow , and the direction pointed by the arrow represents the data flow direction;

 2. Processing (core)

Processing: describe the transformation between "input data stream" and "output data stream" , that is, what kind of processing is performed on the data , so that "input data stream" becomes "output data stream";

Main operation: the embodiment in the program is the process of processing data . After inputting the data stream into the "processing", the data is processed, processed, and transformed to generate a new "output data stream";

Symbolic representation: use a circle / rounded rectangle to represent processing;

3. Data storage

Data storage (file): indicates temporarily stored data , and the granularity of data storage is in the unit of table;

filename: each datastore (file) has a name;

Direction: The data flow flowing to the file means writing content into the file , and the data flow flowing out of the file means reading content from the file ;

Symbolic representation: use double horizontal lines / half-frame rectangles to represent

4. External entities

External entities: people/organizations outside the software system ;

Symbol representation: rectangle;

3. Data Flow Diagram (DFD) Hierarchy 

 

1. Layer Description 

The data flow graph is layered, the top layer is  the top-level data flow graph , the second layer is  the 0-layer data flow graph , ⋯ ⋯ , and the bottom layer is the underlying data flow graph

Between the "top-level data flow diagram" and the "bottom-level data flow diagram" are several middle-level data flow diagrams,

The middle-level data flow diagram needs to be numbered, starting from 0 0 0;

2. Top-level data flow diagram

Top-level data flow diagram: The ellipse in the middle is the system that needs to be developed , and the surrounding rectangles represent external entities or organizations , and there is a data transmission relationship between external entities and the system;

An image description is that multiple people eat hot pot , the outer periphery is people, and the hot pot in the center is the system;

The information that can be expressed by the top-level data flow graph is very limited. It represents the entire system with one node ,

It can reflect the interaction between the system and external entities,

However, the internal situation of the system and the data exchange between the internal modules of the system are not reflected;

3. Middle-level data flow diagram

The "top-level data flow graph" is refined , and the refined 0 0 0 layer data flow graph,

Compared with the top-level data flow diagram, the part that has not changed: the external entity , the data flow between the external entity and the system , has not changed;

The changed part: the changed part is inside the system, which has been refined . The original system is a node. In the middle-level data flow diagram, a node will be split into multiple nodes. These nodes are the data processing in the system components, i.e. machining;

There will be data flow interaction between these data processing components (processing),

4. The underlying data flow diagram

For each processing node, split it and draw more detailed data flow in it;

The data flow diagram (DFD) is layered, which is decomposed layer by layer from top layer -> middle layer -> bottom layer . This decomposition idea fully matches the structured development method;

Therefore, the data flow diagram is the most commonly used tool in the structured development method;

When drawing a data flow graph, it is necessary to ensure that the data flow graph of the upper layer is balanced with the data flow graph of the lower layer , which is the principle of data flow graph balance;

4. Data dictionary

The data dictionary can be used in conjunction with the data flow diagram to interpret the data, allowing developers to more clearly understand the composition and format of the data;

Symbols contained in the data dictionary:

① "=": means "defined as"; such as: x = a + b, means that the x data is defined to be composed of a and b;

② "+": means "and"; such as: x = a + b, which means that the x data is defined to be composed of a and b;

③ "[… | …]", "[…, ...]": means "or"; such as: x = [ a , b ] , x = [ a ∣ b ], means x is composed of a or b, two choose one;

④ "{…}": means "repeat"; such as: x = { a }, which means x is composed of multiple 0s or multiple as;

⑤ "(...)": means "optional"; such as x = (a), it means that a can appear in x data or not;
 

Data dictionary example: data dictionary for student data;

Student = name + student number + age + grade + school + address

Student number = "1"..."100"

Classes = [Grade 1|Grade 2|Grade 3]

5. Principles of Data Flow Graph Balance:

  • Balance between parent graph (upper layer data flow graph) and subgraph (lower layer data flow graph)
  • Balance within subgraphs

1. Balance between parent graph (upper data flow graph) and child graph (lower data flow graph)

Parent graph (upper layer data flow graph) and child graph (lower layer data flow graph) are balanced:

By using the principle of data flow graph balance, it is possible to find out the data flow that is ignored when refining the upper layer data flow graph ;

According to the top-level data flow, the missing bottom-level data flow can be determined; according to the bottom-level data flow, the missing top-level data flow can be supplemented;

When looking for the missing data flow in the 0-layer data flow graph, first look at the top-level data flow graph, which data flows exist between the external entity and the system, and whether these data flows have appeared in the 0-layer data flow graph ;


When looking for the missing data flow in the top-level data flow diagram , check the 0-level data flow diagram to see if there is any missing data flow;
between the top-level data flow diagram and the 0-level data flow diagram, only the relationship between the external entity and the system can be determined. The data flow between the system and
the data flow inside the system are not reflected in the top-level data flow diagram;

Balanced matching method between parent graph (upper layer data flow graph) and subgraph (lower layer data flow graph):

① The number is the same: the number of data flows in the two-layer data flow graph is the same;

② Consistent direction: the data flow direction in the two-layer data flow graph is consistent;

2. Balance within the subgraph

Balance within the subgraph: For any processing of the data flow graph, there are both input and output;

Processing: describe the transformation between "input data stream" and "output data stream" , that is, what kind of processing is performed on the data , so that "input data stream" becomes "output data stream";

Main operation: the embodiment in the program is the process of processing data . After inputting the data stream into the "processing", the data is processed, processed, and transformed to generate a new "output data stream";

Black hole: a certain processing, only input, no output , called black hole;

Miracle: a certain processing, only output, no input , called a miracle;

6. Principles of Data Flow Diagram Drawing

The data flow diagram is composed of data flow , processing , data storage , and external entities . First find out three specific external entities , processing , and data storage , and then add data flow arrows to these objects ;

After getting a requirement, draw the data flow diagram process:

① External entities: identify external entities, people or organizations that use the system;

② Processing: Find out the middleware processing in the system and use it to process data;

③ Data storage: find the carrier for temporarily storing data , data storage;

④ Data flow: draw data flow arrows on the basis of the above-mentioned external entities, processing, and data storage ;

Guess you like

Origin blog.csdn.net/u014361280/article/details/132072044