A component in the Unified Modeling Language "represents a modular part of a system, that encapsulates its content and whose manifestation is replaceable within its environment. A component defines its behavior in terms of provided and required interfaces".
A component may be replaced by another if and only if their provided and required interfaces are identical. This idea is the underpinning for the plug-and-play capability of component-based systems and promotes software reuse.
As can be seen from the above definition, UML places no restriction on the granularity of a component. Thus, a component may be as small as a figures-to-words converter, or as large as an entire document management system.
Larger pieces of a system's functionality may be assembled by reusing components as parts in an encompassing component or assembly of components, and wiring together their required and provided interfaces." Such assemblies are illustrated by means of component diagrams.
- OMG (2008). OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2 p.146.