UML

Diagramma di attività
Diagramma di attività

Se le persone credono che la matematica non sia semplice, è soltanto perché non si rendono conto di quanto la vita sia complicata.

John von Neumann

N elle fasi di progettazione poniamo particolare attenzione alle metodologie di analisi e disegno object oriented (OO). Tale attenzione unita alle migliori esperienze ingegneristiche, ci consente una visione globale a diversi livelli di astrazione dei vari aspetti del progetto. L’UML (UNIFIED MODELING LANGUAGE) da noi utilizzato è un linguaggio per la creazione dei modelli software ed è utilizzato per specificare, visualizzare, costruire e documentare sistemi. .

L’UML definisce nove tipi di diagrammi: class, object, use, case, sequence, collaboration, statechart, activity, component e deployment. Tutti questi diagrammi sono basati sul principio che i concetti sono rappresentati come simboli e le relazioni tra i concetti sono rappresentate per mezzo di linee di connessione tra i simboli . Entrambi questi tipi di elementi possono essere etichettati

diagrammi UML
diagrammi UML

UML è basato su un meta-modello integrato, composto da numerosi elementi collegati tra loro, secondo regole precise, grazie a queste regole, utilizzando gli elementi del meta-modello è possibile creare modelli particolari per le singole applicazioni da progettare. L’UML supporta 9 tipi di diagrammi.

  • Diagramma dei Casi d’uso: rappresentano le modalità di utilizzo del sistema da parte di uno o più utilizzatori (attori) descrivono l’interazione tra attori e sistema, non la “logica interna” della funzione sono espressi in forma testuale, comprensibile anche per i non “addetti ai lavori” possono essere definiti a livelli diversi (sistema o parti del sistema) ragionare sui casi d’uso aiuta a scoprire i requisiti (funzionali e non).
  • Diagramma delle classi: rappresenta le classi e gli oggetti che compongono il sistema, ed i relativi attributi ed operazioni, specifica mediante le associazioni, i vincoli che legano tra loro le classi può essere definito in fasi diverse (analisi, disegno di dettaglio) può rappresentare diverse tipologie di oggetti (oggetti business, oggetti di interfaccia, …).
  • Diagramma degli oggetti: un diagramma che rappresenta un insieme di oggetti e le loro relazioni in un certo momento. Può essere considerato un caso particolare di diagramma delle classi e di diagramma di collaborazione.
  • Diagramma di collaborazione: specifica gli oggetti che collaborano tra loro in un dato scenario, ed i messaggi che si indirizzano. La sequenza dei messaggi è meno evidente che nel diagramma di sequenza, mentre sono più evidenti i legami tra gli oggetti. Può essere utilizzato in fasi diverse (analisi, disegno di dettaglio) e rappresentare diverse tipologie di oggetti.
  • Diagramma di sequenza: Un diagramma che illustra le interazioni tra gli oggetti, disponendole lungo una sequenza temporale. In particolare mostra gli oggetti che partecipano alla interazione e la sequenza dei messaggi scambiati. In ascissa troviamo i diversi oggetti anche non in un ordine preciso, mentre in ordinata abbiamo la scala dei tempi sviluppata verso il basso. A differenza di un diagramma di collaborazione, un diagramma di sequenza rappresenta le successioni temporali ma non le relazioni tra gli oggetti. Un diagramma di sequenza può esistere in forma generica (descrive tutti i possibili scenari) o in forma di istanza (descrive uno specifico scenario). I diagrammi di sequenza e di collaborazione esprimono informazioni similari, ma le mostrano in modi differenti.
  • Diagramma di stato: specifica il ciclo di vita degli oggetti di una classe, definendo le regole che lo governano quando un oggetto si trova in un certo stato può essere interessato da determinati eventi (e non da altri), come risultato di un evento l’oggetto può passare ad un nuovo stato (transizione).
  • Diagramma di attività: rappresenta sistemi di workflow, oppure la logica interna di un processo (di qualunque livello, dai business process ai processi di dettaglio). Permette di rappresentare processi paralleli e la loro sincronizzazione è un caso particolare di diagrammi di stato, in cui ogni stato è uno stato di attività.
  • Diagramma dei componenti: evidenzia l'organizzazione e le dipendenze esistenti tra componenti. I componenti sono moduli software, dotati di identità e con un'interfaccia ben specificata. I componenti (come a livello logico le classi) possono essere raggruppati in package.
  • Diagramma di distribuzione: evidenzia la configurazione dei nodi elaborativi in ambiente di esecuzione (run-time), dei componenti, processi ed oggetti ubicati in questi nodi. Permette di rappresentare, a diversi livelli di dettaglio, l’architettura fisica del sistema.