1 laboratorio di calcolo II AA 2003/04 sesta settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza 159 - tel. (06 5517) 7281 www.fis.uniroma3.it/~orestano orestano@fis.uniroma3.it UNIVERSITA’ DEGLI STUDI ROMA TRE DIPARTIMENTO DI FISICA “E. AMALDI”
25
Embed
1 laboratorio di calcolo II AA 2003/04 sesta settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza 159 - tel. (06 5517) 7281 orestano.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
laboratorio di calcolo IIAA 2003/04
sesta settimana
a cura di
Domizia Orestano
Dipartimento di FisicaStanza 159 - tel. (06 5517) 7281
- attributo privato# attributo protetto/- attributo privato derivato+$ attributo pubblico della classe
+ operazione pubblica # operazione protetta /- operazione privata +$ operazione pubblica della classe
12
Relazioni tra classi• Ci limitiamo a quelle fondamentali:
– Relazione di associazione ed in particolare:• Relazione di aggregazione ;• Relazione di composizione ;
– Relazione di ereditarieta';• Una relazione di associazione (un oggetto di una classe deve
conoscere l’esistenza dell’altro per poter operare) è rappresentata da una linea che congiunge i diagrammi di 2 classi.
• La molteplicità minima e massima degli oggetti coinvolti è riportata agli estremi della linea– m…n : da m a n oggetti– 0…* o semplicemente * : un numero qualsiasi– n : esattamente n oggetti– n…* : almeno n oggetti
Un oggetto di una classe è in relazione con uno o più oggetti di un’altra
13
Relazione di aggregazione• Un oggetto di una classe ha
tra i sui attributi puntatori ad oggetti di un'altra classe
• Gli oggetti aggregati esistono indipendentemente dall’oggetto aggregante
• La relazione di aggregazione è indicata da un rombo vuoto posto vicino alla classe che aggrega
• La freccia indica la direzione di “navigabilità” della relazione quando questa è monodirezionale
14
Relazione di composizione
• Un oggetto di una classe ha tra i sui attributi oggetti di un'altra classe
• L’esistenza degli oggetti componenti dipende dall’esistenza dell’oggetto composto e non possono appartenere a più di un oggetto
• La relazione di composizione è indicata da un rombo nero posto vicino alla classe composta
ThreeVector
-Componenti:VecComp[3]…
+ThreeVector…
VecComp
-element:double…
+VecComp…
1 3
15
Relazione di ereditarietà
si indica con una freccia vuota, a punta trangolare, che connette la classe che eredita con la classe base
16
esempio
17
Interaction diagrams
• Diagrammi dinamici che mettono in evidenza le interazioni tra gli oggetti.
• In particolare un sequence diagram mostra in dettaglio i vari passaggi richiesti dall’esecuzione di un’operazione evidenziando quali messaggi vengano scambiati e in che ordine temporale.
• Le linee verticali rappresentano istanze di oggetti (e non classi), il tempo scorre dall’alto verso il basso, i rettangoli sovrapposti alle linee verticali (opzionali) mostrano l’attività di un oggetto.
• Frecce piene dirette da sinistra a destra rappresentano messaggi sincroni, frecce vuote messaggi asincroni, frecce vuote da destra a sinistra con linee tratteggiate rappresentano return.
18
19
20
link interessanti
• I diagrammi di UML sono molti di più, sono stati illustrati solo quelli di uso più frequente. Per approfondimenti:
http://www.rational.com/uml
• Tutorial online dalla paginahttp://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/sit/Training/main.html
• Elenco e descrizione aggiornata di tutti i diagrammihttp://www.holub.com/goodies/uml/index.html
• Combinazione di Momenti Angolari in MQ• Particella in una buca di potenziale• Moto di una particella in
– Campo elettrico– Campo Magnetico– Campo Elettrico e Magnetico– Campo EM lentamente variabile
• Capacita’ di un condensatore con dielettrico variabile• Circuiti Elettrici Lineari
– Resistenza– Capacita'– Induttanza– Impedenza– Generatori, ecc.
• Circuiti Elettrici Logici• Trasformazioni di Lorentz - Quadrivettori
22
• Soluzione dell’eq. di Schrodinger• Barriera di potenziale• Oscillatore armonico (vari casi)• Elementi di Statistica
(medie e varianze, distr. della media, distr. di Gauss e di Poisson, prob. condizionate, teorema di Bayes, Istogrammi)
• Rappresentazione di strumentazione(orologio, generatore di segnali, tester (con Rint ))
• Termodinamica e Meccanica Statistica:– Teoria cinetica dei gas– Gas perfetti e gas reali
• Elementi di Ottica– Lenti– Specchi– Reticoli
• Analisi numerica– Calcolo integrale– Integrazione di equazioni differenziali
23
Cosa fare • Formare un gruppo (max 4 persone) • Scegliere un argomento• Costruire use case e scenari• Redigere un elenco di requisiti• Definire gli oggetti coinvolti e le loro relazioni• Distribuire le responsabilità• Identificare le interazioni tra gli oggetti• Esercitare il modello in una sessione CRC• Mettere a punto delle procedure di test• Iterare?• Scrivere e testare il codice
24
Sessione CRC
CRC: Classi, Responsabilità, Collaborazione
capire come funziona dinamicamente il programma che si vuole realizzare
Giuoco di Ruolo:• ciascuno dei partecipanti è un Oggetto del programma• uno dei partecipanti è il Programma "Main
Ogni partecipante deve conoscere le caratteristiche di ciascuna Classe:• "come è fatta" • "quali azionì può compiere”
Durante la sessione tutto si svolge come nel corso dell'esecuzione del Programma, in questo modo emergono casi non previsti ed eventuali problemi.
25
Documentazione per l’esame (deliverables)
• Documento di requirements• Diagrammi UML:
– Use case– Class– Sequence
• Resoconto sessione CRC• Documento descrittivo delle procedure di test• Dichiarazioni delle classi (.h)• Implementazione• Risultati dei test