INGEGNERIA DEL SOFTWARE

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
SOFTWARE ENGINEERING
Codice insegnamento
CT0090 (AF:402000 AR:218239)
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
INF/01
Periodo
I Semestre
Anno corso
3
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
L'insegnamento contribuisce alle seguenti conoscenze e competenze in uscita del percorso di studio:
- conoscenza delle fasi del ciclo di vita dei sistemi software sia per costruirne di nuovi, sia per la manutenzione di sistemi esistenti;
- conoscenza delle architetture software e dei formalismi per la loro descrizione e progettazione;
- capacità di scegliere i processi più adatti per progetti riguardanti sia aree applicative tradizionali che aree emergenti;

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 una WBS, e di utilizzare diagrammi di Gannt 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'applicazione Android e di redigere la documentazione che accompagna un progetto software: piano di progetto, documento di analisi e specifica dei requisiti, documento di progettazione, documento di testing.
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.
Programmazione. Algoritmi. Architetture e Sistemi Operativi
1. Ciclo di Vita del Software - Piano di Progetto
2. Ingegneria dei Requisiti - Modelli di Sistema - Prototipazione
3. Metodologie di Progettazione del Software
4. Tecniche di Verifica e Validazione
5. Gestione e Mantenimento di sistemi software
6. Aspetti Giuridici e Gestione della Qualita'
7. Sviluppo di applicazioni Android
Ian Sommerville. Software Engineering, Pearson, Decima edizione, 2017
Roger S Pressman, Software Engineering: A Practitioner's Approach, McGraw-Hill, 2014
Sinan Si Alhir: Learning UML, O'Reilly, 2003
Verrà assegnato un progetto di gruppo (con team di 3 o 4 studenti) avente come obiettivo la realizzazione completa di un sistema software in ambiente Android, accompagnando con consegne intermedie il processo di pianificazione, analisi, progettazione, implementazione e testing. Particolare cura sarà dedicata alla qualità della documentazione.
L'esame finale consisterà nella discussione degli elaborati presentati. Per superare l'esame gli studenti devono rispettare le specifiche e i termini di consegna dei diversi deliverable di progetto (piano di progetto, documento di analisi dei requisiti, documento di progettazione, documento di pianificazione del testing). Ognuna delle consegne sarà valutata (in centesimi) rispetto a correttezza, completezza e chiarezza espositiva. La valutazione finale terrà conto per un terzo (fino a 10 punti) della valutazione delle consegne, per un terzo (fino a 10 punti) della qualità della revisione finale delle stesse, e per un terzo (fino a 10 punti) della complessità e usabilità del sistema sviluppato (valutazione della demo del prototipo).
Lezioni frontali, team-working, revisioni di progetto.
Tutto il materiale didattico viene messo a disposizione sulla piattaforma moodle, sulla quale gli studenti caricheranno i loro deliverables.
Italiano
orale

Questo insegnamento tratta argomenti connessi alla macroarea "Cambiamento climatico e energia" e concorre alla realizzazione dei relativi obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile

Programma definitivo.
Data ultima modifica programma: 21/10/2024