Ho fatto l'esame recentemente e posso riportare la mia esperienza.
Preparazione: ho seguito il corso nel 2013 e mi ricordavo ben poco, quindi è come se non lo avessi seguito. Per quanto riguarda il programma, mi sono attenuto a quello reperibile sul sito della professoressa. Ho studiato quasi esclusivamente dalle slide, approfondendo di tanto in tanto su UML Distilled e (molto raramente) sul libro di Somerville. Le slide sono scaricabili dal sito della professoressa: nella cartella relativa all'ultimo anno, se non sbaglio, non sono presenti tutte; dovete reperire quelle delle ultime lezioni (Testing, Manutenzione e forse qualche altra cosa) dalle cartelle degli anni passati o da qualche altra fonte online.
Esame: l'esame consta di tre parti: una parte di progettazione, da svolgere in laboratorio in tre ore di tempo; una parte di implementazione, da svolgere a casa sulla base del progetto fatto in laboratorio, da consegnare via email entro un tempo limite (generalmente tre giorni); una parte orale, da sostenere se si superano le prime due fasi.
La parte più difficile è senza dubbio quella di progettazione, sulla quale vi consiglio di esercitarvi con le esercitazioni presenti sul sito della professoressa e le prove d'esame che si trovano in giro; non sottovalutate il tempo: tre ore sembrano tante, ma vi assicuro che passano molto in fretta, quindi tenetene presente.
La parte di implementazione può essere anch'essa difficile se non si conosce bene Java (che era il linguaggio di programmazione che dovevo usare io, ma so che per alcune modalità di IS si usa C++), ma generalmente non viene tenuta molto in conto: anche in questo caso, vi consiglio di attenervi e prendere spunto dalle esercitazioni presenti sul sito della professoressa.
L'orale, se si è studiato, non è affatto difficile. E' prevalentemente discorsivo, ma può venire chiesto di disegnare qualche diagramma UML o Design Pattern o CFG relativo al testing White Box: niente di trascendentale. Le domande che quasi certamente vi capiteranno saranno sul testing e/o sulla manutenzione; abbastanza gettonati anche i processi software e i design pattern, oltre a qualche domanda di UML (se avete sbagliato qualcosa nello scritto, magari rivedetevela). Io sono capitato con un assistente, che non mi è sembrato affatto cattivo. Anche la professoressa non mi sembra eccessivamente ostica.
Difficoltà e commenti: tutto sommato, con una buona preparazione, non è un esame molto difficile; gli argomenti possono sembrare tanti, quindi occorre ripetere più volte per padroneggiarli, ma non sono complicati. Un ultimo consiglio: se avete fatto un compito buono, ma incompleto e non avete pretese di voti altissimi...consegnate lo stesso! Avete comunque buone possibilità di passare.