Overview
There are different types of decomposition defined in computer sciences:
- In structured programming, algorithmic decomposition breaks a process down into well-defined steps.
- Structured analysis breaks down a software system from the system context level to system functions and data entities as described by Tom DeMarco.
- Object-oriented decomposition, on the other hand, breaks a large system down into progressively smaller classes or objects that are responsible for some part of the problem domain.
- According to Booch, algorithmic decomposition is a necessary part of object-oriented analysis and design, but object-oriented systems start with and emphasize decomposition into classes.
More in general functional decomposition in computer science is a technique for mastering the complexity of the function of a model. A functional model of a systems is hereby replaced by a series of functional models of subsystems.
Read more about this topic: Decomposition (computer Science)