lezione 3 - riepilogo uml - cnrstaff.icar.cnr.it/ruffolo/files/lezione 3 - riepilogo uml...3 •...
TRANSCRIPT
![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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/43.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/44.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/45.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/46.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/47.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/48.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/49.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/50.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/51.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/52.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022043004/5f85846e47f0571f16483422/html5/thumbnails/53.jpg)
53
Esempio: struttura del modello con package