Università degli studi dell'Insubria

VALUTAZIONE DELLA QUALITA' DEL SOFTWARE

A.A. di erogazione 2016/2017

Laurea Magistrale in INFORMATICA
 (A.A. 2015/2016)
Anno di corso: 
2
Tipologia di insegnamento: 
Affine/Integrativa
Settore disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Crediti: 
6
Ciclo: 
Primo Semestre
Ore di attivita' frontale: 
48
Dettaglio ore: 
Lezione (48 ore)

Obiettivi dell’insegnamento e risultati di apprendimento attesi
Il corso illustra gli elementi concettuali e applicativi più importanti a riguardo della verifica, convalida, valutazione, stima e predizione della qualità di sistemi software. L'obiettivo primario è quello di fornire agli studenti le conoscenze necessarie alla definizione di piani di verifica, convalida e misura della qualità e alla loro introduzione in ambienti industriali. Gli studenti acquisiscono inoltre la capacità di analizzare progetti software esistenti, in modo da poterli valutare e se necessario modificare. Infine, gli studenti sviluppano la capacità di individuare i punti forti e i punti deboli delle varie proposte di tecniche di misura, valutazione e predizione delle qualità del software.
Al termine di questo corso lo studente:
- conosce i fondamenti concettuali della verifica e convalida del software;
- conosce le tecniche fondamentali di verifica e convalida del software;
- conosce i fondamenti concettuali della valutazione del software;
- conosce le misure e le tecniche di misurazione più rilevanti;
- è in grado di applicare correttamente la misurazione per valutare sistemi software e predirne le qualità.

Conoscenza e capacità di comprensione (knowledge and under standing)
Al termine del corso lo studente possiede le conoscenze e le capacità di comprensione necessarie per saper analizzare un sistema software dal punto di vista delle sue qualità e saper discernere le tecniche e misure concettualmente più rigorose.

Capacità di applicare conoscenza e comprensione (applying knowledge and understanding)
Al termine del corso lo studente è in grado di applicare sia i principi generali della verifica, validazione e misura del software sia specifiche tecniche ed è inoltre in grado di introdurre programmi di misura in organizzazioni software anche complesse.

Autonomia di giudizio
Al termine del corso lo studente ha sufficienti conoscenze per poter valutare la qualità del software e ben fondare il proprio giudizio a riguardo delle tecniche di misura esistenti, che non sono tutte né con solide basi teoriche, né di facile applicabilità, né di provata utilità pratica, e pertanto scegliere quali siano effettivamente rispondenti agli obiettivi degli specifici casi applicativi.

Abilità comunicative
Al termine del corso lo studente è in grado di presentare con la corretta terminologia le caratteristiche delle misure del software e delle tecniche relative alla qualità. Inoltre è in grado di saper recepire e interpretare indicazioni provenienti dagli sviluppatori per poi poter illustrare loro in maniera compiuta un piano di misurazione e valutazione della qualità che sia rispondente alle loro richieste. Infine, il corso vuole anche abituare lo studente al linguaggio tecnico del settore, con particolare riferimento alla terminologia in lingua inglese.

Prerequisiti: 

È richiesta la conoscenza dei prodotti e semilavorati prodotti durante la costruzione del software.
È opportuna una buona conoscenza della lingua inglese scritta, che permetta la comprensione del materiale fornito dal docente, di quello disponibile in rete e dei testi di riferimento.

Contenuti e programma del corso
- Introduzione alla qualità del software. 2 ore
- Testing e debugging. 6 ore
- Analisi e ispezione del software. 4 ore
- I modelli di qualità. Il modello di qualità ISO9126. 2 ore
- Teoria della Misurazione. 4 ore
- Gli approcci assiomatici. 4 ore
- Misure di prodotto. 6 ore
- I Function Points. 6 ore
- Il paradigma Goal/Question/Metric. 6 ore
- Tecniche di analisi dei dati. 8 ore

Tipologia delle attività didattiche
Lezioni frontali, 48 ore di lezioni teoriche:
- Apprendimento delle tecniche utilizzate per la verifica e la convalida del software.
- Apprendimento delle tecniche utilizzate per la misura delle qualità del software e di tutti i “semilavorati” prodotti lungo il ciclo di vita del software.
- Illustrazione dei fondamenti della misura per un corretto uso.
- Modalità di introduzione di programmi di misura in ambienti industriali.

Testi e materiale didattico
Le slide usate a supporto delle lezioni sono disponibili sul sito dell’e-learning dell’Università.
Sul sito dell’e-learning dell’Università sono anche disponibili link a siti e materiale di interesse.
Testi di riferimento:
- Fenton e Bieman, Software Metrics: A Rigorous and Practical Approach, Third Edition, Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series, 2014.
- Garmus e Herron, Function Point Analysis: Measurement Practices for Successful Software Projects, Addison-Wesley Professional, 2000.
- Wohlin et al., Experimentation in Software Engineering, Springer, 2012.
- Pezzè e Young: Software Testing and Analysis: Process, Principles and Techniques, Wiley, 2007.

Modalità di verifica dell’apprendimento
Il grado di apprendimento viene verificato tramite una prova scritta e lo sviluppo di un progetto, svolto in autonomia dallo studente. Durante il corso sono previste due prove parziali il cui superamento comporta l’esonero dalla prova scritta.

Lo scopo della prova scritta (e delle prove parziali) è quello di verificare l’apprendimento e la comprensione degli elementi relativi alla valutazione delle qualità del software dal punto di vista teorico e applicato (su problemi di non elevata complessità). Le prove scritte (come le prove parziali) consistono di:

- esercizi per la verifica della comprensione e della conoscenza delle tecniche di verifica e convalida del software;
- esercizi per la verifica della comprensione e della conoscenza delle misure per i prodotti software;
- esercizi per la verifica della capacità di progettare piani di misura da utilizzare in ambienti industriali;
- domande per la verifica delle conoscenze degli aspetti più propriamente concettuali.

Lo scopo del progetto è di mettere alla prova le capacità e le conoscenze dello studente nella costruzione di modelli di stima delle qualità del software. La presentazione del progetto ha l’obiettivo di verificare le capacità comunicative sviluppate dallo studente, sia dal punto di vista tecnico e della terminologia sia dal punto di vista della capacità di saper trasmettere una visione completa e organizzata del lavoro effettuato.
Il voto della prova scritta (o delle due prove in itinere) è espresso in trentesimi, così come il voto del progetto. Il voto finale è determinato dal voto della prova scritta a cui viene applicata una variazione di al massimo tre punti derivante dalla valutazione del progetto.

clicca sulla scheda dell'attività mutataria per vedere ulteriori informazioni, quali il docente e testi descrittivi.

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2017/2018

Anno di corso: 2
Curriculum: GENERICO

A.A. 2016/2017

Anno di corso: 1
Curriculum: GENERICO