SAPIENZA Università di Roma, Laurea in Ingegneria Informatica

Programma del corso
Progettazione del Software (9 CFU)

(Canale A-L & M-Z)

A.A. 2008/09


1. Ciclo di vita e qualità del software

Il contesto organizzativo. Il ciclo di sviluppo dei programmi: raccolta dei requisiti, analisi, progettazione & realizzazione, verifica & manutenzione. Le qualità del software: qualità esterne & interne. La modularizzazione. Criteri per la modularizzazione.

Materiale didattico Slide: Prima parte ed esercitazioni

2. La fase di analisi

Introduzione alla fase di analisi. Il linguaggio UML per l'analisi. Diagrammi strutturali e diagrammi comportamentali e d'interazione: Diagrammi delle Classi, Diagrammi degli oggetti, Diagrammi Stati e Transizioni, Diagrammi delle Attività. Specifica delle operazioni, delle transizioni e delle attività. OCL. La metodologia di analisi.

Materiale didattico Slide ed esercitazioni


3. La fase di progetto

Obiettivi e risultati attesi della fase di progetto. Specifica degli algoritmi. Responsabilità sulle associazioni. Uso di strutture di dati. Schemi realizzativi per oggetti e valori. Gestione degli eventi. Aspetti legati alla concorrenza. Pattern realizzativi. Il pattern observer-observable (per realizzare lo scambio di eventi), il pattern funtore (per realizzare le attività). API delle classi Java progettate.

Materiale didattico Slide ed esercitazioni

4. La fase di realizzazione

Realizzazione in Java dei diagrammi delle classi UML: la realizzazione di classi, la realizzazione di associazioni, uso dell'ereditarietà. Realizzazione in Java di diagrammi stato-transizione UML: realizzazione di oggetti reattivi, scambio di eventi tra oggetti reattivi. Realizzazione in Java dei diagramme delle attività: realizzazione di attività complesse concorrenti, realizzazione di attività atomiche atto all'uso concorrente, alri aspetti relativi alla concorrenza.

Materiale didattico Slide ed esercitazioni

NB: Per coloro che devono fare l'esame da 5 CFU (ORD509) o 6 CFU (Nettuno) gli aspetti più avanzati relativi alla realizzazione in Java di diagrammi delle attività e dei diagrammi stato-transizione saranno limitati.


Home page del corso di Progettazione del Software
della Laurea in Ingegneria Informatica della SAPIENZA Università di Roma