INGEGNERIA DEL SOFTWARE 1
Esame del 26-07-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 significato del frammento di programma? Si associano correttamente le Ti a transizioni e le condizioni Ei a posti? Il ciclo repeat è trattato correttamente come un ciclo a condizione finale (cioè si esce quando, alla fine del ciclo, la condizione finale è valutata positivamente)? Come viene realizzato il ciclo repeat? Cosa succede al prossimo ciclo? Come viene realizzato il blocco if? Si fa in modo che quando E1 è verificato, allora si esegue comunque T2, che quando non si verifica E1 e si verifica E2, si esegue T3, e che quando sia E1 che E2 non si verificano si passa comunque a T4, senza eseguire nulla? T4 viene rappresentato una volta sola nella rete? Dopo T4, si procede verso T5 se si verifica EF e si ritorna all'inizio ciclo se si verifica nonEF? Sono usati correttamente i costrutti delle Reti di Petri? quanto generale è la soluzione? sono presenti le sincronizzazioni derivanti da eventi esterni? la soluzione è documentata e spiegata? come sono indicati inizio e fine delle operazioni? Inizio e fine sono collegati? Eventuali assunzioni fatte sono descritte chiaramente? Ci sono assunzioni strane, non naturali e giustificate? Esempi in [Ghezzi et al., cap 2].
Viene colta la differenza essenziale tra una Rete di Petri e un programma (Pascal-like), ossia la caratteristica inerentemente concorrente e non deterministica delle reti e sequenziale dei pogrammi Pascal-like? Il fatto che le Ei sono valutate in momenti precisi nel programma e possono essere valutate in diversi momenti (anche precedenti) nelle reti? Le altre possibili differenze (grafiche, visive, ecc.) sono assolutamente meno essenziali.
Esercizio 2.) Viene fornita una definizione corretta di DFD e di Rete di Petri? Ci si concentra su cosa tali formalismi rappresentano e non sugli aspetti 'grafici' (inessenziali rispetto alla domanda)? Si confondono (erroneamente) i DFD con i diagrammi di flusso? Si individuano nelle entità e nei dati coinvolti, nelle loro strutture e relazioni, ciò che non viene rappresentato in entrambi i formalismi? Si fornisce una descrizione di come viene rappresentato lo stato in tutti tre i formalismi indicati (non rappresentato esplicitamente nei DFD, in modo unitario negli automi, in modo distribuito tramite i posti nelle Reti)?
Esercizio 3.) Si fornisce una definizione corretta di progetto architetturale? Si situa correttamente nel ciclo di vita? Si individuano i tre aspetti fondamentali su cui si focalizza il progetto architetturale (strutturazione, controllo, decomposizione modulare)? Se ne fornisce una breve descrizione? Si indicano nelle fasi di specificazione del sw, di progetto ad alto livello e di progetto di dettaglio (o esecutivo) i passi progettuali che seguono?
Esercizio 4.) Si ha una concezione chiara e corretta del concetto di gestione della qualità? Si capisce che tale attività non é relativa ad un singolo progetto di sviluppo, ma è un'attività dell'intera organizzazione? Si confonde (scorrettamente) gestione della qualità del processo di produzione con i parametri di qualità del prodotto sw? Si indicano gli elementi fondamentali di tale attività: manuale della qualità, sistema qualità, pianificazione, review della qualità, Si indica il ruolo di guida degli standard, i loro vantaggi, il principale standard da tenere in considerazione per gestire la qualità (ISO 9000)?