+1 vote
in Software Engineering by

1 Answer

+1 vote
selected by (user.guest)
Best answer

There are two generic approaches for software designing:

Top down Design

We know that a system is composed of more than one sub-systems and it contains a number of components. Further, these sub-systems and components may have their one set of sub-system and components and creates hierarchical structure in the system. 

Top-down design takes the whole software system as one entity and then decomposes it to achieve more than one sub-system or component based on some characteristics. Each sub system or component is then treated as a system and decomposed further. This process keeps on  running until the lowest level of system in the top-down hierarchy is achieved. 

Top-down design starts with a generalized model of system and keeps on defining the more specific part of it. When all components are composed the whole system comes into existence. 

Top-down design is more suitable when the software solution needs to be designed from scratch and specific details are unknown. 

Bottom-up Design

The bottom up design model starts with most specific and basic components. It proceeds with composing higher level of 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. 

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. Both top-down and bottom-up approaches are not practical individually. Instead, a good combination of both is used.

Related questions

+2 votes
1 answer 18.7k views
0 votes
1 answer 366 views
Welcome to CPENTalk.com
Solution-oriented students of computer engineering on one platform to get you that