UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla...
Transcript of UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla...
![Page 1: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/1.jpg)
08 UML - 2010/11 G. Bucci 1
UML (ancora)Contenuto:Casi d’uso Diagrammi di sequenza Componenti
PROVVISORIO
![Page 2: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/2.jpg)
08 UML - 2010/11 G. Bucci 2
Casi d’uso
Oggi l’anaIisi dei casi d’uso è considerata uno dei passi più importanti dell’intero processo di sviluppo.
Mostrano le relazioni tra “attori” e “casi d’uso” del sistema.
Danno una rappresentazione del “comportamento” del sistema
Mettono in evidenza le funzionalità di un sistema (o di parte di sistema o di una classe) così come le percepisce chi interagisce con esso dal mondo esterno.
Un caso d’uso è schematizzato con una ellisse contenente il nome del caso d’uso.
Centrati sull’utente
.Caso d’uso
Attore
![Page 3: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/3.jpg)
08 UML - 2010/11 G. Bucci 3
Cos’è un caso d’usoUn caso d’uso è la rappresentazione di una coerente funzionalità del sistema
Un caso d’uso è sempre una sequenza di eventi/risposte
La sequenza può essere anche avviata dal sistema
Confine del sistema
Reazione
2. Azione
1. Azione Reazione
Attore
![Page 4: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/4.jpg)
08 UML - 2010/11 G. Bucci 4
Ruolo dei casi d’uso
requisiti
effettua ordineVenditore
Acquirente
modelli di analisi e progetto
casiprova
AcquirenteOrdine0..* 1
![Page 5: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/5.jpg)
08 UML - 2010/11 G. Bucci 5
Esempio
Attore
Attori
![Page 6: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/6.jpg)
08 UML - 2010/11 G. Bucci 6
Diagramma
La linea che unisce un attore a un caso d’uso costituisce una comunicazione.
La comunicazione è l’unica relazione tra attori e casi d’uso.
Spesso la linea è orientata a indicare chi inizia il caso d’uso.
![Page 7: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/7.jpg)
08 UML - 2010/11 G. Bucci 7
Metodo
Identificare gli attori
Definire cosa un attore vuol fare => caso d’uso
I diagrammi servono a dare una visione sintetica. Al diagramma di un caso d’uso occorre aggiungere una descrizione testuale
La descrizione testuale si compone di sequenza di statement del tipo:
L’attore fa <xx> il sistema fa <yy>
L’attore fa <aa> il sistema fa <bb>
![Page 8: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/8.jpg)
08 UML - 2010/11 G. Bucci 8
Descrizione testuale
Numero e titolo
Breve descrizione
Attori
Precondizioni per l’esecuzione del CU
Flusso (scenario) principale
Flussi (scenari) alternativi
Postcondizioni
![Page 9: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/9.jpg)
08 UML - 2010/11 G. Bucci 9
Formato (possibile)
![Page 10: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/10.jpg)
08 UML - 2010/11 G. Bucci 10
![Page 11: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/11.jpg)
08 UML - 2010/11 G. Bucci 11
Non sarebbe mica male se ci fosse anche un “mockup” delle
videate
Menu Principale
Inserimento
![Page 12: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/12.jpg)
08 UML - 2010/11 G. Bucci 12
Scenari
![Page 13: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/13.jpg)
08 UML - 2010/11 G. Bucci 13
Scenario secondario
![Page 14: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/14.jpg)
08 UML - 2010/11 G. Bucci 14
Diagramma
Sono possibili le relazioni seguenti tra casi d’uso (e sottocasi):
estensione <<extend>>
inclusione <<include>>
generalizzazione
![Page 15: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/15.jpg)
08 UML - 2010/11 G. Bucci 15
InclusioneIl caso incluso viene sempre fatto come parte del caso
includente
Somiglia a una chiamata a sottoprogramma
![Page 16: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/16.jpg)
08 UML - 2010/11 G. Bucci 16
EstensioneL’estensione può avere luogo o no
Corrisponde a una situazione in cui il verificarsi di una condizione porta a fare qualcosa in più
![Page 17: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/17.jpg)
08 UML - 2010/11 G. Bucci 17
GeneralizzazioneDel tutto simile al concetto tra classi
![Page 18: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/18.jpg)
08 UML - 2010/11 G. Bucci 18
Diciamo la verità
Sono piuttosto confusi
Come notazione
Frecce nei due versi tra include e extend
Come significato
Estensione o generalizzazione?
Estensione o inclusione?
C’è chi sostiene di usare solo <<invoca>> e <<precede>>
![Page 19: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/19.jpg)
08 UML - 2010/11 G. Bucci 19
Attenzione!Siamo sicuri che il diagramma sia corretto? OK: Ci sono
interazioni tra attore e sistema
Un algoritmo non è un caso d’uso!
Se non c’è interazione (“botta e risposta”) con l’attore non è un caso d’uso
![Page 20: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/20.jpg)
08 UML - 2010/11 G. Bucci 20
Un attore speciale
Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno restituito nei termini i libri in prestito”
E’ evidente che la trasmissione deve avvenire in modo automatico, senza l’intervento del (presumibile) bibliotecario, che a quell’ora dorme
Chi è l’attore? E’ il sistema ?NO !! : Un caso d’uso è un’interazione con
un attore esterno. Il sistema svolge il caso d’uso non è l’attore. Ma allora chi è l’attore?
![Page 21: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/21.jpg)
08 UML - 2010/11 G. Bucci 21
..Un attore speciale
L’attore non può che essere il Tempo
E’ un attore concettuale che a mezzanotte avvia il caso d’uso.
Il modo in cui il Tempo si manifesta non ci interessa; sarà magari attraverso un componente software che lo realizza, concettualmente esterno al nostro sistema
![Page 22: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/22.jpg)
08 UML - 2010/11 G. Bucci 22
Perché limitarsi?
Abbiamo considerato il caso d’uso solo in riferimento allo svolgimento di una funzionalità del sistema (interazione Attore- Sistema)
Si può rappresentare di più: lo svolgimento completo di un processo di business, identificando:
Le attività che sono svolte dal sistema software
Le attività svolte per altra via
Se la procedura è complessa si può fare ricorso ai diagrammi di attività
![Page 23: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/23.jpg)
08 UML - 2010/11 G. Bucci 23
Esempio: apertura di un CC
1. il cliente si presenta in banca per aprire un nuovo c/c2. l’addetto riceve il cliente e fornisce spiegazioni (condizioni, ecc.)3. il cliente fornisce i propri dati all’addetto4. l’addetto verifica se il cliente è censito in anagrafica5. l’addetto crea il nuovo conto corrente6. l’addetto segnala il numero di conto al cliente
Varianti:3. (a) se il cliente non accetta il caso d’uso termina;
(b) se il conto va intestato a più persone vanno forniti i relativi dati
4. (a) se il cliente (o uno dei diversi intestatari) non è censito l’addetto provvede a registrarlo, richiede al cliente la firma dello specimen e ne effettua la memorizzazione via scanner
![Page 24: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/24.jpg)
08 UML - 2010/11 G. Bucci 24
Esempio: apertura di un CC
1. il cliente si presenta in banca per aprire un nuovo c/c2. l’addetto riceve il cliente e fornisce spiegazioni (condizioni, ecc.)3. il cliente fornisce i propri dati all’addetto4. l’addetto verifica se il cliente è censito in anagrafica5. l’addetto crea il nuovo conto corrente6. l’addetto segnala il numero di conto al cliente
Varianti:3. (a) se il cliente non accetta il caso d’uso termina;
(b) se il conto va intestato a più persone vanno forniti i relativi dati
4. (a) se il cliente (o uno dei diversi intestatari) non è censito l’addetto provvede a registrarlo, richiede al cliente la firma dello specimen e ne effettua la memorizzazione via scanner
I corsivi non sono funzionalità informatiche
![Page 25: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/25.jpg)
08 UML - 2010/11 G. Bucci 25
Esempio: apertura di un CC
1. il cliente si presenta in banca per aprire un nuovo c/c2. l’addetto riceve il cliente e fornisce spiegazioni (condizioni, ecc.)3. il cliente fornisce i propri dati all’addetto4. l’addetto verifica se il cliente è censito in anagrafica5. l’addetto crea il nuovo conto corrente6. l’addetto segnala il numero di conto al cliente
Varianti:3. (a) se il cliente non accetta il caso d’uso termina;
(b) se il conto va intestato a più persone vanno forniti i relativi dati
4. (a) se il cliente (o uno dei diversi intestatari) non è censito l’addetto provvede a registrarlo, richiede al cliente la firma dello specimen e ne effettua la memorizzazione via scanner
Questi passi devono essere dettagliato nel modo visto in precedenza
![Page 26: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/26.jpg)
08 UML - 2010/11 G. Bucci 26
Questa non è
accettabile !
1. L’impiegato immette a video tutti i dati (nome cliente, giorni di permanenza, numero di camera, accompagnatori……..e via elencando)
2. Il sistema effettua i controlli e presenta il conto
Non dice niente di più di una ellisse del diagramma
Una descrizione deve mostrare una sequenza dettagliata di passi
![Page 27: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/27.jpg)
08 UML - 2010/11 G. Bucci 27
…Inoltre
E’ sbagliata concettualmente:Se viene immesso un dato sbagliato
c’è il rischio di dover reimmettere tutto, a meno di non fare controlli molto onerosi dei singoli campi, della reimmissione ecc.
Se si va per passi la logica risulta semplificata
![Page 28: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/28.jpg)
08 UML - 2010/11 G. Bucci 28
Diagrammi di interazione
Sequence diagrams : mostrano le interazioni tra gli oggetti lungo le loro linee di vita (cioè secondo un ordinamento temporale)
Communication diagrams : mostrano i messaggi che vengono scambiati tra gli oggetti che intervengono nell’espletare una data funzionalità
(i primi sono di gran lunga più importanti)
![Page 29: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/29.jpg)
08 UML - 2010/11 G. Bucci 29
Diagramma di sequenza
-
sintassi
![Page 30: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/30.jpg)
08 UML - 2010/11 G. Bucci 30
Diagramma di sequenza
-
sintassi
: OggettoA
: OggettoC
X
: OggettoB
![Page 31: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/31.jpg)
08 UML - 2010/11 G. Bucci 31
Diagramma di sequenza
-
sintassi
: OggettoA
: OggettoC
X
: OggettoB
Linee di vita
Attivazioni
![Page 32: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/32.jpg)
08 UML - 2010/11 G. Bucci 32
Diagramma di sequenza
-
sintassiStimolo Sincrono
opi()
op_0()
opx(param)
op1()
: OggettoA
: OggettoC
X
: OggettoB Stimolo AsincronoRisposta
<<create>>
<<destroy>>
Ritorno
op_as()
Autostimolo
![Page 33: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/33.jpg)
08 UML - 2010/11 G. Bucci 33
Stimoli, ritorni, ecc
Uno stimolo è di norma un messaggio (la chiamata di un metodo) specialmente quando è di tipo sincrono (cioè che attende il ritorno da parte del chiamato)
Ma può essere anche un segnale (generalmente nel caso di interazioni asincrone)
La creazione e la distruzione sono essi stessi degli stimoli
Imparare un tool adeguarsi alle sue regole!!!!
![Page 34: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/34.jpg)
08 UML - 2010/11 G. Bucci 34
Esempio
Partiremo da questo diagramma delle classi
GestoreOrdini Ordinegestisce
*
Catalogo
consulta
1
![Page 35: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/35.jpg)
08 UML - 2010/11 G. Bucci 35
Questo è un Frame(UML 2)
Non indica i ritorni
Per ogni prodotto desideratoloop
: User
: GestoreOrdini
: Ordine
: Catalogo
1 : apriOrdine() 2<<create>>
3 : aggiungiProdotto()4 : Prodotto := cercaProdotto()
5 : addProdotto()
6 : calcolaPrezzo()
7 : importoTotale := getCost()8 : ImportoTotale := getCost()
9 : eliminaOrdine()10
<<destroy>>
In realtà si riesce a
indicarli, ma è
brigoso
![Page 36: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/36.jpg)
08 UML - 2010/11 G. Bucci 36
Un vantaggio dell’uso di un tool
Mettendo le operazioni sul diagramma queste diventano metodi delle classi
GestoreOrdini
+getCost()+apriOrdine()+aggiungiProdotto()+eliminaOrdine()
Ordine
+getCost()+addProdotto()+calcolaPrezzo()
gestisce
*
Catalogo
+cercaProdotto()
consulta
1
Ma bisogna faticare un po’!!
![Page 37: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/37.jpg)
08 UML - 2010/11 G. Bucci 37
![Page 38: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/38.jpg)
08 UML - 2010/11 G. Bucci 38
Frame
Servono a raggruppare parti di diagramma (eventualmente a richiamarle in altri diagrammi)
esempi di frame
Loop
Alt
(guardare StarUML, combined fragment )
nomeloop
alt [if Prodotto scontato]
[else]
![Page 39: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/39.jpg)
08 UML - 2010/11 G. Bucci 39
![Page 40: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/40.jpg)
08 UML - 2010/11 G. Bucci 40
Diagrammi di comunicazione
![Page 41: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/41.jpg)
08 UML - 2010/11 G. Bucci 41
![Page 42: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/42.jpg)
08 UML - 2010/11 G. Bucci 42
Package
Meccanismo di raggruppamento
Azienda
Produzione
Acquisti
Personale
DirigentiImpiegati
PersonaleUtilities<<import>>
Anagrafe<<access>>
Dirett
Consigliere
![Page 43: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/43.jpg)
08 UML - 2010/11 G. Bucci 43
Componente
Una parte (modulare) logica o fisica del sistema il cui comportamento esterno è descritto attraverso le interfacce che esso presenta o richiede
Un componente non dipende da altri componenti, ma solo dalle interfacce che esso offre o richiede
Un componente può essere sostituito da un altro se le interfacce sono le stesse
![Page 44: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/44.jpg)
08 UML - 2010/11 G. Bucci 44
Componenti
Notazione UML 2 (corrente)
AccountManagementNotazione UML 1.4 superata
AccountManagement<<component>>
AccountManagement<<component>>
IDVerif
TransLog
![Page 45: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/45.jpg)
08 UML - 2010/11 G. Bucci 45
Dipendenza tra componenti
AccountManagement<<component>>
CreditCardServices<<component>>
Logger<<component>>
IDverif<<interface>>
TransLog<<interface>>
AccountManagement<<component>>
Port1 Port2Port1 Port2
CreditCardServices<<component>>
Logger<<component>>
Port1Port1
IDverifTransLog
![Page 46: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/46.jpg)
08 UML - 2010/11 G. Bucci 46
ComponentiPorta: Punto di connessione (di un classificatore) con
l’esterno
InterfacciaUtente<<component>>
ServerApplicazione<<component>>
Port1Port1
Applicazione<<componente>>
Driver<<componente>> BaseDati
<<componente>>
<<delegate>><<delegate>>
![Page 47: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/47.jpg)
08 UML - 2010/11 G. Bucci 47
Porte
Una porta è il modo in cui un classificatore implementa le interfacce (offerte o richieste) verso l’esterno
delegation connector collega una porta (esterna) con elemento interno
Le porte permettono di modificare la struttura interna di un classificatore senza effetti sul mondo esterno (purchè le interfacce sulle porte siano correttamente soddisfatte)
![Page 48: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/48.jpg)
08 UML - 2010/11 G. Bucci 48
Artifact
Realizzazione concreta di un qualche elemento
file sorgente, librerie, file eseguibili
Nome<<artifact>>
Un artifact è la manifestazione di un elemento UML: Login.jar è la manifestazione del componente LoginSubsystem.
Si usa lo stereotipo <<manifest>>
Logging.jar<<artifact>>
+numLoggers
Possono avere attributi
LoggingSubsystem<<component>>
Logging.jar<<artifact>>
+numLoggers
<<manifest>>
![Page 49: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/49.jpg)
08 UML - 2010/11 G. Bucci 49
ArtifactStudente
Docente
Valutazione
Orario
Corso
Studente.java<<artifact>>
Docente.java<<artifact>>
Valutazione.java<<artifact>>
Corso.java<<artifact>>
Orario.java<<artifact>>
<<manifest>>
<<manifest>>
<<manifest>>
<<manifest>>
<<manifest>>
Studente.class<<artifact>>
Docente.class<<artifact>>
Valutazione.class<<artifact>>
Corso.class<<artifact>>
Orario.class<<artifact>>
Persone.jar<<artifact>>
Dati.jar<<artifact>>
Persone<<component>>
Docente
Studente
Docente
Studente
Persone.jar<<artifact>>
<<manifest>>
Dati<<component>>
Corso
Orario
Valutazione
Corso
Orario
Valutazione Dati.jar<<artifact>><<manifest>>
![Page 50: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/50.jpg)
08 UML - 2010/11 G. Bucci 50
Diagrammi di Deployment
Mostrano l’allocazione del software sull’hardware.
Nodo: entità che può eseguire software
Dispositivo
Ambiente di esecuzione
WebServer<<device>>
J2EE<<excecution env>>
ApplicationServer<<device>>
PersoneDatiLoggingSubsystem
components
Logging.jarPersone.jarDati.jar
artifacts
DataBase<<device>>
1*Repository
![Page 51: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/51.jpg)
08 UML - 2010/11 G. Bucci 51
Diagrammi di Deployment
ApplicationServer<<device>>
DataBase<<device>>
1*Oracle
<<execution environment>>
Persone.jar<<artifact>>
Dati.jar<<artifact>>
Logging.jar<<artifact>>
<<deploy>>
<<deploy>><<deploy>>
![Page 52: UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla mezzanotte il sistema trasmette un messaggio di sollecito a tutti i lettori che non hanno](https://reader031.fdocument.pub/reader031/viewer/2022011817/5e7a033bd9fec2625c6ff044/html5/thumbnails/52.jpg)
08 UML - 2010/11 G. Bucci 52
Esempi