lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 •...

53
1 Unified Modeling Language (UML) Richiami dei diagrammi di base per l’utilizzo nel corso di RPPI Rielaborazione delle slide proposte da M. Cossentino

Transcript of lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 •...

Page 1: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

1

Unified Modeling Language (UML)

Richiami dei diagrammi di base

per l’utilizzo nel corso di RPPI

Rielaborazione delle slide proposte da M. Cossentino

Page 2: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

2

Mary Loomis, HP - Software Technology

Laboratory:

“… la progettazione visuale e le tecniche di

rappresentazione visuale (…) permettono di

rappresentare le specifiche in un modo comprensibile

sia per le persone che per i tool di sviluppo”

Perchè usare la progettazione visuale?

Page 3: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

3

• John Roskill, Microsoft - Director of Product

Marketing for Microsoft Visual Studio:

“… Noi riteniamo la progettazione visuale molto

importante nello sviluppo delle applicazioni di livello

‘enterprise’ basate su componenti (…) perché

permette di gestire la complessità dell’applicazione.”

Perchè usare la progettazione visuale?

Page 4: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

4

Cosa è l’UML

• UML è un linguaggio per :• La specifica,

• La visualizzazione,

• La produzione

• La documentazione

• Può essere applicato a:• Sistemi software,

• Modelli economici

• Sistemi non software

• E’ il successore dei linguaggi di progettazione utilizzati nei metodi di Booch(1), OOSE/Jacobson(2), OMT/Rumbaugh(3), …

• UML non è un metodo(come i metodi di DeMarco,

Jacobson, Rumbaugh)

(1) – Object-Oriented Analysis and Design with Applications (OOADA) by Booch: http://panoramix.univ-paris1.fr/CRINFO/dmrg/OODOC/oodoc/oo-8.html

(2) - Object-Oriented Software Engineering (OOSE) by Jacobson et. al. : http://panoramix.univ-paris1.fr/CRINFO/dmrg/OODOC/oodoc/oo-12.html

(3) - Object Modelling Technique (OMT) by Rumbaugh et. al. : http://panoramix.univ-paris1.fr/CRINFO/dmrg/OODOC/oodoc/oo-7.html

Page 5: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

5

La struttura dell’UML

• Come altri linguaggi di specifica l’UML include:

• Elementi di modellazione – semantica e concetti

fondamentali per la modellazione.

• Notazione – rappresentazione grafica degli elementi

del modello.

• Linee guida – raccomandazioni per l’utilizzo.

Page 6: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

6

UML: viste e diagrammi

Page 7: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

7

Classificazione(2)

Area Vista Diagramma

Casi d’uso Diagr. dei casi d’uso

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

(2) 'The Unified Modeling Language Reference Manual' - J. Rumbaugh, I. Jacobson, G. Booch - Addison-Wesley

Descrive le entità del sistema e le loro relazioni

Descrive il comportamento del sistema nel tempo

Descrive l’organizzazione del sistema in unità

gerarchiche

Page 8: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

8

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Area Strutturale

Page 9: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

9

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Vista dei casi d’uso

Page 10: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

10

Cosa è

E’ dedicata alla comprensione e utilizzo del sistema

Questa vista comprende gli attori ed i casi d’uso insiemecon le loro interazioni.

I diagrammi di questa vista sono:1 - diagramma dei casi d’uso2 - diagramma di sequenza(*)3 - diagramma di collaborazione(*)

(*) appartengono a questa vista in quanto realizzazioni dei casi d’uso

Page 11: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

11

Il diagramma dei casi d’uso

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Page 12: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

12

Diagramma dei casi d’uso – Cosa è

I diagrammi dei casi d’uso rappresentano unavista dall’esterno del sistema.

Mostra le relazioni tra attori e casi d’uso nel sistema.

acquistare articoli

log incassierecliente

rimborsare articoli venduti

attore: un utilizzatore del sistema

caso d'uso: un "modo" di utilizzare il sistema

Page 13: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

13

Attore – cosa è

Qualcuno o qualcosa,

esterno al sistema, che

interagisce con i casi d’uso.

Page 14: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

14

Cons ulta catalogo

Acquis ta articolo

(f rom Att iv ità i n ne goz io)

Cli ente

Venditore

Effettua pagam ento

(f ro m A tt iv ità i n neg oz io )

Servizi POS

Caso d’uso – cosa è

Un modello di comportamento supportato dal sistema.

E’ una sequenza di transazioni effet-tuate tra l’attore ed il sistema durante una sessione di dialogo.

AttoreAttore

RelazioneRelazione

CasoCaso dd’’usouso

CasiCasi dd’’usouso del del gruppogruppo ““attivitattivitààin in negozionegozio””

Page 15: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

15

Relazioni – cosa sono

• Sono associazioni tra attori e casi d’uso

• I principali tipi di relazioni:

Inclusione in un caso d’uso di base difunzionalità illustrate in altri casi d’uso

Inclusione

Tra un caso d’uso più generale ed uno piùspecifico che eredita dal primo alcune funzionalità e ne aggiunge altre

Generalizzazione

Una relazione di estensione dal caso d’uso A al caso d’uso B indica che il secondo può includere (sotto specifiche condizioni dettagliate nella estensione) il comportamento del caso d’uso A.

Estensione

Il percorso della comunicazione tra un attore ed il caso d’uso cui partecipa

Associazione

NotazioneDescrizioneRelazione

<<extend>>

<<include>>

Page 16: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

16

Esempio

Cambia residenza

Fornisce i dati

<<include>>

Aggiorna passaporto

<<extends>>

Cambia residenza dall’estero

Page 17: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

17

Miglioramento delle comunicazioni(1)

Analisti commerciali ed esperti del dominio defini-scono i requisiti del sistema

Progettisti e sviluppatori del software realizzano il sistema sulla base dei requisiti fissati

Questi due gruppi devono collaborarestrettamente ma spesso la loro comunicazione è

resa difficoltosa dalle differenze nella terminologia usata.

L’UML fornisce un modello che diventa uno standard di comunicazione tra i due domini.

Page 18: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

18

Vista logica (statica)

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Page 19: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

19

La vista logica – Cosa è

Descrive le entità del sistema.

In questa vista figurano le classi con le loro relazioni statiche. In effetti viene anche descritto il comportamento dinamico delle classi.

A questa vista appartiene il diagramma delle classi

Page 20: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

20

Il diagramma delle classi

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Page 21: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

21

Cosa è una classe

Una collezione di oggetti con simile struttura, comportamento e relazioni.

Una classe contiene proprietà (attributi) e metodi (operazioni)

Page 22: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

22

Rappresentazione grafica

Il riquadro superiore contiene il nome della classe e le proprietàgenerali della classe

Il riquadro superiore contiene il nome della classe e le proprietàgenerali della classeIl riquadro centrale contiene la struttura della classeIl riquadro centrale contiene la struttura della classe

Il riquadro della classe contiene gli elementi che determinano il comportamento della classe

Il riquadro della classe contiene gli elementi che determinano il comportamento della classe

Page 23: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

23

Relazioni tra le classi

Page 24: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

24

Relazioni

• Le relazioni forniscono un percorso per le comunicazioni.

• Esistono vari tipi di relazioni, le principali sono:

• Associazione

• Dipendenza

• Generalizzazione (ereditarietà)

• Realizzazione

Page 25: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

25

Spettacolo

LocalitàAutore

Bigl ietto

Prezzo : T_Im porto

Prevendita : T_Importo

0..*

Evento : DataP ost o : Num ero_posto

1

VenditaEvento : DataP ost o : Num ero_posto

Prevendita : T_Importo

1

0..*

Molteplicità = numero di istanze di una classe correlate ad una istanza dell’altra classe.

Relazione di associazione

Descrive le relazioni tra le istanze delle classi e la loro cardinalità.

Relazione diRelazione diassociazioneassociazioneAttributi della relazioneClassiClassi

Page 26: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

26

Associazione/aggregazione

Una associazione in cui la relazione è tra un tutto e le sue parti.

Relazione diRelazione diaggregazioneaggregazione

Page 27: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

27

Associazione/ composizione

L’elemento composto ha la sola responsabilità della gestione delle sue parti (es.: allocazione e deallocazione).

Page 28: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

28

Relazione di dipendenza

Una relazione in cui una classe (il client) dipende da un’altra per un particolare servizio.

Page 29: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

29

Relazione di generalizzazione (ereditarietà)

RelazioniRelazioni didigeneralizzazionegeneralizzazione

E’ una relazione tra una classe e la sua sottoclasse dove gli elementi comuni sono contenuti nella classe di livello superiore e le particolarità nelle sottoclassi.

Page 30: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

30

A energia eolica A motore Terra Acqua

Camion Barca a vela

Veicolo

Azionato a Ambiente operativo

Ambiente operativoAzionato a

Relazione di generalizzazione (ereditarietà)

{overlapping} {overlapping}

Vincolo di overlapping– le sottoclassi

possono discendere da più di una classe

Vincolo di overlapping– le sottoclassi

possono discendere da più di una classe

Discriminatore –indica una partizione della superclasse

Discriminatore –indica una partizione della superclasse

Page 31: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

31

Esempio: iscrizione ai corsi universitari

Il modello del sistema

Informazioni docente

<<Entity>>Corso

<<Entity>>

Offerta Corsi

<<Entity>>

1

1..*

1

1..*

3..103..10

1..*

1

1..*

Informazioni Studente<<Entity>>

Catalogo Corsi

Page 32: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

32

Esempio: iscrizione ai corsi universitari

Il modello del sistema

Informazioni docente<<Entity>>

Informazioni Studente<<Entity>>

Informazioni Utente

Page 33: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

33

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

La vista implementativa e di distribuzione

Page 34: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

34

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Il diagramma dei Componenti

Page 35: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

35

Cosa è

Mostra l’organizzazione e le dipendenze dei moduli software (sorgenti, binari, eseguibili).

Page 36: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

36

Componenti

Un componente è la rappresentazione di un file di codice sorgente, una libreria o un eseguibile.

Page 37: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

37

Esempio 1

Questo diagramma mostra le dipendenze tra i file nella compilazione

I componenti Trade.cls e TradeLeg.cls rappresentano rispettivamente la classe Trade e la classe TradeLeg

Page 38: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

38

Esempio 2

Questo esempio mostra l’abbinamento delle classi con le rispettive librerie di runtime.

La libreria Trade (Trade.dll) dipende dalla classe Slate (Slate.cls) e dalla classe Trade (Trade.cls). Quest’ultima dipende dalla classe TradeLeg.

Page 39: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

39

Esempio 3

Questo esempio mostra le interfacce e le chiamate tra componenti eseguibili.

L’eseguibile Trade dialoga con l’eseguibile Contracts attraverso l’inter-faccia TradeContract. Dialoga anche con la libreria Trade attraverso l’interfaccia Trade.

Page 40: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

40

Il diagramma di distribuzione

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Page 41: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

41

Cosa è

Il diagramma di distribuzione illustra la configurazione dei nodi di elaborazione durante l’esecuzione, i componenti, i processi e gli oggetti che in essi vivono.

Page 42: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

42

Il diagramma di distibuzione

Questo diagramma contiene nodi e connessioni tra nodi.

CONNESSIONEIndica un percorso di

comunicazione tra i nodi.

Queste associazioni possono avere uno stereotipo per

indicare la natura del percorso della comunicazione (ad esempio

il tipo di canale o di rete).

NODOE’ un oggetto fisico di esecuzione del codice. Rappresenta una risorsa

computazionale .

Page 43: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

43

Esempio

Registration Database

Main Building

Dorm

Library

Page 44: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

44

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

L’area dinamica

Page 45: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

45

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Vista delle Attività

Page 46: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

46

Diagramma delle attività

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Page 47: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

47

Cosa è

E’ una variazione di una macchina a stati in cui gli stati rappresentano l’effettuazione di azioni o sottoattività e le transizioni sono dovute al completamentodell’azione o della sottoattività.

Può rappresentare la macchina a stati finiti di una procedura.

Page 48: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

48

Esempio: La procedura di evasione di un ordine

Corsia (indica la responsabilità degli oggetti nelle azioni)

Corsia (indica la responsabilità degli oggetti nelle azioni)

Page 49: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

49

Area (e vista) di gestione del modello

Area Vista Diagramma

Diagr. dei casi d’uso (Diagr. Sequenza)

Casi d’uso

(Diagr. Collaborazione)

Statica Diagramma delle Classi

Diagr. dei componenti

Strutturale

Implementativa

Distribuzione Diagr. di distribuzione

Macchina a stati finiti Diagr. a stati finiti

Attività Diagr. delle attività

Diagr. di sequenza

Dinamica

Interazioni

Diagr. collaborazione

Gestione del modello Gestione del modello Diagramma delle Classi

Page 50: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

50

La gestione del modelloUn sistema di grandi dimensioni deve essere diviso in sottosistemi per facilitarne la gestione

Gli elementi del modello vengono raggruppati in uno o più package.

Un package può contenere qualunque elemento o

diagramma UML

Page 51: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

51

Utilizzo dei package

Nidificando i package si ottiene una struttura più chiara

Il sistema complessivo può essere visto come un package

Page 52: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

52

(From Segreteria)

(From Segreteria)

(From Segreteria)

(From Segreteria)

Diagramma dei casi d’uso con package

Convalida operazione

Studente

Sistema di registrazione

Registrazione ad un corso

Selezione del corsoda insegnare

Docente

Manutenzione Curriculum

Manutenzione Informazioni Studente

Manutenzione Informazioni Docenti

Addetto segreteria

<<uses>>

<<uses>>

<<uses>>

Page 53: lezione 3 - riepilogo UML - CNRstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo UML...3 • JohnRoskill, Microsoft -Director of Product Marketing forMicrosoft Visual Studio: “…Noi

53

Esempio: struttura del modello con package