Corso Vittorio Emanuele II, 39 - Roma 0669207671

MOOC Massive Open Online Courses (Ακαδημαϊκό έτος 2018/2019)

Algoritmi e programmazione avanzata (vecchio programma)



Διαφάνειες

ν. μαθήματος 1: Introduzione alla progettazione del software
   Programma del corso

   Il contesto organizzativo dello sviluppo del software

   Esercizio 1

   Classificazione

   Esercizio 2

   Classificazione (II)

   Ciclo di vita del software
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 2: Le qualita' del software
   Introduzione ai fattori di qualita'

   Esercizio 3

   Qualità esterne

   correttezza

   Affidabilità

   Robustezza

   Usabilità

   Estendibilità

   Riusabilità

   Interoperabilità

   Qualità interne

   Efficienza

   Strutturazione e Modularita'

   Comprensibilità

   Verificabilità

   Manutenibilità e Portabilità

   Esercizio 4
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 3: La modularizzazione
   Modularizzazione del software

   Modulo

   Modularizzazione

   Componenti di un modulo

   Principi di modularizzazione

   I 4 dogmi della modularizzazione

   Esempi negativi

   Esempi positivi

   Esempio di cattiva modularizzazione

   Esempio di buona modularizzazione

   Effetti di una buona modularizzazione

   Approccio orientato agli oggetti

   Funzioni od Oggetti?

   Principi di base

   Fattori di qualita' influenzati dall'approccio OO
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 4: Introduzione all'analisi e al linguaggio UML
   Cosa e' l'analisi

   Uso di UML nella nostra metodologia

   Il diagramma delle classi e degli oggetti

   Oggetti in UML

   Classi UML

   Rapporto tra classi e istanze

   Attributi in UML

   Importanza dell'identificatore di oggetto

   Esercizio

   Obiettivo

   Schema concettuale

   Modelli e metodi per l'analisi

   Introduzione al linguaggio UML

   Diagrammi
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 5: Le associazioni in UML
   Osservazioni sulle classi

   Relazioni in matematica

   Le associazioni

   Definizione di associazione

   Esempi

   Istanze di associazioni: link

   Piu' associazioni tra due classi

   Esempio

   Esercizio

   Nomi di associazioni

   Ruolo delle associazioni
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 6: Proprieta' di associazioni
   Attributi di associazioni

   Esempio

   Notazione

   Esercizio 1

   Associazioni n-arie

   Esempio

   Associazioni n-arie con attributi

   Differenza tra classi e associazioni

   Vincoli di molteplicità

   Molteplicità delle associazioni

   Esempio

   Notazioni

   Esempi di molteplicità

   Esercizio 2

   Esercizio 3

   Molteplicità di attributi

   Esempio

   Attributi multivalore nelle istanze

   Introduzione alla generalizzazione
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 7: La generalizzazione
   La generalizzazione in UML

   Esempio di generalizzazione semplice in UML

   Ereditarietà in UML

   Esempio-Ereditarità in UML : istanze

   Esempio - Ereditarieta' sulle associazioni

   Ereditarieta' sulle molteplicita'

   Esercizio: individuare gli errori

   Generalizzazione in UML con piu' sottoclassi

   Tipi di generalizzazione

   Generalizzazioni disgiunte

   Generalizzazioni complete

   Ereditarieta' multipla

   Differenza tra due is-a e una generalizzazione
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 8: Metodologia di analisi
   Specializzazione

   Esempio

   Le operazioni di classe

   Esempio

   Formato

   Osservazioni sulle operazioni

   Esercizio 1

   Commenti in UML

   Aspetti metodologici

   Tabella riassuntiva

   Passi metodologici

   Controllo di qualita' sul diagramma delle classi

   Dicotomia tra classe e attributi

   Scelta tra attributi e classi

   Esempio
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 9: Altri diagrammi in UML
   Aspetti metodologici (continuazione)

   Dicotomia tra classi e associazioni

   Scelta tra classi e associazione

   Esempio

   Verifiche sulla generalizzazione

   Il diagramma degli use case

   Use case

   Use case: Attori

   Componenti di un diagramma degli use case

   Associazione

   Incluzione

   Estensione

   Generalizzazione

   Esempio
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 10: Il diagramma degli stati e delle transizioni
   Il diagramma degli stati e delle transizioni

   Stati e transizioni

   Esempio

   Esempio 2

   Attività

   Esempio

   Stato composto

   Esempio

   Esercizio

   La specifica di classi e use case

   Specifica di una classe

   Specifica di un Use Case

   Specifica di una operazione

   Esempio

   Esempio 2
Πηγαίνετε σε αυτή τη διαφάνεια Maurizio Lenzerini
ν. μαθήματος 11: Introduzione a java come linguaggio orientato agli oggetti. Lezione 1
   Introduzione a Java

   Paradigmi di programmazione

   Java

   Java virtuale Machine

   Un programma Java

   Compilazione ed esecuzione di programmi

   Preparazione del Testo del Programma

   Compilazione del Programma

   Eseguire un programma

   Anatomia di un (semplice) programma Java

   Fattoriale .java

   Elementi di sintassi

   Tipi predefiniti

   main

   System.out.print

   Operatore di concatenazione tra stringhe
Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 12: Introduzione a java come linguaggio orientato agli oggetti. Lezione 2
   Definizioni di classi Java

   Elementi di una classe Java

   Esempio

   Osservazioni: campi

   Osservazioni: modificatori d'accesso

   Uso di Java

   Uso della classe definita

   Esempio di cliente della classe persona

   Riferimenti e oggetti

   Allocazione statica e dinamica

   Esempio

   Assegnazione tra riferimenti

   Assegnazione tra tipi predefiniti

   Deallocazione degli oggetti

   Esempio
Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 13: Introduzione a java come linguaggio orientato agli oggetti. Lezione 3
   public e private

   Esempio

   Impatto metadologico

   Overloading di funzioni

   Esempio

   Costruttori

   Cos'è un costruttore

   Esempio

   Invocazione del costruttore

   Esempio

   Analizziamo la costruzione di un oggetto

   Inizializzazioni implicite dei campi di una classe

   Overloading di costruttori

   Esempio di utilizzo

   Costruttore standard
Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 14: Introduzione a java come linguaggio orientato agli oggetti. Lezione 4
   Esercizi di realizzazioni di classi e clienti

   Esercizio (classe Automobile)

   Funzioni static

   Esercizio (cliente)

   Riferimento implicito this
Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 15: Introduzione a java come linguaggio orientato agli oggetti. Lezione 5
   Package

   Esempio

   Import

   Esempio

   Sottopackage

   Esempi

   Package e direttori

   Livelli di accesso: classi

   File sorgente e classi

   Livelli di accesso: campi

   Regole di visibilità

   Esempio

   Osservazioni su informazioni hiding

   Osservazioni sui package
Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 16: Introduzione a java come linguaggio orientato agli oggetti. Lezione 6 Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 17: Introduzione a java come linguaggio orientato agli oggetti. Lezione 7 Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 18: Introduzione a java come linguaggio orientato agli oggetti. Lezione 8 Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 19: Introduzione a java come linguaggio orientato agli oggetti. Lezione 9 Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo
ν. μαθήματος 20: Introduzione a java come linguaggio orientato agli oggetti. Lezione 10 Πηγαίνετε σε αυτή τη διαφάνεια Giuseppe De Giacomo