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.
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
Un diagramma di distribuzione รจ costituito dalle seguenti notazioni:
- un nodo
- Un componente
- Un artefatto
- 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:
- File sorgenti
- File eseguibili
- Tabelle del database
- Script
- File DLL
- Manuali utente o documentazione
- 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
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 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 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
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
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:
- Modellazione della topologia di rete di un sistema.
- Modellazione di sistemi e reti distribuiti.
- Processi di forward e reverse engineering.







