INGEGNERIA DEL SOFTWARE

Giancarlo NOTA INGEGNERIA DEL SOFTWARE

0512100019
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2014/2015



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


Obiettivi
IL CORSO HA L’OBIETTIVO DI INTRODURRE LO STUDENTE AI CONCETTI DELL’INGEGNERIA DEL SOFTWARE E DI TECNICHE, STRUMENTI, METODI E METODOLOGIE PER LA REALIZZAZIONE DI SISTEMI SOFTWARE DI MEDIE E GRANDI DIMENSIONI.
Prerequisiti
GLI STUDENTI DEVONO CONOSCERE I CONCETTI RELATIVI AGLI ALGORITMI E ALLE STRUTTURE DATI FONDAMENTALI E SAPERLI IMPLEMENTARE MEDIANTE I LINGUAGGI DI PROGRAMMAZIONE PROCEDURALI E AD OGGETTI. SONO NECESSARIE ANCHE COMPETENZE RELATIVE ALLE BASI DI DATI E IN PARTICOLARE VIENE RICHIESTA LA CONOSCENZA DEL MODELLO RELAZIONALE E DEL LINGUAGGIO SQL. GLI STUDENTI DEVONO GIÀ ESSERE IN GRADO DI SCRIVERE PROGRAMMI PER RISOLVERE SEMPLICI PROBLEMI DI PROGRAMMAZIONE. E' DESIDERABILE, ANCHE SE NON INDISPENSABILE, LA CONOSCENZA DEL LINGUAGGIO PHP.
Contenuti
CONCETTI FONDAMENTALI:
ATTIVITÀ DI SVILUPPO E ARTEFATTI; LA GESTIONE DEL PROCESSO SOFTWARE; LA GESTIONE DELLA COMUNICAZIONE. MODELLARE IN UML CON DIAGRAMMI DI: CASI D'USO, CLASSI, INTERAZIONE, STATECHART, ATTIVITÀ, DISPIEGAMENTO; LA SPECIFICA DEI CASI D’USO; ORGANIZZARE I DIAGRAMMI CON I PACKAGES.

DOMINARE LA COMPLESSITÀ: RACCOLTA DEI REQUISITI; REQUISITI FUNZIONALI E NON FUNZIONALI; PROPRIETÀ DEI REQUISITI; LE ATTIVITÀ DELL’INGEGNERIA DEI REQUISITI; IL DOCUMENTO DI SPECIFICA DEI REQUISITI (RAD). ANALISI DEI REQUISITI: OGGETTI ENTITY, BOUNDARY E CONTROL; LE SCHEDE CRC; LE ATTIVITÀ DELL’ANALISI; LA GESTIONE DEI REQUISITI.

DISEGNO DEL SISTEMA: LA DECOMPOSIZIONE IN SOTTOSISTEMI; SCOPI DI PROGETTO; RAPPRESENTARE I SOTTOSISTEMI CON I PACKAGES; LE INTERFACCE DEI SOTTOSISTEMI; ACCOPPIAMENTO, COESIONE, LIVELLI E PARTIZIONI; AGGREGARE CLASSI IN SOTTOSISTEMI; STILI ARCHITETTURALI; LE ATTIVITÀ DEL DISEGNO. DISEGNO DEL SISTEMA: DIAGRAMMI DI DISPIEGAMENTO; OGGETTI PERSISTENTI; DEFINIRE GLI SCHEMI DI CONTROLLO DEGLI ACCESSI; PROGETTARE IL FLUSSO DI CONTROLLO DEI PROGRAMMI; IDENTIFICARE LE CONDIZIONI LIMITE; GESTIRE IL DISEGNO CON IL SDD. DISEGNO A OGGETTI: LA SPECIFICA DELLE INTERFACCE, TIPI, SEGNATURE E VISIBILITÀ; CONTRATTI: INVARIANTI, PRECONDIZIONI E POSTCONDIZIONI, CENNI SUL LINGUAGGIO OCL; LE ATTIVITÀ DELLA SPECIFICA DELLE INTERFACCE; DOCUMENTARE IL DISEGNO A OGGETTI CON L’ODD.

DAI MODELLI AL CODICE: CONCETTI DI MAPPATURA: TRASFORMAZIONE DI MODELLI; RIFACIMENTI, FORWARD ENGINEERING, REVERSE ENGINEERING, LE ATTIVITÀ DI MAPPATURA; INCAPSULAMENTO DEL CODICE; LA GESTIONE DELL’IMPLEMENTAZIONE.

IL TESTING: CONCETTI DI TESTING; ATTIVITÀ DI TESTING: ISPEZIONE, TESTING DI USABILITÀ, TESTING DI COMPONENTE (O UNITARIO), TEST D’INTEGRAZIONE; TESTING DI COMPONENTE: TECNICHE E WHITEBOX, TESTING BASATO SULLO STATO DEGLI OGGETTI; TESTING D’INTEGRAZIONE: STRATEGIE BOTTOM UP, TOP DOWN E SANDWICH; TESTING DI SISTEMA; LA GESTIONE DEL TESTING.
Metodi Didattici
IL CORSO DI INGEGNERIA DEL SOFTWARE PREVEDE 48 ORE DI LEZIONI FRONTALI E 36 ORE DI ESERCITAZIONI ASSISTITE IN LABORATORIO. GLI STUDENTI VERRANNO ORGANIZZATI IN GRUPPI DI LAVORO E AD OGNI GRUPPO VERRÀ ASSEGNATO UN PROGETTO PER LA REALIZZAZIONE DI SOFTWARE APPLICATIVO IN AREA GESTIONALE O TECNICA. A VALLE DELLE LEZIONI DI CARATTERE TEORICO, SARANNO PIANIFICATE ESERCITAZIONI PRATICHE FINALIZZATE A UNA MIGLIORE ASSIMILAZIONE DEI CONCETTI TRASMESSI DURANTE LE LEZIONI FRONTALI E SI RICHIEDERÀ CHE I GRUPPI DI LAVORO TRASFERISCANO LE CONOSCENZE ACQUISITE AI PROGETTI ASSEGNATI. A SOSTEGNO DI TUTTO IL CICLO DI APPRENDIMENTO, SI UTILIZZERÀ IL SISTEMA PER LA GESTIONE DELLA CONOSCENZA "KNOWLEDGE TREE", MEDIANTE IL QUALE GLI STUDENTI INTERAGIRANNO CON IL DOCENTE E TRA LORO PER CONDIVIDERE IL MATERIALE DIDATTICO E GLI ARTEFATTI PRODOTTI DURANTE IL PROCESSO DI SVILUPPO.
Verifica dell'apprendimento
IL CORSO PREVEDE UNA PRESENZA COSTANTE DEGLI STUDENTI SIA IN AULA CHE IN LABORATORIO. LE ATTIVITÀ DI VERIFICA DELL’APPRENDIMENTO INIZIERANNO GIÀ DOPO IL PRIMO MESE DI CORSO E CONTINUERANNO ALLE MILESTONE SIGNIFICATIVE DI PROGETTO. LA VERIFICA FINALE CONSISTE IN: 1. UNA PROVA SCRITTA CON QUESITI A RISPOSTA MULTIPLA SUI CONTENUTI TEORICI E/O SEMPLICI PROBLEMI DI MODELLAZIONE IN UML (20 PUNTI); 2. DISCUSSIONE DEL PROGETTO PER ACCERTARE LE CAPACITÀ PRATICHE ACQUISITE E IL CONTRIBUTO INDIVIDUALE ALLA REALIZZAZIONE(10 PUNTI).
Testi
1. BERND BRUEGGE, ALLEN H. DUTOIT “OBJECT-ORIENTED SOFTWARE ENGINEERING USING UML, PATTERNS AND JAVA” - THIRD ED. - PEARSON, 2010. (CAP. DA 1 A 7 INCLUSO, 9, 10, 11, 14 E 15). 2. IAN SOMMERVILLE “SOFTWARE ENGINEERING” NINTH ED., ADDISON WESLEY, 2011. (CAP. 1 E 22) 3. SLIDE DEL CORSO
Altre Informazioni
NELL'AMBITO DEL CORSO SARÀ USATA LA PIATTAFORMA PER LA GESTIONE DELLA CONOSCENZA RAGGIUNGIBILE AL LINK:
WWW.KTREE.UNISA.IT
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]