Diagrammi di Sequenza - Dipartimento di Matematica - UniPDtullio/IS-1/2011/Dispense/E04.pdf · •...
Transcript of Diagrammi di Sequenza - Dipartimento di Matematica - UniPDtullio/IS-1/2011/Dispense/E04.pdf · •...
DIAGRAMMI DI SEQUENZADIAGRAMMI DI SEQUENZAINGEGNERIA DEL SOFTWAREUniversità degli Studi di PadovaUniversità degli Studi di PadovaFacoltà di Scienze MM. FF. NN.
Corso di Laurea in Informatica, A.A. 2011 – 2012
SOMMARIO
Introduzione
Partecipanti e messaggiPartecipanti e messaggi
Concetti avanzati
2
Ingegneria del software mod. A
2
Riccardo Cardin
SOMMARIO
Introduzione
Partecipanti e messaggiPartecipanti e messaggi
Concetti avanzati
3
Ingegneria del software mod. A
3
Riccardo Cardin
DIAGRAMMI DI SEQUENZA
4
Ingegneria del software mod. A
4
Riccardo Cardin
DIAGRAMMI DI SEQUENZA
Specifica Tecnica, Definizione di Prodotto• Diagrammi dei package
Di i d ll l i
• Diagrammi Use case• Diagrammi di flusso
• Diagrammi delle classi• Diagrammi degli oggetti• Diagrammi di attività• Diagrammi di sequenza
Revisione dei
RequisitiR. Progetto
Architetturale
Revisione di Qualifica
R. di Accettazione
5
QualificaAccettazione
• Diagrammi delle classi• Diagrammi di attività• Diagrammi di sequenza
Ingegneria del software mod. A
5
Riccardo Cardin
• Diagrammi di sequenza• Diagrammi di flusso
DIAGRAMMI DI SEQUENZADefinizione
Descrivono la collaborazione di un gruppo di oggetti che devono implementare collettivamente un comportamento
Partecipante
Scorreree del tem
6
mpoLinea della vita
Ingegneria del software mod. A
6
Riccardo Cardin
SOMMARIO
Introduzione
Partecipanti e messaggiPartecipanti e messaggi
Concetti avanzati
7
Ingegneria del software mod. A
7
Riccardo Cardin
PARTECIPANTI
Entità che detengono il flusso del caso d’usoUML 1.x Istanze di classi (oggetti)UML 2 C tt iù l tUML 2.x Concetto più lato
Eliminata la sottolineatura
Barra di attivazioneOpzionale, ma molto utile Classe : nome
Barra di attivazione
8
Ingegneria del software mod. A
8
Riccardo Cardin
DIAGRAMMI DI SEQUENZA
Esempio principaleEsempio
Il cliente sfoglia il catalogo ed aggiunge i prodotti desiderati al carrello della spesa. Quando il cliente termina l’acquisto e deve pagare, lo stesso fornisce le informazioni sulla consegna dei prodotti p g , g pe sulla carta di credito. Il sistema verifica l’autorizzazione al pagamento con carta di credito e conferma l’acquisto immediatamente e mediante una successiva mail.
9
Ingegneria del software mod. A
9
Riccardo Cardin
DIAGRAMMI DELLE CLASSI
Esempio principale
10
Ingegneria del software mod. A
10
Riccardo Cardin
PARTECIPANTI
Esempio 1
11
Ingegneria del software mod. A
11
Riccardo Cardin
PARTECIPANTI
Creazione partecipantiComodo l’utilizzo della parola “new”
Di iDistruzioneCreazione
(con parametro)
12
Distruzione
Auto distruzione
Ingegneria del software mod. A
12
Riccardo Cardin
Auto distruzione
PARTECIPANTI
Esempio 2
13
Ingegneria del software mod. A
13
Riccardo Cardin
MESSAGGI
Dati e operazioni scambiati tra i partecipantiChiamata a metodi degli oggettiM i t tMessaggio trovato
Primo messaggio che scaturisce dall’esterno
Chiamata Messaggio trovato interna
14
Messaggi
Ingegneria del software mod. A
14
Riccardo Cardin
Ritorno
MESSAGGI
Esempio 3
15
Ingegneria del software mod. A
15
Riccardo Cardin
MESSAGGI
Passaggio di datiNessuna tecnica di modellazione standard!!!M t d l iMetodo classico
metodo(param)(p )
Girini dei dati (data tadpoles)
16
metodo param
Ingegneria del software mod. A
16
Riccardo Cardin
MESSAGGI
Messaggi sincroniIl chiamante rimane in attesa della risposta
metodo(param)
Messaggi asincroniIl chiamante non rimane in attesa della risposta
17
metodo(param)
Ingegneria del software mod. A
17
Riccardo Cardin
SOMMARIO
Introduzione
Partecipanti e messaggiPartecipanti e messaggi
Concetti avanzati
18
Ingegneria del software mod. A
18
Riccardo Cardin
CICLI E CONDIZIONI
Frame di interazione (UML 2)Pseudocodice
procedura spedizioneforeach (elementoLinea)if (prodotto.valore > 10K)raccomandata.spedizione Frame
interazionepelsenormale.spedizione
end ifend for
interazione
Guardiaif (neccesitaConferma)messenger.conferma
end procedura
Guardia
19
Ingegneria del software mod. A
19
Riccardo Cardin
CICLI E CONDIZIONI
Frame di interazione
Operatore SignificatoOp ato S g cato
alt Frammenti multipli in alternativa; verrà eseguito solo quello per cui è verificata la condizione.
opt Opzionale; il frammento viene eseguito solo se la condizione specificata è verificata. Equivalente a alt con solo una freccia.
par Parallelo; ogni frammento è eseguito in parallelo.
loop Ciclo; il frammento può essere eseguito più volte, la base d ll’it i è i di t d ll didell’iterazione è indicata dalla guardia.
region Regione critica; il frammento può essere eseguito da un solo threadalla volta.
neg Negativo; il frammento mostra un’interazione non valida.
20
g g
ref Riferimento; si riferisce ad un’interazione definita in un altro diagramma
sd Sequence diagram; utilizzato per racchiudere un intero diagramma di
Ingegneria del software mod. A
20
Riccardo Cardin
sequenza.
MODELLAZIONE
Ottimi per modellare le collaborazioni fra oggettiNon la logica di controllo
Inadeguatezza a modellare cicli e condizioni …Meglio i diagrammi di attivitàMeglio i diagrammi di attività
… o pseudocodice …
Controllo centralizzato VS DistribuitoCentralizzato
Unico partecipante che governa l’elaborazioneUnico partecipante che governa l elaborazioneDistribuito
Suddivisione dei compiti dei partecipanti 21
Ingegneria del software mod. A
21
Riccardo Cardin
MODELLAZIONE
Controllo centralizzato VS Distribuito
Distribuito
Centralizzato
22
Ingegneria del software mod. A
22
Riccardo Cardin
RIFERIMENTI
OMG Homepage – www.omg.orgUML Homepage – www.uml.orgUML Distilled, Martin Fowler, 2004, Pearson(Addison Wesley)
23
Ingegneria del software mod. A
23
Riccardo Cardin