Sei sulla pagina 1di 11

1

1
Modellare Modellare con con
UML UML
Unified Modeling Language Unified Modeling Language
Modulo 1 Modulo 1: Introduzione : Introduzione
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
2
Programma Programma
Introduzione: la modellazione e UML
Modellare i requisiti con i casi duso:
Diagrammi dei Casi dUso
Specifica dei Casi dUso
Diagrammi delle Attivit
Modellare il dominio con le classi:
Diagrammi delle Classi
Diagrammi di Stato
Raffinare il modello delle classi
Diagrammi di Sequenza
Diagrammi di Collaborazione
Modellare il Business
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
2
3
Una premessa Una premessa
Linguaggio UML
Regole formali per la modellazione.
Obiettivo: normare la realizzazione dei
modelli.
Processo Unificato
Insieme di best practices.
Obiettivo: disciplinare lutilizzo di UML
allinterno del processo di sviluppo.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
4
Cos un modello? Cos un modello?
Un modello la
rappresentazione
semplificata di una
realt complessa.
Utilizzare un modello per
descrivere quello che si
vuole realizzare tanto pi
importante quanto pi
complessa e la realt, alti i
rischi di errore e grande il
numero di persone
coinvolte.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
3
5
Perch realizzare un modello? Perch realizzare un modello?
Per visualizzare il sistema e facilitare la
comunicazione e la comprensione di
requisiti e specifiche
Per descriverne struttura e comportamento
e quindi aiutare a progettarlo e realizzarlo
Per documentare il lavoro effettuato e le
decisioni prese
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
6
Un solo modello non basta Un solo modello non basta
Ogni sistema minimamente complesso
per essere descritto necessita di diversi
modelli o viste che rappresentino i
diversi aspetti che lo compongono.
Ogni modello pu poi essere visto a
diversi livelli di dettaglio a seconda che
si voglia evidenziare o mascherare la
complessit del sistema.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
4
7
Strutturale
Descrive la struttura del sistema,
come fatto.
Comportamentale
Descrive il comportamento del
sistema, come reagisce agli stimoli
esterni.
Tipologie di modelli Tipologie di modelli
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
8
I modelli previsti I modelli previsti
Facciamo riferimento a quattro modelli o viste principali:
Modello di Business:
Struttura e funzionamento del business.
Modello dei Casi dUso:
Requisiti funzionali del sistema.
Modello del Dominio:
Struttura logica e funzionamento concettuale.
Modello di Design:
Implementazione ed organizzazione dei
componenti SW.
5
9
Analisi e Design del Software Analisi e Design del Software
Raccolta delle
esigenze dellutente
(Requisiti)
Realizzazione del
sistema
(Specifiche)
La costruzione di un modello deve aiutare nella
rappresentazione dei requisiti e nella progettazione del
sistema.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
10
Analisti di tutto il mondo, unitevi Analisti di tutto il mondo, unitevi
UML nasce come unificazione di diverse metodologie di analisi
e si propone come strumento per facilitare la comunicazione
allinterno dei gruppi di analisi e sviluppo.
Il compito dellanalista quello di trasformare i requisiti
dellutente in specifiche per la realizzazione del sistema.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
6
11
UML UML - - Unified Modeling Language Unified Modeling Language
Visualizzare
Descrivere
Costruire
Documentare
Unified Modeling Language (UML) un
linguaggio visuale utilizzato per:
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
12
UML: Standard in evoluzione UML: Standard in evoluzione
Vari metodi Booch 91 OMT-1 OOSE
OMT-2 Booch 93
Unified Method 0.8
UML 0.9
UML 1.0
UML 2.0
Frammentazione
Unificazione
Standardizzazione
Industrializzazione
UML 1.5
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
7
13
UML UML Caratteristiche Principali Caratteristiche Principali
E un linguaggio. Non solo una notazione
grafica.
Non un metodo, non indica cosa si deve
fare.
E indipendente da qualsiasi linguaggio di
programmazione.
E applicabile ad ambiti diversi dallIT.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
14
UML: linguaggio estensibile UML: linguaggio estensibile
UML un linguaggio che pu essere
personalizzato dal punto di vista dei concetti, della
notazione e delle informazioni.
E possibile specializzare gli elementi di UML (Classi, Casi dUso,..) per
introdurre concetti propri del business in cui viene usato.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
8
15
RUP: dal linguaggio al metodo RUP: dal linguaggio al metodo
UML, Unified Modeling Language:
Linguaggio di modellazione non legato ad
un particolare vendor. Le specifiche sono
definite e mantenute da OMG.
RUP, Rational Unified Process:
Motodologia per la gestione del ciclo di
sviluppo del SW, ideata da Rational
Software e basata sullutilizzo di UML
come linguaggio di modellazione.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
16
RUP: Fasi e Discipline RUP: Fasi e Discipline
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
9
17
RUP: Sviluppo iterativo ed incrementale RUP: Sviluppo iterativo ed incrementale
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
18
RUP: Discipline e modelli RUP: Discipline e modelli
Ad ogni disciplina sono associati uno o pi modelli.
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
10
19
Ciclo di vita del SW nel Processo Unificato Ciclo di vita del SW nel Processo Unificato
Design
Test
Change
Management
Business
Modeling
Deploy
Implementazione
Analisi
Requisiti
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
20
Discipline ed Artefatti (Analisi) Discipline ed Artefatti (Analisi)
S
p
a
z
i
o

d
e
l
l
a

s
o
l
u
z
i
o
n
e
S
p
a
z
i
o

d
e
l

p
r
o
b
l
e
m
a
INGEGNERIA DEL SOFTWARE
Universit di Ferrara
11
21
Modelli e Diagrammi Modelli e Diagrammi
I diagrammi non sono il modello, ma solo una sua vista. Un modello pu
utilizzare pi tipi di diagrammi diversi.
Modello dei
Requisiti
Modello del
Dominio
Modello di
Design
Diagramma
delle Attivit
Diagramma
dei Casi dUso
Diagramma
degli Stati
Diagramma
di Collaborazione
Diagramma
di Sequenza
Diagramma
Delle Classi
INGEGNERIA DEL SOFTWARE
Universit di Ferrara