6
DIAGRAMMI DI SEQUENZA DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 – 2012 [email protected] SOMMARIO | Introduzione | Partecipanti e messaggi | Partecipanti e messaggi | Concetti avanzati 2 Ingegneria del software mod. A 2 Riccardo Cardin SOMMARIO | Introduzione | Partecipanti e messaggi | Partecipanti 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 - Dipartimento di Matematica - UniPDtullio/IS-1/2011/Dispense/E04.pdf · • Diagrammi Use case • Diagrammi di flusso • Diagrammi delle classi • Diagrammi

Embed Size (px)

Citation preview

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

[email protected]

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