SOFTWARE ENGINEERING

Anno accademico
2026/2027 Programmi anni precedenti
Titolo corso in inglese
SOFTWARE ENGINEERING
Codice insegnamento
CT0671 (AF:521687 AR:301194)
Lingua di insegnamento
Inglese
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
I Semestre
Anno corso
3
Sede
VENEZIA
L'insegnamento contribuisce alle seguenti conoscenze e competenze in uscita del percorso di studio:
- conoscenza delle fasi del ciclo di vita dei progetti per la creazione e/o manutenzione di sistemi software;
- conoscenza delle architetture software e dei formalismi per la loro descrizione e progettazione;
- conoscenza delle metodologie di verifica e validazione del sodtware;
- conoscenza dei metodi gi gestione dei costi, tempi, qualita dei progetti software;
- conoscenza dei principali aspetti etici e giuridici del software

In particolare l'insegnamento ha come obiettivo l'acquisizione delle principali metodologie per la pianificazione e gestione di un progetto software. Al termine del corso lo studente e in grado di applicare le principali metodologie per la analisi, progettazione e verifica del software; di impostare un Work Breakdown Structure, e di utilizzare diagrammi di Gantt e Pert per la pianificazione di progetto; di redigere un business plan per un progetto software; di utilizzare UML a supporto dell'attivita di analisi e di progettazione; di realizzare un progetto software e di redigere la relativa documentazione: piano di progetto, documento di analisi e specifica dei requisiti, documento di progettazione, documento di testing.
L'insegnamento intende fornire i concetti fondamentali di gestione di progetti di sistemi informativi , con riferimento teorico al PMI (Project Management Institute). Si prefigge inoltre di far sperimentare allo studente le nozioni acquisite attraverso l'uso di sistemi di gestione di progetto, con particolare attenzione per le metodologie agili.
Lo studente acquisirà le conoscenze sulle metodologie appropriate per la realizzazione di un sistema software dalla fase di ideazione al deployment e la capacità di applicarle nella realizzazione completa di un sistema.

Conoscenza e comprensione:
- conoscenza e comprensione di concetti e strumenti di project management;
- conoscenza delle metodologie agili per la gestione di progetto di sistemi ICT.

Capacità di applicare conoscenza e comprensione:
- capacità di sviluppo e gestione di progetti software usando lo stato dell'arte della tecnologia.
- sessioni pratiche per sperimentare e acquisire una conoscenza attiva degli argomenti del corso.

Abilità comunicative
Saper comunicare informazioni, idee, problemi e soluzioni a interlocutori specialisti e non specialisti.
Sviluppare capacità di management e "soft skills"
Programmazione. Algoritmi. Architetture e Sistemi Operativi.

Si consiglia vivamente di frequentare le lezioni, dato che Software Engineering ha componenti teoriche e sperimentali.
L'acquisizione dei concetti avviene anche grazie a esercitazioni di gruppo e discussioni di casi pratici.
1. Processidi sviluppo del software, Metodologie Agili
2. Ingegneria dei Requisiti
3. Metodologie di Progettazione del Software - Modelli di Sistema
4. Tecniche di Verifica e Validazione
5. Gestione di configurazione, Manutenzione ed Evoluzione del software
6. Gestione di progetto: costo, tempo, qualità e team di sviluppo.
7. Aspetti etici e legali
Documentazione fornita dal docente che farà riferimento a:
1. Ian Sommerville. Software Engineering, Pearson, Decima edizione, 2017
2. Roger S Pressman, Software Engineering: A Practitioner's Approach, 8 ed., McGraw-Hill, 2014
3. Hans Van Vliet, Software Engineering: Principles and Practice - 3rd Edition, Wiley, 2008.
4. A Guide to the Project Management Body of Knowledge (PMBOK Guide) - 8th Edition 2026 - Project Management Institute, http://www.pmi.org
5. A Guide to the Scrum Body of Knowledge (SBOK Guide) - 5th Edition 2025 - VMEdu Inc., http://www.scrumstudy.com (free download)
6. Patrick Li. Jira 8 Essentials - 5th Edition - Packt, 2019, ISBN 978-1-78980-281-8
La verifica dell'apprendimento avviene attraverso una prova scritta, la realizzazione di un progetto e una prova orale che consiste nella presentazione del progetto a fine corso.
La prova scritta ha durata di un'ora e consiste di esercizi che mirano a verificare:
1) le conoscenze delle nozioni relative alla teoria di Software Engineering
2) l'abilità di risolvere brevi esercizi su vari argomenti di Software Engineering.
Durante la prova scritta non è ammesso l'uso di libri, appunti, supporti elettronici.

Il progetto di gruppo obbligatorio consiste nello sviluppo di una applicazione software in gruppi di 3-5 persone, e sarà concordato con il docente.

La valutazione dell'esame dura 90 minuti ed è formulata secondo i seguenti criteri:
a) Prova scritta 100%
b) Progetto e presentazione orale possono fornire da 0 a 6 punti bonus in aggiunta al voto dello scritto.
E' necessario passare la prova scritta con almeno 18 per poter sommare i punti bonus del progetto e passare l'esame.
I punti bonus del progetto restano validi per tutto l'anno e verranno azzerati alla nuova edizione del corso ne''anno successivo.
scritto e orale

Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.

Per quanto riguarda la gradazione del voto dello scritto (modalità con cui saranno assegnati i voti), a prescindere dalla modalità frequentante o non frequentante:
A. punteggi nella fascia 18-22 verranno attribuiti in presenza di sufficiente conoscenza e capacità di comprensione applicata in riferimento al programma;
B. punteggi nella fascia 23-26 verranno attribuiti in presenza di discreta conoscenza e capacità di comprensione applicata in riferimento al programma;
C. punteggi nella fascia 27-30 verranno attribuiti in presenza di buona o ottima conoscenza e capacità di comprensione applicata in riferimento al programma;
D. la lode verrà attribuita in presenza di conoscenza e capacità di comprensione applicata in riferimento al programma, capacità di giudizio e abilità comunicative, eccellenti.
Le lezioni conterranno l'esposizione di elementi teorici attraverso l'uso di slide (lezioni frontali), con la relativa applicazione pratica.
I partecipanti al corso verranno suddivisi in gruppi da 3 a 5 studenti e svilupperanno gli elementi della gestione di un progetto, discutendo i risultati con il docente e gli altri team (active learning).
Se necessario verranno inseriti, per determinati argomenti, test di autovalutazione per verificare l'apprendimento durante il semestre.
Il corso si svolgerà in presenza.
Il materiale didattico del corso è in lingua inglese, e le lezioni saranno in lingua inglese.

Questo insegnamento tratta argomenti connessi alla macroarea "Capitale umano, salute, educazione" e concorre alla realizzazione dei relativi obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile

Programma definitivo.
Data ultima modifica programma: 16/03/2026