L'ingegneria del software è la branca dell'informatica che crea soluzioni pratiche ed economiche ai problemi di calcolo e di elaborazione delle informazioni. Questo corso presenta una raccolta di metodi con un approccio "ingegneristico" allo sviluppo di software. Verranno presentate metodologie per l'analisi, la progettazione, il test e l'implementazione di sistemi software grandi e complessi.
In questo corso si vogliono applicare i concetti visti a lezione di Software Engineering (111102), in particolare approfondendo tutti gli aspetti dello sviluppo software. Alla fine del corso lo studente dovrebbe essere in grado di sviluppare un intero software, dall'analisi dei requisiti fino alla verifica e validazione del software stesso. Il progetto verra' sviluppando seguendo uno dei modelli di sviluppo software visti a lezione di Software Engineering(111102)
Al termine del corso gli studenti dovrebbero essere in grado di:
Non ci sono requisiti di competenza specifici. Il docente assume che gli studenti abbiano familiarità con i linguaggi di programmazione e le strutture dati, anche complesse. Questo corso propone metodologie di lavoro sia indipendente che cooperativo. Il linguaggio di implementazione utilizzato durante le lezioni è Java. L'esperienza di programmazione Java non è un prerequisito, perché si presume che, in qualità di professionisti del software, gli studenti abbiano la capacità di apprendere rapidamente nuovi linguaggi e strumenti.
Il corso deve essere svolto insieme al corso di Software Engineering (111102)
Le attivita' didattiche sono divise in:
Libri per approfondire i concetti visti in aula
Ricevimento: Il Docente riceve su appuntamento, sia di persona che in via telematica (Teams.
MASSIMO NARIZZANO (Presidente)
ENRICO GIUNCHIGLIA
ARMANDO TACCHELLA (Presidente Supplente)
Ad ogni studente viene assegnato un progetto che sara' lo stesso del corso di Software Engineering che dovra' svolgere in gruppo.
Il voto dell'esame sara' dato valutando il progetto nelle seguenti composizioni:
50%: del voto sara' assegnato valutando quanto il software soddisfa i requisiti dell'utente. Di solito viene valutato dal tutor aziendale/universitario
50% del voto sara' assegnato valutando la qualità del software prodotto, dal punto di vista delle pratiche di ingegneria del software. Di solito questo sarà valutato dal Docente del Corso.