Corso di
SPERIMENTAZIONI DI INGEGNERIA DEL SOFTWARE
Laurea in Informatica - percorso SR
Anno accademico: 2004-2005
Docenti:
Giuseppe BERIO, Viviana BONO, Susanna DONATELLI
Docente a contratto: Dott.ssa Ivana MONTELLI
Tutor (art. 33): Davide D'APRILE
Numero di ore:
30 (in aula) + 32 (in laboratorio)
Numero di CFU (Crediti Formativi Universitari):
6
AVVISO
A
partire dal 26/4 e sino alla fine di Maggio si terranno delle ulteriori ore di assistenza in laboratorio,
nei seguenti orari:
- mart. dalle 11 alle 12 (Berio),
- mercoledi' dalle 14 alle 16 (Daprile/Donatelli) e
- giovedi' dalle 14-16 (D'Aprile/Bono)
D'Aprile
fara' consulenza anche il mercoledi' e giovedi' dalle 13 alle 14,
nel suo studio
Berio fara' consulenza anche il mercoledi' dalle 11 alle 12, nel suo studio
Bono e Donatelli nei normali orari di ricevimento
In caso di bassa affluenza degli
studenti nelle ore di laboratorio e' possibile che il docente si trovi
comunque nel suo studio e intervenga in laboratorio solo su richiesta
da parte degli studenti.
INDICE
- Obiettivi del corso
- Competenze attese e propedeuticità
- Come si svolgono le lezioni (supporti alla
didattica in uso alla
docenza)
- Programma/contenuti
- Materiale didattico di supporto (a cura del
docente)
- Bibliografia (libri, articoli, documenti
on-line,...)
- Controllo dell'appprendimento (durante il
corso)
- Verifica (modalità e testo d'esame)
1. Obiettivi del corso
Il corso permette agli studenti di sperimentare in prima persona le
nozioni apprese nell'associato corso di Ingegneria del Software. In
particolare sperimenteremo un processo di produzione del software in
cui le varie fasi sono affrontate con approccio object oriented . Il
linguaggio di modellazione usato e' lo Unified Modelling Language (UML)
.
2. Competenze attese e propedeuticità
- Competenze attese in ingresso (richieste all'inizio del
corso). Gli studenti devono avere una conoscenza, almeno
teorica, quale quella fornita dal corso di Ingegneria del Software, dei
processi di sviluppo del software
- Eventuali corsi propedeutici (forniscono le "competenze attese
in ingresso"). E' un naturale complemento del corso di Ingegneria
del
Software. Puo' essere seguito, con qualche difficolta', anche da
studenti del curriculum STISI che abbiano seguito il corso di Sistemi
Informativi (si invitano gli studenti in questa condizione a contattare
la prof.ssa Donatelli).
- Competenze attese in uscita (acquisite durante il corso).
Gli studenti avranno acquisito esperienza pratica nell'ambito del
processo di sviluppo del software, in particolare per quanto riguarda
le tecniche orientate agli oggetti aventi come linguaggio di supporto
UML
3. Come si svolgono le lezioni (supporti alla didattica in uso alla
docenza)
Le lezioni in aula sono svolte sia con l'usilio di lavagna e gesso
che con l'ausilio del calcolatore (proiezione di lucidi animati).
Le esercitazioni in laboratorio utilizzeranno il tool Together Control
Center 6.1 della Borland, installato sulle macchine dell'aula "VON
NEUMANN".
4. Programma/contenuti
- Introduzione ad UML. (Lezioni tenute dalla prof.ssa BONO)
- Panoramica sulle funzionalita' del tool Together. (Lezioni
tenute dalla prof.ssa DONATELLI)
- La metodologia di sviluppo ad oggetti. (Lezioni tenute dalla
Dott.ssa MONTELLI)
- Esercitazioni su UML. (Lezioni tenute dal Dr. BERIO,
dalla Prof.ssa BONO e dalla
Prof.ssa DONATELLI)
5. Materiale didattico di supporto (a cura del docente)
- UML-distilled (terza versione italiana) di Martin Fowler, ed.
Addison-Wesley, per quel che riguarda una prima introduzione ai
diagrammi UML (lezioni Prof.ssa BONO).
- Lucidi delle lezioni sulla
metodologia di sviluppo software della Dott.ssa Montelli (Parte I)
- Lucidi delle lezioni sulla
metodologia di sviluppo software della Dott.ssa Montelli (Parte II)
6. Bibliografia (libri, articoli, documenti on-line,...)
7. Controllo dell'apprendimento (durante il corso)
Il controllo dell'apprendimento è basato sulle domande che
gli studenti fanno durante le ore di lezione,i ricevimenti e le
esercitazioni in laboratorio.
8. Verifica (modalità e testo d'esame)
L'esame consiste nella discussione di un progetto in cui gli studenti
sperimenteranno in prima persona il processo di sviluppo del software,
nelle varie fasi di analisi dei requisiti, progettazione, codifica,
testing e associate attivita' di pianificazione e gestione dei
cambiamenti. LEGGETE
CON CURA CIO' CHE SEGUE (update del 28/4/05)
- Prima parte: analisi del problema e e specifica dei requisiti a
partire da una descrizione
del problema da risolvere (gestione di viaggi): si dovranno
usare tecniche O.O. per analizzare il problema ed arrivare ad un
documento di specifica che segua lo standard IEEE, integrato da
diagrammi UML, come per esempio descritto da Berio nella lezione del
9/3 anche in pdf
(suggerimento sui passi per arrivare ai requisiti e obiettivi
della prima parte del laboratorio). Potete partire dal diagramma delle classi
iniziale e da una prima versione dei casi
d'uso presentati da Berio a lezione. ATTENZIONE: ricordate
di tenere traccia dell'effort speso nelle varie attivita', per esempio
usando un "time sheet" quale quello descritto a pag. 189 del
libro di testo del corso di IS (Jalote), e di mantenere traccia delle
modifiche fatte usando il sistema di gestione delle versioni di
Together, mentre per il documento dei requisiti potete scegliere il
sistema di controllo delle versioni che preferite. Versioni del
documento dei requisiti e degli associati diagrammi che si ritengono
particolarmente significative sono quelle sottoposte a revisione
(potrebbere essere anche una sola versione se la revisione decretasse
un'approvazione senza alcuna modifica)
- Seconda parte: la definizione della seconda parte avverra' gruppo
per gruppo, a fronte del raggiungimento degli obiettivi I e II
delineati nei lucidi della lezione del 9/3
|