The structural design method of software engineering

Source: Internet
Author: User

The structural analysis method is developed on the basis of modularization, top-down progressive refinement and structural programming, which can be divided into two categories: one is based on the data flow of system system, and the other is designed according to the data structure of the system.

5 Principles of software design:

1 Divide and Conquer: the large and complex problems broken down into many easy small problems, software system design, modular design are the specific strategy of divide and conquer.

2 module Independence: Refers to the software system in each module only to design the specific sub-function of the software requirements, and the software system in the other modules of the pretext is simple. The higher the coupling, the weaker the module independence.

3 Raising the level of abstraction: abstraction refers to the aspect of a nurse's topic that is unrelated to the current goal in order to pay more attention to the aspects related to the current goal. Software design, as far as possible to improve the level of abstraction of the software, according to the level of abstraction from high to low software design, the software architecture, according to the top-down approach, the process details of each level and the details of the data layer by level refinement, until the use of program design statements can be achieved so far. Of course, the implementation of this process requires us to the software interface, module operation, etc. are familiar enough.

4 reusability Design: When the new software is constructed, it is not necessary to start from scratch and can be assembled into a new system directly using existing soft components.

5 Flexible Design: the introduction of flexibility in the method of reducing coupling and increasing cohesion (easy to improve the replacement function); Create an abstraction (an interface and a parent class that creates polymorphic operations); Do not write the code to death (eliminate constants in code), throw an exception (handled by the caller of the operation), use and create reusable code.

module structure and representation:

A software system requires a number of modules (including functions and subroutines in the program design), which are called atomic modules that can no longer be decomposed. If all the actual processing of a software system (data processing or computation) has atomic modules to complete, and all other non-atomic modules only perform control or coordination functions, such a system is a complete factorization of the system, but most systems do not have complete factor decomposition.

Modules are generally divided into four categories: Incoming module, outgoing module, Transformation module (from the superior call module to obtain data, the specific processing, conversion to other forms, and then return the processing results to the calling module), the coordination module;

The structure of the module has a tree-like structure and a network structure;

Structure diagram (SC): Clearly reflects the hierarchical call relationships and linkages between software modules;

The structural design method of software engineering

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.