Course description |
Insegnamento obbligatorio della Laurea Magistrale in Ingegneria Informatica, collocato al I anno. |
Prerequisites |
Programmazione Orientata agli Oggetti. |
Objectives |
Il corso ha l’obiettivo di presentare gli aspetti fondamentali della modellazione, analisi e progettazione del software, con riferimento alle tecniche di analisi e progettazione orientata agli oggetti e allo sviluppo, iterativo, incrementale e agile. Lo studente potrà così affrontare le problematiche di produzione di software di dimensioni medio-grandi con la partecipazione di molte e differenziate figure professionali
(programmatori, analisti, beta tester, ecc. ecc.). |
Program |
Il presente corso, che fornisce 9 crediti formativi, è composto da 28 videolezioni, da vedere ciascuna almeno due volte, per un totale minimo di 56 ore di attività dello studente.
Le videolezioni trattano i seguenti argomenti:
• Introduzione all’analisi e progettazione del software
• Sviluppo iterativo, incrementale e agile
• Casi d’uso
• Modellazione di dominio
• Ancora sulla modellazione di dominio
• Operazioni di sistema
• Progettazione logica e architettura a strati
• Progettazione di oggetti con responsabilità
• Progettazione a oggetti: uno studio di caso
• Dalla progettazione al codice
• Progettazione a oggetti: un altro studio di caso
• Ancora sulla modellazione di dominio
• Ulteriori progettazione di oggetti con responsabilità
•Altri stili architetturali fondamentali (MVC, Shared Repository, Microkernel, Reflection)
• Introduzione ai sistemi distribuiti e al middleware
• Stile client ‐ server
• Stile peer ‐ to ‐ peer
• Architetture a oggetti distribuiti e broker
• Messaging
• Architetture basate su componenti
• Architetture orientate ai servizi
• Cloud computing
|
Book |
Sono inoltre presenti materiali didattici collegati agli argomenti delle video lezioni, che si compongono di
testi di approfondimento teorico e dispense; tali materiali didattici compongono lo studio individuale dello
studente di circa 150 ore.
In dettaglio, i materiali didattici collegati sono:
- Slide del corso, le slide utilizzate dai docenti autori delle videolezioni, che gli studenti potranno
scaricare e stampare per crearsi il proprio "quaderno del corso"
- Libri&Articoli: testi, saggi, schede descrittive, approfondimenti,
- Bibliografia: riferimenti ragionati a fonti bibliografiche associati ai singoli argomenti di ogni
videolezione
- Sitografia: selezioni ragionate di Siti web collegate agli argomenti della videolezione
- Testi d'esame:
I riferimenti principali per il corso di Progettazione di software sono:
Craig Larman, “Applicare UML e i pattern – Analisi e progettazione orientata agli oggetti”, Pearson
Education Italia (nuova edizione prevista in uscita nel 2016, la precedente è del 2005), per la prima
parte del corso (Analisi e Progettazione Orientata agli Oggetti);
Dispense predisposte dal docente video, per la seconda parte del corso (Architetture Software). |
Exercises |
Le modalità di valutazione del corso sono strutturate da prove di verifica intermedie, che verranno
consegnate attraverso la piattaforma UNINETTUNO e valutate dal Docente/Tutor.
La prova di valutazione finale consiste nello sviluppo di uno o più dei macroargomenti in cui è suddiviso il corso o
parte di essi, dove lo studente, senza l’ausilio di libri o appunti, dovrà dimostrare la piena conoscenza di
tutte le tematiche che caratterizzano il tema proposto e mostrare con esempi attinenti la padronanza
dell’argomento. |
Professor/Tutor responsible for teaching
|
Giovanni Felici
|
List of lessons |
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|
|
Luca Cabibbo
|
|