Download - Diagrammi di Sequenza - Dipartimento di Matematica - UniPDtullio/IS-1/2011/Dispense/E04.pdf · • Diagrammi Use case • Diagrammi di flusso • Diagrammi delle classi • Diagrammi

Transcript

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