28021 - INGEGNERIA DEL SOFTWARE T

Scheda insegnamento

Anno Accademico 2017/2018

Conoscenze e abilità da conseguire

Conoscenza dei modelli e degli strumenti per l'analisi, il progetto, lo sviluppo e il collaudo dei sistemi software. Capacità di progetto, sviluppo e collaudo di sistemi software.

Programma/Contenuti

  1. Introduzione all'ingegneria del software; prodotto software.
  2. Processo di sviluppo del software: studio di fattibilità, analisi e specifica dei requisiti, analisi del rischio, progettazione, realizzazione e collaudo dei moduli, integrazione e collaudo del sistema, utilizzo e manutenzione; fattori di qualità del software; modelli dei processi di sviluppo.
  3. Analisi e progettazione orientata agli oggetti: linguaggi di modellazione, UML.
  4. Analisi dei requisiti: raccolta dei requisiti e loro validazione, analisi del dominio, analisi dei requisiti, casi d'uso e scenari.
  5. Analisi del problema: modello statico, modello dinamico, definizione dell’architettura logica del problema.
  6. Progettazione: progettazione dell’architettura del sistema.
  7. Principi di progettazione: rigidità, fragilità e immobilità del software.
  8. Design pattern.
  9. Introduzione al framework .NET e al linguaggio C#.

Metodi didattici

Il corso viene erogato mediante proiezione di slide dal computer del docente, in aula. Le slide sono disponibili sulla pagina web del corso.

Le lezioni sono integrate da esercitazioni in laboratorio al computer: ogni esercitazione affronta uno specifico argomento proponendo esercizi concreti, per la cui soluzione è necessario mettere a frutto quanto acquisito durante le ore di lezione.

Tutte le lezioni sono tenute in italiano. È quindi necessaria la comprensione della lingua italiana per seguire con profitto il corso e per poter utilizzare il materiale didattico fornito.

Modalità di verifica dell'apprendimento

La verifica dell’apprendimento avviene attraverso un esame finale, che accerta l’acquisizione delle conoscenze e delle abilità attese tramite lo svolgimento di una prova scritta della durata di 1 ora senza l'aiuto di appunti o libri, seguita da un progetto.

La prova scritta consiste di norma di 2 domande di teoria. Per poter partecipare alla prova scritta è necessario iscriversi alla lista dell'appello tramite l'applicativo AlmaEsami. Per superare la prova scritta è necessario ottenere un punteggio minimo di 15 punti.

Il progetto è a tema libero e può essere sviluppato esclusivamente in team di 3 persone o singolarmente. Il progetto consiste di una relazione e di una presentazione.

La relazione dovrà contenere la trattazione completa dell'intero progetto (testo e diagrammi UML) ad esclusione del prototipo (che deve essere presentato al momento della discussione).

La presentazione del progetto dovrà essere effettuata mediante slide.

Il superamento di entrambe le prove sarà garantito agli studenti che dimostreranno padronanza e capacità operativa in relazione ai concetti chiave illustrati nell'insegnamento. Un punteggio più elevato sarà attribuito agli studenti che dimostreranno di aver compreso ed essere capaci di utilizzare tutti i contenuti dell'insegnamento, illustrandoli con capacità di linguaggio, e risolvendo problemi anche complessi non necessariamente incontrati a lezione. Il mancato superamento dell'esame potrà essere dovuto all'insufficiente conoscenza dei concetti chiave, alla mancata padronanza del linguaggio tecnico, alla mancata o insufficiente capacità di astrazione dei concetti.

Strumenti a supporto della didattica

Le lezioni in aula verranno svolte utilizzando lucidi, con il supporto della lavagna per lo svolgimento di esercizi.

Le esercitazioni in laboratorio consentiranno ad ogni studente di disporre di un calcolatore sul quale svolgere l'attività di progettazione prevista, sotto la guida di un tutor.

Orario di ricevimento

Consulta il sito web di Marco Patella

Consulta il sito web di Ambra Molesini