Modulo | Crediti | Settore disciplinare | Periodo | Docenti |
---|---|---|---|---|
Teoria (modulo I) | 4 | INF/01-INFORMATICA | 1° Q - 2° anno e successivi |
Giuseppe Scollo
|
Laboratorio (modulo I) | 1 | INF/01-INFORMATICA | 1° Q - 2° anno e successivi |
Nicola Piccinini
|
Teoria (modulo II) | 4 | INF/01-INFORMATICA | 2° Q |
Giuseppe Scollo
|
Laboratorio (modulo II) | 1 | INF/01-INFORMATICA | 2° Q |
Nicola Piccinini
|
Il corso fornisce nozioni di base su:- l'ingegneria del software, affrontando negli aspetti più salienti di pianificazione, progettazione, collaudo e manutenzione, i processiproduttivi del software;- l'architettura del software, presentando un'analisi comparata di architetture software, e linguaggi di modellazione e di specificadelle stesse.
Nel laboratorio, il corso fornisce competenze professionali di base per la pianificazione e conduzione di progetti di sviluppo di software,
e per la modellazione di architetture software, con la sperimentazione
e applicazione di concetti e metodi in un progetto software complesso.
Questo si compone di progetti ideati dagli studenti su temi speciali di
interesse, quali:- misurazione e allocazione delle risorse nei progetti software;- modellazione, analisi, specifica e validazione di requisiti e di
architetture software ad oggetti;- gestione delle configurazioni;
- prototipazione rapida di specifiche di architetture software e automazione del collaudo di prototipi.
- Introduzione all'ingegneria del software:
il software: prodotto e processo, caratteristiche di qualità, ciclo di
vita del software, fasi ed attività del processo produttivo, modelli
del ciclo di vita dei sistemi software.
- Pianificazione del processo produttivo:
Studio di fattibilità, determinazione di obiettivi e vincoli,
gestione dei rischi, controllo dei processi di produzione, gestione
delle configurazioni, versionamento, amministrazione di progetto.
- Progettazione del software:
cattura ed analisi dei requisiti, prototipazione rapida di modelli,
specifica e codifica, verifica di correttezza, scalabilità,
progettazione basata su componenti, norme di codifica e di
documentazione.
- Collaudo del software:
metodi di collaudo, strategie di collaudo (di unità, di integrazione,
funzionale, di sistema), metodi e strategie di collaudo di software
ad oggetti, metriche di collaudo.
- Valutazione:
metriche del software, modelli di costo, progettazione di qualità,
standard ISO 9001, 9000-3, 9126.
- Analisi e specifica di architetture software:
introduzione all'architettura del software, tassonomia di
architetture software di uso più frequente, analisi comparata
di architetture software in casi di studio.
- Linguaggi di modellazione di architetture software:
il linguaggio standard UML 2, notazione e metodologie d'uso dei
principali tipi di diagrammi.
- Specifica di vincoli su modelli di architetture ad oggetti:
il linguaggio standard OCL 2, notazione e metodologie d'uso dei
principali costrutti.
- Validazione e collaudo nelle architetture software:
validazione di requisiti attraverso la prototipazione rapida ed
il collaudo di architetture software; strategie di collaudo di
architettura: di unità, di integrazione, di sistema; metodi di
collaudo di architetture software ad oggetti.
I progetti di laboratorio sono concepiti come parti di un
unico progetto, sulle tematiche:
1) misurazione e allocazione delle risorse e gestione delle
configurazioni nell'ingegneria del software, dallo studio di
fattibilità alla modellazione, specifica e validazione dei requisiti;
2) evoluzione e gestione delle configurazioni di architetture software,
dalla modellazione concettuale, attraverso la specifica dei requisiti
e la modellazione e prototipazione rapida di architetture software ad
oggetti, fino alla derivazione automatica di procedure di collaudo dei
prototipi.
La pianificazione del progetto e la documentazione dell'allocazione
delle risorse alle attività formative è parte integrante del lavoro
di laboratorio.
La verifica del profitto avviene mediante un colloquio individuale
sugli argomenti del programma, a partire dal contributo dello
studente al lavoro di progetto realizzato in laboratorio. La
documentazione di riferimento a questo scopo sarà quella resa
disponibile dallo studente nello spazio di lavoro condiviso sul
server BSCW (http://amarena.sci.univr.it) in cui avrà sviluppato
il suo lavoro di laboratorio. A discrezione dello studente, la
prova può articolarsi in due parti, una per ciascuna parte del
programma, e laboratorio ad essa relativo, trattata in uno dei
due periodi in cui si sviluppa l'insegnamento. Il superamento
della prova porta all'acquisizione di 8 crediti, a cui si
aggiungono 2 crediti per il corso di Laboratorio di architetture
software.
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
Habib Sedehi | Ingegneria economica del software (Edizione 1) | EUCOS | 2003 | 888829404X | |
Martin Fowler | UML Distilled, Terza Edizione (Edizione 3) | Addison Wesley, Pearson Education Italia | 2004 | 8871922077 | |
J.B. Warmer, A.G. Kleppe | The Object Constraint Language, Second Edition (Edizione 2) | Addison Wesley | 2003 | 0321179366 |
******** CSS e script comuni siti DOL - frase 9957 ********p>