Attenzione, alcune sezioni di questo sito (in particolare, quelle scritte in grigio) potrebbero ancora riferirsi all'edizione 2008-2009 del corso.
(E' disponibile anche un elenco completo degli avvisi.)
E' stato pubblicato il testo del secondo homework.
Il secondo homework, per chi vuole, andrà consegnato entro la lezione di lunedì 29 marzo.
Lunedì 22 marzo, nell'orario consueto (9:45-11:15) ci sarà un'esercitazione di analisi orientata agli oggetti basata sullo studio di caso ERedit (requisiti - si noti che si fa riferimento allo studio di caso, e NON al testo del compito d'esame dell'11 luglio 2003).
Gli studenti sono invitati a guardare con anticipo il testo dello studio di caso, e provare a fare l'analisi orientata agli oggetti (modello di dominio e contratti delle operazioni di sistema) per il sistema ERedit.
Sono stati pubblicati i requisiti ed il testo del primo homework. (Notare che si tratta di due documenti diversi, e non di un singolo file.)
Il primo homework, per chi vuole, andrà consegnato entro la lezione di lunedì 22 marzo.
Le lezioni del corso di Analisi e progettazione del software si svolgeranno:
Dunque, il corso avrà inizio lunedì 1 marzo 2010.
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à.
Costituiscono un prerequisito fondamentale di questo corso i corsi di Basi di dati e di Programmazione orientata agli oggetti.
Le lezioni del corso di Analisi e progettazione del software si svolgeranno:
Attenzione, alcune delle informazioni che seguono (in particolare, quelle scritte in grigio) potrebbero ancora riferirsi all'edizione 2008-2009 del corso.
| Data | Argomento (anche con riferimento ai capitoli e alle sezioni del libro di testo) |
Materiale didattico |
|
1 marzo 2010 |
*. Introduzione al corso di Analisi e progettazione del software | |
| 1. Introduzione all'analisi e alla progettazione orientata agli oggetti (Capitolo 1) | ||
| 3 marzo 2010 | Dalla progettazione concettuale alla modellazione di dominio | apsER2MD |
| Esercitazione: Modellazione di dominio: VideoRental (requisiti, pagine 1 e 2) | esercitazione 3/3/2010 | |
|
5 marzo 2010 |
2. Sviluppo iterativo, evolutivo ed agile (Capitolo 2, da 2.1 a 2.6, nonché 2.10 e 2.11) | |
| 3. Studi di caso (Capitolo 3) | ||
|
|
||
|
8 marzo 2010 |
4. Ideazione (Capitolo 4, cenni) | aps04 |
| 5. Requisiti evolutivi (Capitolo 5) | aps05 | |
| 6. Casi d'uso (Capitolo 6, da 6.1 a 6.13) | aps06 | |
|
10 marzo 2010 |
6. Casi d'uso (Capitolo 6, sez. 6.17, 6.20 e 6.21) | |
| 7. Altri requisiti (Capitolo 7, cenni) | aps07 | |
| 8. Iterazione 1: Concetti fondamentali (Capitolo 8, cenni) | aps08 | |
| 9. Modelli di dominio (Cap.9, da 9.1 a 9.4, più alcune parti delle sezioni successive) | aps09 | |
|
12 marzo 2010 |
9. Modelli di dominio (Cap.9, da 9.5 a 9.14) | |
|
|
||
|
15 marzo 2010 |
9. Modelli di dominio (Cap. 9, da 9.15 a 9.19) | |
| 10. Diagrammi di sequenza di sistema (Cap. 10) | aps10 | |
|
17 marzo 2010 |
11. Contratti delle operazioni (Cap. 11) | aps11 |
|
|
9. Modelli di dominio (Cap. 31, par 31.11 e 31.17) | |
| 12. Dai requisiti alla progettazione, iterativamente (Cap. 12) | aps12 | |
| 19 marzo 2010 | 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 | |
|
|
||
| 22 marzo 2010 | Esercitazione OOA: ERedit (requisiti) | |
| 24 marzo 2010 | 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.8) | aps17a | |
| 26 marzo 2010 | 17. GRASP: Progettazione di oggetti con responsabilità (Cap. 17, da 17.9 a 17.12) | |
|
|
||
| 29 marzo 2010 | Esercitazione OOA: AcmeU (requisiti) | |
| 31 marzo 2010 | Esercitazione OOA: AcmeU (requisiti) | |
| 17. GRASP: Progettazione di oggetti con responsabilità (Cap. 17, 17.13 e 17.14) | ||
| 18. Esempi di progettazione a oggetti con i pattern GRASP (Cap. 18, da 18.1 a 18.4 (fino a makeNewSale)) | ||
| Interruzione | ||
| 7 aprile 2010 | 18. Esempi di progettazione a oggetti con i pattern GRASP (Cap. 18, 18.4, da enterItem a getTotal) | |
| 19. Progettare per la visibilità (Cap. 19) | ||
| 9 aprile 2010 | 18. Esempi di progettazione a oggetti con i pattern GRASP (Cap. 18, 18.4 (da makePayment), e da 18.6 a 18.7) | |
| 20. Trasformare i progetti in codice (Cap. 20, tranne 20.12) | ||
| 21. Sviluppo guidato dai test e Refactoring (Cap. 21, cenni) | ||
|
|
||
| 12 aprile 2010 | Esercitazione OOD: ERedit (requisiti), prima parte | |
| 14 aprile 2010 | 18. Esempi di progettazione a oggetti con i pattern GRASP (Cap. 18, 18.5) | |
| Esercitazione OOD: ERedit (requisiti), seconda parte | ||
| 16 aprile 2010 | 22. Strumenti per UML e UML come progetto (Cap. 22, cenni) | |
| 23. Iterazione 2: Altri pattern (Cap. 23) | ||
| 24. Rapido aggiornamento dell'analisi (Cap. 24) | ||
| 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) | ||
| Interruzione | ||
| 12 maggio 2009 | 25. GRASP: altri oggetti con responsabilità (Cap. 25) | |
| Esercitazione OOD/OOP: ERedit (requisiti) | ||
| 19 maggio 2009 | Esercitazione OOA/OOD: AcmeU (requisiti) | |
| 21 maggio 2009 | 26. Applicare i design pattern GoF: Adapter, Factory, Singleton, Strategy (Cap. 26, da 26.1 a 26.7, e da 26.11 a 26.12) | |
| 22 maggio 2009 | 26. Applicare i design pattern GoF: ancora su Strategy, Facade, Observer (Cap. 26, 26.7, da 26.9 a 26.10, e da 26.11 a 26.12) | |
| 34. Raffinamento dell'architettura logica: collaborazioni tra strati (Cap. 34, 34.2 e 34.4) | ||
| 26 maggio 2009 | Esercitazione OOA: abcBid (requisiti) |
|
| questionari di valutazione della didattica | ||
| 28 maggio 2009 | Esercitazione OOD: abcBid (requisiti) | |
| 29 maggio 2009 | Esercitazione OOD: abcBid (requisiti) | |
| xx yyy 2009 | Introduzione a Domain-Driven Design ed alla persistenza di oggetti |
Gli homework, scritti individualmente e a mano, vanno fatti pervenire al docente all'inizio delle lezioni del corso oppure al ricevimento studenti, e comunque nei tempi indicati nella seguente tabella:
| Homework | Argomento | Requisiti | Data pubblicazione | Data consegna |
|---|---|---|---|---|
| 1 | PortaleEsami: Analisi - Modellazione di dominio | PortaleEsami | venerdì 12 marzo | lunedì 22 marzo |
| 2 | PortaleEsami: Analisi - Operazioni di sistema | PortaleEsami | mercoledì 17 marzo | lunedì 29 marzo |
| 3 | PortaleEsami: Progettazione | |||
Programma preliminare del corso di Analisi e progettazione del software per l'anno accademico 2009-2010 – l'indicazione dei capitoli fa riferimento all'edizione italiana del libro di testo Applicare UML e i pattern
I concetti introdotti durante il corso sono esemplificati con riferimento ai seguenti studi di caso, che sono parte integrante del programma d'esame:
È 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:
I concetti introdotti durante il corso sono esemplificati con riferimento ai seguenti studi di caso, che sono parte integrante del programma d'esame:
A partire dall'anno accademico 2009-2010, la modalità d'esame di Analisi e progettazione del software varierà leggermente rispetto agli anni accademici passati. Ecco le nuove modalità d'esame, con le rispettive regole:
Nell'anno accademico 2009-2010 sono previste le seguenti date d'esame (attenzione, potrebbero ancora cambiare):
Per partecipare agli esami è necessario prenotarsi ad esso presso il sito prenota.uniroma3.it oppure presso il portale dello studente. La prenotazione va 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.
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)