Decomposition (computer Science) - Overview

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)