Salta al contenuto principale
CODICE 111100
ANNO ACCADEMICO 2026/2027
CFU
SETTORE SCIENTIFICO DISCIPLINARE IINF-05/A
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 2° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

L'ingegneria del software è la branca dell'informatica che crea soluzioni pratiche ed economiche ai problemi di calcolo e di elaborazione delle informazioni. Questo corso presenta una raccolta di metodi con un approccio "ingegneristico" allo sviluppo di software. Verranno presentate metodologie per l'analisi, la progettazione, il test e l'implementazione di sistemi software grandi e complessi. 

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Lo scopo dell'insegnamento è introdurre l’Ingegneria del Software come disciplina che governa ogni aspetto del processo di sviluppo del software, intesa come applicazione dei principi dell’ingegneria al software, includendo la specifica dei requisiti, la progettazione, la modellazione, la documentazione e il testing unitario, non limitandosi alla sola codifica, e fornire una comprensione delle metriche utilizzate per quantificare la qualità del software, coprendo argomenti quali template di sviluppo software, analisi dei requisiti, sistemi di modellazione UML, design pattern, verifica e validazione, linguaggi di specifica temporale, algoritmi di verifica di proprietà temporali e modellazione e risoluzione dei casi mediante model checker.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine del corso gli studenti dovrebbero essere in grado di:

  • Gestire un progetto di sviluppo software di medie dimensioni, inclusa la pianificazione e tutta la  documentazione di supporto 
  • Compilare documenti di ingegneria del software come ad esempio documenti sui requisiti utente o il test planning 
  • Utilizzare strumenti per lavorare in gruppo come ad esempio git/github
  • Interagire con Aziende per la definizione dei requisiti

PREREQUISITI

Non ci sono requisiti di competenza specifici. Il docente assume che gli studenti abbiano familiarità con i linguaggi di programmazione e le strutture dati, anche complesse. Questo corso propone metodologie di lavoro sia indipendente che cooperativo. Il linguaggio di implementazione utilizzato durante le lezioni è Java. L'esperienza di programmazione Java non è un prerequisito, perché si presume che, in qualità di professionisti del software, gli studenti abbiano la capacità di apprendere rapidamente nuovi linguaggi e strumenti.

Il corso deve essere svolto insieme al corso di Software Engineering (111102)

MODALITA' DIDATTICHE

Le attivita' didattiche sono divise in:

  1. Lezioni in aula dove il Docente presentera' alcuni esempi
  2. Meeting tra docente e ogni gruppo per definire lo stato di avanzamento del progetto e possibili problematiche
  3. Meeting tra tutor aziendale e gruppo di lavoro per definire i requisiti e per validare il lavoro
  4. Meeting tra tutor aziendale gruppo di lavoro e Docente per validare lo stato di avanzamento del progetto

 

Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA), per disabilità o altri bisogni educativi sono invitati a contattare il docente e il referente di Scuola per la disabilità all’inizio dell’insegnamento per concordare eventuali modalità didattiche che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali. 

I contatti del referente di Scuola per la disabilità sono disponibili al seguente link https://unige.it/commissioni/comitatoperlinclusionedeglistudenticondisabilita.

PROGRAMMA/CONTENUTO

  1. Come gestire un progetto software tramite gir/github
  2. Pianificazione dei Task per il lavoro in gruppo
  3. Scrittura di documenti per lo sviluppo del software
  4. Progettazione del software tramite UML
  5. Sviluppo del Software tramite linee guida
  6. Refactoring del codice
  7. Unit Testing Automatico
  8. Functional Testing

TESTI/BIBLIOGRAFIA

Libri per approfondire i concetti visti in aula

  1. R. MartinAgile Software Development, Principles, Patterns, and Practices, Prentice Hall, 2002 (ISBN: 0-135-97444-5).
  2. C. Atkinson et alComponent-Based Product Line Engineering with UML, Addison-Wesley, 2001, (ISBN 0-201-73791-4).
  3. A. Cockburn, Writing Effective Use Cases, Addison Wesley, 2000 (ISBN: 0-201-70225-8).
  4. M. Fowler and K. ScottUML Distilled: A Brief Guide to the Standard Object Modeling Language2nd Edition, Addison Wesley, 2002 (ISBN: 0-201-65783-X).
  5. I. Jacobson, G. Booch, and J. RumbaughUnified Software Development Process, Addison Wesley, 1999, (ISBN: 0-201-57169-2).
  6. Software Engineering, Ian Sommerville, Pearson Editor

DOCENTI E COMMISSIONI

Commissione d'esame

MASSIMO NARIZZANO (Presidente)

ENRICO GIUNCHIGLIA

ARMANDO TACCHELLA (Presidente Supplente)

LEZIONI

INIZIO LEZIONI

https://easyacademy.unige.it/portalestudenti/index.php?view=easycourse&_lang=it&include=corso

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Ad ogni studente viene assegnato un progetto che sara' lo stesso del corso di Software Engineering che dovra' svolgere in gruppo. 

Gli studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali devono contattare il docente all’inizio del corso per concordare modalità didattiche e d’esame che, nel rispetto degli obiettivi dell’insegnamento, tengano conto delle modalità di apprendimento individuali e forniscano idonei strumenti compensativi. Si ricorda che la richiesta di misure compensative/dispensative per gli esami dovrà essere inviate al docente del corso, al referente della Scuola e al “Settore servizi per l'inclusione degli studenti con disabilità e con DSA” (dsa@unige.it) almeno 10 giorni lavorativi prima della prova, come da linee guida disponibili al link: https://unige.it/disabilita-dsa

MODALITA' DI ACCERTAMENTO

Il voto dell'esame sara' dato valutando il progetto nelle seguenti composizioni:

50%: del voto sara' assegnato valutando quanto il software soddisfa i requisiti dell'utente. Di solito viene valutato dal tutor aziendale/universitario

50% del voto sara' assegnato valutando la qualità del software prodotto, dal punto di vista delle pratiche di ingegneria del software. Di solito questo sarà valutato dal Docente del Corso.

ALTRE INFORMAZIONI

Gli studenti con certificazioni valide per Disturbi Specifici dell’Apprendimento (DSA) possono richiedere adattamenti in sede d'esame, con almeno 7 giorni di anticipo rispetto alla data dell’esame, compilando il "modulo richieste adattamenti" (dai servizi online https://modulionline.unige.it/richiesta-adattamenti#no-back) che verrà inviato in automatico dal sistema al/alla docente responsabile dell’insegnamento e al/alla docente referente per gli studenti con disabilità e con DSA della propria Scuola/Area. 

Lo studente riceverà una copia della sua richiesta.

Agenda 2030

Agenda 2030
Istruzione di qualità
Istruzione di qualità
Parità di genere
Parità di genere
Lavoro dignitoso e crescita economica
Lavoro dignitoso e crescita economica
Imprese, innovazione e infrastrutture
Imprese, innovazione e infrastrutture