- Docente: Paolo Ciancarini
- Crediti formativi: 9
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Paolo Ciancarini (Modulo 1) Giancarlo Succi (Modulo 2)
- Modalità didattica: In presenza e a distanza - Blended Learning (Modulo 1) In presenza e a distanza - Blended Learning (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Informatica (cod. 8009)
-
Orario delle lezioni (Modulo 1)
dal 19/09/2024 al 28/11/2024
-
Orario delle lezioni (Modulo 2)
dal 16/09/2024 al 16/12/2024
Conoscenze e abilità da conseguire
Al termine del corso, lo studente conosce metodi e strumenti di analisi, progettazione e misura di sistemi software. Comprende il ruolo dei modelli di processo di sviluppo del software, specialmente quelli orientati alla collaborazione agile. È in grado di descrivere un sistema software con il formalismo UML, di programmarlo con un linguaggio orientato agli oggetti, utilizzando strumenti collaborativi per le gestione delle versioni e della qualità del codice.
Contenuti
•La produzione del software •Il ciclo di vita del software •I metodi di sviluppo agili •Il metodo Scrum •L'analisi e la specifica dei requisiti •Schemi (pattern) di progettazione •La modellazione del software con UML •Gli strumenti di sviluppo agile •Project Management per sistemi software • Controllare e misurare la qualità del software • La manutenzione dei sistemi software •La gestione della configurazione
Testi/Bibliografia
Sommerville, Introduzione all'Ingegneria del Software moderna, Pearson 2021
Jacobson, The essentials of modern software engineering, ACM Books 2019
Metodi didattici
Lezioni frontali, esercitazioni, letture e presentazioni di articoli scientifici. Quiz di verifica in classe usando strumenti online: es. Kahoot.
NOTA BENE: In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai Moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio, [https://elearning-sicurezza.unibo.it/] in modalità e-learning.
Modalità di verifica e valutazione dell'apprendimento
La verifica dell'apprendimento avviene attraverso: 1) orale sui temi del corso 2) un progetto opzionale da fare in gruppo seguendo un metodo di sviluppo agile.
L'orale mira a verificare l'acquisizione delle conoscenze previste dal programma del corso.
Il progetto mira ad sviluppare le abilità collaborative ("teamwork") nel risolvere problemi nell'ambito delle principali tematiche affrontate nel corso, in particolare: sviluppo sostenibile, uso di strumenti collaborativi open source, competenze di analisi dei requisiti e di gestione del progetto.
Sia il progetto che l'orale hanno lo scopo di verificare l'apprendimento dei metodi dell'ingegneria del software e l'acquisizione di giudizio critico in relazione alle soluzioni dei problemi di analisi, specifica, progettazione e valutazione di sistemi software. Il voto finale, espresso in trentesimi, tiene conto delle valutazioni riportate nell'orale e nel progetto, se effettuato.
Strumenti a supporto della didattica
Copie dei trasparenti (slide) mostrati a lezione. Esercizi degli anni precedenti. Quiz a domande chiuse somministrati online. Canale di comunicazione basato su Telegram. Ambiente di sviluppo open source con strumenti collaborativi di versionamento, di controllo di progetto e di analisi della qualità del codice
Link ad altre eventuali informazioni
http://www.cs.unibo.it/~cianca/wwwpages/labisw
Orario di ricevimento
Consulta il sito web di Paolo Ciancarini
Consulta il sito web di Giancarlo Succi
SDGs



L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.