Progettazione del Software

(Canale 2 - Prof. Giuseppe De Giacomo)

A.A. 2020/21

Benvenuti

Il corso di Progettazione del Software (Canale 2 - De Giacomo) inizia il 5 ottobre. Le lezioni si tengono in Aula 108 Marco Polo presso la l'Edificio Marco Polo (ex Sede Poste) in Via Circonvallazione Tiburtina 4 con il seguente orario: lunedì 16:00-19:00 e venerdì 15:00-18:00

Il corso include una parte sostanziale di lezioni in laboratorio a cura del Prof. Mecella con l'aiuto dell'Ing. Manuel Namici che si tengono nei laboratori di Via Tiburtina 205 con il seguente orario: 11:00-15:00 - Lab 16.

Per informazioni sul Canale 1 - Liberatore si segue questo link

Buon lavoro a tutti!

Descrizione del corso

Prerequisiti. Si richiede conoscenza dei fondamenti della programmazione.

Obiettivi. L'obiettivo del corso è duplice. Da una parte introduce alla programmazione orientata agli oggetti, usando il linguaggio Java come strumento per illustrare concetti fondamentali come oggetti, classi, metodi, interfacce, ereditarietà, polimorfismo, tipi generici, package, eccezioni.

Particolare enfasi viene posta sull'uso e sul progetto di librerie software e su aspetti generali come modularità, robustezza, riusabilità e manutenibilità del codice illustrando concetti come astrazione, incapsulamento, mascheramento dell'informazione, generalizzazione e specializzazione che consentono di realizzare applicazioni complesse su larga scala. D'altra parte il corso approfondisce gli aspetti fondamentali relativi alla progettazione del software: le qualità 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 ingegneristici 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 sull'orientamento agli oggetti.

Materiale didattico.

[1] Slides del corso, A.A. 2020/21 Disponibili in Materiale didattico.

[2] Un manuale Java (se non se ne possiede uno, viene suggerito Cay Horstmann, 2018: Java per impazienti. Pearson)

Stanza Zoom per le lezioni

La stanza Zoom per le lezioni del Prof. De Giacomo è la seguente:

https://uniroma1.zoom.us/j/7737376235


Per potervi accedere bisogna utilizzare l'account studenti.uniroma1.it