What Are the Different Types of Software Design Tools?

Software design is based on the software requirements specification, designing the overall structure of the software system according to the functions determined in the requirements analysis stage, dividing the functional modules, determining the implementation algorithm of each module, and writing specific code to form a specific software design plan. [1]

1. Outline design, including:
1) Structural design
2) Interface design
3) Global data structure design
4) Process design
2. Detailed design. [1]
1.Abstract
2.Modular
3. Information hiding
4. Module independence:
1) Cohesion: accidental cohesion, logical cohesion, time cohesion, process cohesion, communication cohesion, sequential cohesion, and function cohesion.
2) Coupling: content coupling, public coupling, external coupling, control coupling, tag coupling, data coupling, indirect coupling [1]
1.Design for analysis
1.The design should show a hierarchy so that
Four used to facilitate modular design during the design process
Development documentation is valuable in any system. There are many different developments
Facing
The software development process is improved as the development technology evolves. From the early Waterfall development model to the later spiral iterative development, Agile has begun to rise in the future. They have shown the software industry's development process in different eras. Different perceptions and understanding of different types of projects.
Note the important distinction between software development processes and software process improvements. Terms such as ISO15504, ISO9000, CMM, and CMMI describe some software process improvement frameworks. They provide a series of standards and strategies to guide software organizations on how to improve the quality of software development processes and the capabilities of software organizations. Define the specific development process.
"Agile Development" is an important development of software engineering. It emphasizes that software development should be able to fully respond to future changes and uncertainties.
Agile development is considered a "lightweight" approach. The most prestigious of the lightweight methods is "Extreme Programming" (abbreviated as XP). Corresponding to lightweight methods is the existence of "heavyweight methods". The heavyweight approach emphasizes the development process as the center, not the people. Examples of heavyweight methods are CMM, PSP, TSP.
Aspect Oriented Programming (AOP) is regarded as another important development of software engineering. An aspect here refers to a collection of objects and functions that perform a function. Related content in this regard are Generic Programming and templates.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?