Caso di Studio Acquisti on line Analisi Marina Mongiello Tipologie di modelli Ogni diagramma enfatizza una vista particolare del sistema Diversi diagrammi rappresentanti diverse viste devono essere sviluppati e integrati Tre tipologie di modelli: • Modello dello stato – – Vista statica del sistema Modella i requisiti informativi • • Modello del comportamento – – Vista operativa del sistema Modella i requisiti funzionali • • • • • Diagramma delle classi Diagramma dei casi d’uso Diagramma di sequenza Diagramma di collaborazione Diagramma di attività Modello del cambiamento di stato – – – Vista dinamica del sistema Modella l’evoluzione nel tempo degli oggetti Mostra le transizioni fra gli stati degli oggetti • Diagramma statechart Marina Mongiello Specifica del Caso (1/4) Trattamento degli ordini cliente • Un produttore di computer offre la possibilità di acquistare computer via Internet. • Il cliente può selezionare un computer sulla pagina web del produttore. Marina Mongiello Specifica del Caso (2/4) • I computer sono classificati in server, desktop e portatili. • Il cliente può selezionare un configuratore standard o può costruire interattivamente la configurazione desiderata. • I componenti configurabili (come le memorie) sono presentati in una lista di opzioni disponibili. • Per ogni configurazione, il cliente può valutarne il costo. Marina Mongiello Specifica del Caso (3/4) • Per ordinare, il cliente deve fornire le informazioni per la consegna e per il pagamento. • Le modalità di pagamento accettate sono: carta di credito e assegno. • Una volta che l’ordine è stato inviato, il sistema manda un e-mail di conferma al cliente con i dettagli dell’ordine. • Il cliente, mentre attende l’arrivo del computer, può controllare on-line lo stato dell’ordine in ogni momento. Marina Mongiello Specifica del Caso (4/4) • Il trattamento di back-end consiste nei passi di: – verifica della solvibilità del cliente, – richiesta al magazzino della configurazione ordinata, – stampa di una fattura, – richiesta al magazzino di spedire il computer. Marina Mongiello Modellazione dei Casi d’uso Comportamento del sistema: – Come reagisce a eventi esterni Il comportamento è descritto dai casi d’uso Caso d’uso: una funzione di business esternamente visibile a un attore e che può essere controllata singolarmente nel processo di sviluppo Diagramma dei casi d’uso: Rappresentazione visuale di attori e casi d’uso con specifiche e definizioni aggiuntive Modello documentato del comportamento del sistema Marina Mongiello Analisi passo 1 (1/4) Con riferimento alla specifica del caso precedente, si considerino i seguenti requisiti (opportunamente adattati) per trovare gli attori nell’applicazione di Acquisti OnLine: Marina Mongiello Analisi passo 1 (2/4) 1. Il cliente usa la pagina web del produttore per vedere la configurazione standard del computer (server, desktop o portatile) scelto. Il costo è esplicitamente mostrato. 2. Il cliente sceglie di vedere i dettagli della configurazione, per l’acquisto oppure per definire un’altra configurazione più adatta. Il costo di qualunque configurazione può essere calcolato su richiesta del cliente. Marina Mongiello Analisi passo 1 (3/4) 3. Il cliente può scegliere di ordinare il computer direttamente online oppure può richiedere un incontro con il venditore prima di confermare l’ordine, per ottenere maggiori spiegazioni sui dettagli dell’ordine, una negoziazione del costo, etc. 4. Per ordinare, il cliente deve riempire online un modulo con i dettagli della spedizione, l’indirizzo di fatturazione e i dettagli di pagamento (carta di credito o assegno). Marina Mongiello Analisi passo 1 (2/4) 5. Dopo che l’ordine del cliente è stato inviato e confermato, il venditore invia elettronicamente una richiesta al magazzino con i dettagli della configurazione ordinata. 6. I dettagli della transazione, compresi un numero d’ordine e un numero cliente, sono inviati via e-mail al cliente, permettendo a quest’ultimo di controllare lo stato dell’ordine. 7. Il magazzino riceve la fattura dal venditore e spedisce il computer al cliente. Marina Mongiello Attori Cliente Venditore Marina Mongiello Magazzino Analisi Passo 2 Con riferimento al Passo 1 di analisi si trovino i casi d’uso dell’applicazione Acquisti OnLine Marina Mongiello Soluzione • Costruire una matrice in cui i requisiti di funzionalità sono associati agli attori e ai casi d’uso • Struttura della tabella N. Req. Descrizione Requisito Attore Marina Mongiello Caso d’uso Req. Requisito Attore Caso d’uso 1 Il cliente usa la pagina web acquisti ondine del produttore per selezionare una configurazione del server, dektop o computer portatile che potrebbe interessargli. Il prezzo viene mostrato. Cliente Mostrare una Configurazione Computer Standard 2 Il cliente esamina i dettagli della configurazione per acquistarla direttamente o per costruire una configurazione più adatta. Il prezzo di ogni configurazione può essere calcolato su richiesta del cliente, Cliente Costruire Configurazione Computer 3. Il cliente potrebbe scegliere di ordinare il computer ondine oppure richiedere il contatto di un venditore per una spiegazione dei dettagli dell’ordine, negoziare il prezzo, etc., prima che l’ordine sia emesso. Cliente, Venditore Ordinare Computer Configurato, Richiedere Contatto Commerciale 4 Per emettere l’ordine, il cliente deve riempire un modulo con gli indirizzi di spedizione e di fatturazione e con i dettagli del pagamento ( carta di credito o assegno) Cliente Ordinare Computer Configurato, Verificare e Accettare Pagamento Cliente 5 Dopo che un ordine cliente è stato registrato nel sistema, il venditore invia al magazzino un e-mail con i dettagli della configurazione ordinata Venditore, Magazzino Informare Magazzino su Ordine 6 I dettagli della transazione, compresi numero d’ordine e numero contabile cliente, in modo che questi possa controllare ondine lo stato dell’ordine Cliente, Venditore Ordinare Computer Configurato, Aggiornare Stato Ordine 7 Il magazzino ottiene la fattura dal venditore e spedisce il computer al cliente Venditore, Magazzino Stampare Fattura Marina Mongiello N. Req. 1 2 Descrizione Requisito Attore Il cliente usa la pagina web Cliente acquisti online del produttore per selezionare una configurazione del server, dektop o computer portatile che potrebbe interessargli. Il prezzo viene mostrato. Il cliente esamina i dettagli della Cliente configurazione per acquistarla direttamente o per costruire una configurazione più adatta. Il prezzo di ogni configurazione può essere calcolato su richiesta del cliente. Marina Mongiello Caso d’uso Mostrare una Configurazio ne Computer Standard Costruire Configurazio ne Computer N. Descrizione Requisito Req. 3 Il cliente potrebbe scegliere di ordinare il computer online oppure richiedere il contatto di un venditore per una spiegazione dei dettagli dell’ordine, negoziare il prezzo, etc., prima che l’ordine sia emesso. 4 Per emettere l’ordine, il cliente deve riempire un modulo con gli indirizzi di spedizione e di fatturazione e con i dettagli del pagamento (carta di credito o assegno) Marina Mongiello Attore Caso d’uso Cliente, Ordinare Venditore Computer Configurato, Richiedere Contatto Commerciale Cliente Ordinare Computer Configurato, Verificare e Accettare Pagamento Cliente N. Descrizione Requisito Attore Req. 5 Dopo che un ordine cliente è Venditore, stato registrato nel sistema, il Magazzino venditore invia al magazzino un e-mail con i dettagli della configurazione ordinata 6 I dettagli della transazione, Cliente, compresi numero d’ordine e Venditore numero contabile cliente, in modo che questi possa controllare online lo stato dell’ordine 7 Il magazzino ottiene la fattura Venditore, dal venditore e spedisce il Magazzino computer al cliente Marina Mongiello Caso d’uso Informare Magazzino su Ordine Ordinare Computer Configurato, Aggiornare Stato Ordine Stampare Fattura Casi d’uso Mostrare Configurazione Computer Standard Richiedere Contatto Commerciale Aggiornare Stato Ordine Costruire Configurazione Computer Verificare e Accettare Pagamento Cliente Stampare Fattura Marina Mongiello Ordinare Computer Configurato Informare magazzino su Ordine Analisi Passo 3 Con riferimento ai passi precedenti disegnare un diagramma dei casi d’uso per l’applicazione Acquisti OnLine Marina Mongiello Diagramma dei casi d’uso Mostrare Configurazione Computer Standard Costruire Configurazione Computer Ordinare Computer Configurato <<extend>> Verificare e Accettare Pagamento Cliente Aggiornare Stato Ordine Magazzino Cliente Stampare Fattura Informare magazzino Marina Mongiello su Ordine Richiedere Contatto Commerciale Venditore Documentazione dei casi d’uso • Ciascun caso d’uso deve essere descritto in un documento testuale che definisce cosa il sistema deve fare quando l’attore attiva un caso d’uso. • Struttura del documento di un caso d’uso – – – – Breve descrizione Attori coinvolti Precondizioni necessarie per l’inizio del caso d’uso Descrizione dettagliata del flusso degli eventi • Flusso principale degli eventi – Sottoflussi degli eventi • Flussi alternativi – Postcondizioni per definire lo stato del sistema dopo il termine del caso d’uso Marina Mongiello Analisi Passo 4 • Con riferimento ai passi precedenti, si scriva un documento di caso d’uso per Ordinare Computer Configurato. • Derivare eventuali dettagli non definiti nei requisiti Marina Mongiello Soluzione • Redigere un documento, generalmente comprendente anche molte pagine con indice. • Soluzione adottata in questo esempio: – Descrizione in forma tabellare Marina Mongiello Caso d’uso Ordinare computer configurato Breve Descrizione Questo caso d’uso permette al Cliente di emettere un ordine di acquisto. Ciò comprende la necessità di fornire gli indirizzi di consegna e fatturazione così come i dettagli del pagamento Attori Cliente Precondizioni Il cliente usa un browser Internet per accedere alle pagine web del produttore. La pagina di inserimento ordine mostra i dettagli di un computer configurato con il suo prezzo. Flusso principale Il caso d’uso inizia quando il Cliente decide di ordinare il computer configurato scegliendo sullo schermo una funzione Continua (o simile) mostrata quando i dettagli dell’ordine sono visualizzati. Il sistema chiede che il cliente inserisca i dettagli dell’acquisto, comprendendo: nome del venditore (se conosciuto), dettagli della spedizione (nome cliente e indirizzo), (carta di credito o assegno), qualsiasi commento. Il cliente scegli una funzione Acquisto (o simile) per inviare l’ordine al produttore. Il sistema assegna un numero d’ordine univoco e un numero contabile cliente all’ordine d’acquisto e memorizza le informazioni nel database. Il sistema invia un e-mail al Cliente (con il numero d’ordine, il numero cliente e tutti i dettagli dell’ordine) come conferma d’accettazione dell’ordine. Flussi alternativi Il cliente attiva la funzione di Acquisto prima di aver fornito tutte le informazioni necessarie. Il sistema visualizza un messaggio d’errore e richiede che le informazioni mancanti siano fornite. Il cliente sceglie la funzione Ricomincia (o simile) per avere un modulo d’acquisto vuoto. Il sistema permette al Cliente di inserire le informazioni un’altra volta. Postcondizioni Se il caso ha avuto successo, l’ordine d’acquisto è registrato nel database del sistema. Altrimenti, lo stato del sistema non viene modificato. Marina Mongiello Caso d’uso Ordinare computer configurato Breve Descrizione Questo caso d’uso permette al Cliente di emettere un ordine di acquisto. Ciò comprende la necessità di fornire gli indirizzi di consegna e fatturazione così come i dettagli del pagamento Cliente Attori Precondizioni Il cliente usa un browser Internet per accedere alle pagine web del produttore. La pagina di inserimento ordine mostra i dettagli di un computer configurato con Marina Mongiello il suo prezzo. Caso d’uso Ordinare computer configurato Flusso principale Il caso d’uso inizia quando il Cliente decide di ordinare il computer configurato scegliendo sullo schermo una funzione Continua (o simile) mostrata quando i dettagli dell’ordine sono visualizzati. Il sistema chiede che il cliente inserisca i dettagli dell’acquisto, comprendendo: nome del venditore (se conosciuto), dettagli della spedizione (nome cliente e indirizzo), (carta di credito o assegno), qualsiasi commento. Il cliente scegli una funzione Acquisto (o simile) per inviare l’ordine al produttore. Il sistema assegna un numero d’ordine univoco e un numero contabile cliente all’ordine d’acquisto e memorizza le informazioni nel database. Il sistema invia un e-mail al Cliente (con il numero d’ordine, il numero cliente e tutti i dettagli dell’ordine) come conferma d’accettazione dell’ordine. Marina Mongiello Caso d’uso Flussi alternativi Ordinare computer configurato Il cliente attiva la funzione di Acquisto prima di aver fornito tutte le informazioni necessarie. Il sistema visualizza un messaggio d’errore e richiede che le informazioni mancanti siano fornite. Il cliente sceglie la funzione Ricomincia (o simile) per avere un modulo d’acquisto vuoto. Il sistema permette al Cliente di inserire le informazioni un’altra volta. Postcondizioni Se il caso ha avuto successo, l’ordine d’acquisto è registrato nel database del sistema. Altrimenti, lo stato del sistema non viene modificato. Marina Mongiello Modellazione delle attività • Modello delle attività – Rappresenta graficamente il flusso di eventi di un caso d’uso • Si interpone fra – il modello dei casi d’uso (alto livello) • Diagramma dei casi d’uso – Il modello di interazione (basso livello) • Diagramma di sequenza • Diagramma di collaborazione Marina Mongiello Diagramma delle attività • Mostra i passi di una computazione • Ogni passo è una stato in cui si esegue qualcosa • I Passi di esecuzione sono detti anche stati di attività • Le attività possono essere dedotte dalla descrizione dei flussi principali e alternativi Marina Mongiello Differenze tra diagramma dei casi d’uso e diagramma della attività • Caso d’uso – Scritte dalla prospettiva di un attore esterno • Modelli di attività – Punto di vista interno del sistema Marina Mongiello Analisi Passo 5 Con riferimento al passo 4 di analisi, si considerino nell’applicazione Acquisti OnLine i flussi principale e alternativi del documento del caso d’uso Ordinare Computer Configurato e si trovino le attività Marina Mongiello Soluzione • Una tabella elenca le specifiche dei flussi alternativi del documento di un caso d’uso e identifica gli stati di attività. • Rappresentazione grafica delle attività Marina Mongiello N. Asserzioni contenute nel caso d’uso Attività 1 Il caso d’uso inzia quando il Cliente decide di ordinare il computer configurato scegliendo sullo schermo una funzione Continua ( o simile) mostrata quando i dettagli dell’ordine sono visualizzati Mostrare Attuale Configurazione; Ottenere Richiesta Ordine 2 Il sistema chiede che il Cliente inserisca i dettagli dell’acquisto, comprendendo: nome del venditore (se conosciuto), dettagli della spedizione (nome cliente e indirizzo), dettagli della fattura (se differenti dai dettagli della spedizione), metodo di pagamento ( carta di credito o assegno), qualsiasi commento. Ottenere Dettagli Acquisto; Mostrare Modulo Acquisto 3 Il Cliente sceglie una funzione Acquisto 8 o simile) per inviare l’ordine al produttore Mostrare Modulo Acquisto 4 Il sistema assegna un numero d’ordine univoco e un numero contabile cliente all’ordine d’acquisto e memorizza le informazioni sull’ordine nel database Memorizzare Ordine 5 Il sistema invia un e-mail al Cliente (con il numero d’ordine, il numero cliente e tutti i dettagli dell’ordine) come conferma d’accettazione dell’ordine Email Dettagli Ordine 6 Il cliente attiva la funzione di Acquisto prima di aver fornito tutte le informazioni necessarie. Il sistema visualizza un messaggio d’errore e richiede che le informazioni mancanti siano fornite, Ottenere Dettagli Acquisto; Mostrare Modulo Acquisto 7 Il Cliente sceglie la funzione Ricomincia ( o simile) per avere un modulo d’acquisto vuoto. Il sistema permette al Cliente di inserire le informazioni un’altra volta. Ottenere Richiesta Ordine Marina Mongiello N Asserzioni contenute nel caso d’uso Attività 1 Il caso d’uso inzia quando il Cliente decide di ordinare il computer configurato scegliendo sullo schermo una funzione Continua ( o simile) mostrata quando i dettagli dell’ordine sono visualizzati Il sistema chiede che il Cliente inserisca i dettagli dell’acquisto, comprendendo: nome del venditore (se conosciuto), dettagli della spedizione (nome cliente e indirizzo), dettagli della fattura (se differenti dai dettagli della spedizione), metodo di pagamento ( carta di credito o Marina Mongiello assegno), qualsiasi commento. Mostrare Attuale Configurazione; Ottenere Richiesta Ordine 2 Ottenere Dettagli Acquisto; Mostrare Modulo Acquisto N 3 4 5 Asserzioni contenute nel caso d’uso Il Cliente sceglie una funzione Acquisto (o simile) per inviare l’ordine al produttore Il sistema assegna un numero d’ordine univoco e un numero contabile cliente all’ordine d’acquisto e memorizza le informazioni sull’ordine nel database Il sistema invia un e-mail al Cliente (con il numero d’ordine, il numero cliente e tutti i dettagli dell’ordine) come conferma d’accettazione dell’ordine Marina Mongiello Attività Mostrare Modulo Acquisto Memorizzare Ordine Email Dettagli Ordine N Asserzioni contenute nel caso d’uso 6 Il cliente attiva la funzione di Acquisto prima di aver fornito tutte le informazioni necessarie. Il sistema visualizza un messaggio d’errore e richiede che le informazioni mancanti siano fornite. 7 Il Cliente sceglie la funzione Ricomincia (o simile) per avere un modulo d’acquisto vuoto. Il sistema permette al Cliente di inserire le informazioni un’altra volta. Marina Mongiello Attività Ottenere Dettagli Acquisto; Mostrare Modulo Acquisto Ottenere Richiesta Ordine Attività Mostra Attuale Configurazione Ottenere Dettagli Acquisto Ottenere Richiesta Ordine Mostrare Modulo Acquisto Memorizzare Ordine Email Dettagli Ordine Marina Mongiello Diagramma di attività • Mostra le transizioni tra le attività • Ha uno stato iniziale e uno o più stati finali – Simbologia utilizzata • Stato iniziale • Stato finale – Le transizioni si possono • separare (branch) o • fondere (merge) – Cammini di computazione alternativi (threads) • biforcarsi fork o • riunirsi join – Cammini di computazione concorrenti (paralleli) • E’ simile ad un diagramma di flusso convenzionale Marina Mongiello Analisi passo 6 Con riferimento ai passi 4 e 5 di analisi dell’applicazione Acquisti OnLine, si rappresenti un diagramma d’attività per il caso d’uso Ordinare Computer Configurato Marina Mongiello Diagramma di attività Mostra Attuale Configurazione Ottenere Richiesta Ordine [tempolimite] Mostrare Modulo Acquisto Ottenere Dettagli Acquisto [OK] Marina Mongiello Memorizzare Ordine Email Dettagli Ordine Modellazione delle Classi Stato del sistema: Rappresenta il contenuto informativo del sistema a un dato istante Costituito da oggetti istanza Definito mediante modelli delle classi Classi Attributi Operazioni delle classi Associazioni Aggregazioni e composizioni Generalizzazioni Diagramma delle classi Offre una rappresentazione degli elementi di modellazione Marina Mongiello Classi • Classi entity: – Definiscono il nucleo del sistema informativo • Classi boundary: – Definiscono gli oggetti dell’interfaccia GUI fra gli utenti e il sistema • Classi di controllo: – Controllo della logica di programma Marina Mongiello Possono non essere trattate nell’analisi dei requisiti Analisi passo 7 Con riferimento ai requisiti definiti nella specifica del caso e al passo 1, si trovino le classi entity per l’applicazione Acquisti OnLine Marina Mongiello Req Requisito Classi entity 1 Il cliente usa la pagina web d’acquisti ondine del produttore per selezionare una configurazione standard del server, dektop o computer portatile che potrebbe interessargli. Il prezzo viene mostrato. Cliente, Computer (Prodotto, ConfigurazioneStandard) 2 Il cliente esamina i dettagli della configurazione, per acquistarla direttamente o per costruire una configurazione più adatta. Il prezzo di ogni configurazione può essere calcolato su richiesta del cliente. Cliente, ComputerConfigurato, ElementoConfigurazione 3 Il cliente potrebbe scegliere di ordinare il computer ondine oppure richiedere il contatto di una venditore per una spiegazione dei dettagli dell’ordine, negoziare il prezzo, etc. prima che l’ordine sia emesso. Cliente, ComputerConfigurato, Ordine, Venditore 4 Per emettere l’ordine, il cliente deve riempire un moduloonline con gli indirizzi di spedizione e di fatturazione e con i dettagli del pagamento ( carta di credito o assegno). Cliente, Ordine, Spedizione, Fattura, Pagamento 5 Dopo che un ordine cliente è stato registrato nel sistema, il venditore invia al magazzino un e-mail con i dettagli della configurazione ordinata. Cliente, ComputerConfigurato, Ordine, Venditore, ElementoConfigurazione 6 I dettagli della transazione, compresi numero d’ordine e numero contabile cliente, sono inviati via e-mail al cliente, in modo che questi possa controllare lo stato dell’ordine. Cliente, Ordine, StatoOrdine 7 Il magazzino ottiene la fattura dal venditore e spedisce il computer al cliente Spedizione, Fattura Marina Mongiello Classi Cliente (dalla vista dei casi d’uso) Computer Computer Configurato Ordine ElementoConfigurazione Pagamento Marina Mongiello Fattura Analisi passo 8 Con riferimento ai passi 5,6,7, si introducano gli attributi per le classi considerando solo attributi di tipo primitivo Marina Mongiello Classi 1/2 Cliente (dalla vista dei casi d’uso) Nome_cliente: String Indirizzo_cliente: String Telefono: String Email: String Ordine Numero_ordine: Integer Data_ordine: Date Indirizzo_spedizione: String Totale_ordine: Currency Stato_ordine: String Nome_venditore: String Computer Nome_computer: String Prezzo_standard: Currency Pagamento Metodo_pagamento: String Data_ricevimento: Date Somma_ricevuta: Currency Marina Mongiello Classi 2/2 Fattura Numero_fattura: Integer Data_fattura: Date Totale_fattura: Currency ComputerConfigurato Nome_computer: String Prezzo_configurato: Currency ElementoConfigurazione Tipo_elemento: String Descr_elemento: String Marina Mongiello Associazioni • Specificano legami per le collaborazioni tra oggetti • molteplicità Marina Mongiello Analisi passo 9 Con riferimento ai passi precedenti si analizzino i cammini di accesso tra le classi necessari per i casi d’uso. Si aggiungano le associazioni al modello delle classi Marina Mongiello Associazioni Cliente (dalla vista dei casi d’uso) Computer 1..1 0..* ElementoConfigurazione Ordine 0..* 1..1 1..1 Pagamento 1..1 0..1 Fattura Marina Mongiello 1..* Computer Configurato Aggregazioni e composizioni • Sono forme di associazione con una semantica propria. • Sono rappresentate come associazioni con attributi aventi per tipo le classi partecipanti alle singole associazioni Marina Mongiello Analisi passo 10 Con riferimento ai passi precedenti si individuino le relazioni di aggregazione Marina Mongiello Aggregazioni Computer Cliente (dalla vista dei casi d’uso) 1..1 1..* 0..* ElementoConfigurazione Ordine 0..* 1..1 1..1 Pagamento 1..1 0..1 Fattura Marina Mongiello 1..* 1..* Computer Configurato Analisi passo 11 Con riferimento ai passi precedenti si individuino le relazioni di generalizzazione Marina Mongiello Generalizzazione ElementoConfigurazione Cliente (dalla vista dei casi d’uso) 1..* 1..1 0..* Ordine Computer 0..* 1..1 1..1 1..1 Pagamento 0..1 Fattura Computer Configurato Marina Mongiello Computer Standard Analisi passo 12 Si integrino i modelli precedenti mostrando un diagramma delle classi completo. Si modifichino gli attributi come conseguenza della gerarchia di generalizzazione Marina Mongiello Modellazione dell’interazione • Considera le interazioni tra oggetti come la tecnica per eseguire i casi d’uso • Modello dell’interazione: – Costruito dopo il modello delle classi • Usa due modelli intercambiabili – diagramma di sequenza – diagramma di collaborazione Marina Mongiello Interazioni • Un’interazione è un insieme di messaggi che caratterizza un qualche comportamento. • Messaggi – scambiati tra oggetti usando legami persistenti o transitori Marina Mongiello Differenze tra modello delle attività e modello dell’interazione • Entrambe catturano il comportamento del sistema • Modello delle attività: – Alto livello di astrazione – Mostra la sequenza degli eventi prima che questi siano assegnati ad oggetti • Modello dell’interazione: – Mostra la sequenza dei messaggi tra gli oggetti durante al collaborazione Marina Mongiello Differenze tra diagramma di sequenza e diagramma di collaborazione • Diagramma di sequenza – Enfatizza la sequenza temporale degli eventi • Diagramma di collaborazione – Enfatizza le relazioni tra gli oggetti Marina Mongiello Diagramma di sequenza • Può essere costruito per ogni caso d’uso, quindi, per ogni diagramma di attività • Specifica come gli oggetti interagiscono evidenziando la sequenza temporale dei messaggi scambiati • Il diagramma ha due dimensioni – sull’asse orizzontale sono rappresentati gli oggetti che interagiscono – sull’asse verticale la sequenza temporale dei messaggi Marina Mongiello Elementi del diagramma di sequenza • Gli oggetti sono rappresentati come box in cima ad una linea tratteggiata verticale – Lifeline: (linea verticale) • linea temporale • rappresenta la vita dell’oggetto – Box di attivazione: • rappresenta il periodo durante il quale l’oggetto ha il controllo del flusso Marina Mongiello Elementi del diagramma di sequenza • Una freccia rappresenta un messaggio da un oggetto chiamante (sender) a un’operazione (metodo) dell’oggetto chiamato (target) • Il messaggio ha • un nome • una lista di argomenti attuali attraverso cui informazioni possono essere scambiate fra i due oggetti • Gli argomenti attuali possono essere – di input dal sender al target – di output dal target al sender Marina Mongiello Analisi passo 13 • Con riferimento al diagramma di attività, si consideri il primo passo del diagramma ovvero Mostrare Configurazione Attuale. • Si costruisca un diagramma di sequenza per tale attività Marina Mongiello Diagramma di sequenza Classe boundary :Cliente unaFinConf: FinestraConfigurazione apriNuova :Elemento Configurazione unComp: Computer ottenereConf * ottenereElementoConf mostrareComputer (out elemento) (insieme_elementi) Creazion e nuovo oggetto Indica l’iterazione su una collezione Marina Mongiello Statechart Sospeso Nuovo scorte non disponibili Arretrato scorte disponibili [data spedizione futura] Pronto scorte disponibili [data spedizione futura] [cancellato] scorte disponibili [data spedizione ora] / configurareComputer Pronto da Spedire Cancellato [cancellato] spedire [accettato] Evaso Marina Mongiello