درس رقم 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
|