(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)
(E' disponibile anche un elenco completo degli avvisi.)
Risultati dell'esame di Analisi e progettazione del software del 14 settembre:
La prova scritta potrà essere visionata esclusivamente durante l'orario di
ricevimento studenti, e comunque entro trenta giorni dalla pubblicazione di
questo avviso.
Consultare il sito del docente per avere aggiornamenti sull'orario
di ricevimento studenti.
In particolare, ci sarà un ricevimento studenti
straordinario per visionare la prova scritta martedì 26 settembre alle
ore 14:00.
La verbalizzazione (ovvero, la registrazione) dell'esame (che viene svolta dal docente e non richiede la presenza degli studenti) avverrà con le seguenti modalità:
In caso di problemi contattare il docente, per posta elettronica, al più presto.
Le lezioni del corso di Analisi e progettazione del software sono terminate.
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. Prerequisiti specifici per il corso di Analisi e progettazione del software sono descritti in questo documento.
(Attenzione, alcune delle informazioni su questa parte del sito web, e in particolare quelle scritte in grigio e quelle dopo la riga gialla, potrebbero riferirsi all'edizione precedente del corso di Analisi e progettazione del software)
Legenda adottata nei lucidi
Data | Argomento (anche con riferimento ai capitoli e alle sezioni del libro di testo) |
Lucidi (non sostituiscono il libro) |
1 marzo 2023 |
* Introduzione al corso di Analisi e progettazione del software | |
1. Analisi e progettazione orientata agli oggetti (Capitolo 1) | ||
2 marzo 2023 |
non ci sarà lezione |
|
|
||
7 marzo 2023 |
2. Sviluppo iterativo ed evolutivo (Capitolo 2, Introduzione, da 2.1 a 2.9) | |
|
3. Sviluppo agile (Capitolo 3) | |
8 marzo 2023 | 4. Studi di caso (Capitolo 4) |
|
|
5. Iterazione 0: analisi dei requisiti (Capitolo 5, cenni) | |
6. Requisiti evolutivi (Capitolo 6) | aps06 | |
7. Casi d'uso (Capitolo 7, Introduzione, da 7.1 a 7.8) | aps07 | |
9 marzo 2023 |
7. Casi d'uso (Capitolo 7, da 7.8 a 7.13, 7.17, 7.21 e 7.22) | |
8. Altri requisiti (Capitolo 8, cenni) | aps08 | |
9. Storie utente (Capitolo 9, Introduzione, da 9.1 a 9.3, 9.8) | aps09 | |
|
||
* | * Dalla progettazione concettuale alla modellazione di dominio (videolezione) | apsB |
14 marzo 2023 | 10. Iterazione 1: Concetti fondamentali (Capitolo 10, paragrafo 10.1) | aps10 |
* Alcune idee sui sistemi software e la loro architettura | apsA | |
11. Verso l'analisi a oggetti | aps11 | |
12. Modellazione di dominio (Capitolo 12, da 12.1 a 12.2, nonché 12.4) | aps12a (prima parte) | |
15 marzo 2023 | 12. Modellazione di dominio (Capitolo 12, 12.3 e da 12.5 a 12.10, nonché 12.20) | |
16 marzo 2023 | 12. Modellazione di dominio (Capitolo 12, da 12.11 a 12.13) | |
|
12. Modellazione di dominio (Capitolo 12, da 12.14 a 12.15) | aps12b (seconda parte) |
|
||
21 marzo 2023 |
12. Modellazione di dominio (Capitolo 12, da 12.16 a 12.22) | |
22 marzo 2023 | Esercitazione OOA: ERedit (requisiti), modellazione di dominio | |
23 marzo 2023 | 13. Operazioni di sistema e diagrammi di sequenza di sistema (Capitolo 13) | aps13 |
|
14. Contratti delle operazioni di sistema (Capitolo 14, da 14.1 a 14.7) | aps14 |
|
||
28 marzo 2023 | Esercitazione OOA: Acme Med (requisiti, esercizi su modellazione di dominio) | |
29 marzo 2023 | Esercitazione OOA: Acme Med (requisiti, esercizi su modellazione di dominio) | |
|
14. Contratti delle operazioni di sistema (Capitolo 14, da 14.8 a 14.12) | |
15. Dai requisiti alla progettazione, iterativamente (Capitolo 15) | ||
16. Architettura logica (Capitolo 16) | aps16 | |
30 marzo 2023 (dalle ore 11:00, 1 ora) |
19. Diagrammi delle classi (Capitolo 19, da 19.1 a 19.7, da 19.10 a 19.15) | aps19 |
|
||
4 aprile 2023 |
non ci sarà lezione |
|
5 aprile 2023 | Esercitazione OOA: ERedit (requisiti), operazioni di sistema, contratti delle operazioni per loginUtente, creaDiagramma, apriDiagramma, creaEntità, creaAttributo, creaRelazione | |
6 aprile 2023 | 17. Verso la progettazione a oggetti (Capitolo 17) | aps17 |
18. Diagrammi di interazione (Capitolo 18, da 18.1 a 18.6) | aps18 | |
19. Diagrammi delle classi (Capitolo 19, 19.19) | ||
|
||
7-11 aprile 2023 | Vacanze di Pasqua | |
|
||
12 aprile 2023 | 20. GRASP: Progettazione di oggetti con responsabilità (Capitolo 20, da 20.1 a 20.9) | aps20a |
13 aprile 2023 | Esercitazione OOA: Acme Med (requisiti, esercizi su operazioni di sistema) | |
|
||
18 aprile 2023 | 21. Esempi di progettazione a oggetti con i pattern GRASP (Capitolo 21, da 21.1 a 21.4, fino a enterItem) | aps21a |
19 aprile 2023 | 21. Esempi di progettazione a oggetti con i pattern GRASP (Capitolo 21, paragrafo 21.4, enterItem) | |
22. Progettare per la visibilità (Capitolo 22) | aps22 | |
|
21. Esempi di progettazione a oggetti con i pattern GRASP (Capitolo 21, paragrafo 21.4, endItemEntry e getTotal) | |
20 aprile 2023 |
21. Esempi di progettazione a oggetti con i pattern GRASP (Capitolo 21, paragrafo 21.4, da getTotal alla fine del paragrafo) | |
23. Trasformare i progetti in codice (Capitolo 23, da 23.1 a 23.12) | aps23a | |
|
||
26 aprile 2023 | * Retrospettiva sull'iterazione 1 | apsC |
|
20. GRASP: Progettazione di oggetti con responsabilità (Capitolo 20, da 20.10 a 20.12, introduzione ad accoppiamento e coesione) | aps20b |
27 aprile 2023 |
non ci sarà lezione |
|
|
||
2 maggio 2023 | Esercitazione OOD: ERedit (requisiti): loginUtente, apriDiagramma, creaDiagramma, creaEntità | |
3 maggio 2023 | Esercitazione OOD: ERedit (requisiti): creaDiagramma, creaEntità, creaAttributo, creaRelazione | |
Esercitazione OOP: ERedit (requisiti): codice per creaAttributo | ||
4 maggio 2023 |
20. GRASP: Progettazione di oggetti con responsabilità (Capitolo 20, da 20.12 a 20.15) | |
|
||
9 maggio 2023 | 21. Esempi di progettazione a oggetti con i pattern GRASP (Capitolo 21, 21.5) | aps21b |
23. Trasformare i progetti in codice (Paragrafo 23.13) | ||
26. Iterazione 2: Altri pattern (Capitolo 26) | ||
27. Rapido aggiornamento dell'analisi (e del progetto) (Capitolo 27) | aps27 | |
10 maggio 2023 (con inizio alle ore 9:15) |
Esercitazione OOD: Acme Med (requisiti, esercizi di progettazione a oggetti) | |
11 maggio 2023 |
non ci sarà lezione |
|
|
||
16 maggio 2023 | 24. Sviluppo guidato dai test e Refactoring (Capitolo 24, cenni) (videolezione su TDD e su Refactoring) | aps24 |
34. Ulteriore modellazione di dominio (Capitolo 34, da 34.1 a 34.13 e 34.17) | aps34 | |
17 maggio 2023 | 35. Altri SSD e contratti (Capitolo 35, cenni) | aps35 |
28. GRASP: altri oggetti con responsabilità (Capitolo 28, da 28.1 a 28.2) | aps28 | |
18 maggio 2023 | 28. GRASP: altri oggetti con responsabilità (Capitolo 28, da 28.3 a 28.4) | |
29. Applicare i design pattern GoF: introduzione, Adapter (cenni), Factory, Singleton e conclusione sul problema dei servizi esterni (cenni) (Capitolo 29, da 29.1 a 29.3 (cenni), e da 29.4 a 29.6, e 29.11 (cenni)) | aps29a | |
|
||
23 maggio 2023 |
non ci sarà lezione |
|
24 maggio 2023 (con inizio alle ore 8:30) |
Prima prova intermedia (dalle ore 8:30) | |
25 maggio 2023 |
non ci sarà lezione |
|
|
||
30 maggio 2023 | 29. Applicare i design pattern GoF: Strategy (in dettaglio), Facade, Observer (cenni) (Capitolo 29, 29.7 (in dettaglio), 29.9 e 29.10 (cenni)) | aps29b |
31 maggio 2023 (con inizio alle ore 9:30) |
Esercitazione OOA/D: AcmePayroll (studio di caso) | |
1 giugno 2023 | 37. Raffinamento dell'architettura logica: collaborazioni tra strati (Capitolo 37, 37.2 e 37.4, cenni) | aps37a |
|
39. Ulteriore progettazione a oggetti con i pattern GoF: Repository e Template Method (Capitolo 39, 39.2 (cenni), 39.10 (in dettaglio), 39.11 (cenni) e 39.12 (cenni)) | |
le lezioni del corso sono terminate | ||
|
||
7 giugno 2023 | Seconda prova intermedia (dalle ore 8:30) | |
|
||
|
||
|
||
In questa tabella, tutto ciò che segue questa riga si riferisce all'anno accademico precedente |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
17 maggio 2021 |
non ci sarà lezione, ma un ricevimento studenti sul team del corso |
|
28 maggio 2021 | 29. Applicare i design pattern GoF: Observer (cenni) (Cap. 29, 29.10 (cenni)) | |
|
||
31 maggio 2021 |
non ci sarà lezione |
|
le lezioni del corso sono terminate | ||
|
||
|
||
|
||
|
||
|
Per ciascuna prova in itinere o homework, i requisiti sono descritti in un documento diverso da quello contenente gli esercizi della prova in itinere o homework.
Homework/autovalutazione | Requisiti | Data pubblicazione | Consegna elettronica | Consegna cartacea | |
---|---|---|---|---|---|
1 | Acme Med: Analisi - Modellazione di dominio | Acme Med (v1) | 21 marzo 2023 | entro le ore 20 di lunedì 27 marzo | no |
val 1 | scheda di autovalutazione dell'homework 1 | 28 marzo 2023 | entro le ore 20 di venerdì 31 marzo | no | |
2 | Acme Med: Analisi - Operazioni di sistema | Acme Med (v2) | 5 aprile 2023 | entro le ore 20 di mercoledì 12 aprile | no |
val 2 | scheda di autovalutazione dell'homework 2 | 13 aprile 2023 | entro le ore 20 di lunedì 17 aprile | no | |
3 | Acme Med: Analisi - Progettazione a oggetti | Acme Med (v2) | 2 maggio 2023 | entro le ore 20 di martedì 9 maggio | no |
val 3 | scheda di autovalutazione dell'homework 3 | 10 maggio 2023 | entro le ore 20 di lunedì 15 maggio | no | |
Uno studente potrà consegnare le proprie soluzioni degli homework, scritte a mano su carta e realizzate individualmente, come segue:
Saranno accettate e valutate solo le consegne puntuali.
Inoltre:
Inoltre, uno studente potrà consegnare le autovalutazioni delle proprie soluzioni degli homework, come segue:
Saranno accettate e valutate solo le consegne puntuali.
Programma definitivo del corso di Analisi e progettazione del software per gli studenti dell'ordinamento 270, per l'anno accademico 2022-2023 – l'indicazione dei capitoli fa riferimento all'edizione italiana del 2020 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:
In alternativa, la versione originale in inglese della terza edizione del libro:
L’iscrizione alla pagina Moodle del corso è necessaria per iscriversi al team
del corso e per seguire le lezioni.
Tuttavia, questa pagina non dovrebbe
contenere materiale didattico, ma verrà usata per le prove in itinere e forse
anche per le prove d’esame.
I concetti introdotti durante il corso sono esemplificati con riferimento ai seguenti studi di caso, che sono parte integrante del programma d'esame:
Ulteriori studi di caso che possono essere utilizzati nel corso:
Modalità di svolgimento degli esami di profitto per gli appelli ordinari del corso di Analisi e progettazione del software, in caso di normale attività didattica (altrimenti si vedano le indicazioni relative allo svolgimento degli esami a seguito dell'emergenza sanitaria e fino al ripristino della normale attività didattica):
In caso di appelli straordinari, la modalità d'esame di Analisi e progettazione del software potrà, a secondo delle circostanze, essere diversa. Ad esempio, solo esame scritto, solo esame orale, oppure progetto e esame orale, oppure progetto e esame scritto. Contattare il docente per chiarimenti.
Nell'anno accademico 2022-2023 sono previste le seguenti date d'esame (attenzione, potrebbero ancora cambiare):
Per partecipare agli esami è necessario prenotarsi ad esso presso il portale dello studente GOMP al corso di codice 20801962. 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.
Dell'anno accademico 2011-2012
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)
In passato, si sono verificate delle
situazioni spiacevoli con alcuni studenti Erasmus.
(Ci tengo a sottolineare il fatto che ciò è avvenuto solo con alcuni
studenti Erasmus: altri studenti Erasmus si sono comportati correttamente, ed
hanno studiato in modo assolutamente dignitoso).
A causa di tali avvenimenti, gli studenti Erasmus interessati a frequentare e sostenere l'esame di Analisi e progettazione del software devono:
Si ricorda inoltre che al corso di Analisi e progettazione del software sono attribuiti 6 CFU (crediti formativi universitari), e che pertanto l'impegno richiesto ad uno studente in possesso dei prerequisiti del corso è di circa 6x25=150 ore.
Il docente sottolinea che finora ha trattato - e continuerà a trattare - gli
studenti Erasmus allo stesso modo - dunque, né meglio né peggio - degli
studenti locali.
In particolare (anche se non ci dovrebbe essere bisogno di dirlo) uno studente
Erasmus che studia bene la materia verrà promosso all'esame, mentre uno studente
Erasmus che studia poco o studia male la materia verrà bocciato all'esame -
esattamente come verrebbe bocciato all'esame uno studente locale che studia poco
o studia male. Questo indipendentemente da qualunque fatto o situazione che non
riguarda strettamente lo studio e la comprensione della materia. E con l'ovvia
considerazione che decidere se uno studente ha studiato bene o male è
responsabilità della commissione d'esame - e non dello studente.
En pasado, se han verificado unas situaciones desagradables con unos
estudiantes Erasmus.
(Quiero acentuar que esto ha pasado solo con unos estudiantes Erasmus:
otros estudiantes se han comportado correctamente y han siempre estudiado de una
manera absolutamente decente.)
Por esos eventos, los estudiantes Erasmus que son interesados a frecuentar y dar el examen de Analisi e progettazione del software tienen que:
Se recuerda tambien que al curso de Analisi e progettazione del software se dan 6 CFU (crediti formativi universitari), y que entonces el empeño que se pide a un estudiante que ya posee los requisitos del curso es más o menos de 6x25=150 horas .
El profesor acentua que hasta ahora ha tratado – y seguirá tratando- los
estudiantes Erasmus de la misma manera – es decir ni mejor ni pejor –
de los estudiantes locales .
En particular, aunque no sea necesario decirlo, un estudiante Erasmus que
estudia bien la materia aprobará el examen, mientras un estudiante Erasmus que
estudia poco o mal la materia suspenderá el examen – de la misma manera de un
estudiante local que estudia poco o estudia mal. Eso independientemente de todos
los aspectos que no conciernen propiamente el estudio y la comprensión de la
materia. Y, por supuesto,considerando tambien que es la Comision de Examen que
decide si un estudiante ha estudiado poco o mal – y no el estudiante mismo.