Architetture software (2005/2006)

Corso disattivato non visibile

Codice insegnamento
4S00008
Crediti
10
Coordinatore
Nicola Piccinini
Altri corsi di studio in cui è offerto
Altri corsi di studio in cui è offerto
Altri corsi di studio in cui è offerto
Altri corsi di studio in cui è offerto
L'insegnamento è organizzato come segue:
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

Obiettivi formativi

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.

Programma

- 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.

Modalità d'esame

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.

Testi di riferimento
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
Condividi