UML2Diagrammi di Interazione
Andrea Polini
Ingegneria del SoftwareCorso di Laurea in Informatica
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 1 / 19
Comportamento dinamico delle classi
Dopo aver definito un modello dei casi d’uso e realizzato un modello dianalisi abbiamo bisogno di rispondere alle seguenti domande:
Come le classi devono interagire per realizzare il comportamentodefinito da un caso d’uso?Quali messaggi devono essere scambiati?
Bisogna considerare che:In un contesto di sviluppo iterativo il lavoro condotto portatipicamente a modifiche a manufatti precedentemente definitiÈ importante mantenere i manufatti allineati e coerentino dettagli eccessivi quali parametri specifici delle operazioni eloro tipo
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 2 / 19
Realizzazione dei casi d’uso
Realizzazione dei casi d’uso è attività che coinvolge:Diagramma delle classi di analisiDiagrammi di InterazioneRequisiti SpecialiRaffinamento dei casi d’uso
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 3 / 19
Realizzazione dei casi d’uso
I principali diagrammi utilizzati nella concretizzazione di un caso d’usosono i diagramma di interazione. Due entità fondamentalicostituiscono questo tipo di diagrammi:
linee di vitamessaggi
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 4 / 19
Linee di vita
Servono a rappresentare un elemento di una classe all’interno diun’interazione. Consta di:
NomeTipoSelettore
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 5 / 19
Messaggi
Rappresentano tipo di interazione tra due linee di vita. Unacomunicazione si può risolvere in:
chiamata di un’operazionecreazione/distruzione di un’istanzainvio di un segnale
La ricezione di un messaggio attiva il focus di controllo per la linea divita che riceve il messaggio stesso. Il focus risulterà dunque annidato.
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 6 / 19
Tipologie di messaggi
UML 2 fornisce la possibilità di specificare le seguenti tipologie dimessaggi:
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 7 / 19
Diagrammi di interazione
Diagrammi di sequenzaDiagrammi di ComunicazioneDiagrammi di Interazione GeneraleDiagrammi di Temporizzazione
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 8 / 19
Diagrammi di Sequenza
Sono la forma di diagramma di interazione più usata nelle fasidell’analisi e realizzazione dei casi d’uso.
gli oggetti che interagiscono vengono rappresentati da rettangolicon “coda”messaggi vengono rappresentati tra le linee di vitail focus viene rappresentato da un rettangolo sottile sulla linea divitaè possibili rappresentare messaggi annidatiè possibile rappresentare invarianti di statoè possibile rappresentare vincoli di durata
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 9 / 19
Esempio - Linee di vita, messaggi ed attivazioni
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 10 / 19
Esempio -Linee di vita, messaggi ed attivazioni
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 11 / 19
Esempio - Linee di vita, messaggi ed attivazioni
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 12 / 19
Esempio invarianti di stato e vincoli di durata
Stato
Condizione o situazione durante la vita diun oggetto in cui esso soddisfa unacondizione, esegue un’attività o aspetta unevento.
Transizione di stato
un oggetto cambia il suo stato a seguitodell’esecuzione di un’attività, oall’occorrenza di un evento. Larappresentazione di tali aspetti puòavvenire utilizzando i diagrammi dellamacchine a stati che sono associabili aqualsiasi classificatore
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 13 / 19
Esempio invarianti di stato e vincoli di durata
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 14 / 19
Frammenti combinati
È possibile rappresentare sequenze complesse attraverso l’uso diframmenti combinati. Un frammento combinato ha un operatore, uno opiù operandi e zero o più condizioni di guardia. La sintassi per talicostrutti è esemplificata da:
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 15 / 19
Frammenti combinati - Tipologie Operatori
opt: sequenza opzionale se condizione vera
alt: sequenze alternative. Eseguito operando con guardia vera. Guardie devono esseremutamente esclusive
loop: ciclo (prossima slide)
break: uscita da un operando
ref: riferimento ad altro diagramma
par: parallelismo
critical: esecuzione atomica
seq: sequenzializzazione debole
strict: sequenzializzazione forte
neg: iterazioni non valide
ignore: elenca messaggi omessi
consider: solo messaggi inclusi
assert: unico comportamento accettabile in quel punto dell’esecuzione
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 16 / 19
loop
La sintassi dei loop è data da: loop min,max [condizione] Il significato è:
Esegui il loop un numero minimo di volte min continua l’esecuzione finchécondizione è vera per un numero massimo di max-min volte.
Tipici loop e loro rappresentazione:
while (true) {body}
for i=n to m {body}
while (espressioneBooleana) {body}
repeat {body} while (espressioneBooleana)
forEach oggetto della collezione {body}
forEach oggetto della classe {body}
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 17 / 19
loop
La sintassi dei loop è data da: loop min,max [condizione] Il significato è:
Esegui il loop un numero minimo di volte min continua l’esecuzione finchécondizione è vera per un numero massimo di max-min volte.
Tipici loop e loro rappresentazione:
while (true) {body}
for i=n to m {body}
while (espressioneBooleana) {body}
repeat {body} while (espressioneBooleana)
forEach oggetto della collezione {body}
forEach oggetto della classe {body}
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 17 / 19
Diagrammi di comunicazione
Si focalizzano sugli aspetti strutturali dell’interazione mostrando comele linee di vita sono collegate tra loro
Il potere espressivo è inferiore a quello dei diagrammi di sequenza èpossibile comunque esprimere iterazioni e ramificazioni
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 18 / 19
System Sequence Diagrams - SSD
Ristorante 2.0
(Ingegneria del Software) UML 2 – Realizzazione dei Casi d’Uso IdS@UNICAM 19 / 19
Top Related