INGEGNERIA DEL SOFTWARE
cod. 06015

Anno accademico 2007/08
3° anno di corso - Primo semestre
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Formazione informatica
Tipologia attività formativa
Caratterizzante
48 ore
di attività frontali
6 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

Gli studenti devono già essere in grado di programmare con metodologie object-oriented.<br />L'obiettivo è renderli in grado gestire autonomamente piccoli progetti software con le moderne metodologie di analisi e progettazione.<br />Gli allievi devono acquisire le abilità<br /><br /><br />di eseguire raccolte di requisiti, <br />stendere analisi <br />eseguire progettazioni<br />implementare quanto progettato<br />definire il contesto necessario per l'installazione di quanto realizzato.<br />Inoltre devono conoscere le metodologie generali dell'Ingegneria del Software e le regole per lavorare in un team di sviluppo e per controllare progetti anche complessi.<br />

Prerequisiti

Fondamenti di Programmazione     <br />Metodologie di Programmazione<br />(fortemente consigliati)<br />

Contenuti dell'insegnamento

<br />PROGRAMMA: <br /><br />Il processo di sviluppo del software:aspetti economici, organizzativi e metodologici;prodotto software e processo;il ciclo di vita dei sistemi software;modello tradizionale a cascata;modello evolutivo e a fontana.<br />Analisi e specifica dei requisiti:modelli e linguaggi di specifica;UML ed il suo uso.<br />Progettazione dei sistemi software:principi e metodi di progettazione;principi di modularità ed incapsulamento;la progettazione orientata agli oggetti;i ``design patterns'' ed il loro uso;architetture multi-tier e Web.<br />Realizzazione dei sistemi software:linguaggi di programmazione ad oggetti;il linguaggio Java;l'architettura di Java2;Java e le proprietà di oggetti;sistemi multi-tier in Java;sistemi Web in Java;cenni al linguaggio C# e all'architettura .NET.<br />La conduzione operativa di un progetto:impostazione e definizione di obiettivi;analisi dei vincoli;scelta di strumenti e architetture;il lavoro in team;test di regressione;sviluppi parziali e test parziali;test di aggregazione;test su dati reali;collaudo;entrata in produzione e manutenzione ordinaria;manutenzione evolutiva;case study.<br />Metodologie di gestione dei progetti software:il project management;metriche e diagrammi utili (Gantt, Perth, ...);strumenti CASE;il problema della documentazione;comunicazione entro e fuori un team;evoluzione e manutenibilità dei sistemi.<br />

Programma esteso

- - -

Bibliografia

Libro di Testo Consigliato:<br />W. Zuser, S. Biffl, T Grechenig, M. Kohle<br />Ingegneria del Software con UML e Unified Process<br />Ed McGraw-Hill - 2004<br />ISBN 8838661553<br /><br />Per Java si raccomanda un manuale che tratti almeno sino ai servlet<br />Consigliati:<br />Deitel Harvey M., Deitel Paul M.<br />Java Tecniche avanzate di programmazione - seconda edizione<br />Ed. Apogeo, 2004<br />ISBN 8850320973<br /><br />o <br /><br />Herbert Schildt<br />JAVA 2 LA GUIDA COMPLETA - QUINTA EDIZIONE<br />Ed. McGraw-Hill, 2003<br />ISBN 8838643083

Metodi didattici

Accanto ad uno studio approfondito della teoria e delle metodologie storiche e più moderne dell'Ingegneria del Software, sempre arricchite da esempi tratti da esperienze pratiche, il corso integra la teoria con lezioni di laboratorio che applicano i principi di progettazione e realizzazione di componenti software modulari e ben stratificati.<br />Nella parte di laboratorio viene usato soprattutto il liguaggio di programmazione Java, sia per la sua stretta somiglianza con il C++ già appreso dagli allievi nei corsi precedenti, sia per la sua grande diffusione sul mercato. Vengono aggiunti anche riferimenti al linguaggio C# di Microsoft ed alla piattaforma .NET, anch'essi in rapida espansione nel mercato. <br />La valutazione consta di un progetto, in cui il candidato deve dimostrare di avere applicato correttamente i principi di analisi, progettazione e realizzazione modulare appresi nel corso e da un orale, in cui viene esaminata la parte di teoria e discussa l'applicazione entro il progetto stesso. Il voto finale è risultante da entrambe le parti dell'esame.<br /><br />

Modalità verifica apprendimento

- - -

Altre informazioni

- - -