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
Scarica

Caso di studio UML: analisi