Requirement analysis has determined the development goal of the system, and the next step is software design. Software design can be further divided into two stages: overall design and detailed design. Determine the specific implementation plan of the system, give the module structure of the software, and write various documents
What is the purpose?
A step from the previous (demand) to the next (development).
According to your needs, think about everything you need in the code development stage.
The outline design and detailed design are divided from management and technical points, as shown in the figure below:
Software development phase process
1. Outline design
2. Detailed design
The detailed design is actually a refinement of the outline design
Software design foundation
- From top to bottom, gradually refine
- Software structure
- Program structure
- Structure diagram
- Modular
- Abstraction
- Information hiding
Module independence
Refers to the specific sub-functions required by the software for each module in the software system
Two qualitative standards can be used to measure: coupling and cohesion
Coupling between modules
Coupling is a measure of how closely connected modules are to each other. The closer the connection between the modules, the more connections, the higher the coupling, and the weaker the module independence.
Module cohesion
Refers to the closeness of the connection between sentences in the same module.
The closer the connection between the various elements within a module, the higher the cohesion, the lower the coupling relative to other modules, and the stronger the module independence.
Data flow-oriented design method
Program flow chart
Five kinds
NS diagram
Also called a box plot.
Problem Analysis Diagram (PAD)
PAD also sets up five basic control structure icons, and allows recursive use
Advantages: the program structure is easy to understand and clear
Support a top-down approach