[Info esame] Ingegneria del Software - Russo

20 Maggio 2021
8
2
3
Esame: Ingegneria del Software (9 CFU) - Russo

Tempo di preparazione: il periodo del corso per il progetto + due settimane per l'orale, avendo seguito distrattamente le lezioni

Libri e/o appunti utilizzati: il famoso pdf di appunti che trovate sul sito del prof è sufficiente per prepararsi all'esame senza problemi, benché sia scritto abbastanza male, quando qualcosa non è chiara può servire consultare le slide. Il libro di testo è praticamente inutile, semmai potete usarlo per capire un po' meglio la parte di principi dell'IS e dei fattori di qualità del software, per il resto gran parte degli argomenti che tratta non sono parte del programma attuale ed è fin troppo prolisso. Può anche essere utile per la parte finale in cui ci sono alcuni casi studio in cui si illustrano alcune buone e cattive pratiche dell'IS, utile se vi interessa la materia, altrimenti inutile ai fini dell'esame.

Modalità d'esame: a seconda che abbiate seguito il corso o meno la modalità d'esame (per quella che è la parte scritta/del progetto) varia leggermente.
Se non siete corsisti vi viene assegnato una settimana prima dell'esame un progetto da svolgere individualmente, Dovete documentare passo passo (seguendo una guida che vi dà il prof) lo sviluppo del progetto partendo dalla specifica dei requisiti fino alla parte di implementazione in Java.
Se avete seguito il corso (o lo seguirete, sempre che il prof non cambi modalità), il progetto vi viene assegnato durante il corso e avete la possibilità di svolgerlo in gruppo, oltre al poter chiedere consigli al prof o agli assistenti a ricevimento (la cui utilità è variabile).
La parte orale è composta dalla discussione del progetto (se siete corsisti potete scegliere di fare l'orale anche in una data diversa da quella della discussione) e poi dalle domande. In genere le prime domande ve le fa l'assistente (a noi c'era solo Guerriero) e poi finisce il prof. Se andate bene l'orale può durare anche solo 10 minuti, se fate qualche errore vi terranno sotto più tempo.

Tracce e/o domande ricevute all' esame: se avete fatto qualche errore nel codice aspettatevi domande sul linguaggio Java, nulla di troppo specifico (quindi ad esempio la parte sugli stream non ho mai visto chiederla) ma non arrivate all'esame senza sapere come viene gestita la memoria, come lavora la JVM, come funzionano i costruttori ecc.
Per quanto riguarda la teoria, quello che vi può chiedere è tutto quello che è scritto nel pdf. Non vi preoccupate di scendere troppo nel dettaglio, per i diagrammi ad esempio basta solo sapere a quale classe appartengono (statici, dinamici) e da quali elementi sono composti. Gli unici diagrammi per cui può chiedervi come si costruiscano sono i diagrammi delle classi, dei casi d'uso e di sequenza.
Potrebbe anche chiedervi di costruire il CFG di una funzionalità e di calcolarne il numero di McCabe.
A me sono stati chiesti pattern architetturali in generale e in particolare il MVC da Guerriero, mentre il prof mi ha chiesto il diagramma dei componenti.

Eventuali difficoltà, consigli ed osservazioni personali: l'esame di per sé sarebbe interessantissimo e probabilmente uno degli esami di base più importanti per un ingegnere informatico, qualunque siano i vostri interessi. Il problema però sono le lezioni del prof e la modalità d'esame.
Il prof, quando spiega, è bravo e preparato, nulla da dire su questo. Purtroppo però spesso il suo modo di fare lezione consiste nel fare domande agli studenti su un argomento che ancora deve spiegare, aspettando che qualcuno risponda correttamente e arrabbiandosi se qualcuno dice qualcosa di particolarmente sbagliato.
Per i corsisti il progetto è stato un po' difficile, visto che solo una settimana prima della consegna è stata data una lista completa di tutti i diagrammi e altri artefatti che andavano preparati. La maggiore difficoltà comunque restano i diagrammi di sequenza, dato che non c'è un unico modo per redigerli e il prof non vi spiegherà quale sia il modo corretto per lui (anche perché spesso diagrammi fatti allo stesso modo sono considerati a volte corretti e altre no, anche a seconda che li si mostri a lui o a Guerriero). Per farvi un'idea vi consiglio di guardare gli esempi che mette a disposizione il prof.
Se lo scritto è andato tutto sommato bene, l'orale sarà quasi sicuramente tranquillo e anche piacevole.
I consigli che posso darvi per questo esame sono:
  • se siete corsisti, cercate di fare l'orale all'appello di dicembre, il codice del progetto verrà praticamente ignorato e il prof tenderà a fare domande più semplici (e di conseguenza a mettere voti più alti)
  • fate attenzione a usare i termini corretti, basta dire qualcosa di sbagliato che il prof vi inizierà a chiedere nel dettaglio ogni cosa che nominate, anche se riguarda argomenti di altri esami, e il non saper rispondere bene lo farà arrabbiare ancora di più
  • per il progetto, seguite l'ordine analisi-progettazione-codifica-testing, se per esempio come hanno fatto molti partite dal codice Java e poi andate a fare i vari diagrammi non solo rischiate di sbagliare, ma ogni correzione che farete comporterà la correzione anche di tutti i diagrammi

Se avete altre domande più specifiche chiedete pure
 
  • Like
Reactions: Drugo

Drugo

Membro
2 Gennaio 2016
3
0
1
Ciao! Innanzitutto, grazie mille per le varie info! Vorrei chiederti se fosse possibile avere delle tracce d'esame svolte (magari la tua ad esempio) però di quest'ultimo periodo. Perché ho saputo che a differenza di prima, adesso, chiede più cose tra cui una basi di dati da popolare e un template pieno di cose da completare e io sono un vecchio corsista e non ne so nulla di tutto ciò..
 
20 Maggio 2021
8
2
3
Ciao! Innanzitutto, grazie mille per le varie info! Vorrei chiederti se fosse possibile avere delle tracce d'esame svolte (magari la tua ad esempio) però di quest'ultimo periodo. Perché ho saputo che a differenza di prima, adesso, chiede più cose tra cui una basi di dati da popolare e un template pieno di cose da completare e io sono un vecchio corsista e non ne so nulla di tutto ciò..
Ciao, scusami se non ti ho risposto subito. Purtroppo non ho più la mia traccia d'esame dato che ho fatto l'esame a dicembre, però ho chiesto a dei colleghi che hanno fatto l'esame negli ultimi mesi e posso confermarti che quello che viene richiesto è lo stesso di quello che abbiamo dovuto fare noi corsisti.
Quindi ti consiglio di entrare nel team di quest'anno accademico e andare nella cartella /Materiale del corso/Esempi, lì trovi sia il template del documento che dovrai consegnare con un elenco di tutto quello che dovrai produrre, sia vari esempi svolti (anche se sono riferiti a quello che si chiedeva all'esame in presenza la tipologia delle tracce è la stessa, solo lo svolgimento ha cose in meno, trovi solo diagrammi delle classi e di sequenza).
Per quanto riguarda l'uso della base di dati, è parte della scrittura del programma in Java. Non ne sono sicuro, ma tra le poche registrazioni del corso ci dovrebbe essere quella in cui Guerriero ha spiegato le classi DAO e come installare e utilizzare il database h2. Se non ci fosse la registrazione ti consiglio di contattare il prof a ricevimento, se gli dici che sei un vecchio corsista certamente ti aiuterà.
 
Ultima modifica:

Seguici su Facebook