Offerta Didattica

 

INFORMATICA

SOFTWARE ENGINEERING

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2022/2023
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
ING-INF/05CaratterizzanteLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
64024824024
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

Il corso si propone di fornire gli strumenti concettuali fondamentali per acquisire conoscenze e competenze sui principi e metodi dell'Ingegneria del Software, in particolare per quanto riguarda i processi di sviluppo del software, l'analisi dei requisiti, la progettazione, il testing e la verifica formale di un sistema software.

Learning Goals


Metodi didattici

Lezioni frontali, Sessioni Hands-on, Seminari Elaborato finale

Teaching Methods


Prerequisiti

I prerequisiti e le conoscenze preliminari richieste per il corso di Ingegneria del Software sono prevalentemente relativi la programmazione, preferibilmente ad oggetti.

Prerequisites


Verifiche dell'apprendimento

L’esame consiste in una prova orale, per accedere alla quale è obbligatorio implementare un elaborato o progetto di Ingegneria del Software. Il progetto dovrà sviluppare un sistema software di complessità adeguata, tale da richiedere le metodologie ed i processi di Ingegneria del Software per il suo sviluppo. L’ideazione, l’analisi del problema, la progettazione, lo sviluppo, la verifica e validazione ed eventuali fasi successive devono essere tutte implementate dallo studente. Sono dunque gli studenti che solitamente propongono l’idea da sviluppare e ne curano tutte le fasi di cui sopra. Il progetto deve essere svolto in gruppi di almeno 2 studenti, con complessità proporzionale al numero di studenti coinvolti. Il progetto deve essere corredato da adeguata relazione scritta che descriva tutte le fasi del processo di sviluppo, la metodologia ed il metodo di sviluppo selezionato, e tutti gli artifacts di progetto, adeguatamente documentati attraverso diagrammi UML. L’esame orale verterà sulla discussione del progetto, approfondendo gli aspetti pratici con i relativi concetti teorici. E’ necessario fornire la relazione del progetto almeno una settimana prima della data d’esame. La valutazione dell’esame sarà in trentesimi, valutando il progetto al 70% e l’orale per il 30% del voto complessivo.

Assessment


Programma del Corso

INTRODUZIONE ALL’INGEGNERIA DEL SOFTWARE: definizioni, concetti base, ruoli e compiti dell’ing del sw, qualità dei software, principi, approcci, metodologie, metodi tecniche e tools. PROCESSI SOFTWARE: Modelli dei processi software; Cicli di processo; Attività di processo. Modello a cascata, modelli di prototipizzazione, modello incrementale, modello a spirale, modello a V, RUP e varianti. METODOLOGIE DI SVILUPPO DEL SW: Plan Driven, Agile, DevOps e loro implementazioni (XP, Scrum, Spotify) GESTIONE DEI PROGETTI: Attività di gestione; Pianificare il progetto; Tempistica del progetto; Gestione del rischio. REQUISITI DEL SOFTWARE: Requisiti funzionali e non funzionali; Requisiti utente; Requisiti di sistema; Specifica delle interfacce; Documento dei requisiti. PROCESSI DI INGEGNERIA DEI REQUISITI: Studi di fattibilità; Deduzione ed analisi dei requisiti; Convalida dei requisiti; Gestione dei requisiti. PANORAMICA SU UML: Introduzione a UML; Diagrammi dei casi d’uso; Diagrammi delle classi e degli oggetti; Diagrammi delle interazioni; Diagrammi di stato e Diagrammi delle attività; diagrammi deployment e component, Organizzazione dei diagrammi. PROGETTAZIONE DEL SOFTWARE: Progettazione architetturale. - Progettazione orientata agli oggetti. SVILUPPO: Sviluppo rapido del software. - Riutilizzo del software. VERIFICA E CONVALIDA DEL SOFTWARE: Test del software. La qualità del software. MAINTENANCE ED EVOLUZIONE DEL SOFTWARE: Manutenzione, evoluzione, re-engineering, reverse engineering, refactoring, reflection, riuso e CBSE INGEGNERIA DEI SERVIZI: Servizi, Service oriented computing, SOA, SOI.

Course Syllabus


Testi di riferimento: Ian Sommerville, Ingegneria del software, Pearson Education Consigliato: Ghezzi Jazayeri Mandrioli - Ingegneria del Software - Prentice Hall Lucidi del docente proiettati a lezione Dispense e tutorial

Elenco delle unità didattiche costituenti l'insegnamento

Docente: SALVATORE DISTEFANO

Orario di Ricevimento - SALVATORE DISTEFANO

GiornoOra inizioOra fineLuogo
Lunedì 11:00 12:00Ingegneria, Piano 7, Blocco B
Note: Il ricevimento è previa appuntamento, si prega di contattare il docente e concordare la data e l'ora di ricevimento, non necessariamente il lunedi'.
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti