- Docente: Paolo Ciancarini
- Crediti formativi: 9
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Paolo Ciancarini (Modulo 1) Giancarlo Succi (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Informatica (cod. 8009)
-
Orario delle lezioni (Modulo 1)
dal 19/09/2022 al 15/12/2022
-
Orario delle lezioni (Modulo 2)
dal 20/09/2022 al 29/11/2022
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) un progetto da fare in gruppo seguendo un metodo di sviluppo agile, 2) una presentazione preparata e consegnata prima dell'appello su un articolo scientifico a scelta dello studente; 3) una discussione orale del progetto e della presentazione.
Il progetto mira ad accertare le abilità collaborative ("teamwork") acquisite nel risolvere problemi nell'ambito delle principali tematiche affrontate nel corso, in particolare: sviluppo agile, uso di UML e design patterns.
La presentazione mira a verificare l'acquisizione delle conoscenze previste dal programma del corso mediante una relazione sintetica su un articolo scientifico a scelta dello studente. Sia il progetto che la presentazione hanno l'ulteriore 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 in entrambe le prove in proporzione 3/4 (rapporto di progetto) e 1/4 (discussione orale). Lo studente può chiedere di essere interrogato sui contenuti del corso per migliorare il voto così ottenuto.
Strumenti a supporto della didattica
Copie dei trasparenti (slide) mostrati a lezione. Esercizi degli anni precedenti. Quiz a domande chiuse somministrati online con Kahoot. Canale di comunicazione basato su Telegram. Ambiente di sviluppo con strumenti per controllo di progetto e di 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
![Istruzione di qualità](https://www.unibo.it/++resource++unibo.didattica/sdg/it/04.jpg?v=2)
![Lavoro dignitoso e crescita economica](https://www.unibo.it/++resource++unibo.didattica/sdg/it/08.jpg?v=2)
![Imprese innovazione e infrastrutture](https://www.unibo.it/++resource++unibo.didattica/sdg/it/09.jpg?v=2)
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.