Dettagli sull'Insegnamento per l'A.A. 2016/2017
Nome:
Ingegneria Del Software / Software Engineering
Informazioni
Crediti:
: Laurea Magistrale in Ingegneria Informatica e Automatica 9 CFU (b)
Erogazione:
Laurea Magistrale in Ingegneria Informatica e Automatica 1st anno curriculum Automatica Elective
Laurea Magistrale in Ingegneria Informatica e Automatica 1st anno curriculum Informatica Compulsory
Lingua:
Italiano
Prerequisiti
Costituiscono un prerequisito fondamentale di questo corso i corsi di "Programmazione ad Oggetti" e di "Basi di Dati".
Obiettivi
Il corso presenta gli aspetti fondamentali della modellazione, analisi e progettazione del software, con riferimento alle moderne tecniche di analisi e progettazione orientata agli oggetti e allo sviluppo, iterativo, incrementale e agile. Vengono inoltre analizzate le diverse architetture sottostanti i sistemi da realizzare.
In questo contesto vengono presentate problematiche e tecnologie inerenti la realizzazione di sistemi distribuiti ad oggetti. Lo studente che abbia superato il corso dovrà essere in grado di progettare autonomamente
applicazioni software di media complessità, nonché partecipare al progetto di applicazioni software
di grande complessità.
Sillabo
- Ciclo di vita e processo di sviluppo di un sistema software. Sviluppo iterativo e incrementale. Unified Process (UP)
- Determinazione, specifica e analisi dei requisiti. Casi d'uso
- Analisi orientata agli oggetti (OOA). Modello di dominio. Diagrammi di sequenza di sistema. Contratti delle operazioni
- Progettazione orientata agli oggetti (OOD). Diagrammi di interazione. Diagrammi delle classi di progetto
- Dalla progettazione orientata agli oggetti alla programmazione orientata agli oggetti
- Principi di analisi e progettazione orientata agli oggetti. Principi GRASP. Principi SOLID
- Design patterns
- Progettazione dell'architettura logica. Pattern architetturali
- CASE tools come strumenti di modellazione e round-trip engineering.
Visual Paradigm for UML
- Unified Modeling Language (UML)
- Gestione della persistenza degli oggetti. Tecnologie ORM
- Hibernate
Testi di riferimento
- Craig Larman, Applicare UML e i pattern - Analisi e progettazione orientata agli oggetti , Pearson Education Italia. 2016.
- E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design patterns: elementi per il riuso di software a oggetti , Addison Wesley. 2002.
Modalità d'esame
L'esame viene svolto mediante realizzazione di un progetto software funzionante.
La progettazione deve essere svolta necessariamente in team.
L'obiettivo è quello di mettere in pratica principi e metodologie della progettazione
software appresi nel corso. La specifica dell'applicazione da progettare viene fornita dal docente.
Note
- Si veda anche la pagina sul vecchio sito di ingegneria: http://www.ing.univaq.it/cdl/scheda_corso.php?codice=I0339_I4I
Aggiornamenti alla pagina del corso
Le informazioni sulle editioni passate di questo corso sono disponibili per i seguenti anni accademici:
Per leggere le informazioni correnti sul corso, se ancora erogato, consulta il catalogo corsi di ateneo.
Ultimo aggiornamento delle informazioni sul corso: 31 ottobre 2016, 14:53