Component Diagram

A component diagram depicts how modules are wired together to form larger features or software systems and how they are structured.

Diagram Model

Name

Graphical Representation

Description

Component / Module

../../../_images/component-module.png

Replaceable, modular piece of a system. The interactions with other modules are described by its provided and required interfaces.

Interfaces

../../../_images/component-interfaces.png
  • Interfaces are contracts that define how components can interact with each other.

  • Required interfaces use socket notation.

  • Provided interfaces use ball notation.

Port

../../../_images/component-port.png
  • Interfaces can be connected to the components directly or via ports.

  • Ports may increase the readability, but they are optional.

  • They can also be used in combination with elements, see example below.

Interface Dependency and Assembly Relationship

../../../_images/component-relations.png
  • Although not completely UML compliant, you can use interface dependencies and assembly relationships interchangeable.

  • Both variants connect two components via an interface.

  • Ports are optional.

Manifest Relationship

../../../_images/component-manifest.png

Artifacts that represent the physical realization of a component, have a manifest relationship towards the component.

Example

../../../_images/component.drawio.png