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.

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 in Informatica - Immatricolazione dal 2025/2026

Il 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

InsegnamentiCreditiTAFSSD
6
A
FIS/01
6
A
INF/01
Lingua inglese competenza linguistica - liv.b1(completo)
6
E
-

2° Anno  Attivato nell'A.A. 2017/2018

InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
12
B
ING-INF/05
Un insegnamento a scelta

3° Anno  Attivato nell'A.A. 2018/2019

InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
6
B
INF/01
Un insegnamento a scelta
6
B
INF/01
6
B
INF/01
Prova finale
6
E
-
InsegnamentiCreditiTAFSSD
6
A
FIS/01
6
A
INF/01
Lingua inglese competenza linguistica - liv.b1(completo)
6
E
-
Attivato nell'A.A. 2017/2018
InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
12
B
ING-INF/05
Un insegnamento a scelta
Attivato nell'A.A. 2018/2019
InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
6
B
INF/01
Un insegnamento a scelta
6
B
INF/01
6
B
INF/01
Prova finale
6
E
-

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.




S Stage e tirocini presso imprese, enti pubblici o privati, ordini professionali

Codice insegnamento

4S003714

Crediti

12

Coordinatore

Carlo Combi

Lingua di erogazione

Italiano

Offerto anche nei corsi:

L'insegnamento è organizzato come segue:

INGEGNERIA DEL SOFTWARE

Crediti

6

Periodo

Vedi pagina del modulo

Docenti

Vedi pagina del modulo

Obiettivi formativi

------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ed esercitazioni ------------------------
L'obiettivo dell'insegnamento consiste nell'introdurre i principi scientifici e professionali di base dell'ingegneria del software, affrontando le diverse fasi di sviluppo e produzione del codice: pianificazione, progettazione, modellazione e specifica, implementazione, collaudo e verifica, valutazione, manutenzione. Le esercitazioni in laboratorio compendiano la parte teorica con la progettazione, documentazione e realizzazione di un sistema software. Oltre a possedere le conoscenze di base dell'ingegneria del software, lo studente sarà in grado di realizzare e documentare sistemi software, e di comunicare in modo proficuo con tutti gli attori coinvolti nella realizzazione e uso di un sistema software all'intero di organizzazioni complesse.
------------------------ MM: Laboratorio ------------------------
Scopo di questo modulo è di aiutare lo studente nella progettazione, documentazione e realizzazione di un sistema software con le tecniche introdotte nel modulo di teoria.
------------------------
MM: PROGRAMMAZIONE II
------------------------
Lo scopo di questo modulo è di permettere allo studente di apprendere la programmazione in Java ad oggetti e tecniche di programmazione più avanzate di quelle apprese al corso di Programmazione I. Al termine dell'insegnamento lo studente sarà capace di scrivere algoritmi non banali in un linguaggio a oggetti e di comprendere il codice a oggetti scritto da terzi.

Programma

------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ed esercitazioni ------------------------
* Introduzione all'ingegneria del software
- Definizione di Ingegneria del Software
- Tipi di Software
- Caratteristiche dei software
- Ingegneria del Software e aspetti etici

* Processi software
- Introduzione
- Modelli dei processi software
- Attività dei processi
- Gestione dei cambiamenti

* Sviluppo agile del sotware
- Metodi agili
- La metodologia SCRUM e sue applicazioni

* Ingegneria dei requisiti
- Requisiti funzionali e non funzionali
- Processi di ingegneria dei requisiti
- Ingegneria dei requisiti e UML Use Case

* Progettazione architetturale
- Introduzione
- Pattern di architettura
-- MVC
-- Repository
-- Client server
-- Pipe and filter

* Progettazione e implementazione con approccio agli oggetti
- Caratteristiche principali
- Metodologie ad oggetti: concetti di base
- Modellazione di sistemi orientata agli oggetti con UML
-- UML Class Diagram
-- Use Case diagram
-- Activity Diagram
-- Sequence Diagram
- Fasi della progettazione
- Design pattern
-- Introduzione
-- Singleton
-- Observer
-- Template
-- Iterator
-- Factory
-- Abstract factory
-- Proxy
-- Facade
-- Decorator

* Verifica e Validazione
- Introduzione
- Ispezione e test
- Vari tipi di test
- Progettazione basata su test

* Evoluzione e mantenimento del software
- Gestione del cambiamento del SW
- Sistemi Legacy
- Manutenzione del SW

------------------------ MM: Laboratorio ------------------------
- Introduzione alla libreria Swing per lo sviluppo di interfacce grafiche in Java.
- Introduzione alle librerie TkInter, wxPython, pyGTK/PyGobject, e PyQt/PySide per lo sviluppo di interfacce grafiche in Python.
- Introduzione ai tool Eclipse-Papyrus e StarUML per lo sviluppo di progetti UML. Modalità di erogazione della didattica
- Lezioni frontali ed esercitazioni in laboratorio informatico.

Materiale didattico (lucidi) ed ulteriori esercizi sulla piattaforma eLearning. Ricevimento individuale negli orari concordati con il docente.
------------------------
MM: PROGRAMMAZIONE II
------------------------
Java e bytecode Strutturazione delle classi Array Ereditarietà Metodi e late binding Libreria standard e sue classi di base Eccezioni Input/output Interfacce Classi collezione

Bibliografia

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
Ian Sommerville Ingegneria del software - 10/Ed. (Edizione 10) Pearson 2017 9788891902245
Martin Fowler UML Distilled (Edizione 4) Pearson - Addison Wesley 2010 9788871925981
Claudio De Sio Cesari Manuale di Java 8. Programmazione orientata agli oggetti con Java standard edition 8 (Edizione 1) Hoepli 2014 8820362910

Modalità d'esame

------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ed esercitazioni ------------------------
La verifica del profitto, sia per gli studenti frequentanti sia per i non frequentanti, avviene mediante un piccolo progetto, inerente l'attività di laboratorio, e un esame orale sugli argomenti del programma. Oltre alla capacità di presentare correttamente tutti gli aspetti di un progetto software, l'esame farà emergere sia aspetti di conoscenza astratta sia capacità di applicazione dei concetti appresi.

------------------------ MM: Laboratorio ------------------------
La verifica del profitto avviene mediante un piccolo progetto, inerente l'attività di laboratorio, che verrà poi discusso durante l'esame orale.
------------------------
MM: PROGRAMMAZIONE II
------------------------
Esame scritto di sviluppo di codice in Java. Lo studente dovrà completare l'implementazione di alcune classi Java. La valutazione, in trentesimi, sarà basata sulla correttezza generale del codice, sia dal punto di vista sintattico che semantico.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI