Decomposition Paradigms

 Description
A decomposition paradigm is a style of structuring programs into parts.

As such it specifies what types of parts a program should be composed of and what kind of structural relationships they should have.

DecompositionParadigms are unrelated to ModelsOfComputation, which are about how to express computations, not how to structure the program that arises from the computation. However, some decomposition paradigms are easier and more efficient in some models of computation than others, and viceversa.

A decomposition paradigm may be related to and recommended by a method[ology], which is a collection of principles meant to guide guidance on how to construct a program.

 Examples of decomposition paradigms
BjarneStroustrup published a useful paper in which he listed the principal decomposition paradigms. Some of the most common are:

procedural
programs are structured as collections of procedures which are related by invocations among them.
modular
programs are composed of visibility scopes called modules, which may contain several types or procedures, and are related by usage patterns of types and procedures from one module to another.
object-oriented
modules that contain exactly one type and all and only the procedures that can access or manipulate its internal representation.

 Purpose
The main purpose of a decomposition paradigm is to offer guidance as to making the task of creating and maintaining a complex program easier.

Most decomposition paradigms are based on the idea that this can be achieved by minimizing the dependencies among program parts and maximizing the cohesiveness of each part.

ObjectOriented decomposition for example is based on the assumption that cohesion and dependencies are optimized by hiding in a module the representation of a type, because usually there is strong cohesion among the procedures that maintain its representation, and few dependencies with the modules for other types.

 Pointers


-- Blissex 050405


EditText of this page (last edited November 9, 2014) or FindPage with title or text search