Diario delle lezioni


Dettaglio degli argomenti svolti durante le lezioni.

  • Lezione del 29-02-2016
    Informazioni generali sul corso: obiettivi e motivazioni. Gli attori nella progettazione del SW. Classificazione delle applicazioni SW. Ciclo di vita del SW. Qualità interne ed esterne. Principi guida nello sviluppo del SW.
    - Slide del corso .
  • Lezione del 01-03-2016
    La modularizzazione. I principi della modularizzzazione. Esempi di cattiva e buona modularizzazione. Principi di base dell'orientazione agli oggetti. Classi, oggetti ed ereditarietà.
    - Slide del corso .
  • Lezione del 07-03-2016
    Introduzione all'analisi. Introduzione ad UML. Oggetti. Classi. Attributi. Associazioni. Link. Ruoli. Attributi di associazione.
    - Slide del corso .
  • Lezione del 08-03-2016
    Esercitzione. La molteplicità delle associazioni ed attributi. Le associazioni n-arie. I commenti. Le associazioni ordinate.
    - Slide del corso .
  • Lezione del 14-03-2016
    Generalizzazione ed ereditarietà in UML. Ereditarietà multipla. Il problema delle classi disgiunte. La specializzazione di attributi ed associazioni. Esercitazione.
    - Slide del corso .
  • Lezione del 15-03-2016
    Esercitazione. Operazioni. Specializzazione di operazioni. Tipo di dato complessi. Semantica dei diagrammi delle classi: riassunto.
    - Slide del corso .
  • Lezione del 21-03-2016
    Aspetti metodologici nella costruzione del diagramma delle classi. Controllo di qualità sul diagramma delle classi. Scelta tra attributi e classi. Scelta tra classi e associazioni. Verifiche sulle generalizzazioni. Verifiche sulle specializzazioni. Esercitazione.
    - Slide del corso .
  • Lezione del 22-03-2016
    Il diagramma degli use case. Cosa è uno Use Case. Gli Attori. Le associazioni. I Documenti di Specifica. La specifica di una Classe. La specifica di un Use Case. La specifica di una operazione. Precondizioni e Postcondizioni. Esercitazione.
    - Slide del corso .
  • Lezione del 04-04-2016
    Il diagramma degli stati e transizioni UML. Cosa sono gli Stati e le transizioni e come si rappresentano. Le attività. Gli stati composti. Aspetti metodologici nella costruzione del diagramma degli stati e delle transizioni. Controllo di qualità del diagramma degli stati e delle transizioni. Esercitazione.
    - Slide del corso .
  • Lezione del 05-04-2016
    Il diagramma degli stati e transizioni UML - Esercitazione. Introduzione al linguaggio Java. La macchina virtuale di Java ed la compilazione di un programma Java. Tipi di dato in Java. Riferimenti ed oggetti. Allocazione della memoria. Campi dati static.
    - Slide del corso .
  • Lezione del 11-04-2016
    Funzioni in Java. Comunicazione fra unità di programma. Side-effect. Qualificatori dei campi dato. Overloading di funzioni. I construttori. Esercitazione.
    - Slide del corso .
  • Lezione del 12-04-2016
    I package ed il loro uso. Livelli di accesso di una classe. Derivazione fra classi. Principi fondamentali della derivazione. Gerarchie di classi in Java. Casting.
    - Slide del corso .
  • Lezione del 18-04-2016
    Livelli di accesso dei campi di una classe. Regole di visibilità tra campi. Costruttori di classi derivate. Overloading e Overriding. Late binding. Classi e metodi final.
    - Slide del corso .
  • Lezione del 19-04-2016
    Sovrascrittura dei campi dati. Le classi astratte. Le interfacce. Esercitazione.
    - Slide del corso .
  • Lezione del 02-05-2016
    La classe Object. Overriding della funzione toString(). La classe Java Class. La funzione isInstance(). L'operatore instanceof. La funzione getclass(). Uguaglianza superficiale e profonda tra oggetti. Overriding della funzione equals(). Esercitazione.
    - Slide del corso .
  • Lezione del 03-05-2016
    Uguaglianza profonda in classi derivate. Overriding della funzione hashCode(). Copia superficiale e profonda di oggetti. Overriding della funzione clone(). Copia profonda in classi derivate. Esercitazione.
    - Slide del corso .
  • Lezione del 09-05-2016
    Le eccezioni. Propagazione delle eccezioni. Le istruzioni try-catch-finally. La clausola throws. Eccezioni checked vs unchecked. Gerarchia delle eccezioni. Definire una propria classe di eccezioni. Come lanciare una eccezione. Introduzione al Java Collections Framework. Interfacce del Collections Framework. I Generics. Interfaccia Collection. Interfaccia Set. Gli iteratori ed il loro uso. Interfaccia List. Il ListIterator. Implementazioni di Collection.
    - Slide del corso .
  • Lezione del 10-05-2016
    Input alla fase di progetto. Output della fase di progetto. Caso di studio. Progetto: algoritmi. Progetto: responsabilità sulle associazioni. Molteplicità e responsabilità. Tabella delle responsabilità. Responsabilità dei ruoli.
    - Slide del corso .
  • Lezione del 16-05-2016
    Scelta delle strutture dati. Corrispondenza tra tipi UML e JAVA. Tabella di corrispondenza tipi UML e Java. Realizzazione di tipi UML. Gestione delle precondizioni: verifica lato server e verifica lato client. Gestione delle proprietà di classi UML ed assunzioni di default. Tabella di gestione delle proprietà di classi UML.
    - Slide del corso .
  • Lezione del 17-05-2016
    La fase di realizzazione: input ed output. Traduzione in Java del diagramma degli use case. Traduzione in Java del diagramma delle classi. Realizzazione di classi UML con soli attributi: metodologia per i campi dati e per i campi funzione. Il problema dei valori non ammessi: verifica lato server e verifica lato client. Gestire la molteplicià degli attributi. Realizzare classi con attributi e operazioni. Esercitazione.
    - Slide del corso .
  • Lezione del 23-05-2016
    Realizzazione di associazioni. Associazione con molteplicità 0..1 a responsabilità singola e senza attributi. Associazioni che insistono più volte sulla stessa classe. Associazione con molteplicità 0..* a responsabilità singola e senza attributi.
    - Slide del corso .
  • Lezione del 24-05-2016
    La realizzazione di attributi di associazione. La realizzazione naive e non. Associazioni 0..1 con attributi e associazioni 0..* con attributi. Esercitazione.
    - Slide del corso .
  • Lezione del 30-05-2016
    Responsabilità doppia. Come gestire vincoli di cardinalità massima e minima. Le associazioni n-arie.
    - Slide del corso .
  • Lezione del 31-05-2016
    Realizzazione di generalizzazioni. Information hiding e generalizzazione. Generalizzazione e strutturazione in package. La ridefinizione. Generalizzazioni disgiunte e complete. Organizzazione in packages. Simulazione di esame.
    - Slide del corso .