Sei sulla pagina 1di 16

UML

Esercitazione

UML: Esercitazione
PERCHE’ MODELLARE USANDO UML

• UML, Unified Modeling Language, è un linguaggio semiformale e grafico (basato su


diagrammi).
• Si tratta di un linguaggio di modellazione usato per capire e descrivere le caratteristiche di
un nuovo sistema o di uno esistente.
• Indipendente dall’ambito del progetto.
• Indipendente dal processo di sviluppo.
• Indipendente dal linguaggio di programmazione (progettato per essere abbinato alla
maggior parte dei linguaggi object-oriented).
• Fa parte di un metodo di sviluppo, non è esso stesso il metodo.

UML: Esercitazione
PERCHE’ MODELLARE USANDO UML

• I modelli vengono particolarmente apprezzati quando ci si trova ad affrontare sistemi vasti


e/o molto articolati.
• Problema: Comprendere la complessità nella sua interezza
• Necessità di avvalersi di modelli in grado di descrivere, in maniera più semplice, sistemi
comunque complessi.
• Grazie alle “viste” UML la mente umana riesce a concentrarsi, in ogni istante, su un
numero limitato di aspetti del sistema: quelli ritenuti importanti per quel particolare
momento (vista)

UML: Esercitazione
QUALITA’ DI UN MODELLO

Proprietà peculiari che il modello risultante deve possedere. Deve essere:


• accurato: deve descrivere correttamente il sistema da realizzare;
• consistente: le diverse viste devono completarsi vicendevolmente ed essere prive di
incoerenze;
• semplice: deve poter essere compreso, senza troppi problemi, da persone estranee al
processo di modellazione;
• manutenibile: la variazione dello stesso deve essere il più semplice possible.

UML: Esercitazione
AREE DI INTERVENTO

Principalmente, l’UML può essere utilizzato per:


• visualizzare;
• specificare;
• costruire;
• documentare;
un qualsiasi artefatto ingegneristico, ed in particolare, un progetto software.

UML: Esercitazione
STRUTTURA DELL’UML

L’UML, analizzato con una metodologia Top-Down, è costituito da:


• Viste: mostrano i differenti aspetti di un sistema attraverso la realizzazione di un certo
numero di diagrammi. Si tratta di astrazioni, ognuna delle quali analizza il sistema da
modellare con un’ottica diversa
• Diagrammi: permettono di esprimere le viste logiche per mezzo di grafici, ognuno dei quali
è, tipicamente, destinato ad essere utilizzato per una particolare vista.
• Elementi del modello: sono i concetti che permettono di realizzare i vari diagrammi, essi
indicano gli attori, le classi, i packages, gli oggetti, ecc.

UML: Esercitazione
EDITOR PER UML

• Come esistono gli IDE di sviluppo per i linguaggi di programmazione esistono anche
diversi editor che aiutano e velocizzano notevolmente la modellazzione nel linguaggio
UML.
• Esistono a pagamento sia quelli gratuiti. Chiaramente gli editor a pagamento consentono
di velocizzare notevolmente la stesura degli schemi UML e in particolare offrono potenti
funzionalità per la codifica automatica del linguaggio UML in codice di programmazione
come per esempio il Java o il C++. Questa funzionalità di codifica è supportata anche da
alcuni editor gratuiti, ma non sempre le "traduzioni" sono corrette e quindi è necessario
leggere il codice generato automaticamente e correggere eventuali errori.

UML: Esercitazione
UML DESIGNER

• UML Designer consente di creare i diagrammi di modellazione visti per UML ed è


compatibile con le specifiche UML 2 e basato su Sirius.
• UML 2.5 ha 23 tipi di diagrammi suddivisi in due categorie:

UML: Esercitazione
UML DESIGNER

• Sirius è un progetto Eclipse che permette di creare facilmente lavori di modellazione


grafica sfruttando le tecnologie di modellazione Eclipse Modeling, tra cui EMF e GMF.
• Utilizza il metamodello standard UML 2 fornito dalla Eclipse Foundation. Essendo basato
su Sirius, fornisce un modo semplice per combinare l'UML con la modellazione specifica
del dominio.
• È possibile estendere le definizioni del diagramma fornite e lavorare senza soluzione di
continuità su entrambi i modelli UML e DSL allo stesso tempo.
• È possibile modificarlo facilmente per adattare ogni diagramma alle proprie esigenze.

UML: Esercitazione
UML DESIGNER

• Download: http://www.umldesigner.org/download/

UML: Esercitazione
IL DIAGRAMMA DEI CASI D’USO

• Caso d’uso: specifica di una sequenza di azioni, incluse eventuali sequenze alternative
e/o di errore che un sistema (o sottosistema) può eseguire interagendo con attori
esterni.
• Il nome (etichetta) dovrebbe essere basato su un verbo o su un sostantivo che
esprime un avvenimento.

• Attore: un ruolo assunto da un utente o altra entità che interagisce col sistema
nell’ambito di un caso d’uso.
• Non è necessariamente umano: oggetto fisico, agente software, condizioni ambientali,
etc.

• Associazione: collega gli attori ai casi d’uso.


UML: Esercitazione
ELEMENTI DEL DIAGRAMMA: GENERALIZZAZIONE

• Collega un attore o caso d’uso ad un altro più generale.


• Il figlio può sostituire il genitore dovunque questi appaia.

UML: Esercitazione
ELEMENTI DEL DIAGRAMMA: INCLUDE

• Una dipendenza tra casi d’uso; il caso incluso fa parte del comportamento di
quello che lo include.
• L’inclusione non è opzionale ed avviene in ogni istanza del caso d’uso.
• La corretta esecuzione del caso d’uso che include dipende da quella del caso
d’uso incluso.
• Usato per riutilizzare parti comuni a più casi d’uso.

UML: Esercitazione
ELEMENTI DEL DIAGRAMMA: EXTEND

• Una dipendenza tra casi d’uso (notare il verso della freccia).


• Il caso d’uso che estende (client) specifica un incremento di comportamento a
quello esteso (supplier).
• Si tratta di comportamento supplementare ed opzionale che gestisce casi
particolari o non standard.
• Diverso da una generalizzazione tra casi d’uso?

UML: Esercitazione
SPECIFICHE DEI CASI D’USO

• Spesso nasce l’esigenza di abbinare i diagrammi dei casi d’uso a specifiche


testuali più formali.
• Ogni caso d’uso ha un nome e una specifica.
• La specifica è composta da:
• precondizioni: condizioni che devono essere vere prima che il caso d’uso
si possa eseguire
• sequenza degli eventi: i passi che compongono il caso d’uso
• postcondizioni: condizioni che devono essere vere quando il caso d’uso
termina l’esecuzione

UML: Esercitazione
IL DIAGRAMMA DELLE CLASSI

• Una classe modella un insieme di entità̀ (le istanze della classe) aventi tutti lo stesso
tipo di caratteristiche (attributi, associazioni, operazioni...).
• Ogni classe è descritta da:
• un nome
• un insieme di features: attributi, operazioni, ...

UML: Esercitazione