Let’s learn about Software Design Approaches in this tutorial. System design is the stage where the architecture of the system is designed. The approach followed in the design process is the design approach.
Software Design Approaches
The two general approaches to software designing are as follows:
- Top-down Approach
- Bottom-up Approach
A system is composed of more than one sub-system and it contains a number of components. The sub-systems and components may have their one set system and components and create a hierarchical structure in the system.
Top-down design is used when the system needs to be designed from scratch and specific details of the system to be built are unknown at the design time. The top-down design takes the whole software system as one entity and then decomposes it into more than one sub-system/component. Each sub-system is then decomposed further. When all sub-systems are composed the whole system comes into existence.
The bottom-up design approach is the reverse of the Top-down approach. It starts with the most specific and basic components. It proceeds with composing higher-level components by using basic or lower-level components. It keeps creating higher-level components until the desired system is not evolved as one single component. With each higher level, the amount of abstraction is increased.
A bottom-up strategy is more suitable when a system needs to be created from some existing system, where the basic primitives can be used in the newer system.