(È disponibile anche un elenco completo degli avvisi.)
Al fine di ridurre eventuali problemi legati al maltempo, la prova scritta degli esami di Architetture software e Ingegneria del software del 13 febbraio avrà inizio alle ore 10:00 anziché alle ore 9:00.
Inoltre, la prova scritta si svolgerà in aula N1 anziché in aula N13A.
Alcune informazioni circa lo svolgimento degli esami di Architetture software e Ingegneria del software nella sessione di febbraio 2012:
Gli studenti che intendono frequentare il corso di Architetture software
sono invitati a registrarsi al corso usando l'apposito modulo di
registrazione.
Perché? Per sapere chi e quanti siete, e per conoscere i vostri indirizzi di
posta elettronica, nel caso dovessi contattarvi).
Inoltre, a partire da questo anno accademico (per ora solo in via sperimentale) gli studenti iscritti al corso di Laurea Magistrale in Ingegneria informatica devono, all’inizio di ogni semestre, iscriversi ai corsi che intendono seguire nel semestre. Fare riferimento all'avviso in proposito sul sito del collegio didattico.
Gli studenti Erasmus, invece, sono invitati a leggere queste informazioni, e a registrarsi al corso usando quest'altro modulo di registrazione.
In breve, la disciplina delle architetture software – o architettura del software
Il corso di Architetture software ha l’obiettivo di presentare gli aspetti sia metodologici che tecnologici relativi alle architetture software, che hanno un ruolo fondamentale nel raggiungimento degli obiettivi di qualità (requisiti non funzionali) dei sistemi software.
Specificamente, ha l’obiettivo di presentare metodologie e strumenti per la progettazione e la valutazione di architetture software e, in particolare, di architetture per sistemi software distribuiti e di tipo enterprise, incluse le architetture basate su componenti e le architetture orientate ai servizi.
Alla fine del corso lo studente dovrebbe sapere impostare un progetto di un’architettura software, analizzandone dettagli e problematiche tecnologiche e metodologiche, e valutare l’architettura in termini di raggiungimento di obiettivi di qualità.
Il corso non prevede specifici prerequisiti: tutto ciò che è stato studiato
sarà utile - ma niente indispensabile.
Un prerequisito importante è certamente il corso di Analisi e progettazione del software.
Altri prerequisiti molto utili sono i corsi di Sistemi informativi su web
e
Sistemi operativi. Utile Basi di dati II, così come Programmazione concorrente
e Sicurezza dei sistemi informatici e delle reti.
Per questo motivo, la partecipazione al corso:
È inoltre utile una buona conoscenza della lingua inglese.
Programma del corso di Architetture software relativo all'anno accademico 2011-2012.
Le lezioni del corso di Architetture software si svolgeranno
| Data | Argomento | Materiale didattico |
| 3 ottobre 2011 | Introduzione al corso | asw010 |
| Introduzione alle architetture software | asw110 | |
| 6 ottobre 2011 | Architetture software: concetti |
asw120 opzionale: [IEEE 1471-2000] |
| 10 ottobre 2011 | Punti di vista e viste |
asw140 in programma: [Kruchten 1995] |
| 13 ottobre 2011 | Ottenere qualità: tattiche, stili e prospettive architetturali | asw160 |
| Introduzione ai connettori e al middleware |
asw810 esempi: workspace Eclipse |
|
| 17 ottobre 2011 | Processi software (cenni) |
asw210 opzionale: [Bohem 1988] |
| Processo di definizione dell'architettura | asw220 | |
| 20 ottobre 2011 | Requisiti, interessi e scenari | asw250 |
| 24 ottobre 2011 | Comunicazione interprocesso e socket: comunicazione interprocesso; un'applicazione client/server UDP; un'applicazione client/server TCP |
asw820 esempi: workspace Eclipse |
| 27 ottobre 2011 | Comunicazione interprocesso e socket: messaggi da scambiare | asw820 |
| Tattiche architetturali: introduzione, tattiche per le prestazioni (cenni) |
asw310 in programma: [Bachmann, 2007] sezioni 1-6 opzionale: [Kim, 2009] |
|
| 31 ottobre 2011 | non ci sarà lezione | |
| 3 novembre 2011 | Tattiche architetturali: tattiche per la modificabilità | asw310 |
| 7 novembre 2011 | Oggetti distribuiti e invocazione remota: RPC; RMI; Java RMI; semantica dell'invocazione remota |
asw830 esempi: workspace Eclipse |
| 10 novembre 2011 | Oggetti distribuiti e invocazione remota: servizi remoti con stato oppure con stato della sessione; legame dei parametri | asw830 |
| 14 novembre 2011 | Tattiche architetturali: tattiche per la disponibilità |
asw311 opzionale: [Scott, 2009] sezione 2 opzionale: [Kim, 2009] |
| 17 novembre 2011 | Pattern software | asw350 |
| POSA: Un catalogo di pattern architetturali (prima parte): Introduzione | asw360 | |
| 21 novembre 2011 | POSA: Un catalogo di pattern architetturali (prima parte): Domain Model; Layers | asw360 |
| 24 novembre 2011 | POSA: Un catalogo di pattern architetturali (prima parte): Domain Object, Pipes and Filters | asw360 |
| 28 novembre 2011 | POSA: Un catalogo di pattern architetturali (seconda parte): MVC (cenni), Shared Repository, Database Access Layer (cenni), Microkernel | asw361 |
| 1 dicembre 2011 | Messaging (middleware) |
asw840 esempi: workspace Eclipse |
| 5 dicembre 2011 | Messaging (middleware) | asw840 |
| POSA: Un catalogo di pattern architetturali (seconda parte): Reflection | asw361 | |
| Architetture dei sistemi distribuiti: introduzione | asw410 | |
| 7 dicembre 2011 | Architetture dei sistemi distribuiti - architetture client/server, architetture a oggetti distribuiti; Broker | asw410 |
| 12 dicembre 2011 | Messaging (stile architetturale) e integrazione di applicazioni | asw430 |
| 15 dicembre 2011 | Componenti (middleware) |
asw850 esempi: workspace Eclipse |
| 9 gennaio 2012 | Componenti (middleware) | asw850 |
| Architetture basate su componenti | asw450 | |
| 12 gennaio 2012 | Architetture basate su componenti | asw450 |
| Cluster per architetture a componenti | asw455 | |
| 16 gennaio 2012 | Web Services | asw460 |
| 18 gennaio 2012 | Mini tutorial: modellazione di processi (cenni) | asw910 |
| Mini tutorial: UML components (cenni) | asw920 | |
| 19 gennaio 2012 | Web Services: lo stile REST | asw460 |
| Programmazione di Web Services |
asw860 esempi (ws): workspace Eclipse esempi (rest): workspace Eclipse |
|
| 23 gennaio 2012 | Service-Oriented Architecture | asw465 |
| 25 gennaio 2012 | Cloud Computing |
asw470 [Berkeley, 2009] |
| Un metodo per la definizione dell'architettura | asw950 | |
| Un metodo per la definizione dell'architettura | asw950 | |
Gli homework, scritti a mano, vanno fatti pervenire al docente durante le lezioni del corso o al ricevimento studenti, nei tempi indicati nella seguente tabella. In particolare, se la data di consegna è un giorno in cui è prevista lezione, la consegna va fatta entro l'inizio della lezione stessa.
| Homework | Argomento | Riferimenti | Data pubblicazione | Data consegna |
|---|---|---|---|---|
| 1 | Scrum |
The Scrum
Primer (link
alla versione originale) www.scrumalliance.org |
10 ottobre 2011 | 27 ottobre 2011 |
| 2 | Architettura a plug-in di Eclipse |
Eclipse Platform Technical Overview Notes on the Eclipse Plug-in Architecture |
27 ottobre 2011 | 17 novembre 2011 |
| 3 | Realizzazione di un'applicazione di messaging | Workspace asw-hw3-messaging | 6 dicembre 2011 | 16 gennaio 2012 |
| 4 | Clustering in Apache Tomcat |
Clustering Session/Replication HOW-TO Tomcat Clustering |
10 gennaio 2012 | 25 gennaio 2012 |
E' possibile consegnare l'homework in ritardo rispetto alla data di consegna
indicata nella tabella?
Sì, ma con le seguenti osservazioni: (i) il ritardo massimo è una lezione
(ovvero, l'homework può essere consegnato al più alla lezione successiva
rispetto alla data indicata in tabella) e (ii) il numero massimo di ritardi
ammessi per ciascuno studente è uno (ovvero, uno studente non può consegnare due
homework in ritardo).
Il materiale didattico di riferimento per il corso, che sarà disponibile su questo sito web, è costituito da:
Il corso ed il relativo materiale didattico è ispirato ad un certo numero di libri sulle architetture software, che sono pertanto utili per la consultazione (dovrebbero essere quasi tutti disponibili nella biblioteca di ateneo) ma non necessari, soprattutto in caso di regolare frequenza alle lezioni del corso.
Altro materiale didattico sarà predisposto facendo riferimento, tra l'altro, anche ai seguenti libri:
L'esame di Architetture software consiste di:
Le date previste per le prove scritte dell'esame di Architetture software sono:
Per partecipare all'esame è necessario prenotarsi all'esame presso il Portale dello studente. La prenotazione va fatta entro quattro giorni lavorativi (che corrispondono a circa una settimana effettiva) prima della data dell'appello (vedi date indicate sopra).
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 sul Portale dello studente che non contatteranno il docente entro 24 ore dall'esame non saranno ammessi all'esame stesso.
Non sono disponibili testi d'esame di appelli conclusi.
Informazioni per gli studenti del corso spento di Ingegneria del software (della Laurea Specialistica in Ingegneria informatica secondo l'ordinamento 509/99):
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 Architetture software devono:
Si ricorda inoltre che al corso di Architetture 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 Architetture Software tienen que:
Se recuerda tambien que al curso de Architetture 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.