Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea magistrale in Ingegneria e scienze informatiche - Immatricolazione dal 2025/2026Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
2° Anno Attivato nell'A.A. 2021/2022
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
4 insegnamenti a scelta
2 insegnamenti a scelta
3 insegnamenti a scelta
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Fondamenti di ingegneria del software (2020/2021)
Codice insegnamento
4S008899
Crediti
6
Lingua di erogazione
Italiano
Settore Scientifico Disciplinare (SSD)
ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
L'insegnamento è organizzato come segue:
Teoria
Laboratorio
Obiettivi formativi
L’insegnamento si propone di presentare e applicare le principali metodologie e tecnologie da adottare nella progettazione e sviluppo di sistemi software. Al termine del corso, lo studente saprà quali strumenti mettere in campo per la definizione dei requisiti, la progettazione, l’implementazione e la verifica del software. Queste conoscenze consentiranno allo studente di partecipare proattivamente e consapevolmente ad attività di sviluppo software, padroneggiando le metodologie e le tecnologie di supporto alle varie fasi dello sviluppo.
Programma
Il programma del corso include le seguenti tematiche:
• Introduzione all’ingegneria di software: definizioni, considerazioni etiche, casi di studio.
• Processi di sviluppo del software: modello a cascata, modello a spirale, modelli agili.
• Ingegneria dei requisiti: metodologie per la raccolta e validazione dei requisiti, interazione con gli stakeholders.
• Progettazione del software: linguaggio UML e suo utilizzo per progettazione e documentazione del software. Class diagram, sequence diagram, object diagram, package diagram, use case diagram, activity diagram.
• Implementazione del software: gestione della configurazione, build system, integrated development environment (IDE).
• Architetture software: progettazione e vista architetturale. Pattern di architetture software: Layers, Pipes and filters, Repository, Client server, MVC.
• Validazione del software: test di unità, test di integrazione e test di sistema. Test black-box e white-box. Copertura e adeguatezza dei casi di test. Mutation testing.
• Gestione del software: gestione del rischio, gestione di progetto.
• Evoluzione del software: refactoring e bad smells.
Bibliografia
Attività | Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|---|
Teoria | Ian Sommerville | Ingegneria del software - 10/Ed. (Edizione 10) | Pearson | 2017 | 9788891902245 | |
Laboratorio | Ian Sommerville | Ingegneria del software - 10/Ed. (Edizione 10) | Pearson | 2017 | 9788891902245 |
Modalità d'esame
Gli studenti verranno valutati mediante un esame orale ed attività di laboratorio.