Sequence Diagram e Collaboration Diagram



Похожие документы
Activity Diagrams. Ing. Orazio Tomarchio

Diagrammi di Interazione

Sequence Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Modellazione dei dati in UML

Esempio ordini 08UMLEX1.1

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

UML Component and Deployment diagram

Elementi di UML (7): Diagrammi dei componenti e di deployment

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Modellazione di sistema

Basi di dati I. Esercitazione proposta

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

Documenti Tecnici Informatica e Farmacia Vega S.p.A.

Esercizio 1: trading on-line

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Funzioni in C. Violetta Lonati

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Cosa è un foglio elettronico

Concetti di base di ingegneria del software

Sistemi Informativi I Caso di studio con applicazione di UML

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Centro Acquisti per la Pubblica Amministrazione EmPULIA. Linee guida per gli Enti Aderenti. Procedure Negoziate: Richiesta di Preventivo. Versione 2.

Creare diagrammi di Gantt con Visio 2003

Lezione 8. La macchina universale

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

SOMMARIO... 3 INTRODUZIONE...

Il controllo della visualizzazione

Esercitazione su UML Ingegneria del Software - San Pietro

Algoritmi e diagrammi di flusso

Statechart Diagrams. Ing. Orazio Tomarchio

Automazione Industriale (scheduling+mms) scheduling+mms.

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

[ Gentleware: Poseidon for UML 3.0". [ Sparxsystems: Enterprise Architect 6.1".

Inizializzazione, Assegnamento e Distruzione di Classi

Soluzione dell esercizio del 12 Febbraio 2004

Modulo: Fogli elettronici

STRUMENTI. Impostare una presentazione I programmi di presentazione

Gestione Turni. Introduzione

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Diagrammi di interazione

Soluzione dell esercizio del 2 Febbraio 2004

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Artifact Centric Business Processes (I)

Gestione del workflow

Concetto di Funzione e Procedura METODI in Java

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Il sistema monetario

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Registratori di Cassa

UML. Analisi Modellazione e altro. Macchine a stati, Diagrammi di attività.. UML aa 2006/7 G.Bucci 1

Manuale Utente MyFastPage

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

Volumi di riferimento

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Appunti di: MICROSOFT EXCEL

Progettazione del Software A.A.2008/09

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

7. Architetture Software

Oggetti Lezione 3. aspetti generali e definizione di classi I

I database relazionali (Access)

Corso di Amministrazione di Reti A.A. 2002/2003

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

Technical Document Release Version 1.0. Product Sheet. MediaList. Creazione e gestione palinsesto giornaliero

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

Object Oriented Software Design

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

Database. Si ringrazia Marco Bertini per le slides

Guida all uso di Java Diagrammi ER

5. Fondamenti di navigazione e ricerca di informazioni sul Web

4. Fondamenti per la produttività informatica

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Strumenti di modellazione. Gabriella Trucco

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

UML Diagrammi delle classi. UML Diagramma classi 1

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon SNS

Presidenza del Consiglio dei Ministri

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Gestione dei documenti e delle registrazioni Rev. 00 del

Sistemi Operativi (modulo di Informatica II) I processi

Gmail Firme, etichette e filtri

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

MANUALE D USO DELL E-COMMERCE. Versione avanzata

Транскрипт:

Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania

Sommario Interaction Diagrams Sequence Diagram: Definizione Notazione Messaggi Notazione estesa Esempi Collaboration Diagram: Definizione Messaggi Esempi Sequence e Collaboration Diagrams: confronto 2

Diagrammi strutturali (logico) Diagrammi UML Vista Statica Diagrammi di implementazione Diagrammi di interazione Vista Dinamica Diagrammi di comportamento 3

Interaction diagrams: comportamento dinamico del sistema Diagrammi di interazione (interaction diagrams) descrivono il comportamento dinamico, mostrando le interazioni tra gli oggetti (interni e/o esterni) del sistema descrivono come gli oggetti collaborano fra loro nello svolgimento di un attività Tipicamente un diagramma di interazione descrive un singolo caso d uso in termini di specifici oggetti e messaggi scambiati Ci sono due tipi di interaction diagrams Sequence diagram Collaboration diagram 4

Sequence diagram: definizione Sequence diagram: evidenzia l aspetto temporale dell interazione fra gli oggetti illustra i messaggi che i vari oggetti si scambiano e in quale ordine, ma non le associazioni tra gli oggetti evidenzia il ciclo di vita degli oggetti che, attraverso lo scambio di opportuni messaggi, possono essere creati e distrutti 5

Sequence diagram: notazione Oggetti disposti in alto e rappresentati con dei box, con un nome sottolineato nel formato NomeOggetto: NomeClasse ma è possibile indicare solo l uno o l altro, e una linea tratteggiata verticale detta linea di vita dell oggetto. Il tempo scorre dall alto verso il basso in genere la scala non importa interessa solo la sequenza cioè il rapporto di precedenza tra eventi, non la loro distanza, ma per sistemi real-time si può usare Messaggi rappresentati con una freccia e un nome Valore di Ritorno indica il valore restituito all oggetto chiamante e non un nuovo messaggio, e rappresentato con una freccia con linea tratteggiata e un nome 6

Sequence diagram: notazione Oggetti Oggetto1 : Classe1 Oggetto2 : Classe2 Linea di vita Messaggi Box di attivazione Istanti di tempo {b-a > 1sec} a b operazione1() risposta1 Tempo Vincolo temporale c c Messaggio che impiega un certo tempo per essere ricevuto 7

Sequence diagram: notazione Oggetto1 : Classe1 Oggetto3 : Classe3 Tempo Creazione new Oggetto2 : Classe2 op1() remove() Distruzione tramite messaggio da un altro oggetto op2() Distruzione come metodo interno all oggetto 8

Sequence diagram: messaggi I messaggi possono essere Sincroni: se l oggetto che invia il messaggio rimane in attesa del valore di ritorno dall oggetto ricevente Asincroni: se l oggetto che invia il messaggio prosegue la propria elaborazione in parallelo all oggetto chiamato Questo formalismo consente di rappresentare in maniera efficace i sistema con più processi concorrenti Notazione Messaggi sincroni Messaggi asincroni 9

Sequence diagram: notazione estesa Condizione è associata ad un messaggio: solo se è soddisfatta il messaggio viene generato Esempio: [x>=0] operazione1() Selezione In base alla condizione verificata e possibile selezionare il messaggio da generare Esempio: [x>0] operazione1() else [x<=0] operazione2() Iterazione indica che un messaggio viene inoltrato più volte Esempio: *[cond iterazione] operazione1() Chiamata interna (self-call) riferimento ricorsivo di un oggetto a se stesso, per chiamare una delle sue funzioni Esempio: operazione1() 10

Sequence diagram: Esempio1 Supponiamo di dover illustrare il seguente caso: La Finestra Inserisci Ordine manda un messaggio di preparazione ad un Ordine L Ordine invia messaggi di preparazione a tutte le Linee d Ordine contenute nell Ordine Ciascuna Linea d ordine controlla la disponibilità del proprio articolo nel Magazzino: se è presente lo rimuove dal magazzino, verifica: se la disponibilità dell articolo è scesa al di sotto di una certa soglia, l oggetto Magazzino generera una richiesta di riordino, quindi crea un Prodotto da consegnare 11

Sequence diagram: Esempio1 : Finestra Inserisci Ordine : Linea : Ordine d Ordine : Magazzino preparazione () *[per tutte le linee d ordine] preparazione() hadisponib:= check() Condizione Iterazione Ritorno [hadisponib] remove() deveriordinare := deveriord() Chiamata interna Creazione [deveriordinare] new : Riordine Prodotto Creazione Distruzione [hadisponib] new : Prodotto da Consegnare 12

Sequence diagram: Esempio2 Quando una new transazione viene creata una Transazione crea un Coordinatore per il controllo. Il Coordinatore crea una serie di Controllori, uno per tipo di controllo. Questi Controllori svolgono la loro elaborazione in parallelo come processi separati. new un Coordinatore di Transazione new new primo Controllore di Transazione secondo Controllore di Transazione Se un controllo fallisce, il Coordinatore fa terminare tutti gli altri Controllori ancora attivi insuccesso deallocazione dei controllori omessa altra elaborazi one e comunica alla Transazione che non è valida descrizioni testuali invalidazione distruzione 13

Sequence diagram: Riepilogo Con i sequence diagrams si illustra l aspetto temporale delle collaborazioni fra oggetti nell ambito di un singolo caso d uso (o di uno scenario cioe una particolare esecuzione dello use case) Attraverso l uso dei messaggi asincroni si possono modellare sistemi con più processi attivi contemporaneamente, seguendone con precisione la creazione e la distruzione 14

Collaboration diagram: definizione Collaboration diagram: evidenzia le relazioni tra gli oggetti piuttosto che l aspetto temporale dell interazione I componenti del diagramma sono sempre oggetti e messaggi ma questa volta non è modellato esplicitamente in maniera grafica lo scorrere del tempo. Gli oggetti sono disposti liberamente, e in modo da rendere chiare le interazioni più importanti Le sequenze temporali sono descrivibili numerando i messaggi in modo progressivo 15

Collaboration diagram: messaggi La numerazione dei messaggi può essere: Semplice (1, 2, 3, ) permette di seguire in maniera chiara la sequenza generale Decimale (1, 1.1, 1.1.1, 1.1.2, 1.2, ) permette di capire quale operazione invochi quale altra (preferita in UML) I messaggi sono accompagnati da frecce per capire quale oggetto invia il messaggio e quale lo riceve 16

Collaboration diagram: Esempio numerazione semplice :Finestra di Inserimento Ordine 1: preparazione() :Ordine Oggetto Messaggi o Numero di sequenza 2: *[per tutte le linee d ordine] preparazione() 5: deveriordinare:=deveriord() : Linea d Ordine 7: [hadisponib] new :Prodotto da consegnare 3: hadisponib:=check() 4: [hadisponib] remove() : Magazzino 6: [deveriordinare] new :Riordine Prodotto 17

Collaboration diagram: Esempio numerazione decimale :Finestra di Inserimento Ordine 1:preparazione() Oggetto Numero di sequenza :Ordine Messaggi o 1.1:*[per tutte le linee d ordine] preparazione() 1.1.2.1: deveriordinare:=deveriord() : Linea d Ordine 1.1.3: [hadisponib] new :Prodotto da consegnare 1.1.1: hadisponib:=check() 1.1.2: [hadisponib] remove() : Magazzino 1.1.2.2: [deveriordinare] new :Riordine Prodotto 18

Sequence e Collaboration diagrams: confronto Sequence diagrams e Collaboration diagrams sono semanticamente equivalenti (isomorfi). Ciò vuol dire che, in linea di principio, è possibile trasformare gli uni negli altri senza perdita di informazione. Tuttavia, dato che i particolari delle interazioni che enfatizzano sono leggermente diversi, alcuni di essi saranno visibili soltanto in una delle categorie di diagrammi ad es. i messaggi di ritorno dei Sequence diagrams non hanno un corrispettivo formalismo nei Collaboration 19

Pro e contro degli Interaction diagrams + Sono semplici da creare e da leggere + Rappresentano la successione precisa degli eventi (Sequence diagram) o delle collaborazioni fra oggetti (Collaboration diagram) - Diventano rapidamente troppo complicati in presenza di numerosi cicli e di molte alternative di comportamento - In questi casi è quindi conveniente creare un diagramma diverso per ciascuna delle alternative - Esempio: Transazione a buon fine e transazione abortita - Disporre di una serie di diagrammi crea problemi di manutenzione - Una modifica al Main success scenario puo implicare la modifica di tutti gli altri diagrammi 20