Diagramma di distribuzione UML con ESEMPIO

โšก Riepilogo intelligente

Il diagramma di distribuzione รจ un diagramma UML che specifica l'hardware fisico su cui viene eseguito un sistema software e mappa gli artefatti software ai nodi. Spiega lo scopo, i simboli, gli artefatti, i nodi, le fasi di disegno e fornisce un esempio pratico.

  • ๏ธ Definizione: Un diagramma di distribuzione mappa i componenti di un sistema software sull'hardware fisico che li esegue.
  • ๐Ÿ“ฆ Artefatti: Gli artefatti sono file concreti, come eseguibili, DLL, script o documenti, distribuiti sui nodi.
  • ๐Ÿ”ฒ nodi: Un nodo รจ una risorsa computazionale, rappresentata come una scatola 3D, con stereotipi di dispositivo o di ambiente di esecuzione.
  • ๐Ÿ”— Percorsi di comunicazione: Le associazioni tra i nodi rappresentano i percorsi lungo i quali vengono scambiate le informazioni.
  • ๐ŸŽฏ Casi d'uso: Gli amministratori lo utilizzano per modellare la topologia di rete, i sistemi distribuiti e per l'ingegneria diretta/inversa.

Diagramma di distribuzione: tutorial UML con esempio

Cos'รจ il diagramma di distribuzione?

Il diagramma di distribuzione รจ un tipo di diagramma che specifica l'hardware fisico su cui verrร  eseguito il sistema software. Determina inoltre come il software viene distribuito sull'hardware sottostante. Mappa i componenti software di un sistema sul dispositivo che lo eseguirร .

Il diagramma di distribuzione mappa l'architettura software creata in fase di progettazione all'architettura del sistema fisico che la esegue. Nei sistemi distribuiti, modella la distribuzione del software tra i nodi fisici.

I sistemi software si manifestano utilizzando vari artefattie poi vengono mappati all'ambiente di esecuzione che eseguirร  il software, come ad esempio nodiNel diagramma di implementazione sono coinvolti numerosi nodi; pertanto, la relazione tra di essi รจ rappresentata tramite percorsi di comunicazione.

Esistono due forme di diagramma di distribuzione:

  • Descripto modulo โ€“ contiene nodi e la relazione tra nodi e artefatti.
  • Modulo di istanza โ€“ contiene istanze di nodi e la relazione tra le istanze di nodi e le istanze di artefatti. Un nome sottolineato rappresenta un'istanza di nodo.

Scopo di un diagramma di distribuzione

I diagrammi di distribuzione vengono utilizzati con l'unico scopo di descrivere come il software viene distribuito nel sistema hardware. Visualizzano come il software interagisce con l'hardware per eseguire tutte le funzionalitร . Vengono utilizzati per descrivere l'interazione software-hardware e viceversa.

Diagramma di distribuzione Simboli e notazioni

Notazioni del diagramma di distribuzione

Notazioni del diagramma di distribuzione

Un diagramma di distribuzione รจ costituito dalle seguenti notazioni:

  1. un nodo
  2. Un componente
  3. Un artefatto
  4. Un'interfaccia

Cos'รจ un artefatto?

Un artefatto rappresenta la specifica di un'entitร  concreta del mondo reale correlata allo sviluppo software. รˆ possibile utilizzare un artefatto per descrivere un framework utilizzato durante il processo di sviluppo software o un file eseguibile. Gli artefatti vengono distribuiti sui nodi. Gli artefatti piรน comuni sono i seguenti:

  1. File sorgenti
  2. File eseguibili
  3. Tabelle del database
  4. Script
  5. File DLL
  6. Manuali utente o documentazione
  7. File di output

Gli artefatti vengono distribuiti sui nodi. Possono fornire una manifestazione fisica per qualsiasi elemento UML. Generalmente, manifestano i componenti. Gli artefatti sono etichettati con lo stereotipo < >e potrebbero avere un'icona di artefatto nell'angolo in alto a destra.

Ogni artefatto ha un nome file nella sua specifica che indica la posizione fisica dell'artefatto. Un artefatto puรฒ contenere un altro artefatto. Possono essere dipendenti l'uno dall'altro.

Gli artefatti possiedono proprietร  e comportamenti che ne consentono la manipolazione.

In genere, un artefatto รจ rappresentato come segue nel linguaggio di modellazione unificato.

Artefatto

artefatto

Istanze di artefatti

Un'istanza di artefatto rappresenta un'istanza di un particolare artefatto. Un'istanza di artefatto รจ indicata con lo stesso simbolo dell'artefatto, tranne per il fatto che il nome รจ sottolineato. Diagramma UML Ciรฒ consente di distinguere tra l'artefatto originale e la sua istanza. Ogni copia fisica o file rappresenta un'istanza di un artefatto unico.

In genere, un'istanza di artefatto รจ rappresentata come segue nel linguaggio di modellazione unificato.

Istanza dell'artefatto

istanza di artefatto

Che cos'รจ un nodo?

Un nodo รจ una risorsa computazionale su cui vengono distribuiti gli artefatti per l'esecuzione. Un nodo รจ un'entitร  fisica in grado di eseguire uno o piรน artefatti. Le dimensioni di un nodo possono variare a seconda delle dimensioni del progetto.

Un nodo รจ un elemento UML essenziale che descrive l'esecuzione del codice e la comunicazione tra le varie entitร  di un sistema. รˆ rappresentato da un riquadro 3D con il nome del nodo scritto al suo interno. I nodi aiutano a rappresentare l'hardware utilizzato per implementare il software.

Un'associazione tra nodi rappresenta un percorso di comunicazione da cui vengono scambiate informazioni in qualsiasi direzione.

Generalmente, un nodo ha due stereotipi come segue:

  • << dispositivo >> โ€“ รˆ un nodo che rappresenta una macchina fisica in grado di eseguire calcoli. Un dispositivo puรฒ essere un router o un PC server. Viene rappresentato utilizzando un nodo con lo stereotipo < Nel modello UML, รจ anche possibile annidare uno o piรน dispositivi l'uno dentro l'altro.

Di seguito รจ riportata la rappresentazione di un dispositivo in UML:

Nodo dispositivo

nodo del dispositivo

  • <<ambiente di esecuzione>> โ€“ รˆ un nodo che rappresenta un ambiente in cui il software verrร  eseguito. Ad esempio, Java le applicazioni vengono eseguite in un Java macchina virtuale (JVM). La JVM รจ considerata un ambiente di esecuzione per Java applicazioni. รˆ possibile annidare un ambiente di esecuzione in un nodo dispositivo. รˆ possibile annidare piรน di un ambiente di esecuzione in un singolo nodo dispositivo.

Di seguito รจ riportata una rappresentazione di un ambiente di esecuzione in UML:

Nodo dell'ambiente di esecuzione

nodo dell'ambiente di esecuzione

Come disegnare un diagramma di distribuzione?

Un diagramma di implementazione visualizza la vista topologica di un intero sistema. Rappresenta l'implementazione di un sistema.

Un diagramma di distribuzione รจ costituito da nodi che descrivono i dispositivi fisici utilizzati all'interno del sistema. Su questi nodi vengono distribuiti gli artefatti. Possiamo anche avere istanze di nodi su cui verranno implementate le istanze degli artefatti.

I nodi e gli artefatti di un sistema partecipano all'esecuzione finale del sistema stesso.

Un diagramma di distribuzione riveste un ruolo fondamentale nel processo amministrativo e deve soddisfare i seguenti parametri:

  • Alte prestazioni
  • manutenibilitร 
  • Scalabilitร 
  • Portabilitร 
  • Facilmente comprensibile

I nodi e gli artefatti sono gli elementi essenziali del deployment. Prima di disegnare effettivamente il diagramma di deployment, tutti i nodi e la relazione tra ogni nodo del sistema devono essere identificati.

รˆ fondamentale conoscere l'architettura di un sistema, che si tratti di un'applicazione web, cloud, desktop o mobile. Tutti questi aspetti sono cruciali e svolgono un ruolo vitale durante lo sviluppo di un diagramma di distribuzione.

Se tutti i nodi, le relazioni e gli artefatti sono noti, diventa facile sviluppare un diagramma di distribuzione.

Esempio di diagramma di distribuzione

Il seguente diagramma di distribuzione illustra il funzionamento di un lettore video HTML5 nel browser:

Diagramma di distribuzione

Diagramma di distribuzione

Quando utilizzare un diagramma di distribuzione?

I diagrammi di distribuzione vengono utilizzati principalmente da amministratori di sistema, ingegneri di rete, ecc. Questi diagrammi vengono utilizzati con l'unico scopo di descrivere come il software viene distribuito nel sistema hardware. Visualizza come il software interagisce con l'hardware per eseguire la funzionalitร  completa.

Per far funzionare il software in modo efficiente e piรน veloce, anche l'hardware deve essere di buona qualitร . Deve essere progettato in modo efficiente per far funzionare correttamente il software e produrre risultati accurati in tempi rapidi.

I diagrammi di distribuzione possono essere utilizzati per:

  1. Modellazione della topologia di rete di un sistema.
  2. Modellazione di sistemi e reti distribuiti.
  3. Processi di forward e reverse engineering.

DOMANDE FREQUENTI

Sรฌ. Gli strumenti di intelligenza artificiale possono trasformare una semplice descrizione testuale dei server, degli ambienti e degli artefatti in una bozza di diagramma di distribuzione o in un diagramma come codice. RevEsaminate i nodi generati e i percorsi di comunicazione, poichรฉ l'IA potrebbe posizionare i componenti in modo errato o non rilevare i vincoli.

L'intelligenza artificiale puรฒ analizzare un diagramma di distribuzione per individuare punti critici di guasto, ridondanza mancante o lacune di scalabilitร  e suggerire miglioramenti. Rappresenta un utile secondo parere, ma gli architetti dovrebbero convalidare i suggerimenti in base ai reali requisiti di prestazioni e sicurezza.

Un diagramma dei componenti mostra i componenti software e le loro dipendenze, mentre un diagramma di distribuzione mostra i nodi hardware fisici e come gli artefatti vengono distribuiti su di essi. I diagrammi dei componenti si concentrano sulla struttura; i diagrammi di distribuzione si concentrano sul posizionamento fisico.

Gli strumenti popolari includono Lucidchart, draw.io, Microsoft Visio, StarUMLe PlantUML. Strumenti basati sul testo come PlantUML Permettono di gestire le versioni dei diagrammi come codice, mentre gli editor visivi offrono la possibilitร  di trascinare e rilasciare nodi e forme di artefatti per bozze piรน rapide.

Riassumi questo post con: