Component (UML)

From HandWiki
A UML Component with provided and required interfaces

A component in the Unified Modeling Language represents a modular part of a system that encapsulates the state and behavior of a number of classifiers. Its behavior is defined in terms of provided and required interfaces,[1] is self-contained, and substitutable. A number of UML standard stereotypes exist that apply to components.[2]

A component has an external and internal view, also known as "black-box" and "white-box", respectively. In its external view, there are public properties and operations. For its internal view, there are private properties and realizing classifiers and shows how external behavior is realized internally.[2]

A component may be replaced at design time or run-time 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] 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]

A component acts like a package for all model elements that are involved in or related to its definition, which should be either owned or imported explicitly. Typically the classifiers related to a component are owned by it.[2]

Components of a system are modeled by means of component diagrams throughout the development life cycle and successively refined into deployment and run-time.[2]

In diagrams, components are shown as a rectangle with the keyword «component». Optionally, in the right hand corner a component icon can be displayed. This is a rectangle with two smaller rectangles protruding from its left hand side. If the icon symbol is shown, the keyword «component» may be hidden as seen to the side.[2]

See also

Package (UML)


External links