Corso coordinato con Paradigmi di Programmazione
Laboratorio di Progettazione di Sistemi Software 2006/2007
Valentina Presutti (A-L), Riccardo Solmi (M-Z)
Programma del corso
- Introduzione all'Ingegneria del Software
- UML
- Introduzione alla notazione
- Diagramma delle classi
- Diagramma degli oggetti
- Diagramma delle sequenze
- Design Patterns
- Tipi di Design Patterns: creazionali, strutturali, comportamentali
- Catalogo di Patterns
- Template Method, Abstract Factory, Factory Method, Singleton, Monostate
- Template Manager, Prototype, Prototype Manager
- Null Object, Composite, Visitor, Enumeration, Iterator
Materiale didattico
- Lucidi presentati a lezione
- Esercizi relativi al progetto
- Progetto di Labp2001 (specifiche + progetto da importare in Eclipse)
- Interfacce di Labp2001 (interfacce per esercizio di refactoring)
- Implementazione di Labp2001 (semplice implementazione di riferimento)
- Progetto labss_il_model (+ espressioni astratte e singleton)
- Progetto labss_il_model_visitors (+ visitors e switch sui tipi)
- Progetto labss_il_model_iterators (+ iterators e API di manipolazione generica)
- Progetto labss_il_model_templates (+ factory estendibili e API di manipolazione specifica)
- Progetto labss_whole (esempi scritti con la Whole Platform: RegExp, IL, MotoMondiale)
- Programmazione Java
- UML
- Design Patterns
- Refactoring
- "Java Development User Guide", Refactoring chapter in Eclipse Help
- "Refactoring To Patterns", Joshua Kerievky
- Refactoring Home Page
Strumenti di sviluppo
NB: Per il plugin UML è disponibile, in laboratorio e sul newsgroup, una licenza accademica da copiare in
%ECLIPSE_HOME%/plugins/com.soyatec.uml.core_x.x.x.x/
Progetto
Progetto: "Modellazione di un dominio e sue attività".
Il progetto è basato sul materiale sviluppato negli esercizi
svolti durante il corso.
Modalità d'esame
I corsi di Paradigmi di Programmazione e Laboratorio di Progettazione di Sistemi Software
sono coordinati e prevedono prove di valutazione separate ma danno luogo ad un unico voto.
Per passare l'esame di Laboratorio di Progettazione di Sistemi Software bisogna consegnare e discutere un progetto.
Valgono le seguenti regole:
- Progetto
- Da fare in gruppi di 3-4 studenti
- Sono ammessi gruppi misti AL/MZ
- Il progetto va consegnato via email come richiesto nella documentazione del progetto stesso
- Ci sono due scadenze per la data di consegna (entro le 23:59): 30 giugno e 30 settembre
- Chi non consegna deve presentare il progetto del prossimo anno
- Il progetto può essere consegnato in modo indipendente dall'esame scritto
- Scritto di laboratorio
- Le domande coprono gli argomenti trattati durante il corso (Design Patterns, Refactoring, UML)
- Sono previste tre date: 13 giugno, 5 luglio, e 20 settembre
- La prova deve essere sostenuta con successo prima della discussione del progetto
- Discussione del progetto
- Tutti i membri di un gruppo (che hanno superato lo scritto) si devono presentare assieme nel giorno stabilito
- Il progetto è obbligatorio e vale un massimo di 5 punti
- La discussione è in parte sul progetto ed in parte sulla conoscenza dei Design Patterns
- Ogni componente del gruppo prende un voto distinto, in base alla propria preparazione
- Se uno studente mostra di non aver partecipato alla realizzazione del progetto deve rifarlo
- Chi si presenta con un progetto copiato deve rifarlo.
- I progetti da rifare richiedono qualcosa in più
- Una volta passata la discussione, il voto del progetto scade dopo un anno.