Nuova ricerca

Giacomo CABRI

Professore Ordinario presso: Dipartimento di Scienze Fisiche, Informatiche e Matematiche sede ex-Matematica

Insegnamento: Metodologie di sviluppo software

INFORMATICA (D.M. 270/04) (Offerta formativa 2018)

Obiettivi formativi

Gli obiettivi dell'insegnamento sono:
- Presentare i modelli di sviluppo del software e i concetti di gestione dei progetti
- Presentare alcuni esempi di metodologie
- Presentare i pattern architetturali
- Presentare i principi di test del software

Prerequisiti

Conoscenza di linguaggi di modellazione del software

Programma del corso

Modelli e metodologie di sviluppo software
* Modello a cascata
* Modello evolutivo
* Modello incrementale
* Modello a spirale
* Esempi di metodologie
Metodologie agili
* Principi e tecniche agili
* Esempi di metodologie agili
Tecniche di stima dei progetti
* COCOMO
* Putnam
* PERT/CPM
Design pattern
* Pattern creazionali
* Pattern strutturali
* Pattern comportamentali

Metodi didattici

Lezioni frontali tramite slide sulla teoria ed esercitazioni in aula di applicazione della teoria.
Gli studenti non frequentanti possono accedere alle slide delle lezioni e al materiale delle esercitazioni.

Testi di riferimento

Dispense a cura del docente.
Libri consigliati:
- C. Ghezzi, D. Mandrioli, M. Jazayeri. Ingegneria del Software (2/Ed.). Pearson Education Italia
- E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns. Pearson
- Eric Freeman, Elisabeth Robson. Head First Design Patterns. O'Reilly Media
- Ian Sommerville. Ingegneria del software. Pearson

Verifica dell'apprendimento

La verifica consisterà in una prova orale atta a verificare la comprensione dei contenuti di tutto il programma svolto.

Risultati attesi

Conoscenza e comprensione
Alla fine dell’insegnamento, lo studente conosce metodologie e architetture per sviluppare processi e sistemi complessi

Capacità di applicare conoscenza e comprensione
Alla fine dell’insegnamento, lo studente ha la capacità di progettare, sviluppare e testare applicazioni software

Autonomia di giudizio
Alla fine dell’insegnamento, lo studente:
- ha la capacità di giudicare le tecnologie e gli strumenti informatici più adatti a ogni contesto, valutando le possibili alternative;

Abilità comunicative
Alla fine dell’insegnamento, lo studente:
- ha la capacità di sfruttare strumenti tecnologici per comunicare;
- ha la capacità di redigere report;


Capacità di apprendimento
Alla fine dell’insegnamento, lo studente:
- ha la capacità di valutare la propria preparazione in relazione allo stato dell'arte delle tecnologie informatiche;
- ha la capacità di individuare le competenze mancanti per affrontare il lavoro che gli viene proposto;
- ha la capacità di fare formazione continua per colmare le lacune e mantenersi aggiornato;

- ha la capacità di sfruttare le fonti appropriate;

- ha la capacità di affrontare problemi sempre nuovi con un approccio scientifico e metodologico.