Abstraction and Decomposition in Software Engineering
Abstraction and Decomposition in Software Engineering
ENGINEERING
Abstraction:
It refers to the construction of a simpler version of a problem by ignoring the details. The
principle of constructing an abstraction is popularly known as modelling.
It is the simplification of a problem by focusing on only one aspect of the problem while
omitting all other aspects. When using the principle of abstraction to understand a
complex problem, we focus our attention on only one or two specific aspects of the
problem and ignore the rest.
Decomposition:
Decomposition is a process of breaking down. It will be breaking down functions into
smaller parts. It is another important principle of software engineering to handle problem
complexity. This principle is profusely made use of by several software engineering
techniques to contain the exponential growth of the perceived problem complexity. The
decomposition principle is popularly is says the divide and conquer principle.
Functional Decomposition:
It is a term that engineers use to describe a set of steps in which they break down the
overall function of a device, system, or process into its smaller parts.