Sei sulla pagina 1di 0

Introduzione a UML !

Adriano Comai 1998-2001


Pag. 1 comai@acm.org
Introduzione a UML
!Adriano Comai 1998-2001
Introduzione a UML !Adriano Comai 1998-2001
Pag. 2 comai@acm.org
obiettivo di questa introduzione
fornire elementi di base su UML
introdurre i principali diagrammi
fornire indicazioni sulle modalit di utilizzo di UML nello
sviluppo delle applicazioni
questi temi sono trattati in modo approfondito, con
esercitazioni, nel corso Sviluppo di applicazioni con
UML
http://www.analisi-disegno.com/a_comai/corsi/sk_uml.htm
Introduzione a UML !Adriano Comai 1998-2001
Pag. 3 comai@acm.org
unified modeling language
(UML)
linguaggio (e notazione) universale, per rappresentare
qualunque tipo di sistema (software, hardware,
organizzativo, )
standard OMG (Object Management Group), dal nov.1997
autori:
Grady Booch
Ivar Jacobson
Jim Rumbaugh
Introduzione a UML !Adriano Comai 1998-2001
Pag. 4 comai@acm.org
cos UML (e cosa non )
un linguaggio di rappresentazione dei sistemi, non di
programmazione (come Java, VisualBasic, C++, )
serve a progettare un nuovo sistema, o per documentarne
uno esistente, senza perdersi nei dettagli dei linguaggi di
programmazione
universale: pu rappresentare sistemi eterogenei per
architettura (dai web ai legacy), per tecnologie, per
tipologia applicativa (gestionale, real-time)
Introduzione a UML !Adriano Comai 1998-2001
Pag. 5 comai@acm.org
...cos UML (e cosa non )
un linguaggio, non un metodo completo
notazione e semantica sono standard
ma UML non legato ad uno specifico processo, e non
fornisce indicazioni sul proprio utilizzo
quindi pu essere (ed ) utilizzato da persone e gruppi che
seguono approcci diversi ( indipendente dai metodi)
Introduzione a UML !Adriano Comai 1998-2001
Pag. 6 comai@acm.org
UML come standard
i suoi autori (Booch, Rumbaugh e Jacobson) non hanno il
copyright su UML
la versione diventata standard OMG ha ricevuto i
contributi di molti altri metodologi, e delle pi importanti
societ di software mondiali
la sua evoluzione a carico dellOMG, e soggetta a
procedure ben definite per ogni cambiamento
!versione attuale: 1.4
!documenti ufficiali: www.omg.org
Introduzione a UML !Adriano Comai 1998-2001
Pag. 7 comai@acm.org
nuove tecniche e diagrammi ?
UML unevoluzione di modelli e diagrammi preesistenti,
non una rivoluzione
affinit con altri diagrammi molto noti:
Entity - Relationship
Flow Chart
diagrammi di stato
varie notazioni object oriented
Introduzione a UML !Adriano Comai 1998-2001
Pag. 8 comai@acm.org
Booch

Rumbaugh Jacobson
OOD 91
OOAD 94
91
(OMT) (Objectory
/ OOSE) 92
94 (RATIONAL)
Ott. 95
UNIFIED METHOD
NOTATION
(vers. 0.8)
Ott. 95 (RATIONAL)
OOSE Object Oriented Software Engineering
OMT Object Modeling Technique
Lug. 96
UNIFIED MODELING
LANGUAGE
(vers. 0.9)
Microsoft, HP, Oracle e altri
Gen. 1997
UML 1.0
IBM, Platinum e altri
Nov. 1997
UML 1.1
pre-istoria
di UML
Introduzione a UML !Adriano Comai 1998-2001
Pag. 9 comai@acm.org
storia di UML
novembre 1997: versione 1.1
dicembre 1998: versione 1.2
giugno 1999: versione 1.3
maggio 2001: versione 1.4
? 2002 : versione 2.0
Introduzione a UML !Adriano Comai 1998-2001
Pag. 10 comai@acm.org
UML: meta-modello e diagrammi
UML basato su un meta-modello integrato, composto
da numerosi elementi, collegati tra loro secondo regole
precise
utilizzando gli elementi del meta-modello possibile
creare i modelli per i sistemi da rappresentare
molti elementi hanno una icona che li rappresenta
graficamente
gli elementi del meta-modello possono comparire in
diagrammi di diverso tipo
le regole permettono verifiche di correttezza
Introduzione a UML !Adriano Comai 1998-2001
Pag. 11 comai@acm.org
diagrammi UML
diagrammi logici:
diagramma dei casi duso (use case)
diagramma delle classi (class)
diagramma di sequenza (sequence)
diagramma di collaborazione (collaboration)
diagramma di stato (statechart)
diagramma delle attivit (activity)
diagrammi di implementazione (implementation) :
diagramma dei componenti (component)
diagramma di distribuzione (deployment)
interaction
Introduzione a UML !Adriano Comai 1998-2001
Pag. 12 comai@acm.org
diagramma dei casi duso
verifica stato avanzamento
effettua ordine
Venditore
Customer
Diagramma dei casi d'uso: vendita per corrispondenza
caso duso: una
particolare modalit
di utilizzo del sistema
attore: un soggetto
esterno al sistema (essere
umano, altro sistema, )
Introduzione a UML !Adriano Comai 1998-2001
Pag. 13 comai@acm.org
casi duso : a cosa servono
rappresentano le modalit di utilizzo del sistema da parte
di uno o pi utilizzatori (attori)
descrivono linterazione tra attori e sistema, senza
rivelare lorganizzazione interna del sistema
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 duso aiuta a scoprire i requisiti
Introduzione a UML !Adriano Comai 1998-2001
Pag. 14 comai@acm.org
ruolo dei casi duso
requisiti
caso duso:
effettua ordine
Venditore
Acquirente
Ordine
DataArrivo
Numero
Prezzo
verifica( )
evadi( )
Cliente
nome
indirizzo
StabilisciCredito( )
1 0..*
unit di rilascio
componenti software
casi
prova
Introduzione a UML !Adriano Comai 1998-2001
Pag. 15 comai@acm.org
diagramma delle classi
nomeclasse
classe: una
tipologia di
oggetti, con
propri attributi
ed operazioni
attributi
Libro prezioso
valore
valorizza( )
scritto da
0..*
1..*
Autore
nome
cognome
anno nascita
anno morte
variazione anagrafica( )
1
Editore
ragione sociale
nome breve
indirizzo sede
telefono
variazione dati editore( )
pubblicato da
0..*
0..*
Utente
variazione anagrafica()
0..*
Libro
cod_libro
titolo
data edizione
ISBN
data acquisizione
richiesta( )
restituzione( )
create( )
0..*
1..*
1
0..*
0..*
0..*
Prestito
operazioni
Introduzione a UML !Adriano Comai 1998-2001
Pag. 16 comai@acm.org
diagramma delle classi
associazione
(relationship)
gerarchia di
specializzazione
(superclasse-
sottoclasse)
Libro prezioso
valore
valorizza( )
scritto da
0..*
1..*
Autore
nome
cognome
anno nascita
anno morte
variazione anagrafica( )
1
Editore
ragione sociale
nome breve
indirizzo sede
telefono
variazione dati editore( )
pubblicato da
0..*
0..*
Utente
variazione anagrafica()
0..*
Libro
cod_libro
titolo
data edizione
ISBN
data acquisizione
richiesta( )
restituzione( )
create( )
0..*
1..*
1
0..*
0..*
0..*
Prestito
classe associativa
Introduzione a UML !Adriano Comai 1998-2001
Pag. 17 comai@acm.org
diagramma delle classi:
a cosa serve
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 a livelli diversi (analisi, disegno)
pu rappresentare diverse tipologie di oggetti (boundary,
control, entity )
Introduzione a UML !Adriano Comai 1998-2001
Pag. 18 comai@acm.org
oggetto
messaggio
specifica di
scenario
(caso duso)
attivit
delloggetto
consente all'utilizzatore
di richiedere in prestito
uno o pi libri
L'utente fornisce i dati
relativi al libro (ai libri)
che vuole in prestito.
Il sistema verifica se
l'utente censito,
Verifica quindi se ha
libri in prestito da
restituire, o se ne ha gi
tre in prestito, segnal
a l'impossibilit del
prestito.
Altrimenti il sistema
controlla se i libri sono
disponibili, e se lo son
o li fornisce all'utente,
altrimenti segnala
l'errore
: Utente
biblioteca
: FormRichiesta
Prestito
: Richiesta
Prestito
: Libro : Prestito : Utente
1: RichiestaPrestito
2:
11: richiesta (cod_libro)
12: Prestito ( )
13:
14:
15: err: libro gi in prestito
3: ControlloUtentePerPrestito ( )
7: PrestitiDelCliente ( )
5:
6: err: utente non censito ( )
4:
8:
9:
10: err: utente deve restituire
diagramma
di sequenza
Introduzione a UML !Adriano Comai 1998-2001
Pag. 19 comai@acm.org
diagramma di sequenza:
a cosa serve
evidenzia il modo in cui uno scenario (uno specifico
percorso in un caso duso) viene risolto dalla
collaborazione tra un insieme di oggetti
specifica la sequenza dei messaggi che gli oggetti si
scambiano
pu specificare nodi decisionali e iterazioni
diagrammi di sequenza e diagrammi di collaborazione
esprimono informazioni simili, ma le evidenziano in
modo diverso
Introduzione a UML !Adriano Comai 1998-2001
Pag. 20 comai@acm.org
diagramma di collaborazione
oggetto
messaggio
: Utente
biblioteca
: FormRichiesta
Prestito
: Richiesta
Prestito
: Libro
:
Prestito
: Utente
1: RichiestaPrestito
15: err: libro gi in prestito
6: err: utente non censito ( )
10: err: utente deve restituire
2:
14:
5:
9:
11: richiesta (cod_libro)
13:
3: ControlloUtentePerPrestito ( )
4:
8:
12: Prestito ( )
7: PrestitiDelCliente ( )
Introduzione a UML !Adriano Comai 1998-2001
Pag. 21 comai@acm.org
diagramma di collaborazione:
a cosa serve
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 a livelli diversi (analisi, disegno), e
rappresentare diverse tipologie di oggetti
Introduzione a UML !Adriano Comai 1998-2001
Pag. 22 comai@acm.org
diagramma di stato
evento
transizione
di stato
stato finale
stato iniziale
acquisito in prestito
in ritardo
acquisizione libro( dati libro, autori,
editore )
prestito( data )
cancellazione
libro( ISBN )
sollecito
restituzione( data
restituzione )
cancellazione libro( ISBN )
scadenza termini
restituzione( data
restituzione )
stato
Introduzione a UML !Adriano Comai 1998-2001
Pag. 23 comai@acm.org
diagramma di stato: a cosa serve
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 loggetto pu passare ad un
nuovo stato (transizione)
Introduzione a UML !Adriano Comai 1998-2001
Pag. 24 comai@acm.org
diagramma di attivit
attivit
transizione
barra di
sincronizzazione
ordina prodotti
paga
riceve prodotti
acquisisce
ordine
spedisce
prodotti
prepara
prodotti
Magazzino Vendite Cliente
Introduzione a UML !Adriano Comai 1998-2001
Pag. 25 comai@acm.org
diagramma di attivit:
a cosa serve
a rappresentare 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
Introduzione a UML !Adriano Comai 1998-2001
Pag. 26 comai@acm.org
ordina prodotti
paga
riceve prodotti
acquisisce
ordine
spedisce
prodotti
: Ordine
[effettuato]
prepara prodotti
: Ordine
[inserito]
: Ordine
[completato]
: Ordine
[spedito]
Magazzino Vendite Cliente
Action-Object
Flow diagram
Introduzione a UML !Adriano Comai 1998-2001
Pag. 27 comai@acm.org
diagramma di flusso azione -
oggetto: a cosa serve
a rappresentare le interazioni tra processi e oggetti
un caso particolare di diagramma di attivit
un vero e proprio flow chart
Introduzione a UML !Adriano Comai 1998-2001
Pag. 28 comai@acm.org
diagramma dei componenti
componente
dipendenza
package
database server
Ordini
<<Table>>
Clienti
<<Table>>
Form Inserimento
Ordine
Il Form conosce il
DataBase Server, e
pu essere coinvolto
da ogni suo
cambiamento
Introduzione a UML !Adriano Comai 1998-2001
Pag. 29 comai@acm.org
diagramma dei componenti:
a cosa serve
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
Introduzione a UML !Adriano Comai 1998-2001
Pag. 30 comai@acm.org
diagramma di distribuzione
nodo
connessione
tra nodi
client server locale
tcp / ip
server remoto
tcp / ip
Introduzione a UML !Adriano Comai 1998-2001
Pag. 31 comai@acm.org
diagramma di distribuzione:
a cosa serve
evidenzia la configurazione dei nodi elaborativi in
ambiente di esecuzione (run-time), e dei componenti,
processi ed oggetti ubicati in questi nodi
permette di rappresentare, a diversi livelli di dettaglio,
larchitettura fisica del sistema
Introduzione a UML !Adriano Comai 1998-2001
Pag. 32 comai@acm.org
benefici portati da UML
superamento della "guerra dei metodi"
prima di UML, vi erano decine (o centinaia?) di metodi di analisi e
disegno OO proposti e praticati
oggi, notazione e semantica comuni a livello internazionale
risposta ai problemi legati allo sviluppo di sistemi
complessi con ambienti visuali
maggiore attenzione alla modellazione degli aspetti architetturali
il meta-modello comune favorisce le possibilit di comunicazione
tra gli strumenti utilizzabili dai progettisti nello sviluppo
Introduzione a UML !Adriano Comai 1998-2001
Pag. 33 comai@acm.org
UML complesso
intende rappresentare qualunque tipo di sistema software, a
livelli di astrazione differenziati
il numero degli elementi elevato, e in molti casi
possibile scegliere tra forme di rappresentazione diverse
UML non suggerisce, n tantomeno prescrive una
sequenza di realizzazione dei diversi diagrammi
offre unampia gamma di possibili modalit di utilizzo, tra
le quali i progettisti sono liberi di scegliere
Introduzione a UML !Adriano Comai 1998-2001
Pag. 34 comai@acm.org
UML va adattato alle proprie
esigenze
tra i fattori da considerare:
settore di attivit (es. militare, finanziario)
tipologia di progetto (rischio, complessit)
esigenze di conformit a norme e standard
comunicazione con committenti e stakeholders
comunicazione con fornitori
composizione e distribuzione del gruppo di lavoro
"non ha senso che tutti usino UML nello stesso modo
Introduzione a UML !Adriano Comai 1998-2001
Pag. 35 comai@acm.org
UML in sintesi
uno standard: uniformit nei concetti e nelle notazioni
utilizzate, interoperabilit tra strumenti di sviluppo,
indipendenza dai produttori, dalle tecnologie, dai metodi
articolato: pu rappresentare qualunque sistema software,
a diversi livelli di astrazione
complesso: va adattato ("ritagliato") in base alle
specifiche esigenze dei progettisti e dei progetti,
utilizzando solo ci che serve nello specifico contesto

Potrebbero piacerti anche