Esame di

INGEGNERIA DEL SOFTWARE 1

del 26-01-2000

Criteri di valutazione.

La valutazione globale tiene conto delle risposte corrette fornite e delle carenze ed errori gravi emersi, dello stile di presentazione e della comprensibilità.

Esercizio 1.) E’ capito il concetto di requisito? viene motivata la scelta dei linguaggi usati per formularli? Viene usato un solo linguaggio o più di uno, adatto a diversi aspetti e/o livelli di dettaglio? Viene usato un metodo sistematico (ad esempio il metodo VORD) per analizzare la situazione? Quante categorie di utenti vengono individuate (studenti, operatori, docenti)? E’ fornito un insieme generale di servizi a disposizione degli utenti, espresso ad alto livello? Quanto strutturato ed organizzato è tale insieme? Sono inclusi riferimenti numerici relativi alle varie parti? Sono forniti ulteriori requisiti di dettaglio (primi fra tutti I requisiti funzionali, gli input e gli output principali) su alcuni aspetti, utilizzando linguaggi più adatti? sono considerate condizioni eccezionali o di errore? sono fornite spiegazioni opportune alle scelte operate? quanto semplificato/ricco è il tipo di sistema previsto? la soluzione è strutturata? Che linguaggi sono stati scelti? è utilizzato un linguaggio non ambiguo (PDL, DFD, Object-Oriented,...) per descrivere gli aspetti dettagliati? è definito il concetto di requisito non funzionale? Sono forniti almeno 2-3 esempi corretti e plausibili di requisisti non funzionali per tale caso?

Esercizio 2.) Sono stati capiti I concetti principali di oggetto, classe, attributo, metodo (servizio), gerarchia IS-A, eredità? Sono fornite le principali gerarchie delle classi rilevanti (ad esempio, studenti/iscritti o no/a quale facoltà/ecc. e documenti/certificati di iscrizione/ecc), definite opportunamente con attributi e metodi? È fatto vedere come certe classi utilizzano i metodi di altre classi per ricevere dei servizi? La soluzione e la notazione è spiegata?

Esercizio 3.) Sono definiti correttamente ed in modo abbastanza completo i due concetti da confrontare? Sono messe in luce le differenze dal punto di vista statico/dinamico, le diverse cause? È messo in evidenza che la causa della complessità delle relazioni fra malfunzionamento e guasto risiede nel fatto che si tratta di una relazione molti-molti? Si fa notare che i guasti possono non causare malfunzionamenti osservati? Sono identificate nel testing e nel debugging le due attività volte alla ricerca di m. e di g.? Viene menzionato il possibile ruolo della static inspection per la ricerca dei guasti? La risposta é chiara, ben organizzata e motivata?

Esercizio 4.) E spiegato cos’è un’interfaccia WIMP? I suoi vantaggi in generale, le categorie d’utenti più adatti e perché? Relativamente alle interfacce a comandi? Vengono forniti vantaggi e svantaggi specifici ai tre livelli delle conoscenze utilizzate per il dialogo uomo-computer (lessicale, sintattico, semantico)? I tre livelli sono noti in modo corretto? ? La risposta é chiara, ben organizzata e motivata? Viene menzionato il ruolo delle metafore?