SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05
LAUREA TRIENNALE IN INGEGNERIA INFORMATICA
ANNO ACCADEMICO: 2022-2023
INFORMAZIONI GENERALI - DOCENTE
Docente: Stefano Russo
Telefono: 0817683832
Email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
INFORMAZIONI GENERALI - ATTIVITÀ
INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): III
SEMESTRE (I, II): II
CFU: 10
(se previsti dall'Ordinamento del CdS)
Programmazione, Basi di Dati
EVENTUALI PREREQUISITI
...................................................................................................................................................
OBIETTIVI FORMATIVI
Obiettivo dell’insegnamento è di fornire le metodologie e le tecniche fondamentali per l’ingegnerizzazione di sistemi software di qualità, riguardanti: i moderni processi di produzione del software; le tecniche ed i linguaggi per l’analisi e la specifica orientate agli oggetti, la stima dei costi, la progettazione, la realizzazione in Java, e il testing.
(Descrittori di Dublino)
Conoscenza e capacità di comprensione
Lo studente deve dimostrare: di conoscere i principali modelli di ciclo di vita del software; di conoscere le tecniche di analisi e specifica dei requisiti; di conoscere il linguaggio di modellazione UML; di conoscere i principi alla base del testing funzionale e strutturale; di conoscere gli aspetti di base del linguaggio Java.
Capacità di applicare conoscenza e comprensione
Lo studente deve dimostrare: di essere in grado di specificare i requisiti e di saper progettare un sistema software su piccola scala attraverso il linguaggio UML; di saperlo implementare in linguaggio Java; di saper effettuare la stima dei costi con il metodo FPA; di saper progettare i casi di test.
PROGRAMMA-SYLLABUS
Introduzione all’ingegneria del software: Breve storia dell’ingegneria del software. Processo e prodotto. Fattori di qualità del software. Principi dell’ingegneria del software.
Il ciclo di vita del software: Modello a cascata; modello con retroazione. Modelli evolutivi. Modello trasformazionale. Modello a ‘V’. Metodologie Agili.
Stima dei costi. Generalità sulla stima dei costi. Analisi dei punti funzione (FPA).
Analisi e specifica dei requisiti. Tipologie di requisiti: d’utente, di sistema e di dominio, funzionali e non funzionali. Completezza, consistenza, verificabilità e tracciabilità dei requisiti. Il documento di specifica dei requisiti (SRS). Modellazione dei casi d’uso.
Modellazione a oggetti: Il linguaggio UML: diagrammi delle classi, di interazione, di stato, di attività, dei componenti, dei package, di deployment. Analisi e progettazione in UML. Pattern architetturali e di progettazione.
Verifica e validazione del software: Principi base. Obiettivi e pianificazione del testing. Tecniche di testing black-box e white-box. Test di unità, di integrazione, di sistema, di accettazione, di regressione, α-test, β-test. Test strutturale, criteri di copertura. Complessità ciclomatica. Test combinatoriale. Model-based testing. Test di robustezza.
Metriche e modelli di qualità del software. Metriche del software. Modelli di qualità del software; lo standard ISO 9126. Gestione delle configurazioni software (cenni).
Dalla progettazione alla programmazione a oggetti. Il linguaggio Java. Accesso a sistemi RDBMS da programmi Java. Gestione delle eccezioni in Java. Dal progetto UML alla implementazione in Java.
MATERIALE DIDATTICO
Libri di testo:
I. Sommerville, Ingegneria del Software, 10° edizione, Pearson, 2017
J. Arlow, I. Neustadt, UML 2 e Unified Process – Analisi e progettazione Object-Oriented, McGraw-Hill, 2007
Trasparenze delle lezioni ed esercitazioni (disponibili sul sito web docente).
MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO
La didattica è erogata: a) per il 60% con lezioni frontali; b) per il 40% con esercitazioni.
Gli argomenti delle lezioni frontali e delle esercitazioni sono esposti con l’ausilio di trasparenze dettagliate, messe a disposizione dello studente nel materiale didattico tramite il sito web ufficiale del docente.
VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE
a) Modalità di esame:
L'esame si articola in prova: | |
Scritta e orale | |
Solo scritta | |
Solo orale | |
Discussione di elaborato progettuale | |
Altro (prova al calcolatore) |
In caso di prova scritta i quesiti sono (*): | |
A risposta multipla | |
A risposta libera | |
Esercizi numerici |