I componenti sono entità logiche del sistema. Possono essere altri sistemi, sottosistemi esterni o parti di software. Ad esempio in un’applicazione client-server le componenti possono essere il client e il server.
Il diagramma delle componenti mostra quali sono le componenti e che relazioni ci sono tra di loro. E’ rappresentato come un grafo di componenti collegati tra loro da relazioni di dipendenza. Le dipendenze sono indicate da frecce tratteggiate dal componente dipendente verso quello da cui dipende.
La principale icona di un component diagram è un rettangolo che, a sua volta, comprende due rettangoli più piccoli incastrati nel suo lato sinistro.Il nome del componente va inserito all’interno del rettangolo principale. Se il componente è un elemento di un package, è consigliabile far precedere il nome del componente dal nome del package.
Un’interfaccia di un componente rappresenta appunto la “faccia” del componente verso il mondo esterno. Si usa solo quando lo stesso componente ha più interfacce diverse nei confronti di componenti distinti. Un componente è sostituibile con un altro se quest’ultimo fornisce le stesse interfacce. Le interfacce sono rappresentabili in due modi:
Modo 1: con un rettangolo, connesso al componente tramite una linea tratteggiata che termina con una freccia.
.
Modo 2: con un piccolo cerchio, connesso al componente tramite una linea tratteggiata che termina con una freccia
Esempio
Si vuole costruire un software per ascoltare della musica. Una possibile realizzazione grafica potrebbe essere:
Come si può notare ci sono i seguenti tasti:
- play
- stop
- eject
- pause
- fast forward
- rewind
- power
Il diagrmma delle componenti sarà:
Tutti i componenti mostrati nel diagramma appartengono ad un unico componente globale, il Bottone, anche se le azioni che essi eseguono sono differenti.