Analisi e progettazione del software
Anno accademico 2010-2011
(Attenzione, alcune delle informazioni su questo sito web, ed
in particolare quelle
scritte in grigio e/o su sfondo giallo, potrebbero riferirsi
all'edizione precedente del corso di Analisi e progettazione del software)
Avvisi
(E' disponibile anche un elenco completo degli avvisi.)
Introduzione al corso
Obiettivo formativo
Il corso di Analisi e progettazione del software presenta gli aspetti
fondamentali della modellazione, analisi e progettazione del software, con
riferimento alle tecniche di analisi e progettazione orientata agli oggetti ed
allo sviluppo, iterativo, incrementale e agile.
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à.
Contenuti
- Sviluppo iterativo e incrementale. Unified Process.
- Analisi dei requisiti. Casi d'uso.
- Analisi orientata agli oggetti.
Modello di dominio. Diagrammi
di sequenza di sistema. Contratti delle operazioni.
- Progettazione orientata agli oggetti. 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. Pattern GRASP.
- Design patterns.
- Progettazione dell'architettura logica. Pattern architetturali.
- Gestione della persistenza degli oggetti. (cenni)
- Unified Modeling Language.
Prerequisiti
Costituiscono un prerequisito fondamentale di questo corso i corsi di Basi di dati
e di Programmazione
orientata agli oggetti.
Lezioni
Argomenti delle lezioni svolte
| Data |
Argomento
(anche con riferimento ai capitoli e alle sezioni del libro di testo) |
Materiale didattico |
|
2 marzo 2011 |
*. Introduzione al corso di Analisi e progettazione del
software |
aps00 |
|
|
1. Introduzione all'analisi e alla progettazione
orientata agli oggetti (Capitolo 1, da 1.1 a 1.5) |
aps01 |
|
3 marzo 2011 |
1. Introduzione all'analisi e alla progettazione
orientata agli oggetti (Capitolo 1, 1.6 e 1.7) |
aps01 |
|
|
2. Sviluppo iterativo, evolutivo ed agile (Capitolo
2, da 2.1 a 2.6, nonché 2.10 e 2.11) |
aps02 |
|
|
|
|
|
7 marzo 2011 |
Dalla progettazione concettuale alla modellazione di dominio |
aps91 |
|
|
Esercitazione: Modellazione di dominio: VideoRental (requisiti,
pagine 1 e 2, più pagina 3 (solo esercizio A1)) |
|
|
9 marzo 2011 |
3. Studi di caso (Capitolo 3) |
aps03 |
|
|
4. Ideazione (Capitolo 4, cenni) |
aps04 |
|
|
5. Requisiti evolutivi (Capitolo 5) |
aps05 |
|
|
6. Casi d'uso (Capitolo 6, da 6.1 a 6.6) |
aps06 |
|
10 marzo 2011 |
6. Casi d'uso (Capitolo 6, da 6.7 a 6.13,
6.17, 6.20 e 6.21) |
|
|
|
7. Altri requisiti (Capitolo
7, cenni) |
aps07 |
|
|
8. Iterazione 1: Concetti
fondamentali (Capitolo 8, cenni) |
aps08 |
|
|
|
|
|
14 marzo 2011 |
9. Modelli di dominio (Cap.9, da 9.1 a 9.5) |
aps09 |
|
16 marzo 2011 |
9. Modelli di dominio (Cap.9, da 9.5 a 9.14, nonché 31.17) |
aps09 |
|
17 marzo 2011 |
Festa dei 150 anni dell'Unità d'Italia |
|
|
|
|
|
|
21 marzo 2011 |
9. Modelli di dominio (Cap. 9, da 9.14 a 9.19) |
aps09 |
|
|
10. Diagrammi di sequenza di sistema (Cap. 10) |
aps10 |
|
23 marzo 2011 |
10. Diagrammi di sequenza di sistema (Cap. 10, "altre
considerazioni") |
aps10 |
|
|
11. Contratti delle operazioni
(Cap. 11) |
aps11 |
|
24 marzo 2011 |
9. Modelli di dominio (Cap. 31, par. 31.11) |
aps09 |
|
|
Esercitazione OOA: ERedit (requisiti) |
|
|
|
|
|
|
28 marzo 2011 |
12. Dai requisiti alla progettazione,
iterativamente (Cap. 12) |
aps12 |
|
|
13. Architettura logica e diagrammi dei package
di UML (Cap. 13) |
aps13 |
|
|
15. Diagrammi di interazione di UML (Cap.
15, da 15.1 a 15.4) |
aps15 |
|
30 marzo 2011 |
15. Diagrammi di interazione di UML (Cap.
15, 15.5) |
aps15 |
|
|
16. Diagrammi delle classi di UML
(Cap. 16, si veda il programma più avanti per ciò che va fatto in dettaglio
e ciò che non va fatto) |
aps16 |
|
|
14. Verso la progettazione a oggetti
(Cap. 14) |
aps14 |
|
|
17. GRASP: Progettazione di oggetti con
responsabilità (Cap. 17, da 17.1 a 17.5) |
aps17a |
|
31 marzo 2011 |
Esercitazione
OOA: AcmeArti (requisiti,
esercizi su modellazione di dominio) |
|
|
|
|
|
|
4 aprile 2011 |
17. GRASP: Progettazione
di oggetti con responsabilità (Cap. 17, da 17.6 a 17.8) |
aps17a |
|
|
18. Esempi di progettazione a oggetti con i
pattern GRASP (Cap. 18, da 18.1 a 18.4, fino a makeNewSale) |
aps18 |
|
6 aprile 2011 |
18. Esempi di progettazione a oggetti con i
pattern GRASP (Cap. 18, 18.4, fino a enterItem) |
aps18 |
|
|
19. Progettare per la visibilità (Cap. 19) |
aps19 |
|
7 aprile 2011 |
Sperimentazione di
Livebase |
|
|
|
|
|
|
11 aprile 2011 |
18. Esempi di progettazione a oggetti con i
pattern GRASP (Cap. 18, 18.4 (da endSale), e da 18.6 a 18.7) |
aps18 |
|
13 aprile 2011 |
Esercitazione
OOA: AcmeArti (requisiti,
esercizi su operazioni di sistema) |
|
|
14 aprile 2011 |
20. Trasformare i progetti
in codice (Cap. 20) |
aps20 |
|
|
17. GRASP: Progettazione di oggetti con responsabilità (Cap.
17, da 17.9 a 17.11) |
aps17b |
|
|
|
|
|
18 aprile 2011 |
Esercitazione OOD: ERedit (requisiti) |
|
|
20 aprile 2011 |
17. GRASP: Progettazione
di oggetti con responsabilità
(Cap. 17, da 17.12 a 17.14) |
aps17b |
|
|
Esercizi su creazione
di oggetti e formazione di collegamenti. |
|
|
|
|
|
|
|
Vacanze di Pasqua |
|
|
|
|
|
|
28 aprile 2011 |
18. Esempi di
progettazione a oggetti con i pattern GRASP (Cap. 18, 18.5) |
aps18 |
|
|
21. Sviluppo guidato dai
test e Refactoring (Cap. 21) |
aps21 |
|
|
|
|
|
2 maggio 2011 |
Esercitazione
OOD: AcmeArti (requisiti,
esercizi di progettazione) |
|
|
4 maggio 2011 |
23. Iterazione 2: Altri pattern
(Cap. 23) |
aps23 |
|
|
24. Rapido aggiornamento dell'analisi
(Cap. 24) |
aps24 |
|
|
31. Raffinamento del modello di dominio (Cap.
31, 31.1 cenni, da 31.2 a
31.9 in dettaglio, 31.10 cenni, da 31.11 a 31.15 in dettaglio, 31.16 cenni,
31.17 in dettaglio) |
aps31 |
|
5 maggio 2011 |
32. Ancora su SSD e contratti |
aps32 |
|
|
25. GRASP: altri oggetti con responsabilità
(Cap. 25, 25.1 e 25.2) |
aps25 |
|
|
|
|
|
9 maggio 2011 |
Prova intermedia: AcmeArti (requisiti,
esercizi di progettazione) |
|
|
11 maggio 2011 |
25. GRASP: altri oggetti con responsabilità
(Cap. 25, 25.3 e 25.4) |
aps25 |
|
|
Esercitazione OOD: AcmeArti (requisiti,
esercizi di progettazione) |
|
|
12 maggio 2011 |
26. Applicare i design pattern GoF:
Adapter, Factory, Singleton (Cap. 26, da 26.1 a 26.6, e da 26.11 a 26.12),
Proxy (cenni, vedi dispensa aps26a) |
aps26a |
|
|
questionari di valutazione
della didattica |
|
|
|
|
|
|
16 maggio 2011 |
non ci sarà lezione |
|
|
18 maggio 2011 |
26. Applicare i design pattern GoF: Strategy,
Facade, Observer (Cap.
26, 26.7, 26.9, 26.10, e da 26.11 a 26.12) |
aps26b |
|
19 maggio 2011 |
34. Raffinamento dell'architettura logica: collaborazioni
tra strati (Cap. 34, 34.2 e 34.4) |
vedi aps26b |
|
|
36. Ulteriore progettazione a oggetti
con i pattern GoF: template method (Cap. 36, 36.9 e 36.10) |
aps36a |
|
|
Esercitazione OOD: AcmeArti (requisiti,
esercizi di progettazione) |
|
|
|
|
|
|
23 maggio 2011 |
SOLID: Altri principi di
progettazione a oggetti (cenni) |
aps92 |
|
|
Esercitazione OOD: acmeBay (requisiti,
esercizi di analisi) |
|
|
25 maggio 2011 |
Introduzione a Domain-Driven Design
e alla gestione di oggetti persistenti (cenni) |
aps93
(nuova versione rispetto a quella pubblicata inizialmente) |
|
|
Esercitazione OOD: acmeBay (requisiti,
esercizi di progettazione) |
|
|
26 maggio 2011 |
non ci sarà lezione |
|
|
|
|
|
|
30 maggio 2011 |
Esercitazione OOD: acmeBay (requisiti,
esercizi di progettazione) |
|
|
1 giugno 2011 |
|
|
|
2 giugno 2011 |
Festa della Repubblica |
|
|
|
|
|
|
6 giugno 2011 |
|
|
|
8 giugno 2011 |
|
|
|
9 giugno 2011 |
|
|
|
|
|
|
Homework
Le soluzioni agli homework, scritte individualmente
e a mano, vanno fatte pervenire al docente
all'inizio delle
lezioni del corso oppure al ricevimento studenti, e comunque nei tempi indicati
nella seguente tabella:
Notare che, per ciascun homework, i requisiti sono descritti in un documento
diverso da quello contenente gli esercizi dell'homework.
Alcune precisazioni sulla consegna degli homework:
- Il termine ultimo per la consegna degli homework va inteso
come "all'inizio della lezione del giorno X" e non "entro la mezzanotte del giorno
X".
- Chi realizza la propria soluzione di un homework nei tempi
stabiliti ma è impossibilitato ad effettuarne la consegna nei
tempi stabiliti, può seguire la seguente procedura (da adottare
solo in casi veramente eccezionali):
- effettuare una scansione dell'elaborato ed inviarla per posta elettronica
al docente comunque entro i
tempi stabiliti;
- consegnare l'elaborato (in originale e
comunque conforme a quello inviato in modo
elettronici) all'inizio della lezione successiva alla
data prevista per la consegna.
Programma (ordinamento 270)
Programma preliminare del corso di Analisi e progettazione del software
per gli studenti dell'ordinamento 270,
per l'anno accademico 2010-2011 –
l'indicazione dei capitoli fa
riferimento all'edizione italiana del libro di testo Applicare UML e i
pattern
- Introduzione all'analisi e progettazione orientata agli oggetti – Capitolo
1
- Processi per lo sviluppo del software; processo a cascata; processo
iterativo, evolutivo e agile; Unified Process (UP) –
Capitolo 2 (di cui da 2.6 a 2.9 e 2.12 solo cenni)
- Introduzione agli studi di caso POS NextGen e Monopoly Game System – Capitolo 3
- Ideazione – Capitolo 4 (cenni)
- Requisiti: Requisiti – Capitolo 5
- Requisiti: Casi d'uso – Capitolo 6 (da 6.1 a 6.13, nonché 6.17, 6.20 e 6.21)
- Requisiti: Altri requisiti – Capitolo 7 (cenni)
- Elaborazione: Iterazione 1 – Capitolo 8
- Analisi orientata agli oggetti: Modelli di dominio – Capitolo 9
- Analisi orientata agli oggetti: Diagrammi di sequenza di sistema –
Capitolo 10
- Analisi orientata agli oggetti: Contratti delle operazioni – Capitolo 11
- Dai requisiti alla progettazione – Capitolo 12
- Architettura logica e diagrammi dei package di UML – Capitolo 13
- Verso la progettazione a oggetti – Capitolo 14
- Diagrammi di interazione di UML – Capitolo 15
- Diagrammi delle classi di UML – Capitolo 16 (normalmente in dettaglio,
con le seguenti eccezioni: 16.15 cenni, 16.16 cenni, saltare 16.18, saltare
16.20)
- Progettazione orientata agli oggetti: Progettazione basata
sull'assegnazione di responsabilità; pattern GRASP (information
expert, creator, low coupling, high cohesion, controller) – Capitolo 17
- Progettazione orientata agli oggetti: Realizzazione di casi d'uso con i
pattern GRASP – Capitolo
18
- Progettazione orientata agli oggetti: Progettare per la visibilità –
Capitolo 19
- Progettazione orientata agli oggetti: Trasformare i progetti in codice – Capitolo
20 (tranne 20.12)
- Progettazione orientata agli oggetti: Sviluppo guidato dai test e
Refactoring – Capitolo
21 (cenni)
- Progettazione orientata agli oggetti: Strumenti per UML e UML come
progetto – Capitolo
22 (cenni)
- Elaborazione: Iterazione 2 – Capitolo 23
- Analisi orientata agli oggetti: Rapido aggiornamento dell'analisi –
Capitolo 24
- Analisi orientata agli oggetti: Raffinamento del modelli di dominio –
Capitolo 31 (da 31.1 a 31.9, in dettaglio; 31.10, cenni; da 31.11 a 31.15 e 31.17,
in dettaglio)
- Progettazione orientata agli oggetti: Altri pattern GRASP (polymorphism,
pure fabrication, indirection, protected variations) – Capitolo 25
- Progettazione orientata agli oggetti: Progettazione basata sull'uso dei
design pattern GoF: adapter, factory, singleton, strategy, facade,
observer (in dettaglio), proxy (cenni) – Capitolo 26
- Raffinamento dell'architettura logica: collaborazioni tra strati – Capitolo 34 (34.2 e
34.4)
- Ulteriore progettazione a oggetti con i pattern GoF – Capitolo 36 (36.9
e 36.10)
- SOLID: Altri principi per la progettazione a oggetti
(cenni) – dispensa aps91 a cura del docente
- Introduzione a Domain-Driven Design ed alla persistenza di oggetti
(cenni) – dispensa aps92 a cura del docente
I concetti introdotti durante il corso sono esemplificati con riferimento
ai seguenti studi di caso, che sono parte integrante del programma d'esame:
- il sistema POS NextGen;
- il sistema Monopoly Game System;
- il sistema ERedit;
- il sistema VideoRental;
- il sistema PortaleEsami;
- il sistema AcmeBay.
Programma (ordinamento 509)
Il programma definitivo del corso di Analisi e progettazione del software
per gli studenti dell'ordinamento 509 è quello dell'anno accademico 2009-2010 –
l'indicazione dei capitoli fa
riferimento all'edizione italiana del libro di testo Applicare UML e i
pattern
- Introduzione all'analisi e progettazione orientata agli oggetti – Capitolo
1
- Processi per lo sviluppo del software; processo a cascata; processo
iterativo, evolutivo e agile; Unified Process (UP) –
Capitolo 2 (di cui da 2.6 a 2.9 e 2.12 solo cenni)
- Introduzione agli studi di caso POS NextGen e Monopoly Game System – Capitolo 3
- Ideazione – Capitolo 4 (cenni)
- Requisiti: Requisiti – Capitolo 5
- Requisiti: Casi d'uso – Capitolo 6 (da 6.1 a 6.13, nonché 6.17, 6.20 e 6.21)
- Requisiti: Altri requisiti – Capitolo 7 (cenni)
- Elaborazione: Iterazione 1 – Capitolo 8
- Analisi orientata agli oggetti: Modelli di dominio – Capitolo 9
- Analisi orientata agli oggetti: Diagrammi di sequenza di sistema –
Capitolo 10
- Analisi orientata agli oggetti: Contratti delle operazioni – Capitolo 11
- Dai requisiti alla progettazione – Capitolo 12
- Architettura logica e diagrammi dei package di UML – Capitolo 13
- Verso la progettazione a oggetti – Capitolo 14
- Diagrammi di interazione di UML – Capitolo 15
- Diagrammi delle classi di UML – Capitolo 16 (normalmente in dettaglio,
con le seguenti eccezioni: 16.15 cenni, 16.16 cenni, saltare 16.18, saltare
16.20)
- Progettazione orientata agli oggetti: Progettazione basata
sull'assegnazione di responsabilità; pattern GRASP (information
expert, creator, low coupling, high cohesion, controller) – Capitolo 17
- Progettazione orientata agli oggetti: Realizzazione di casi d'uso con i
pattern GRASP – Capitolo
18
- Progettazione orientata agli oggetti: Progettare per la visibilità –
Capitolo 19
- Progettazione orientata agli oggetti: Trasformare i progetti in codice – Capitolo
20 (tranne 20.12)
- Progettazione orientata agli oggetti: Sviluppo guidato dai test e
Refactoring – Capitolo
21 (cenni)
- Progettazione orientata agli oggetti: Strumenti per UML e UML come
progetto – Capitolo
22 (cenni)
- Elaborazione: Iterazione 2 – Capitolo 23
- Analisi orientata agli oggetti: Rapido aggiornamento dell'analisi –
Capitolo 24
- Analisi orientata agli oggetti: Raffinamento del modelli di dominio –
Capitolo 31 (da 31.1 a 31.9, in dettaglio; 31.10, cenni; da 31.11 a 31.15 e 31.17,
in dettaglio)
- Progettazione orientata agli oggetti: Altri pattern GRASP (polymorphism,
pure fabrication, indirection, protected variations) – Capitolo 25
- Progettazione orientata agli oggetti: Progettazione basata sull'uso dei
design pattern GoF: adapter, factory, singleton, strategy, facade,
observer (in dettaglio), proxy (cenni) – Capitolo 26
- Raffinamento dell'architettura logica: collaborazioni tra strati – Capitolo 34 (34.2 e
34.4)
- Ulteriore progettazione a oggetti con i pattern GoF – Capitolo 36 (36.9
e 36.10)
- SOLID: Altri principi per la progettazione a oggetti
(cenni) – dispensa aps91 a cura del docente
- Introduzione a Domain-Driven Design ed alla persistenza di oggetti
(cenni) – dispensa aps92 a cura del docente
I concetti introdotti durante il corso sono esemplificati con riferimento
ai seguenti studi di caso, che sono parte integrante del programma d'esame:
- il sistema POS NextGen;
- il sistema Monopoly Game System;
- il sistema ERedit;
- il sistema VideoRental;
- il sistema PortaleEsami;
- il sistema AcmeBay.
Materiale didattico
Libro di testo
Errata corrige: figura 6.1 di pag. 66
e figura 6.4 di pagina 97È anche possibile utilizzare la versione originale in inglese dello stesso libro:
In questo caso, è utile sapere che c'è una corrispondenza un po' strana tra i
capitoli della versione italiana e quelli della versione inglese (perlomeno
nella prima stampa, non so se anche nelle ristampe in circolazione adesso; l'ordine
giusto è quello del libro in italiano). Infatti, nella terza edizione inglese
(almeno nella sua prima stampa) alcuni capitoli sono stati collocati nel posto
sbagliato. In generale, la corrispondenza tra capitoli dovrebbe essere chiara
dai titoli dei capitoli stessi.
Più precisamente: Normalmente i capitoli corrispondono (ad esempio, 7 inglese
con 7 italiano), con queste eccezioni:
- il capitolo 22 inglese fa parte della parte III (non della parte IV)
- i capitoli 23 e 24 vanno scambiati (23 diventa 24 e viceversa)
- i capitoli 31 e 32 vanno scambiati
- i capitoli 35 e 36 vanno scambiati
- i capitoli 37 e 38 vanno scambiati
Ulteriori libri, utili per la consultazione (in ordine sparso)
- Martin Fowler
UML distilled - terza edizione
Pearson Education Italia, 2004
Una introduzione concisa ad UML.
- Eric Gamma, Richard Helm, Ralph Johnson e John Vlissides
Design patterns – elements of reusable object-oriented software
Addison-Wesley, 1995
Il libro fondamentale sui design pattern.
- Eric Gamma, Richard Helm, Ralph Johnson e John Vlissides
Design patterns – elementi per il riuso di software a oggetti
Addison-Wesley, Pearson Education Italia, 2002
Edizione italiana del libro di cui sopra.
- Frank Buchmann, Regine Meunier, Peter Sommerlad e Michael Stal
Pattern-oriented software architecture – a system of patterns
John Wiley & Sons, 1996
Libro fondamentale sui pattern architetturali, in cui viene descritto Layers.
- Robert C. Martin
Agile software development - principles, patterns, and practices
Prentice Hall, 2003
Un altro ottimo libro di progettazione orientata agli oggetti. L'approccio
però è diverso da quello del Larman e di questo corso. Ottimo per chi vuole
approfondire i temi di questo corso.
- Robert C. Martin, M. Martin
Agile principles, patterns, and practices in C#
Prentice Hall, 2007
Ripropone i temi del libro precedente, approfondendoli di più. Fa
riferimento al linguaggio C# e non a Java. (Entrambi i libri sono ricchi di
esempi e di codice.)
- Eric Evans
Domain-Driven Design
Addison-Wesley, 2004
Altro buon libro di analisi e progettazione orientata agli oggetti. Fornisce
un buon contesto (più ampio) in cui applicare i metodi proposti da Larman.
Anche questo molto buono per chi vuole approfondire i temi di questo corso.
- Cheesman & Daniels
UML Components - un semplice processo per la specifica di software
basato su componenti
Addison-Wesley, 2002
Mostra una metodologia per la progettazione di software basto su componenti
- la metodologia, relativa ad un contesto tecnologico più avanzato, ha molti
punti in comune con l'approccio proposto da Larman.
Sito web del corso
Forum/newsgroup del corso
Studi di caso
I concetti introdotti durante il corso sono esemplificati con riferimento
ai seguenti studi di caso, che sono parte integrante del programma d'esame:
- il sistema POS NextGen;
- Monopoly Game System;
- il sistema ERedit (requisiti);
- il sistema abcBid (requisiti);
- il sistema AcmeU (requisiti);
- la colazione di Rosa
Regolamento ufficiale del Monopoli
Esami (ordinamento 270)
Modalità d'esame di Analisi e progettazione del software per gli
studenti dell'ordinamento 270:
Esame con progetto
- progetto:
- alcuni giorni (2 o 3) prima dello scritto
viene proposto uno studio di caso – con esercizi
di analisi e progettazione
- lo studente consegna, alla prova scritta, un
elaborato relativo a tale studio di caso –
scritto a mano ed individualmente
- il progetto cambia ad ogni appello
- prova scritta, della durata di 160 minuti
circa:
- la prova scritta verte su un ampliamento
oppure su una variante del progetto di cui sopra
- la prova scritta comprende: esercizi di
analisi OO (12 punti circa) nonché esercizi di
progettazione OO + teoria (18 punti circa)
- eventuale prova orale (a discrezione del
docente)
Esame senza progetto
- prova scritta, della durata di 160 minuti
circa:
- la prova scritta comprende: esercizi di
analisi OO (12 punti circa) nonché esercizi di
progettazione OO + teoria (18 punti circa)
- eventuale prova orale (a discrezione del
docente)
- il voto massimo per chi sostiene l'esame
con questa modalità è 24
Esame con homework
- homework:
- lo studente ha partecipa a tutti gli
homework proposti, nei tempi stabiliti - e la
relativa valutazione è complessivamente positiva
progetto:
- alcuni giorni (2 o 3) prima dello scritto
viene proposto uno studio di caso – con esercizi
di analisi e progettazione
- lo studente consegna, alla prova scritta, un
elaborato relativo a tale studio di caso –
scritto a mano ed individualmente
- il progetto cambia ad ogni appello
- prova scritta, della durata di 160 minuti
circa:
- la prova scritta verte su un ampliamento
oppure su una variante del progetto di cui sopra
- la prova scritta comprende: esercizi di
analisi OO (12 punti circa) nonché esercizi di
progettazione OO + teoria (18 punti circa)
- eventuale prova orale (a discrezione del
docente)
- se lo studente ha ottenuto una
valutazione almeno sufficiente alla prova scritta, allora
il risultato della valutazione degli homework (al massimo 4) si
somma al voto della prova scritta
- questa modalità d'esame è valida
esclusivamente per gli studenti che non hanno mai sostenuto in
passato l'esame di Analisi e progettazione del software
ed
esclusivamente al primo appello (giugno-luglio 2011)
Esami (ordinamento 509)
La modalità d'esame di Analisi e progettazione del software per gli
studenti dell'ordinamento 509 è quella dell'anno accademico 2009-2010, come
segue:
Esame con progetto
- progetto:
- alcuni giorni (2 o 3) prima dello scritto
viene proposto uno studio di caso – con esercizi
di analisi e progettazione
- lo studente consegna, alla prova scritta, un
elaborato relativo a tale studio di caso –
scritto a mano ed individualmente
- il progetto cambia ad ogni appello
- prova scritta, della durata di 160 minuti
circa:
- la prova scritta verte su un ampliamento
oppure su una variante del progetto di cui sopra
- la prova scritta comprende: esercizi di
analisi OO (12 punti circa) nonché esercizi di
progettazione OO + teoria (18 punti circa)
- eventuale prova orale (a discrezione del
docente)
Esame senza progetto
- prova scritta, della durata di 160 minuti
circa:
- la prova scritta comprende: esercizi di
analisi OO (12 punti circa) nonché esercizi di
progettazione OO + teoria (18 punti circa)
- eventuale prova orale (a discrezione del
docente)
- il voto massimo per chi sostiene l'esame
con questa modalità è 24
Esame con homework
- homework:
- lo studente ha partecipa a tutti gli
homework proposti, nei tempi stabiliti - e la
relativa valutazione è complessivamente positiva
progetto:
- alcuni giorni (2 o 3) prima dello scritto
viene proposto uno studio di caso – con esercizi
di analisi e progettazione
- lo studente consegna, alla prova scritta, un
elaborato relativo a tale studio di caso –
scritto a mano ed individualmente
- il progetto cambia ad ogni appello
- prova scritta, della durata di 160 minuti
circa:
- la prova scritta verte su un ampliamento
oppure su una variante del progetto di cui sopra
- la prova scritta comprende: esercizi di
analisi OO (12 punti circa) nonché esercizi di
progettazione OO + teoria (18 punti circa)
- eventuale prova orale (a discrezione del
docente)
- se lo studente ha ottenuto una
valutazione almeno sufficiente alla prova scritta, allora
il risultato della valutazione degli homework (al massimo 4) si
somma al voto della prova scritta
- questa modalità d'esame è valida
esclusivamente per gli studenti che non hanno mai sostenuto in
passato l'esame di Analisi e progettazione del software
ed
esclusivamente al primo appello (giugno-luglio 2011)
Date d'esame
Nell'anno accademico 2010-2011 sono previste le seguenti date d'esame
(attenzione, potrebbero ancora cambiare):
- giugno-luglio 2011, data ancora da stabilire
- settembre 2011, data ancora da stabilire
- febbraio 2012, data ancora da stabilire
Per partecipare agli esami è necessario prenotarsi ad esso presso il
portale dello studente (studenti dell'ordinamento 270) oppure presso il sito
prenota.uniroma3.it
(studenti dell'ordinamento 509).
La prenotazione va normalmente fatta entro quattro giorni lavorativi prima della data
dell'appello (che corrispondono a circa una settimana effettiva).
Chi avesse problemi a prenotarsi presso il sito delle prenotazioni è invitato
caldamente a contattare il docente per posta elettronica entro gli stessi
termini.
Per motivi organizzativi, gli studenti non prenotati che comunque non contatteranno il
docente entro 24 ore dall'esame non saranno ammessi all'esame stesso.
Testi di prove d'esame di appelli conclusi
Dell'anno accademico 2008-2009
Dell'anno accademico 2006-2007
Dell'anno accademico 2005-2006 (la modalità d'esame potrebbe essere diversa da quella
prevista per questo anno accademico)
Dell'anno accademico 2004-2005 (la modalità d'esame potrebbe essere diversa da quella
prevista per questo anno accademico)
Dell'anno accademico 2003-2004 (la modalità d'esame potrebbe essere diversa da quella
prevista per questo anno accademico)
Dell'anno accademico 2002-2003 (con le stesse modalità dell'anno accademico
2003-2004, ma con un programma leggermente diverso, e un
livello di approfondimento minore per alcuni degli argomenti trattati)