uml - stlab.dinfo.unifi.it · uml aa 2006/7 g.bucci 3 macchina a stati descrive un oggetto come...
TRANSCRIPT
![Page 1: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/1.jpg)
UML aa 2006/7 G.Bucci 1
UML Analisi
Modellazione e
altroMacchine a stati, Diagrammi di attività..
PROVVISORIO
![Page 2: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/2.jpg)
UML aa 2006/7 G.Bucci 2
Macchine a stati in UML
� Sono una versione estesa (derivante dalle StateChart [Harel]) delle normali macchine a stati (finite state machines/finite automata)
� Modellano il comportamento dinamico degli oggetti di una data classe (tutte le possibili storie )
� Sono una delle possibili viste dinamiche
� Si rappresentano attraverso i diagrammi di stato
(stati e transizioni)
![Page 3: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/3.jpg)
UML aa 2006/7 G.Bucci 3
Macchina a stati
� Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento del verificarsi di eventi
� Non mostra le interazioni con gli altri oggetti (per queste si deve ricorrere ad altre viste dinamiche:
diagrammi di sequenza e di collaborazione)
� La risposta a un evento è funzione dello stato in cui si trova la macchina: tutti gli oggetti della classe modellata, che si trovino in
un dato stato, effettuano la stessa azione al
riconoscimento di un dato evento
![Page 4: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/4.jpg)
UML aa 2006/7 G.Bucci 4
Macchine a stati UML
� Macchine a stati convenzionali:
� Cambiamenti di stato solo in base agli ingressi
� Una macchina può influenzare un’altra solo attraverso le sue uscite che la seconda vede come
ingressi
� Macchine a stati in UML
� Cambiamenti di stato in base a vari tipi di eventi
(messaggi ricevuti, verificarsi di generiche condizioni
sugli stati delle macchine che sui valori delle
variabili)
� Composizione degli stati (superstati)
![Page 5: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/5.jpg)
UML aa 2006/7 G.Bucci 5
Notazione
NomeStato
do/action_internal
entry/action_in
exit/action_out
Evento (par:T) [cond]/action1;…;actionx
Parametro
Azione di ingresso
Azione interna
Azione di uscita
Guardia
event/action_event
Transizione interna
Attività interne
![Page 6: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/6.jpg)
UML aa 2006/7 G.Bucci 6
Esempi
Non pagata
fattura creata
Pagata
pagamento
fattura distrutta
Stato finale (pseudo stato): di solito indica l’eliminazione
dell’oggetto, o la conclusione di una traiettoria
Stato iniziale (pseudo stato): di solito indica la creazione di un
oggetto o l’inizio di una traiettoria di stato
![Page 7: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/7.jpg)
UML aa 2006/7 G.Bucci 7
..Esempi
Login
entry/type "login"do/get usernamedo/get passwordexit/login(username, password)
Uno stato
![Page 8: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/8.jpg)
UML aa 2006/7 G.Bucci 8
Esempio: distributore bibite
![Page 9: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/9.jpg)
UML aa 2006/7 G.Bucci 9
Stati composti
Stato finale: indica il completamento dell’attività (dello stato che lo include)
Stato composto da stati sequenziali
Stato iniziale (pseudo stato): indica il punto di partenza entro lo stato composto
Stato composto da stati concorrenti (ortogonali)
(Regioni ortogonali)
![Page 10: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/10.jpg)
UML aa 2006/7 G.Bucci 10
Stati composti
� Stato iniziale
![Page 11: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/11.jpg)
UML aa 2006/7 G.Bucci 11
Stati composti
� Stato iniziale
![Page 12: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/12.jpg)
UML aa 2006/7 G.Bucci 12
Stati composti
� Stato finale
![Page 13: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/13.jpg)
UML aa 2006/7 G.Bucci 13
Stato composto Erogazione
![Page 14: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/14.jpg)
UML aa 2006/7 G.Bucci 14
Stati compostie
S1 S2
S1
S211
S2
e
S212
S213
S221
S222
S3
S3Devono essere
stati raggiunti
entrambi
![Page 15: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/15.jpg)
UML aa 2006/7 G.Bucci 15
Stati compostie
S1 S2
S1
S211
S2
e
S212
S213
S221
S222
S3
S3
abort
Da tutti gli stati
![Page 16: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/16.jpg)
UML aa 2006/7 G.Bucci 16
Stati compostie
S1 S2
S1
S211
S2
e
S212
S213
S221
S222
Sx
S3
S3
Uscita esplicita
![Page 17: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/17.jpg)
UML aa 2006/7 G.Bucci 17
Stati composti
![Page 18: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/18.jpg)
UML aa 2006/7 G.Bucci 18
Diagrammi di attività
![Page 19: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/19.jpg)
UML aa 2006/7 G.Bucci 19
Diagrammi di attività
� Sono i diagrammi di flusso OO
� usati per modellare processi (di elaborazione) come un
insieme di attività e di transizioni tra queste attività
� Sono essi stessi delle macchine a stati:
� gli stati rappresentano esecuzione di elaborazioni (non stati di
un oggetto); sono detti stati di attività
� uno stato di attività rappresenta l’esecuzione di uno statement
o una procedura
� si assume che l’elaborazione proceda senza essere
sollecitata da eventi: l’uscita da uno stato di attività
corrisponde al completamento dello statement/procedura, non
a un evento (si parla di transizione di completamento)
![Page 20: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/20.jpg)
UML aa 2006/7 G.Bucci 20
![Page 21: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/21.jpg)
UML aa 2006/7 G.Bucci 21
Segnali/eventi asincroni
� E’ prevista la
possibilità di attendere un
evento asincrono
o trasmettere un
segnale (se
diventano tanti meglio passare
alle macchine a
stati)
Dest:oggetto
do4
do1
si
do2
do3
Invio del segnale so
Ricezione del segnale siFlusso di controllo esterno
so
![Page 22: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/22.jpg)
UML aa 2006/7 G.Bucci 22
Segnali
Mostra finestra "in corso di stampa"
Conversione a PDF
Print(file)
Chiudi finestra
Print(file)
Attività dello spooler
Stampa in PDF da parte di un programma
![Page 23: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/23.jpg)
UML aa 2006/7 G.Bucci 23
Corsie e flusso di oggetti
� Le corsie vengono normalmente utilizzate per evidenziare i ruoli/le responsabilità/le unitàorganizzative
� ad esempio raggruppando le attività di una
componente organizzativa del sistema modellato
� Oltre al flusso del controllo il diagramma può mostrare il flusso di oggetti: ovvero gli oggetti in ingresso o in uscita alle varie attività
![Page 24: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/24.jpg)
UML aa 2006/7 G.Bucci 24
Corsie e flussi di oggetti
![Page 25: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/25.jpg)
UML aa 2006/7 G.Bucci 25
Esempio
![Page 26: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/26.jpg)
UML aa 2006/7 G.Bucci 26
![Page 27: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/27.jpg)
UML aa 2006/7 G.Bucci 27
Esempio
![Page 28: UML - stlab.dinfo.unifi.it · UML aa 2006/7 G.Bucci 3 Macchina a stati Descrive un oggetto come un’entità isolata che comunica con il resto del mondo attraverso il riconoscimento](https://reader031.vdocuments.mx/reader031/viewer/2022031400/5c175e9109d3f29c288b70b8/html5/thumbnails/28.jpg)
UML aa 2006/7 G.Bucci 28
In sintesi
� I diagr di attività Mostrano le attività, ma non gli oggetti che le svolgono; non mostrano i dettagli dell’elaborazione
� Sono il punto di partenza dell’analisi/progetto
� Ogni attività deve essere scomposta in una o più operazioni, assegnata a specifiche classi
� identificazione delle classi
� collaborazione tra oggetti
� interazioni tra oggetti