Offerta Didattica
INFORMATICA
SOFTWARE ENGINEERING
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2022/2023
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
ING-INF/05 | Caratterizzante | Libera | Libera | No |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
6 | 4 | 0 | 2 | 48 | 24 | 0 | 24 |
LegendaCFU: 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 finaleTeaching 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
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
Docente: SALVATORE DISTEFANO
Orario di Ricevimento - SALVATORE DISTEFANO
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Lunedì | 11:00 | 12:00 | Ingegneria, 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'.