Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


INGEGNERIA DEL SOFTWARE

A.A. CFU
2009/2010 12
Docente Email Ricevimento studentesse e studenti
Edoardo Bontà Mercoledì, 17:00-19:00

Assegnato al Corso di Studio

Giorno Orario Aula

Obiettivi Formativi

Il corso presenta le metodologie, le tecniche e gli strumenti fondamentali per la gestione delle varie fasi del processo di sviluppo di sistemi software complessi, con particolare riferimento al paradigma di progettazione e programmazione orientato agli oggetti.

Programma

01. Fondamenti di ingegneria del software
01.01 Concetti di base dell'ingegneria del software.
01.02 La qualità del software.
01.03 Il processo di sviluppo software.

02. Analisi e progettazione ad oggetti
02.01 Il paradigma ad oggetti.
02.02 Introduzione alla modellazione del software.
02.03 Unified Process.

03. Unified modeling language (UML)
03.01 Introduzione a UML.
03.02 Diagrammi di struttura: classi, oggetti, package.
03.03 Diagrammi di comportamento: casi d’uso.
03.04 Analisi di robustezza e interazione fra entità.
03.05 Diagrammi di interazione: comunicazione, sequenza.
03.06 Macchine a stati, attività e altri diagrammi.

04. Programmazione ad oggetti: il linguaggio C++
04.01 Concetti di base di C++.
04.02 Classi e oggetti.
04.03 Sovraccarico di operatori.
04.04 Ereditarietà.
04.05 Funzioni virtuali e polimorfismo.
04.06 Template.
04.07 Gestione delle eccezioni.
04.08 Introduzione alla Standard Library.

05. Introduzione al linguaggio Java
05.01 Principali differenze tra Java e C++.
05.02 Interfacce e polimorfismo.
05.03 Package.
05.04 Programmi stand-alone e applet.

06. Design pattern
06.01 Introduzione ai design pattern.
06.02 Pattern creazionali: Singleton, Factory.
06.03 Pattern strutturali: Proxy.
06.04 Pattern comportamentali: Observer, Visitor.

07. Metodi di ingegneria del software
07.01 Analisi dei requisiti.
07.02 Principi di progettazione del software.
07.03 Tecniche di collaudo del software.
07.04 Metriche del software.

08. Gestione di progetti software
08.01 Pianificazione del progetto software.
08.02 Stime di progetto.
08.03 Analisi e gestione dei rischi.
08.04 Pianificazione temporale.
08.05 Gestione delle configurazioni software.
08.06 La documentazione di progetto.
08.07 Strumenti CASE.

09. Argomenti avanzati
09.01 I metodi formali.
09.02 Ingegneria del software "cleanroom".
09.03 Reingegnerizzazione.

10. Attività di laboratorio
10.01 C++: classi e oggetti.
10.02 C++: gestione della memoria e sovraccarico di operatori.
10.03 C++: funzioni virtuali e polimorfismo.
10.04 C++: gestione eccezioni e utilizzo della Standard Library.
10.05 C++: implementazione di interfacce grafiche.
10.06 C++: design pattern.
10.07 Java: compilazione/esecuzione programmi.
10.08 Java: programmi stand-alone e applet, file archivio "jar".

Eventuali Propedeuticità

Programmazione degli Elaboratori, Algoritmi e Strutture Dati.

Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento

Modalità didattiche

Lezioni frontali ed esercitazioni di laboratorio

Obblighi

Nessuno.

Testi di studio

Pressman, "Principi di Ingegneria del Software 5/ed" , McGraw-Hill, 2008.
Fowler, "UML Distilled" , Pearson Italia (Addison-Wesley), 2004.
Stroustrup, "C++: Linguaggio, Libreria Standard, Principi di Programmazione" , Pearson Italia (Addison-Wesley), 2000.
Schildt, "Java(TM) - La Guida Completa" , McGraw-Hill, 2007.
Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elementi per il riuso di software ad oggetti" , Pearson Italia (Addison-Wesley), 2002.

Modalità di
accertamento

Progetto individuale di laboratorio, prova scritta e prova orale

Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

Note

Il corso è erogato sia nel "percorso in presenza" che nel "percorso online" del Corso di Laurea di Informatica Applicata.

« torna indietro Ultimo aggiornamento: 14/07/2008


Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top