UML (ancora)08 UML - 2010/11 G. Bucci 20 Un attore speciale Nella specifica si legge: “alla...

52
08 UML - 2010/11 G. Bucci 1 UML (ancora) Contenuto: Casi d’uso Diagrammi di sequenza Componenti PROVVISORIO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

08 UML - 2010/11 G. Bucci 52

Esempi