Importance of Abstraction and decomposition to develop a software


To develop a large software it is important to design the software architecture in such a way so that complexity is low. To remove the complexity we can use the two techniques—
Abstraction
Decomposition
Abstraction:- The principle of abstraction say that to hide the unnecessary details so that problem can be simplified. Using the abstraction we can consider only relevant information which have some purpose and hide irrelevant information. For implementation of abstraction we need to divide it into layers. Problem can be solved at higher layer of abstraction and then move to next low layer abstraction. So the main purpose of abstraction principle is to resolve the complexity. Here we can see it in figure.


Decomposition: Other technique to remove the complexity is decomposition. To use this technique we divide the large task into small tasks and solve one by one. Simply decompose the large task into small tasks is not a proper solution. The proper implementation of decomposition is divide the large task into small tasks in such a way so that each decomposed tasks have independents solution and combine to get full solution of large task. Here we can see it in figure.

0 comments :

Post a Comment