INGEGNERIA DEL SOFTWARE
SOFTWARE ENGINEERING
Ingegneria del Software
Software Engineering
A.A. | CFU |
---|---|
2013/2014 | 9 |
Docente | Ricevimento studentesse e studenti | |
---|---|---|
Edoardo Bontà | su appuntamento |
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. Design pattern:
04.01 Introduzione ai design pattern.
04.02 Pattern creazionali: Singleton, Factory.
04.03 Pattern strutturali: Proxy.
04.04 Pattern comportamentali: Observer, Visitor.
05. Metodi di ingegneria del software:
05.01 Analisi dei requisiti.
05.02 Principi di progettazione del software.
05.03 Tecniche di collaudo del software.
05.04 Metriche del software.
06. Gestione di progetti software:
06.01 Pianificazione del progetto software.
06.02 Stime di progetto.
06.03 Analisi e gestione dei rischi.
06.04 Pianificazione temporale.
06.05 Gestione delle configurazioni software.
06.06 La documentazione di progetto.
06.07 Strumenti CASE.
07. Argomenti avanzati:
07.01 I metodi formali.
07.02 Ingegneria del software cleanroom.
07.03 Reingegnerizzazione.
08. Attività di laboratorio (linguaggio C#):
08.01 Concetti di base del linguaggio.
08.02 Classi e oggetti.
08.03 Ereditarietà.
08.04 Polimorfismo, classi astratte e interfacce.
08.05 Gestione delle eccezioni.
08.06 Generics.
Eventuali Propedeuticità
Non vi sono propedeuticità obbligatorie.
Si suggerisce di sostenere l'esame di Ingegneria del Software dopo aver sostenuto gli esami di Programmazione Procedurale e Logica e Algoritmi e Strutture Dati.
Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento
- Modalità didattiche
Lezioni teoriche ed esercitazioni di laboratorio, sia in presenza che a distanza.
- Obblighi
Sebbene consigliata, la frequenza non è obbligatoria.
- Testi di studio
Pressman, "Software Engineering: A Practitioner.s Approach", McGraw-Hill, 2010.
(Pressman, "Principi di Ingegneria del Software", McGraw-Hill, 2008).
Fowler, "UML Distilled", Addison-Wesley, 2003.
(Fowler, "UML Distilled", Pearson Italia (Addison-Wesley), 2010).
Bochicchio et al., "C# 4 – Guida completa per lo sviluppatore", Hoepli, 2010.
Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995.
(Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elementi per il riuso di software ad oggetti", Pearson Italia (Addison-Wesley), 2002).
- Modalità di
accertamento Progetto individuale, 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 in presenza che a distanza nel Corso di Laurea di Informatica Applicata.
« torna indietro | Ultimo aggiornamento: 24/07/2014 |