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".[1]

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.[1]

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."[1] Such assemblies are illustrated by means of component diagrams.

Related terms


External links