INGEGNERIA DEL SOFTWARE

Informatica INGEGNERIA DEL SOFTWARE

0512100019
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2015/2016



OBBLIGATORIO
ANNO CORSO 3
ANNO ORDINAMENTO 2008
PRIMO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
330LABORATORIO


Obiettivi
CONOSCENZA E CAPACITA’ DI COMPRENSIONE:
IL CORSO INTRODUCE I CONCETTI DELL’INGEGNERIA DEL SOFTWARE, DEI RELATIVI PROCESSI, ATTIVITA’ E DELIVERABLE, I METODI DI ANALISI E PROGETTAZIONE, I LINGUAGGI PER LA MODELLAZIONE (IN PARTICOLARE UML), E LE TECNICHE DI VERIFICA. IL CORSO SEGNA IL PASSAGGIO DALLA PROGRAMMAZIONE FATTA SU PROBLEMI DI PICCOLA TAGLIA, REALIZZATA DA SINGOLO STUDENTE, IN UN TEMPO RIDOTTO (PROGRAMMING IN THE SMALL) ALLO SVILUPPO DI SISTEMI SOFTWARE COMPLESSI, CON COINVOLGIMENTO DI UN TEAM E UNA ARTICOLAZIONE TEMPORALE DELLE ATTIVITA’ (PROGRAMMING IN THE LARGE).

CAPACITA’ DI APPLICARE CONOSCENZA E COMPRENSIONE:
LA FORMAZIONE TEORICA E’ ACCOMPAGNATA DA ESEMPI E DA UN PROGETTO CHE SOLLECITANO LA PARTECIPAZIONE ATTIVA DEGLI STUDENTI, L'ATTITUDINE ALLA RIELABORAZIONE PERSONALE DELLE NOZIONI ACQUISITE E L’APPLICAZIONE DELLE CONOSCENZE E DELLE CAPACITA’ DI COMPRENSIONE MATURATE. LO STUDENTE DOVRA’ ESSERE IN GRADO DI USARE UN APPROCCIO INGEGNERISTICO ALL’ANALISI, PROGETTAZIONE, REALIZZAZIONE, TESTING E MANUTENZIONE DEL SOFTWARE; DOVRA’ ESSERE CAPACE DI LAVORARE IN GRUPPO E DI ORGANIZZARE IL PROPRIO LAVORO TENENDO PRESENTE OBIETTIVI E VINCOLI PER CONTRIBUIRE RESPONSABILMENTE E PROATTIVAMENTE AL SUCCESSO DEL PROGETTO E AL RISPETTO DELLE SCADENZE.

AUTONOMIA DI GIUDIZIO:
L’INGEGNERIA DEL SOFTWARE E’ UNA DISCIPLINA IN CUI E’ FONDAMENTALE ACQUISIRE LA CAPACITA’ DI PROBLEM SOLVING ATTRAVERSO L’INDIVIDUAZIONE DELLA SOLUZIONE CHE BILANCI AL MEGLIO OBIETTIVI DIVERSI E SPESSO CONTRASTANTI. IL CORSO MIRA A SVILUPPARE TALE CAPACITA’ ANCHE ATTRAVERSO L’ATTIVITA’ PROGETTUALE, IN CUI LO STUDENTE DEVE SELEZIONARE, ELABORARE E INTERPRETARE LE INFORMAZIONI UTILI AL RAGGIUNGIMENTO DI OBIETTIVI PREFISSATI, DEVE INDIVIDUARE LA SOLUZIONE PIU’ COST-EFFECTIVE SULLA BASE DELL’ANALISI DEI TRADE-OFF TRA DIVERSI OBIETTIVI DI DESIGN E VERIFICARE CHE TALI OBIETTIVI SIANO STATI EFFETTIVAMENTE RAGGIUNTI. IL PROGETTO DI GRUPPO INCORAGGIA IL CONFRONTO DELLE POSIZIONI SU ASPETTI CONCRETI EDUCANDO A MOTIVARE ED ARGOMENTARE OPPORTUNAMENTE TALI POSIZIONI. IL CORSO MIRA INOLTRE AD APPROFONDIRE LE IMPLICAZIONI SOCIALI, SCIENTIFICHE ED ETICHE DELLA PROFESSIONE.

ABILITA’ COMUNICATIVE:
L’INGEGNERE DEL SOFTWARE DEVE RELAZIONARSI E COMUNICARE CON DIVERSI STAKEHOLDER CHE HANNO OBIETTIVI E LINGUAGGI DI COMUNICAZIONE DIVERSI. IL CORSO MIRA A FORMARE UNA CAPACITA’ DI COMUNICAZIONE CHE SAPPIA DINAMICAMENTE ADATTARSI ALLE CARATTERISTICHE (CONOSCENZE, ESIGENZE, DOMINIO, LINGUAGGIO) DEGLI INTERLOCUTORI E AGLI OBIETTIVI DELLA COMUNICAZIONE, ADOTTANDO E SELEZIONANDO GLI STRUMENTI DI COMUNICAZIONE (TECNICI E NON TECNICI) CHE RISULTANO PIU’ EFFICACI PER LO SPECIFICO SCOPO. GLI STUDENTI HANNO LA POSSIBILITA’ DI COMPRENDERE QUESTE ESIGENZE, METTERE ALLA PROVA E MIGLIORARE TALI ABILITA’ CON IL PROGETTO DI GRUPPO ATTRAVERSO LA CONDIVISIONE DI MODELLI E DOCUMENTI, SIMULAZIONI DI MEETING, REVISIONI DI PROGETTO, REPORT, RICHIESTE DI MODIFICHE, RISOLUZIONI DI PROBLEMI, NONCHE’ ATTRAVERSO L’APPROPRIATO UTILIZZO DI STRUMENTI DI COMUNICAZIONE SINCRONA E ASINCRONA.

CAPACITA’ DI APPRENDIMENTO:
IL CORSO MIRA A SVILUPPARE LA CAPACITA’ DI APPRENDIMENTO DEGLI STUDENTI CHE CONSENTA LORO DI AGGIORNARE CONTINUAMENTE LE PROPRIE CONOSCENZE E COMPETENZE IN FUNZIONE DELL’INNOVAZIONE TECNOLOGICA E METODOLOGICA DEL SETTORE, PROPONENDO ARGOMENTI DI APPROFONDIMENTO DA STUDIARE AUTONOMAMENTE E STIMOLANDO AD INDIVIDUARE AUTONOMAMENTE MATERIALE CHE POSSA ESSERE UTILE PER LA RISOLUZIONE DELLE PROBLEMATICHE POSTE DAL SETTORE. L’INGEGNERE DEL SOFTWARE DEVE IMPARARE AD “ENTRARE” VELOCEMENTE IN DOMINI DI APPLICAZIONE SEMPRE NUOVI IN MODO CHE POSSA COMPRENDERNE LE ESIGENZE E TRADURLI IN SISTEMI SOFTWARE DI QUALITA’.
Prerequisiti
GLI STUDENTI DEVONO AVER ACQUISITO LE CONOSCENZE DI BASE DELLA PROGRAMMAZIONE PROCEDURALE, DELLA PROGRAMMAZIONE OBJECT-ORIENTED, DEGLI ALGORITMI E STRUTTURE DATI E DELLE BASI DI DATI. SULLA BASE DI TALI CONOSCENZE PREGRESSE, GLI STUDENTI DEVONO ESSERE IN GRADO DI RISOLVERE PROBLEMI DI PROGRAMMAZIONE (PROGRAMMING IN THE SMALL) SIA UTILIZZANDO APPROCCI PROCEDURALI CHE OBJECT ORIENTED, CON OPPORTUNA SELEZIONE E/O REALIZZAZIONE DI IDONEE STRUTTURE DATI E CON ACCESSO A BASI DI DATI.
Contenuti
I CONTENUTI DEL CORSO SONO ARTICOLATI IN CINQUE MODULI FORMATIVI.

M1: INTRODUZIONE ALL'INGEGNERIA DEL SOFTWARE

CONCETTI DI BASE DELL'INGEGNERIA DEL SOFTWARE (PRODOTTO, PROCESSO, PRINCIPI, METODI, METODOLOGIE, STRUMENTI, FASI E ATTIVITÀ); MODELLI DI CICLO DI VITA DEL SOFTWARE, DAL MODELLO A CASCATA AI MODELLI EVOLUTIVI, ITERATIVI E INCREMENTALI; PRINCIPI DELLA MODELLAZIONE VISUALE E NOTAZIONE UNIFIED MODELLING LANGUAGE (UML); CONCETTI DI BASE DELLA GESTIONE E DELLA ORGANIZZAZIONE DI PROGETTI SOFTWARE; MECCANISMI PER LA COMUNICAZIONE E LA COLLABORAZIONE TRA I PARTECIPANTI AD UN PROGETTO SOFTWARE; GESTIONE DELLE CONFIGURAZIONI SOFTWARE.

M2: ANALISI E SPECIFICA DEI REQUISITI

RACCOLTA, ANALISI E SPECIFICA DEI REQUISITI; USO DELLA NOTAZIONE UML AI FINI DELLA RACCOLTA E ANALISI DEI REQUISITI: CASI D'USO E SCENARI, MODELLAZIONE AD OGGETTI E DIAGRAMMA DELLE CLASSI UML, MODELLAZIONE DINAMICA E DIAGRAMMI UML DI INTERAZIONE, DI STATO E DELLE ATTIVITÀ; DOCUMENTO DI ANALISI DEI REQUISITI.

M3: PROGETTAZIONE DI ALTO LIVELLO E ARCHITETTURALE (SYSTEM DESIGN)

PROGETTAZIONE E DI DECOMPOSIZIONE MODULARE DEL SOFTWARE; PRINCIPI DI COESIONE E ACCOPPIAMENTO; STILI ARCHITETTURALI; DESCRIZIONE DELL'ARCHITETTURA FISICA DI UN SISTEMA SOFTWARE CON COMPONENT DIAGRAM E DEPLOYMENT DIAGRAM; RAZIONALE DI DESIGN.

M4: PROGETTAZIONE DI BASSO LIVELLO (OBJECT DESIGN)

RIUSO DEL SOFTWARE E INTRODUZIONE A DESIGN PATTERN; TECNICHE PER LA SPECIFICA DELLE INTERFACCE DI CLASSI E SOTTOSISTEMI; CONTRATTI IN UML E OBJECT CONSTRAINT LANGUAGE (OCL); DAL MODELLO AL CODICE, CONCETTI DI REFACTORING E REVERSE ENGINEERING.

M5: SOFTWARE TESTING

CONCETTI DI VERIFICA E CONVALIDA DEL SOFTWARE; LIVELLI DI TESTING; TESTING DI UNITÀ, DI INTEGRAZIONE E DI SISTEMA. ATTIVITÀ DI PIANIFICAZIONE ED ESECUZIONE DEL TESTING; DOCUMENTAZIONE DI TESTING; PRINCIPALI TECNICHE BLACK-BOX E WHITE-BOX.
Metodi Didattici
IL CORSO DI INGEGNERIA DEL SOFTWARE PREVEDE UNA PARTE DI LEZIONI A CARATTERE TEORICO PER IL TRASFERIMENTO DELLE CONOSCENZE NECESSARIE PER L’ANALISI, LA PROGETTAZIONE, L’IMPLEMENTAZIONE E IL TESTING DI SISTEMI SOFTWARE COMPLESSI. LA PARTE TEORICA DEL CORSO VIENE EROGATA CON LEZIONI FRONTALI IN AULA (PER 48 ORE).
APPROFONDIMENTO DI ASPETTI PRATICI AVVENGONO IN LABORATORIO (PER 30 ORE) CON MOMENTI ESERCITATIVI SVOLTI IN COLLABORAZIONE TRA GLI STUDENTI E CON LA PRESENZA E L’INTERAZIONE DEL DOCENTE. AGLI STUDENTI VERRÀ ASSEGNATO UN PROGETTO DI GRUPPO TRAMITE IL QUALE LO STUDENTE POTRÀ APPROFONDIRE GLI ASPETTI PRATICI TRATTATI DURANTE LE ORE DI LEZIONE DI LABORATORIO E SIMULARE DINAMICHE DI GRUPPO CHE AVVENGONO NEL MONDO DEL LAVORO (51 ORE).
Verifica dell'apprendimento
LA VERIFICA DELL’APPRENDIMENTO SI BASA SU:

1. REALIZZAZIONE E DISCUSSIONE DI UN PROGETTO DI GRUPPO PER ACCERTARE LE CAPACITA’ PRATICHE ACQUISITE E L’AUTONOMIA DI GIUDIZIO.
I CRITERI DI VALUTAZIONE RIGUARDANO LA COMPLETEZZA, LA CORRETTEZZA E LA SINTESI DELLA DOCUMENTAZIONE DI PROGETTO; LA PROPRIETA’ DI LINGUAGGIO E LA CAPACITA’ DI MOTIVARE ED ARGOMENTARE OPPORTUNAMENTE LE SCELTE DURANTE LA DISCUSSIONE DEL PROGETTO.

2. UNA PROVA SCRITTA E/O ORALE PER ACCERTARE LE CONOSCENZE TEORICHE ACQUISITE.
I CRITERI DI VALUTAZIONE RIGUARDANO LA COMPLETEZZA, LA CORRETTEZZA E LA CHIAREZZA ESPOSITIVA.

IL VOTO VIENE CALCOLATO MEDIANDO I VOTI DELLE PROVE.
Testi
LIBRO DI TESTO CONSIGLIATO:
B. BRUEGGE, A.H. DUTOIT, OBJECT ORIENTED SOFTWARE ENGINEERING – USING UML, PATTERNS AND JAVA, PRENTICE HALL, 3D EDITION, 2009

ALTRI LIBRI CONSIGLIATI:
JIM ARLOW, ILA NEUSTADT, UML E UNIFIED PROCESS, MCGRAW-HILL ITALIA, 2003
C. GHEZZI, D. MANDRIOLI, M. JAZAYERI, INGEGNERIA DEL SOFTWARE – FONDAMENTI E PRINCIPI, PRENTICE HALL, 2004
R. S. PRESSMAN, PRINCIPI DI INGEGNERIA DEL SOFTWARE, QUARTA EDIZIONE, MC GRAW HILL ITALIA, 2004
I. SOMMERVILLE, SOFTWARE ENGINEERING, ADDISON WESLEY

DISPENSE DEL CORSO
Altre Informazioni
ADELUCIA@UNISA.IT
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]