The forum of the Computer Science students of the University of Pisa

Domande Orale Semini

Raccolta domande luglio 2016

Si basa sullo scritto, chiede l'argomento che hai sbagliato

Chiede quasi sempre un ciclo di vita del sw a caso

V-model

Information hiding
-a che serve il driver

Principi generali di buona progettazione
Modello solid
Modello grasp
Astrazione dati, metodi

A che servono i diagrammi dei casi d'uso
Che senso ha l'inclusione

Parlare degli stile architetturali.
Parlare vista componenti connettori.
Tipologie di protocollo (client server, dbaccess, etc)

Differenza master slave e client server.

Requisiti funzionali e non funzionali
Il caso d'uso che requisito descrive(funzionale). È dinamico o statico? Disegno statico, narrativa dinamico.
Può essere anche qualitativo (vedi tempo di attesa)

Protocollo publish-subscribe
-vantaggi: poche comunicazioni (disaccoppiamento)

Diagramma macchina a stati: a che servono, come mai sono nati

Diagrammi di sequenza: a che servono, come mai sono nati

Progettazione test Black box


Orale giugno 2017
- V-Model
- (Testing) Criteri per l'individuzione dei casi di input, in dettaglio
- Design pattern (factories e singleton)
Non mi ricordo cos'altro

Orale luglio 2017
- Metodo Jackson (Context Diagrams + Problem Diagrams)
- Diagramma casi d'uso (collegato con i requisiti dei Problem Diagrams)
- Casi di test input (criteri strutturali, quindi grafi di flusso)
- Casi di test input atteso (oracolo), con esempi sull'oracolo

+4 al voto

Orale luglio 2017
- Model checking
- Processi di sviluppo agili
- Test di sistema (facility test, security test ecc..)

Voto iniziale: 28 , finale: 30L
Durata: 20 minuti circa

È molto tranquilla e mi ha fatto parlare molto liberamente!

Orale luglio 2017
Prof molto tranquilla e alla mano, orale durato una ventina di minuti,
alza molto il voto se si fa un buon orale (a me di +7).

- Cosa è un oracolo ed un esempio
- Cosa vuol dire che una prova deve essere ripetibile
- Cosa è un caso di prova
- Verifica statica, descrizione breve del model checking ed esecuzione simbolica
- Singleton a cosa serve
- Programmazione agile e metodo scrum, quali sono i concetti alla base

Orale febbraio 2018
Professoressa gentilissima davvero!
Comincia mostrandoti il compito e poi da li' parte con le domande, non necessariamente legate agli errori commessi.
Argomenti orale:

- cicli di vita iterativi (incrementale e evolutivo)
- diagrammi di attività (definizione, semantica e sintassi)
- differenza diagrammi di attività e diagrammi di macchina a stati
- principi buona progettazione
- casi di test (definizione e definizioni varie - test suite e test procedure)
- criteri per creazione test (white box e black box), in dettaglio

Spero sia d'aiuto!

Orale giugno 2018
Professoressa che ti mette a tuo agio durante l'orale, gentilissima. Parte con un domanda molto discorsiva e ti lascia parlare (molto) e ti lascia passare da un'argomento all'altro senza problemi. Una volta che si é fatta un'idea di quanto sai ti fa domande piú specifiche.

Domande:
- modello di ciclo di vita a spirale
- studio di fattibilitá ( in particolare mi ha chiesto se posso usare un prototipo in questa fase. RISPOSTA: si posso e in particolare fai riferimento al SHAZAM )
- Come fare il TIMEOUT nel diagramma di attivitá ( vedi foto )
Domanda Orale Semini.jpg
Domanda Orale Semini.jpg (248.41 KiB) Visto 3644 volte
Orale giugno 2018
- Diagramma di macchina a stati: a cosa serve, sintassi, stati compositi e paralleli.
- Metodo Jackson: a cosa serve, sintassi, context diagram, problem diagram, problem frames.
- Metodo Jackson vs diagrammi di sequenza e come potrei renderli equivalenti ( aggiungendo nomedominio!interfaccia nel diagramma di Jackson per indicare il "verso" dei messaggi)

Orale giugno 2018
Da 23 (1 appello) a 28:

- SOLID, scendendo abbastanza in dettaglio su ogni punto, con confronti ai principi "base" (Information Hiding, coesione,...);
- V-Model (e confrontare con Test Driven Development);
Professoressa molto gentile, aiuta molto se in difficolta' ed e' molto larga di voti
Queste sono le domande che ricordo

- diagramma dei casi d'uso, cos'e' lo stereotipo <include>
- diagramma delle classi, quando si usa (analisi di dominio), che cosa indica la molteplicita' nelle associazioni e come si rende a livello di istanze
- test whitebox blackbox, elencare i test blackbox, elencare i test whitebox
- modelli del ciclo di vita, modello a V
- processi agili, figura dello scrum master
- principi di buona progettazione
- diagramma di attivita', sintassi
- differenza tra diagramma di attivita' e diagramma a stati. Quando uso uno o l'altro. Una transizione in un diagramma a stati deve sempre avere un evento specificato? [no]
- il nodo choice puo' avere piu' di due uscite? [si]
- diagramma di stati compositi, come si relazionano ai principi di buona progettazione (divisione driver/logica/proxy, information hiding e coesione)
Orale Luglio 2019
Cos'è un requisito non funzionale
Cosa servono i casi d'uso, differenza tra attore principale e attore secondario.
Diagramma di struttura composita(ha voluto sapere nel dettaglio a cosa servisse il driver e quali operazioni poteva implementare)
Cos'è un caso di test, e cos'è un ambiente di test.
Great Information.Thanks for sharing :)
Orale Febbraio 2020
  • Cosa è SCRUM?
  • Cosa fa lo SCRUM master?
  • Principi SOLID andando anche un po' nel dettaglio.
  • Design patterns e factories.
Entrato con 22 e uscito con 27, professoressa molto disponibile e tranquillissima.
Orale Giugno 2020
  • Modello a spirale (derivazione economica)
  • Come creare una deadlock nel diagramma delle attività (blocco del token)
  • Interface segregation principle (considerazioni sull'implementazione multipla di interfacce in linuaggi OO)
  • Limiti teorici della verifiva (macchina di Turing)
Entrato con un progetto al limite della sufficienza e uscito con 26.
Voto iniziale 16 voto finale 20
Domande:
-Cambiare il diagramma delle classi del progetto
-Cicli di vita del software: Rapid prototyping/modello incrementale/modello a spirale, differenze tra incrementale e rapid prototyping.
-Validazione del documento dei requisiti
-Testing: differenza tra stub e driver
-Vista strutturale, dipendenza d'uso ed esempio
-Manutenzione del software: correttiva,adattiva,perfettiva
Orale Febbraio 2021

Domande relative al progetto
Modello incrementale vs Rapid Prototyping
Aeroporto di Denver
Transizioni macchina a stati (sintassi e tipi di evento)
Driver del diagramma a struttura composita (cosa fa nel dettaglio)
Driver nel testing (scaffolding, nel dettaglio)
Stile architetturale: MVC

La professoressa aiuta molto all'orale e con i voti è larga, ma consiglio di non sottovalutare. In particolare approfondire molto la parte sui driver, perché su quello è molto puntigliosa.
Voto finale: 27
Candidato 1:
- Domande sul progetto
- come mandare in deadlock diagramma di attività? (si fa con nodo di decisione e fork e join)
- differenza tra macchina a stati uml e automi a stati finiti (possibilità di eseguire azioni che modificano l'esterno, guardia dinamica e statica)
- stile pipe & filter (unidirezione e ordine dei messaggi)
- testing con copertura dei cammini (problema dei cicli)

Candidato 2:
- agile
- altri requisiti non funzionali oltre a quelli richiesti dall'utente (aspetti di qualità, costi, persone gestite)
- set e get, è una buona scelta lasciarli mettere in modo automatico dall'ide?, perchè non metterli tutti?
- limite teorico del testing? perchè può non essere sufficiente per alcune applicazioni?
- differenza tra verifica e validazione. (Verifica col cliente, validazione con i requisiti). Perchè il testing ha limiti anche sulla verifica?

Candidato 3:
- London ambulance service
- tecniche che avremmo applicato per fare un lavoro migliore
- modello a V di ciclo di vita (dipendenze causali tra le fasi, vantaggi? test immediati e comunicazione con il cliente, possibilità di tornare indietro)
- fine flusso e fine attività in un diagramma di attività (fine flusso elimina un token , fine attività termina l'attività)
- a cosa servono i diagrammi di sequenza (interazioni e scambi di dati, legame con i casi d'uso, legame con il c&c)
- che cosa rappresenta un porto in una architettura? (sia in c&c che in struttura composita), le interfacce sullo stesso porto devono essere omogenee o disomogenee? Perchè su un porto posso definire più interfacce?
- principio di segregazione delle interfacce, come si lega con la domanda sopra?
- test di non regressione


Candidato 4:
- cosa si intende con fault tolerance? (capacità di riprendersi dopo i guasti o di resistergli, è un requisito non funzionale, può essere garantita con la ridondanza o con un backup)
- modello a cascata (il primo modello serio che definisce le fasi del sw, problema di validazione)
- ruolo di un diagramma di macchina a stati, tipi di stati, cosa sono le transizioni? (eventi, condizione, azione; eventi: when, after (dopo quanto tempo si trova nello stato))
- cosa si intende per vista su una architettura sw? (c&c, logistico, strutturale) differenza tra strutturale e c&c (strutturale statica, c&c dinamica), (nella vista c&c i nodi sono sottosistemi, in una vista strutturale i nodi sono pezzi di codice)
- tecniche statiche di verifica: teoremi (indecidibili), ispezione, walkthrought (lettura con simulazione, gli errori sfuggono), peer programming (assomigia a ispezione e walkthrought)
- test statistico: test sui casi più probabili, applicazione del test statistico al progetto


Candidato 5:
- Parlando del progetto: quello che è nella precondizione non può essere nella sequenza degli eventi (se la precondizione non è vera non parte il caso d'uso e non garantisco la postcondizione). Il caso d'uso lo inizia chi interagisce con il sistema e ne beneficia (può essere anche l'attore secondario?) il visitatore avvia il processo generale ma non avvia il sistema (che viene avviato dall'addetto)
- come nasce l'ingegneria del sw? anno 68, crisi del sw, negli anni 60 si passa da sistemi autorealizzati a sistemi per altri
- evoluzione successiva al modello di ciclo di vita a cascata (feedback loop), apre la strada a modelli come il rapid prototype, modello incrementale (con requisiti iniziali stabili)
- struttura del documento dei requisiti (alternativa ai casi d'uso), glossario e lemmario legati al dominio, requisiti, modelli, descrizione architeettura del sistema
- inspection e walkthroght del documento dei requisiti. Wolkthrought: lettura documento, ispeione: mi concentro su determinati aspetti come ad esempio le tecniche di Chomsky che mira ai difetti linguistici
- differenza tra aggregazione e composizione nel diagramma delle classi
9/06
1.
Domande sul progetto: diagramma dei casi d'uso
Narrativa dei casi d'uso, parallelismo con triple di Hoare
Triple di Hoare: cosa caratterizza pre e post condizione
cosa sono pre e post condizione: formula logica che esprime una condizione booleana sullo stato
Stato di un oggetto (insieme di valori di alcune variabili)
Progetto Ariane V
Modello iterativo vs incrementale, rapid prototyping
Diagramma delle classi per descrivere il dominio: quali errori bisogna evitare (aggregazione e composizione), perché è particolarmente importante?
Scelte che si fanno su attributi e operazioni quando si descrive una classe a livello di dominio
GRASP

2.
Domande sul progetto: diagramma delle classi
difetto latente
caso con difetto latente (caso therac, emissioni della wolkswagen)
Ruolo dello scrum master, altri ruoli scrum
Transizione in una macchina a stati
SOLID: dependency inversion principle
Mutante del codice del progetto

3.
Domande sul progetto: diagramma di macchina a stati
Manutenzione di un progetto
Quali tecniche uso per favorire la manutenzione (information hiding, coesione e disaccoppiamento)
Perché sono importanti (disaccoppiamento e information hiding permettono di lavorare su estensioni)
nella codifica: nomi, se necessita di commenti va riscritta, codice semplice
Manutenzione nella fase di testing(ogni volta che il software viene cambiato vanno riviste le batterie di test)
Cosa si intende con fault tolerance (esempio aeroporto di Denver)
Fault tolerance vs robustezza
Diagramma di sequenza
in quale fase del ciclo di vita lo uso?
Porto in una vista CnC
Cosa si intende per scaffolding(test)
Driver e stub


10/6
1.
Domande sul progetto: vista componenti e connettori
London ambulance service: errori e cambiamenti
Macchina a stati: tipi di evento
Model view controller
Pairwise testing

2.
Domande sul progetto: diagramma di attività
Diagramma dei casi d'uso: descrizione, include ed extend
Documento dei requisiti
Tipi di coesione
Cos'è uno stile peer2peer, vantaggi
Random testing

3.
Domande sul progetto: diagramma delle attività
Build and fix, modello a cascata
Modello agile, come si scrivono i requisiti (user stories, tecnica per raccogliere i requisiti del cliente
Diagramma delle classi: posso avere più associazioni? (sì) Esempio? (chiave e porte pubbliche/private)

4.
Domande sul progetto: diagramma dei casi d'uso
Sistema antimissile Patriot
Modelli iterativi vs modelli a cascata
Vantaggio macchine a stati UML rispetto ad automi (cambio stato per eventi, descrivere funzionalità, sottostati compositi)
Differenza tra convalida e verifica
Che cos'è una vista strutturale, tipi di v. strutturale
Metodi white box
Vantaggi e svantaggi del white box testing (vantaggi controllo del codice stesso, svantaggi è più difficile definire l'oracolo, non sono situazioni realistiche -> difficile calcolare l'input)