Upload
dinhthien
View
227
Download
0
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
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