Tu sei qui

Ingegneria dei requisiti

Ingegneria dei Requisiti
Corso di laurea magistrale in Informatica F008
A.A. 2015/16
SCV0238
Docente: Luigi Lavazza


CFU SSD LEZIONI ANNO LINGUA
6 INF/01 48 I o II Italiano


Obiettivi dell’insegnamento e risultati di apprendimento attesi
Il corso si propone di fornire le conoscenze e le abilità necessarie allo svolgimento di una completa attività di ingegnerizzazione dei requisiti, a partire dalla raccolta dei requisiti (anche in domini non convenzionali e con committenti di diversa formazione), passando per la modellazione e analisi di diverse soluzioni, fino ad arrivare alla specifica della soluzione scelta.
Tra le diverse tecniche presenti in letteratura, il corso copre quelle maggiormente usate in contesti aziendali e di ricerca per ciascun tema affrontato. Il corso si propone di trasferire allo studente la conoscenza di tali tecniche, in modo che lo studente sia in grado di applicarle a casi di studio reale. Inoltre, le tecniche selezionate e l’analisi che di esse verrà proposta hanno l’obiettivo di fornire allo studente gli strumenti per apprendere nuove tecniche.
Infine, soprattutto durante lo studio delle tecniche di elicitazione e di modellazione e analisi di soluzioni, ci si aspetta che lo studente dimostri autonomia di giudizio e affini le proprie abilità comunicative.

Prerequisiti
Nessun prerequisito.

Contenuti e programma del corso
Il corso offre una visione di insieme dell'ingegneria dei requisiti, fornendo un’analisi dei formalismi, dei metodi, dei processi e degli strumenti usati per la raccolta (elicitazione) e la rappresentazione dei requisiti, distinguendo tra requisiti funzionali e requisiti non funzionali. Il corso fornisce, inoltre, strumenti concreti a supporto dell’analisi di problemi e del loro spazio delle soluzioni. Infine, lo studente dovrà apprendere, senza entrare in dettagli tecnici, le tecniche per la verifica, la valutazione e il monitoraggio dei requisiti identificati. In dettaglio il corso sarà così strutturato come segue.
Introduzione all’ingegneria dei requisiti e ai suoi elementi base (8 ore).
Definizione degli elementi fondamentali. Definizione e analisi del termine "requisiti" e definizione e classificazione di "sistemi". Analisi del ciclo di vita del software, con particolare attenzione al ruolo dei requisiti.
Analisi del contesto e raccolta dei requisiti (14 ore).
Definizione di “problema” e delle dimensioni correlate. Modellazione degli obiettivi e delle loro relazioni. Studio delle tecniche di elicitazione: vantaggi e svantaggi delle diverse tecniche. Dimensionamento del problema. Analisi di fattibilità di una data soluzione
Rappresentazione dei requisiti (14 ore).
Modelli dei requisiti. Tecniche per modellare gli obiettivi. Rappresentazione del contesto: modelli possibili (linguaggio strutturato, alberi delle decisioni, tabelle delle decisioni, OCL), caratteristiche dei vincoli. Modellazione orientata agli oggetti: caratteristiche, elementi, associazioni. OCL: espressioni, uso invarianti, pre- e post- condizioni, tipi, semantica, ... Modellazione di relazioni: uso dei modelli ER in ingegneria dei requisiti, confronti con diagramma delle classi. Modellazione di stati: FSM e statecharts. Modellazione di eventi: modelli tabulari. Modellazione delle interazioni del sistema: casi d'uso.
Specifica (8 ore).
Analisi e modellazione dei requisiti non funzionali. Analisi degli obiettivi tattici. Gestione del rischio. Specifica dei requisiti (standard IEEE). Assegnare priorità ai requisiti
Tracciabilità e analisi (4 ore).
Revisioni e ispezioni (del codice/requisiti). Evoluzione del software e tracciabilità. Fase di progettazione e tracciabilità.

Tipologia delle attività didattiche
Il corso consisterà unicamente di lezioni frontali che si terranno sempre in presenza.

Testi e materiale didattico

Il corso farà riferimento principalmente ai seguenti testi:

  • Software Requirements and Specifications: A Lexicon of Practice, Principles and Prejudices, Michael Jackson, ACM Press. 
  • Requirements Engineering: From System Goals to UML Models to Software Specifications, Axel van Lamsweerde (University Catholique de Louvain), Gennaio 2009.

Sul sito e-learning saranno disponibili i lucidi utilizzati a lezione. Inoltre, gli studenti potranno approfondire alcuni argomenti grazie al materiale apposito messo a disposizione sempre sul sito e-learning.

Modalità di verifica dell’apprendimento
Il corso permette allo studente di scegliere tra due modalità di verifica: (1) sviluppo di un progetto o (2) esame scritto.
La modalità (1) prevede lo svolgimento di un progetto che simuli la raccolta e la specifica di requisiti. Il progetto può essere svolto singolarmente o in coppia. Il progetto prevede 4 consegne. La prima consegna consiste in una descrizione informale del tema del progetto: ipotetico committente e ipotetica problematica. Questa consegna non prevede valutazione, ma serve per tarare la difficoltà del progetto. Le successive tre consegne influenzeranno la valutazione in egual misura. La seconda consegna coprirà la fase di raccolta dei requisiti, analisi dei goal strategici e valutazione delle alternative, con scelta della soluzione da proporre al committente. La terza consegna analizzerà gli obiettivi tattici per la soluzione scelta e ne modellizzerà entità e relazioni principali, casi d’uso e possibili comportamenti. L’ultima consegna conterrà la specifica della soluzione proposta secondo il modello IEEE visto a lezione.
La modalità (2) consiste in un esame scritto, comprendente una serie di esercizi che copriranno tutto il programma del corso. Solo nel caso lo svolgimento dello scritto non consenta una valutazione certa della preparazione dello studente, il docente richiederà il completamento dell’esame con una prova orale, vertente su tutti i temi del programma.
L’esito dell’esame sarà in trentesimi: la prova si ritiene superata con una votazione di almeno 18/30.

Orario di ricevimento
Su appuntamento da concordare con il docente al termine delle lezioni o tramite email.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer