Laurea a distanza in Ingegneria Informatica

  Progettazione del software Informazioni Generali | Dove Iscriversi | Piano degli Studi

Prof. Maurizio Lenzerini
(Professore Ordinario di Progettazione del software all’Università di Roma "La Sapienza")
Prof. Marco  Cadoli
Prof. Giuseppe  De Giacomo
(Professore Associato di Progettazione del Software all’Università di Roma )

30 ore di videolezioni trasmesse in televisione

Scopi

L'obiettivo del corso è lo studio e l'approfondimento degli aspetti fondamentali relativi alla progettazione del software: le qualita' del software, il concetto di modulo e la modularizzazione, la distinzione tra analisi (concettualizzazione) e progettazione (realizzazione), la nozione di specifica, ecc. Gli argomenti vengono trattati dando enfasi ad aspetti metodologici e ad aspetti sperimentali utilizzando la notazione di UML (Unified Modeling Language) per la fase di analisi, e il linguaggio Java per la fase di progettazione. Alla fine del corso lo studente dovrebbe avere acquisito tecniche e metodi per affrontare problemi di progettazione dei programmi secondo una metodologia basata sulla distinzione tra concettualizzazione e realizzazione, sulla modularizzazione e sulla orientazione agli oggetti.

Contenuti


  1. Ciclo di vita e qualita' del software: Il contesto organizzativo. Il ciclo di sviluppo dei programmi. Raccolta dei requisiti. Analisi. Progettazione. Verifica. Manutenzione. Le qualità del software. Qualità esterne ed interne. La modularizzazione. Criteri per la modularizzazione. Principi di sviluppo object-oriented.
  2. La fase di analisi: Introduzione alla fase di analisi. Il linguaggio UML per l'analisi. Il diagramma delle classi. Il diagramma degli use case. Il diagramma degli stati e delle transizioni. La metodologia di analisi. Verifiche di qualità.
  3. Java come linguaggio object-oriented: Classi Java. Riferimenti e oggetti. Modello run-time di Java. Overloading e overriding. Uguaglianza e copia profonda. L'ereditarieta' in Java. Livelli di accesso. Classi astratte. Interfacce. Package.
  4. La fase di progettazione: Realizzazione in Java del diagramma delle classi. La progettazione di classi. La progettazione di associazioni. Uso dell'ereditarieta' nella fase di progettazione. Realizzazione in Java del diagramma degli use case.

Testi

Lucidi delle lezioni.

Prerequisiti

Si richiede conoscenza dei fondamenti della programmazione e di un linguaggio ad alto livello, tipicamente Java (corsi: Fondamenti di Informatica I, Fondamenti di Informatica II).

Esercitazioni

Esercizi di progettazione del software, comprendenti sia la fase di analisi sia la fase di progetto e realizzazione in Java.

Titoli delle videolezioni

1Introduzione alla progettazione del softwareMaurizio Lenzerini
2Le qualita' del softwareMaurizio Lenzerini
3La modularizzazioneMaurizio Lenzerini
4Introduzione all'analisi e al linguaggio UMLMaurizio Lenzerini
5Le associazioni in UMLMaurizio Lenzerini
6Proprieta' di associazioniMaurizio Lenzerini
7La generalizzazioneMaurizio Lenzerini
8Metodologia di analisiMaurizio Lenzerini
9Altri diagrammi in UMLMaurizio Lenzerini
10Il diagramma degli stati e delle transizioniMaurizio Lenzerini
11Introduzione a java come linguaggio orientato agli oggetti. Lezione 1Giuseppe De Giacomo
12Introduzione a java come linguaggio orientato agli oggetti. Lezione 2Giuseppe De Giacomo
13Introduzione a java come linguaggio orientato agli oggetti. Lezione 3Giuseppe De Giacomo
14Introduzione a java come linguaggio orientato agli oggetti. Lezione 4Giuseppe De Giacomo
15Introduzione a java come linguaggio orientato agli oggetti. Lezione 5Giuseppe De Giacomo
16Introduzione a java come linguaggio orientato agli oggetti. Lezione 6Giuseppe De Giacomo
17Introduzione a java come linguaggio orientato agli oggetti. Lezione 7Giuseppe De Giacomo
18Introduzione a java come linguaggio orientato agli oggetti. Lezione 8Giuseppe De Giacomo
19Introduzione a java come linguaggio orientato agli oggetti. Lezione 9Giuseppe De Giacomo
20Introduzione a java come linguaggio orientato agli oggetti. Lezione 10Giuseppe De Giacomo
21La fase di progetto (parte I)Marco Cadoli
22La fase di progetto (parte II)Marco Cadoli
23La fase di progetto (parte III)Marco Cadoli
24Realizzazioni di classi (parte I)Marco Cadoli
25Realizzazioni di classi (parte II)Marco Cadoli
26Realizzazioni di associazioni (parte I)Marco Cadoli
27Realizzazioni di associazioni (parte II)Marco Cadoli
28Associazioni con responsabilita' multipla Marco Cadoli
29Vincoli di molteplicita'Marco Cadoli
30Realizzazione di generalizzazioni Marco Cadoli
indietro