Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Documenti analoghi
Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

SOMMARIO DIAGRAMMI DI SEQUENZA

SOMMARIO. DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Partecipanti e messaggi.

Casi d uso. Marina Zanella - Ingegneria del Software UML: Casi d uso 1

Modulo 11. Interazioni Diagrammi di sequenza Diagrammi di collaborazione. Descrivere il comportamento di un sistema software

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

UML: DIAGRAMMA DI SEQUENZA

Ingegneria del Software 18. Realizzazione casi d uso. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

LEZIONE 5 SEQUENCE DIAGRAM

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

Sequence Diagram e Collaboration Diagram

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION

OO design pattern. Design pattern: motivazioni

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Diagrammi dei package. All aumentare delle dimensioni dei sistemi sw, diviene difficile comprendere e modificare gli stessi

UML. UML Book. Diagrammi di attività. Cosa sono? Notazione. Cosa sono?

UML I diagrammi implementativi

UML2. Concetti base. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino

Microsoft Visio 2002 UML Sergio Colosio

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

I Diagrammi di Flusso OO

DIAGRAMMI DEI PACKAGE

Casi d uso: esercizi

Fonte: 2

2. Modellazione dei casi d uso

Modellazione discreta con UML

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Processi iterativi. Marina Zanella - Ingegneria del Software RUP 1

Unified Modeling Language (UML)

Relazioni. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

Tecniche di sviluppo di progetti. Lezione 4: Diagrammi UML

Corso di Ingegneria del Software. Casi d uso

Programmazione ad oggetti

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

UML UNIFIED MODELING LANGUAGE

A.A ALLIEVI DEL III ANNO IN INGEGNERIA INFORMATICA

Casi d uso: esercizi

Elementi di UML (5): Diagrammi di interazione

Analisi e diagrammi di struttura: esercizi

UML Unified Modeling Language

Il PROCESSO UNIFICATO

Diagrammi di attività

UML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

UML2. Package di Analisi. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica

Alcuni diagrammi. OCL (Object Constraint Language)

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

Note sugli Statechart Diagrams

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

Progettazione Logica e Modello Realizzativo

Giovanni A. Cignoni 1

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

Classi. Meccanismi di Rappresentazione e Scoperta. Andrea Polini

SOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Chiamata di procedura remota

UML2. Progettazione della realizzazione dei casi d uso. Andrea Polini

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Chiamata di procedura remota

Oggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.

Dichiarazione di una classe. Dichiarazione ereditarietà

Diagrammi di Interazione

SOMMARIO DIAGRAMMI DI ATTIVITÀ

Programmazione ad Oggetti

Elementi di UML (6): Diagrammi dinamici di flusso

Programmi e Oggetti Software

Introduzione ai casi d uso

1. UML 2 ed il Processo Unificato

PROGETTAZIONE DIDATTICA

Informatica (A-K) 5. Algoritmi e pseudocodifica

Progettazione Concettuale e Modello di Progetto

Ingegneria del Software. Simulazione Prova parziale del 24/4/2015

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Progettazione Object-Oriented

Fondamenti di Informatica

Progettazione del Software

Programmi e Oggetti Software

Progettazione del Software Analisi

Formalismi per la descrizione di algoritmi

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Unified Modeling Language

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_2 V2.3 UML

SISTEMI INFORMATIVI E DATABASE

FOGLIO DI CALCOLO LIVELLO AVANZATO

Il Modello a scambio di messaggi

Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2006/2007

Fondamenti di Informatica e Programmazione

I database. Introduzione alla teoria delle basi di dati

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.

Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate. Architettura degli elaboratori Bistabili e Clock

Transcript:

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari dell Università degli Studi di Brescia Azione ID 41654 Formazione teorico pratica nell ambito di moduli professionalizzanti orientati all Informatica del terzo anno di corso della Laurea in Ingegneria dell Informazione (nuovo ordinamento) Insegnamento a supporto del quale si svolge l azione formativa integrativa: Ingegneria del Software A Modulo n.2 Strumenti CASE e specifiche OMG Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 1

Diagrammi delle interazioni Ogni diagramma: illustra il comportamento dinamico (di un singolo scenario o di un gruppo di scenari) di un singolo caso d uso descrive in un unica vista il modo in cui gruppi di oggetti possono collaborare, scambiandosi messaggi (cioè invocando metodi), nello svolgimento del caso d uso rende esplicita la struttura dei messaggi evidenzia l eventuale eccessiva centralizzazione di progetti dove un solo oggetto compie tutto il lavoro evidenzia il flusso di controllo di un programma OO non definisce con precisione il comportamento degli oggetti Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 2

Tipi di diagrammi delle interazioni Diagrammi di sequenza Diagrammi di collaborazione Entrambi mostrano i loro limiti quando si devono rappresentare processi con molti cicli o condizioni Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 3

Diagrammi di sequenza Enfatizzano l ordinamento temporale dei messaggi Sono utili per illustrare processi concorrenti Elementi Sintassi Semantica Oggetto Scatola, posta in cima a una linea di vita, contenente il nome sottolineato dell oggetto Indica un istanza di una classe Linea di vita Linea tratteggiata verticale (formalismo introdotto da Jacobson) Il verso del tempo è dall alto verso il basso Vita dell oggetto Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 4

Diagrammi di sequenza (cont.) Elementi Sintassi Semantica Messaggio di invocazione Box di attivazione Freccia a una punta, con punta piena e linea continua, posta tra due linee di vita (non necessariamente distinte) ed etichettata col nome del messaggio (ed eventuali altre info di controllo, scritte prima del nome) L ordine di scambio dei messaggi è dall alto verso il basso Elemento opzionale: sottile scatola verticale sovrapposta alla linea di vita di un oggetto Invocazione da parte dell oggetto dalla cui linea di vita si diparte la freccia di un metodo dell oggetto verso la cui linea di vita la freccia è diretta Se le linee di vita sorgente e destinazione coincidono, si tratta di una chiamata interna Intervallo in cui l oggetto è attivo Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 5

Diagrammi di sequenza (cont.) Elementi Sintassi Semantica Informazioni di controllo di un messaggio: condizioni e/o indicatore di iterazione Elementi opzionali La condizione si indica per prima, fra parentesi quadre L indicatore di iterazione è un asterisco La condizione indica quando il msg viene effettivamente generato (in casi complessi, anziché usare le condizioni, è preferibili disegnare diagrammi di sequenza separati) L indicatore di iterazione mostra che un msg viene inviato più volte a diversi oggetti (tutti dello stesso tipo) Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 6

Diagrammi di sequenza (cont.) Elementi Sintassi Semantica Messaggio di ritorno Elemento opzionale: freccia a una punta, con punta aperta e linea tratteggiata, con verso da dx a sx, posta tra due linee di vita distinte: la linea destinazione aveva precedentemente inviato un msg alla linea sorgente Indica il valore ritornato da un msg precedente La notazione con freccia è superflua Messaggio di creazione di un oggetto Notazione alternativa: etichetta aggiuntiva del msg riportante il nome del valore di ritorno, come segue nome_val_ritorno := nome_msg È come un messaggio di invocazione ma termina entro la scatola che rappresenta un oggetto e la sua etichetta è new (o <<create>>) Creazione dell istanza di un oggetto Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 7

Diagrammi di sequenza (cont.) Messaggio di distruzione di un oggetto Messaggio asincrono Descrizione testuale È come un messaggio di invocazione ma termina in una grande X posta sotto il box di attivazione dell oggetto che viene distrutto e il suo stereotipo è <<distruzione>> (o <<destroy>>) Freccia in linea continua a mezza testa piena Esistono tre tipi di messaggi asincroni: creazione di un thread (new) creazione dell istanza di un oggetto (new) comunicazione con un thread già in esecuzione Testo sul margine sx dove ogni blocco di testo è allineato col msg corrispondente Distruzione dell istanza di un oggetto Messaggio che non blocca l esecuzione del chiamante, il quale può proseguire con la propria elaborazione Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 8

L esempio Bancomat, caso d uso Saldo Finestra Cliente InfoCC Il sistema controlla che la tessera sia valida [tessera inserita] tessera ok Candidati a diventare classi Il sistema verifica il codice controlla codice codice ok richiesta saldo richiesta saldo per codice Candidati a diventare metodi Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 9

Un altro esempio c : Client new :Transaction p :ODBCProxy setactions(a, d, o) committed setvalues(d, 3.4) setvalues(a, CO ) <<destroy>> Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 10

Diagrammi di sequenza: Iterazioni x * [! EOF] f( ) y Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 11

Diagrammi di collaborazione Mostrano come sono collegati gli oggetti La disposizione delle icone che rappresentano gli oggetti può assumere un particolare significato per il progettista (ad es. la suddivisione in package) Sono adatti per invocazioni innestate Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 12

Diagrammi di collaborazione (cont.) Elementi Sintassi Semantica Oggetto Scatola contenente NomeOggetto :NomeClasse (i due nomi sono Indica un istanza di una classe entrambi opzionali) Collegamento Linea continua tesa fra due scatole fra due oggetti Messaggio Freccia parallela a un collegamento Una singola freccia può rappresentare più msg, ciascuno numerato e fornito di etichetta come nei diagrammi di sequenza, tutti aventi lo stesso verso In parallelo a un collegamento possono esserci due frecce di verso opposto La numerazione indica la sequenza totale dei messaggi all interno del diagramma La numerazione può essere semplice o decimale Dewey (es. 1.1, 1.2, ecc.) Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 13

Diagrammi di collaborazione: esempi c : Client :Transaction 1: new 2: set Actions(a, d, o) 3: <<destroy>> 2.1 : setvalues(d, 3.4) 2.2 : setvalues(a, CO ) p :ODBDProxy Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 14

Diagrammi di collaborazione: esempi (cont.) Gestione ordini : Finestra Inserimento Ordine 1 : preparazione() : Ordine 1.1 : *[per tutte le linee d ordine] preparazione () 1.1.2.1 : deveriordinare := deveriord() 1.1.1 : disponibilità := controllo() 1.1.2 [disponibilità = true] remove() : Linea d Ordine : Articolo : Prodotto da Consegnare 1.1.3 : [disponibilità = true] new 1.1.2.2 : [deveriordinare] new : Approvvigionamento Articolo Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 15

Schede CRC (Classe-Responsabilità-Collaborazione) Non appartengono a UML Si usano per esplorare alternative di comportamento e di interazione delle classi con cui si intende implementare un caso d uso (o i suoi scenari), prima di effettuare una scelta che sarà poi documentata coi diagrammi di interazione (usare questi ultimi per tale esplorazione sarebbe troppo pesante) Scheda = cartoncino 10 x 15 cm Responsabilità Nome_Classe Collaborazione Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 16

Responsabilità di una classe È la descrizione di alto livello degli scopi (da uno a tre) per cui è stata creata la classe e dei doveri della stessa nei confronti delle altre e del sistema Permette di superare la visione della classe come semplice contenitore di dati Può corrispondere a un operazione, a un attributo, o a un aggregazione di attributi e operazioni Collaboratori di una classe = altre classi con cui la classe interagisce Marina Zanella - Ingegneria del Software UML: Diagrammi delle interazioni 17