Anno di corso: 1

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Anno di corso: 3

ANALISI E PROGETTAZIONE DEL SOFTWARE

Scheda dell'insegnamento

Anno accademico di regolamento: 
2015/2016
Anno di corso: 
2
Anno accademico di erogazione: 
2016/2017
Tipo di attività: 
Obbligatorio
Crediti: 
8
Ciclo: 
Secondo Semestre
Ore di attivita' didattica: 
76
Prerequisiti: 

Conoscenza di un linguaggio di programmazione orientato agli oggetti.

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

Tipo esame: scritto e orale separati
Tipo valutazione: voto finale.

Valutazione: 
Voto Finale

Obiettivi formativi

Lo studente acquisirà le competenze necessarie a sviluppare progetti software in gruppi di piccole/medie dimensioni. In particolare, lo studente sarà in grado di analizzare un problema, produrre una specifica dei requisiti, svolgere le attività di analisi e progettazione della soluzione, produrre una implementazione di un sistema che sia consistente con un progetto, utilizzare ambienti di sviluppo e controllo versione avanzati.

Contenuti

Introdurre il processo di sviluppo del software, concentrandosi in particolare sulle fasi di analisi e di progettazione. Introduzione ai Design Pattern.

Programma esteso

1 Introduzione all’Ingegneria del Software e al Processo di sviluppo del Software. Processi di sviluppo agili

2 Analisi dei requisti e specifica dei casi d’uso

3 Analisi e Progettazione. Introduzion ed utilizzo dei pattern GRASP:

4 Introduzione a UML Diagarammi UML delle Classi, di Sequenza/Collaborazione, degli Stati e delle Attività. Attività di laboratorio sull’analisi e progettazione.

5 Introduzione ai Design Patterns. Design pattern Composite, Strategy, MVC, Adpter, Facade, Observer. Esempi di applicazione dei design pattern.

6 Attività di laboratorio sull’utilizzo di ambienti per lo sviluppo ed il controllo delle versioni

7 Introduzione all'attività di test. Il test Combinatorio.

8 Intrduzione al Refactoring del Codice e ai Code Smell nel codice. Esempi di code smell e di passi di refactoring per rimuoverli.

Bibliografia consigliata

I. Sommerville, Ingegneria del Software, Pearson, 8° ed, 2007.
C. Larman, Applicare UML e i pattern – analisi e progettazione orientata agli oggetti, Pearson, 3° ed, 2005.
M. Fowler, UML Distilled, Peason, 3° ed, 2004.
M. Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley, 2002.

Metodi didattici

Lezioni, sessioni di laboratorio, esercitazioni in aula, esercitazioni in laboratorio e assegnate da terminare a casa, due prove intermedie (compitini)