Decomposition (computer science)
![]() In computer science, decomposition is the process of identifying and organising a complex system into smaller components or layers of abstraction. Decomposition is the opposite process of composition, and is often used in object-oriented programming (OOP), structured programming, and structured analysis. A decomposition paradigm in software engineering is a strategy for organising a program as a number of parts, and usually implies a specific way to organise source code. Typically, the aim of using a decomposition paradigm is to optimise some metric related to program complexity, for example, modularity or maintainability. Most decomposition paradigms suggest breaking down a program into parts to minimise the static dependencies between those parts, and to maximise each part's cohesiveness. Popular decomposition paradigms include the procedural, modular, abstract data type, and object-oriented paradigms. Generally, functional decomposition in computer science is a technique for describing the complexity of the function of a model, describing an overarching function model as the summation of the series of functional models of subsystems.[1] Object-oriented decomposition breaks a large system down into progressively smaller classes or objects, and is often regarded as the first step in the OOP design process. Algorithmic decomposition breaks a process down into well-defined steps, and is used largely in structured programming. In structured analysis, decomposition breaks down a software system from the system context level to system functions and data entities.[2][3] Decomposition topicsDecomposition diagram
A decomposition diagram shows a complex, process, organization, data subject area, or other type of object broken down into lower level, more detailed components. For example, decomposition diagrams may represent organizational structure or functional decomposition into processes. Decomposition diagrams provide a logical hierarchical decomposition of a system. See also
References
External linksWikimedia Commons has media related to Decomposition (computer science) diagrams. |