After a while, clusters of classes that strongly interact and form
a unit will start to peel out from the architecture. To express this,
the corresponding clusters can be represented as components. If taken
far enough, this can lead to a highly reusable component architecture.
But such an architecture is hard to design from scratch and usually
evolves over time. As mentioned above, component diagrams are, like
object diagrams, edited with the deployment diagram
editor; therefore, the corresponding model elements are explained in
that section.
Nodes and
Instances of Nodes - Nodes represent the
hardware elements of the deployment system.
Components and
Instances of
Components - Components stand for software elements
that are deployed to the hardware system.
Links - Links are used to connect
instances of nodes or objects.
Dependencies - Dependencies exist
between components and can be specified by utilizing predefined or
user-defined stereotypes.
Associations - Associations are
used to display communication relations between nodes. They can be
specified by utilizing predefined or user-defined
stereotypes.
Objects,
Classes,
Interfaces - Components and nodes can
include objects, classes or interfaces.