Info esame Russo + progetto completo e materiale per lo studio


ltlollo

Membro attivo
Utente Premium
22 Settembre 2015
15
5
3
#1
Tempo preparazione: 2/3 settimane circa
Traccia e/o domande ricevute all'esame: classica traccia suddivisa in 2 parti. Data una specifica informale dei requisiti, realizzare diagramma dei casi d'uso, delle classi raffinato e di sequenza. Nella seconda parte si tratta di realizzare i diagrammi di classi e di sequenza di progettazione a partire dai quali implementare in java ciò che viene richiesto. All'orale si inizia visionando cosa si è realizzato nella seconda parte, discutendo delle scelte di progetto e controllando che il codice corrisponda ai diagrammi realizzati. Non a tutti fanno eseguire il codice, ma è bene arrivare con un progetto funzionante. Successivamente gli argomenti che mi sono stati chiesti:
  • gestione delle eccezioni
  • perchè si usano le classi DAO
  • discorso abbastanza approfondito sul testing (combinatoriale, strutturale, differenze tra verifica e validazione, le varie fasi del testing e la tipologia di test adottata nel progetto)
  • a partire da un generico blocco di istruzioni, disegnare il CFG e calcolarne la complessità ciclomatica
  • pattern singleton ed implementazione
  • modello a V
Altre domande che sono state chieste: analisi dei function point (nel dettaglio), metodologie agili, pattern architetturali ecc...

Libri e appunti utilizzati: appunti presi durante il corso e slides sul sito del docente.
Eventuali difficoltà riscontrate e/o osservazioni personali: è fondamentale che ci sia coerenza tra tutti i diagrammi del progetto ed il codice, altrimenti il professore dà di matto. Specialmente tra il codice della funzionalità di cui si richiede l'implementazione ed il diagramma di sequenza di progettazione. Inoltre è bene prepararsi anche sugli argomenti che a primo impatto potrebbero sembrare marginali (tipo gestione delle eccezioni, ereditarietà e polimorfismo ecc.), ma proprio perchè sono trattati in corsi precedenti su questi è abbastanza esigente. Per il resto gli argomenti più richiesti (quasi a tutti) sono stati quelli relativi al test in tutte le sue forme, complessità ciclomatica e pattern. Non sottovalutate la parte sulla stima dei costi e le metriche del software. La difficoltà principale sta nel realizzare un progetto funzionante, sviluppare casi di test e ripetere il programma dell'orale nel giro di 3/4 giorni. Per poter fare in maniera più rapida, suggerisco di partire dalla traccia completamente svolta che trovate sul sito docenti (quella relativa alla spedizione dei pacchi), a cui eventualmente basta cambiare il nome delle classi ed ovviamente il codice per realizzare la funzionalità richiesta.

Lascio un link a del materiale che potrebbe essere d' aiuto, contenente: traccia del 7 maggio 2018, progetto completo correlato di diagrammi (da analisi a progettazione) e casi di test, le sbobinature delle lezioni 2016/17 e alcuni appunti rapidi per integrare parti mancanti come test combinatoriale, metriche del software ecc. Se qualcosa dovesse mancare, il prof mette le slides a disposizione sul sito docenti.
Una nota sul codice: dovete modificare il db path in base a dove posizionerete la cartella contenente tutti sorgenti sul vostro pc, ed ovviamente eventuale usr e password del dbms usato (quello del progetto è H2, che consiglio in quanto molto semplice e minimale per quello che bisogna fare) nel modulo "TransactionManagerFactory.java". Va poi controllato che il db sia effettivamente popolato ed aggiungere alla build path del progetto il file .jar di h2 via Eclipse, che troverete nella sub-directory DB (se ho parlato ostrogoto, ci sono miliardi di guide sul web).

Materiale IS

In bocca al lupo ;)
 

Seguici su Facebook