Les composants sont utilisés pour modéliser les éléments physiques qui se déploient sur les noeuds comme les exécutables, les bibliothèques, les tables, les fichiers et les documents.
En UML, on peut représenter les composants logiciels supportés par certains langages de programmation et systèmes d'exploitation tels les bibliothèques objet, les composants COM+, les Entreprise Java Beans (ou EJB) mais également des éléments qui participent à un système exécutable comme les fichiers, les tables et les documents.
Chaque composant doit avoir un nom différent de celui des autres composants simple ou étendu (nom précédé du nom du paquetage dans lequel réside le composant), on peut ajouter du détail dans la représentation des composants pour indiquer ce que réalise ce composant comme service ou même des étiquettes pour préciser, par exemple, la version du composant, etc.