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, is self-contained, and substitutable. A number of UML standard stereotypes exist that apply to components.
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.
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. 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.
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.
Components of a system are modeled by means of component diagrams throughout the development life cycle and successively refined into deployment and run-time.
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.
- ↑ 1.0 1.1 1.2 OMG (2008). OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2
- ↑ 2.0 2.1 2.2 2.3 2.4 "Unified Modeling Language 2.5.1 specification". Object Management Group. December 2017. https://www.omg.org/spec/UML/2.5.1/PDF.
Original source: https://en.wikipedia.org/wiki/Component (UML). Read more