Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x

INGEGNERIA DEL SOFTWARE

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

 

INSEGNAMENTI PROPEDEUTICI

(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.

 

RISULTATI DI APPRENDIMENTO ATTESI

(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

   

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.