Corso di Ingegneria del Software @ UniVE 2004/2005
Salta ai libri di testo
- 19/09/2005
- Avviso importante: La prossima e ultima
registrazione dei voti avverà il giorno venerdì 30
settembre dalle ore 16:00 alle ore 18:00 circa. Raccomando tutti
coloro che hanno il voto in sospeso di passare a registrarlo, dato che
non effettuerò ulteriori registrazioni.
- 29/07/2005
- Avviso importante: la prossima
registrazione dei voti avverà in concomitanza con l'appello
d'esame di lunedí 5 settembre 2005. Il mese di settembre
sarà l'ultimo periodo utile per la registrazione dei
voti. Tutti i voti non registrati saranno lasciati alla
discrezione del nuovo docente del corso.
- 07/07/2005
- Sarà possibile registrare i voti
lunedì 18 luglio alle ore 17:00. Raccomando chi ha il voto
in sospeso di passare a registrarlo, poiché l'anno prossimo il
corso verrà tenuto da un diverso docente.
- 23/06/2005
- La registrazione dei voti (anche
per il corso di Informatica Umanistica) avverrà
lunedì 27 giugno dalle ore 10:00 in poi.
- 21/02/2005
- Gli studenti che devono registrare il voto possono passare nel mio
ufficio (stanza 4)
nei giorni martedì 22 (tutta la giornata) e mercoledì 23
febbraio 2005 (solo nel tardo pomeriggio).
- 14/02/2005
- Causa influenza non potrò registrare i voti durante la settimana del
14 febbraio; provvederò a mettere un avviso su questa pagina per fissare una nuova data appena possibile. Mi scuso con tutti gli studenti a cui avevo dato appuntamento.
- 08/02/2005
- Sono disponibili i risultati della prova scritta del 7/2/2005. La registrazione dei voti avverrà mercoledì 9 febbraio 2005.
- 03/02/2005
- I voti potranno essere registrati
mercoledì 9 febbraio 2005 (presso il mio ufficio, stanza
4), durante tutta la giornata, a partire dalle ore 10:30 fino alle
17:00 (salvo una breve interruzione per il pranzo). Il registro per la
verbalizzazione dei voti degli studenti del corso di laurea in
informatica per le discipline umanistiche non è ancora
disponibile. Prego gli interessati di controllare questa pagina per
sapere quando potranno registrare il voto.
- 18/01/2005
- Sono disponibili i risultati della prova scritta del 17/1/2005.
- 14/01/2005
- Sono disponibili le valutazioni finali del corso. I
voti finali sono stati ottenuti a partire dalle valutazioni dei task
dopo aver riconsiderato tutti i progetti di ciascun gruppo. Il voto
finale non è la semplice media dei voti dei task, anche
perché questi rappresentano range di voti piuttosto
che singoli punteggi. I voti possono essere direttamente verbalizzati
senza sostenere alcun orale. Purtroppo il registro del corso non
è ancora disponibile. Prego quindi tutti gli interessati di
controllare periodicamente questa pagina web per sapere quando
sarà possibile effettuare le registrazioni.
- 13/01/2005
- Ho inserito un breve chiarimento sulle modalità d'esame.
- 12/01/2005
- Sono disponibili le valutazioni del quarto ed ultimo
task. I voti finali saranno disponibili entro la settimana. Per la
verbalizzazione dei voti sarà necessario attendere la
disponibilità del registro che al momento non è ancora
disponibile.
- 5/01/2005
- Sono disponibili le valutazioni del terzo task.
- 4/01/2005
- I voti del terzo e quarto task, con la valutazione finale
di tutti i progetti saranno disponibili entro il 17 gennaio, data della prima
prova scritta. Coloro che otterranno un voto di almeno 18/30 nella valutazione
complessiva dei quattro task possono registrare direttamente il voto.
- 12/12/2004
- Il ricevimento studenti di lunedì 13 dicembre 2004
è spostato a martedì 14 dicembre 2004.
- 12/12/2004
- Sono disponibili le valutazioni del secondo task.
- 30/12/2004
- È stato assegnato il quarto e ultimo progetto, da consegnare entro
venerdì 17 dicembre 2004.
- 29/11/2004
- Si terranno due lezioni di recupero nei seguenti giorni:
giovedì 9 dicembre, ore 11:00-13:00 e
mercoledì 15 dicembre, ore 14:00-16:00.
- 18/11/2004
- È stato assegnato il terzo progetto, da consegnare entro lunedì 6 dicembre 2004.
- 16/11/2004
- Sono disponibili le valutazioni del primo task. È stato assegnato a ciascun progetto un giudizio tra A (Molto buono), B (Buono), C (Sufficiente), D (Insufficiente).
- 16/11/2004
- A causa di un problema imprevisto la lezione
di Ingegneria del Software di martedì 16 novembre
è rinviata a mercoledì 17 novembre dalle
14:00 alle 16:00. Mi scuso con gli studenti per il disagio.
- 5/11/2004
- Il ricevimento studenti di lunedì 8 novembre
2004 è spostato a martedì 9 novembre 2004.
- 2/11/2004
- È stato assegnato il secondo progetto, da consegnare entro venerdì 12 novembre.
- 19/10/2004
- È stato assegnato il primo progetto.
- 8/10/2004
- Tutte le lezioni nella settimana 11-15 ottobre 2004 sono sospese.
- 30/09/2004
- La lezione di lunedì
4 ottobre 2004 è sospesa. La lezione successiva di
martedì 5 ottobre si svolgerà regolarmente.
- 23/09/2004
- Aggiornata la sezione sulle
modalità d'esame.
- 21/09/2004
- Le lezioni di
Ingegneria del Software di lunedì 27 e
martedì 28 settembre 2004 sono sospese causa impegni del
docente.
Torna in cima alla pagina.
Salta alla modalità d'esame
Gli argomenti svolti a lezione sono trattati in questi libri
di testo:
- Roger S. Pressman, Principi di Ingegneria del Software,
4 ed., McGraw-Hill, 2004, ISBN 88-386-6216-9.
- Ian Sommerville, Software Enginnering. 7th ed., Addison Wesley. 2004, ISBN 0-321-21026-3.
È anche consigliato un testo su UML, come ad esempio:
- Martin Fowler,
UML Distilled (Terza Edizione). Addison-Wesley, 2004, ISBN 88-7192-207-7.
Infine, un libro interessante, suggerito a coloro che desiderano
approfondire gli argomenti del corso:
- Frederick P. Brooks, The Mythical Man-Month: Essays on
Software Engineering (2nd Edition), Addison-Wesley 1999
Torna in cima alla pagina.
Salta all'orario delle lezioni
L'esame può essere superato in uno dei due modi seguenti:
- Sostenendo una prova scritta durante le sessioni d'esame regolari.
La prova scritta è, di norma, composta da una serie di domande
a risposta aperta e/o semplici esercizi. Gli studenti che superano la
prova scritta con almeno 18/30 possono registrare direttamente il
voto, o sostenere una prova orale opzionale con cui possono
migliorare (o peggiorare) il voto dello scritto.
- Svolgendo una serie di esercitazioni che verranno proposte a
lezione. Gli studenti che consegneranno tutte le esercitazioni entro
le scadenze fissate, e che otterranno una valutazione finale di almeno
18/30, possono registrare direttamente il voto senza sostenere
la prova orale.
Modalità di svolgimento dei progetti
- Il progetto deve essere svolto da gruppi di 3 persone. Tutti i
membri del gruppo riceveranno la stessa valutazione del progetto.
- Il voto conclusivo del corso sarà basato sulla media
aritmetica dei voti dei progetti. In sede di valutazione finale, il
docente si riserva la facoltà di chiedere chiarimenti agli
studenti in merito al contenuto dei progetti da loro consegnati. Viene
assunto che tutti i membri di ciascun gruppo abbiano
contribuito fattivamente allo svolgimento dell'intero progetto. Il
voto finale potrà subire delle leggere variazioni in più
o in meno in base alle risposte date a seguito delle richieste di
chiarimento.
- Ciascun progetto deve essere consegnato entro la data indicata di
volta in volta. Gli studenti hanno a disposizione complessivamente un
bonus di 5 giorni di ritardo. Ogni giorno di ritardo nella
consegna di uno qualsiasi dei progetti verrà decurtato dal
bonus complessivo. Una volta esaurito il bonus, ogni eventuale
consegna ritardata viene penalizzata con una diminuzione di 6
punti nella valutazione del progetto ritardato. In nessun caso
verrà accettato un progetto consegnato oltre 7 giorni dalla
data di consegna fissata.
- Ogni eventuale problema non contemplato dal presente regolamento
verrà risolto a insindacabile giudizio del docente del
corso.
- La documentazione dei progetti deve essere consegnata in formato
cartaceo, oppure in formato elettronico (PDF oppure
Postscript zippato) via mail al docente
(marzolla@dsi.unive.it). Ricordatevi
di indicare sempre nella documentazione i nomi e numeri di
matricola dei componenti del gruppo, nonché la dicitura
"Corso di Ingegneria del Software, Università di
Venezia".
La generazione di file in formato PDF è possibile
utilizzando GhostScript (liberamente
disponibile in rete) seguendo queste istruzioni. In
alternativa è possibile consegnare il progetto in formato
PostScript (eventualmente compresso) stampando su file utilizzando
come driver una qualunque stampante PostScript (ad esempio sotto
Windows si può utilizzare il driver per Apple LaserWriter II
NT). Tutte le stampanti laser del Dipartimento dovrebbero essere
PostScript, per cui è possibile selezionarne una e stampare su
file.
- Progetto 1, 19 ottobre 2004
- Scrivere il piano di un progetto per lo sviluppo di un sistema di
home banking, che consente ai clienti di una banca l'accesso alle
informazioni del proprio conto corrente tramite un browser web; i
clienti possono anche effettuare alcune operazioni (bonifici,
ricariche telefoniche) sempre via web.
Consegna: venerdì 29 ottobre 2004
- Progetto 2, 2 novembre 2004
- Scrivere il documento di definizione e di
specifica dei requisiti per il sistema di home banking di cui
al Progetto 1. Limitatevi a considerare un sottoinsieme significativo
e sufficientemente ampio di tutti i requisiti di un sistema del
genere. È richiesto di considerare sia requisiti
funzionali che requisiti non funzionali, scegliendoli
tra quelli che ritenete più importanti e/o significativi. Se lo
volete, aiutatevi con la metodologia VORD per individuare i requisiti.
Il progetto richiede la consegna di un unico documento che contenga,
in due sezioni distinte, la definizione dei requisiti e la conseguente
specifica.
Consegna: venerdì 12 novembre 2004
- Progetto 3, 18 novembre 2004
- Dare la specifica del progetto per una parte significativa del
sistema di Home Banking di cui ai task 1 e 2. La specifica del
progetto deve contenere i seguenti elementi:
- Descrizione architetturale del sistema, utilizzando uno o
più stili di architettura visti a lezione (client-server,
macchina astratta, pipe and filter ecc.) oppure stili di architettura
sviluppati ad hoc; l'architettura proposta deve essere accompagnata da
una descrizione in linguaggio naturale che aiuti a capirne il
funzionamento, giustifichi le scelte fatte, nonché illustri eventuali
vantaggi e svantaggi dell'architettura proposta.
- Definizione dei moduli e loro rappresentazione gerarchica (per
rappresentazione gerarchica si intende la gerarchia di controllo, o
gerarchia call-and-return, non i diagrammi di ereditarietà o
simili). Ricordate che la gerarchia di controllo serve a rappresentare
in che modo i moduli comunicano tra di loro; non è detto che i
moduli debbano tassativamente essere procedure o funzioni di un
programma sequenziale monolitico.
- Descrizione procedurale in linguaggio naturale che indichi il
comportamento e le funzionalità dei moduli.
- Descrizione delle interfacce dei moduli.
- Un dizionario dei dati che descriva, molto sinteticamente, almeno
parte dei nomi utilizzati nei punti precedenti.
NB: Non bisogna utilizzare UML nella definizione degli schemi o
diagrammi.
Consegna: lunedì 6 dicembre 2004. È possibile
consegnare via mail il documento in formato PDF o PostScript zippato
(sono state aggiunte alcune informazioni su come generare il file PDF sotto
Windows). In alternativa è possibile consegnare il progetto
cartaceo in portineria.
- Progetto 4, 30 novembre 2004
- Descrivere un sottoinsieme significativo del sistema di home
banking utilizzando diagrammi UML. È richiesto l'uso dei
diagrammi di Caso d'Uso (Use Case Diagram); inoltre è richiesta
la descrizione sia di aspetti statici che dinamici del sistema in
esame, facendo uso dei diagrammi che ritenete più
indicati. Ciascun diagramma deve essere accompagnato da una
descrizione testuale che lo illustri.
Consegna: venerdì 17 dicembre 2004
Torna in cima alla pagina.
Salta ai lucidi delle lezioni
Orario AA 2004/2005
| Lunedí |
11:00—13:00, Aula B |
| Martedí |
11:00—13:00, Aula B |
Il ricevimento studenti si svolge di norma il lunedì dalle
15:00 alle 17:00, oppure previo accordo via mail.
Torna in cima alla pagina.
Salta agli esami
N.B. I lucidi non sono da considerare come sostitutivi
né dei testi di riferimento né della frequenza alle lezioni,
che costituiscono importanti elementi per una buona preparazione dell'esame;
i lucidi messi a disposizione costituiscono soltanto uno schema di parte
delle lezioni.
- Lezione 1, 20/09/2004
- Introduzione all'Ingegneria del Software (Sommerville, Cap. 1 - Pressman, Cap. 1)
[.sxi, 1.6 MBs][.pdf, 1.9 MBs] Aggiornato 03/10/2009
- Lezione 2, 21/09/2004
- Ingegneria di Sistema (Sommerville, Cap. 2 - Pressman copre l'argomento solo in parte in 10.1, 10.2, 10.3)
[.sxi, 526.7 KBs][.pdf, 849.6 KBs] Aggiornato 03/10/2009
- Lezione 3, 05/10/2004
- Modelli di Processo (Sommerville, Cap. 4 - Pressman, Cap. 3)
[.sxi, 1.5 MBs][.pdf, 1.4 MBs] Aggiornato 03/10/2009
- Lezione 4, 18/10/2004, 19/10/2004
- Pianificazione temporale (Sommerville, Cap. 5 - Pressman, Cap. 5 - Brooks)
[.sxi, 121.7 KBs][.pdf, 323.9 KBs] Aggiornato 03/10/2009
Approfondimenti
- F. T. Backer, "Chief Programmer Team Management of Production Programming" [.pdf, 1M], IBM Systems Journal, 1 (jan, 1972), pp. 56--73
- Cusumano, M. and Selby, R, "How Microsoft Builds Software", Commun. ACM 40, 6 (June 1997), 53-61
- "Software Development Teams", Commun, ACM 47, 12 (December 2004), 95--99
- Amrit Tiwana, Mark Keil, The one-minute risk assessment tool, ACM Queue, Vol. 2, No. 9 - Dec/Jan 2004-2005
- Lezione 5, 25/10/2004
- Ingegneria dei requisiti (Sommerville, Cap. 6 - Pressman, Cap. 7)
[.sxi, 124.2 KBs][.pdf, 412.8 KBs] Aggiornato 03/10/2009
- Lezione 6, 26/10/2004
- Analisi e Definizione dei requisiti (Sommerville, Cap. 7)
[.sxi, 119.2 KBs][.pdf, 697.1 KBs] Aggiornato 03/10/2009
- Lezione 7, 02/11/2004
- Modelli di sistema (Sommerville, Cap. 6 - Pressman, Cap. 8)
[.sxi, 1 MB][.pdf, 1.4 MBs] Aggiornato 03/10/2009
- Lezione 8, 08/11/2004, 09/11/2004
- Progettazione (Pressman, Cap. 9)
[.sxi, 105.6 KBs][.pdf, 461.2 KBs] Aggiornato 03/10/2009
Approfondimenti
- D. L. Parnas, "On the criteria to be
used in decomposing systems into modules", Communications of the
ACM, Volume 15, Issue 12 (December 1972), pp 1053-1058.
- W. P. Stevens, G. J. Myers, L. L. Constantine, "Structured design", IBM
Systems Journal, Vol. 38, N. 2-3, 1999, pp 231-256 [.pdf, 24M].
Una copia cartacea verrà distribuita a lezione.
- Lezione 9, 15/11/2004, 17/11/2004
- Progettazione architetturale (Pressman, Cap 10)
[.sxi, 39.6 KBs][.pdf, 417.2 KBs] Aggiornato 03/10/2009
- Lezione 10, 22/11/2004
- Progettazione di interfacce utente (Pressman, Cap 15)
[.sxi, 25.8 KBs][.pdf, 115.2 KBs] Aggiornato 03/10/2009
- Lezione 11, 23/11/2004, 29/11/2004
- UML
[.sxi, 1.4 MBs][.pdf, 1.5 MBs] Aggiornato 03/10/2009
- Lezione 12, 30/11/2004, 6/12/2004, 7/12/2004
- Verifica e Validazione (Pressman, Cap. 17 e 18)
[.sxi, 56.3 KBs][.pdf, 575.5 KBs] Aggiornato 03/10/2009
Approfondimenti
- Daily build and smoke test
- Linus' law, Wikipedia
- Thomas J. McCabe, "A Complexity Measure", IEEE Trans. Software
Engineering, vol. SE-2 n. 4, dec 1976 [pdf, 1.7M]; introduce il concetto di complessità ciclotomica
- Thomas J. McCabe, Charles W. Butler,"Design Complexity Measurement and Testing",
Comm. ACM, vol. 32 n. 12 (dec 1989), pp. 1415 - 1425
- Arthur H. Watson, Thomas J. McCabe, Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric, NIST Special Publication 500-235
- Lezione 13, 9/12/2004, 13/12/2004, 14/12/2004
- Affidabilità (Sommerville, Cap 18 e 19)
[.sxi, 91.7 KBs][.pdf, 330.6 KBs] Aggiornato 03/10/2009
- Lezione 14, 15/12/2004
- Gestione delle persone (Sommerville)
[.sxi, 67.1 KBs][.pdf, 157.8 KBs] Aggiornato 03/10/2009
- Esercizi
- [.sxi, 30.1 KBs][.pdf, 107.3 KBs] Aggiornato 03/10/2009
Torna in cima alla pagina.
Appelli d'esame AA 2004/2005
|
Prima Sessione |
|
Scritto |
Orale |
| I |
17 gennaio 2004 ore 14:00-16:00, Aula A
[Testo.pdf]
|
19 gennaio 2004 ore 14:00-16:00, Aula C
|
| II |
7 febbraio 2004 ore 14:00-16:00, Aula A
[Testo.pdf]
|
9 febbraio 2004 ore 14:00-16:00, Aula C
|
|
Seconda Sessione |
|
Scritto |
Orale |
| I |
6 giugno 2005 ore 10:30-12:30 |
|
| II |
27 giugno 2005 ore 10:30-12:30 |
|
|
Terza Sessione |
|
Scritto |
Orale |
| I |
5 settembre 2005 ore 10:30-12:30 |
|
Torna in cima alla pagina.