Esame di Ingegneria del Software del 19 luglio 2005
Traccia b
Una applicazione web permette ai docenti di una Facoltà di prenotare aule per tenere lezioni oppure esami. La Facoltà dispone di un insieme di aule con differenti capacità (50- 80- 100- 150 posti) che vengono assegnate ai docenti in base all’ordine di arrivo della richiesta di prenotazione.
All’atto della prenotazione il docente inserisce un codice di accesso personale, che viene verificato dall’applicazione, e successivamente specifica il nome, il corso per cui richiede l’aula, la motivazione (lezione o esame), la data, ora d’inizio e ora di fine, ed il numero di studenti attesi.
Il sistema verifica che il docente possa richiedere l’aula per quello specifico corso sulla base dei dati contenuti in appositi archivi (guida dello studente) e contemporaneamente cerca l’aula libera (ossia non prenotata) più piccola idonea a contenere il numero di studenti attesi.
In caso di errore sui dati inseriti dal docente, l’applicazione chiede di reinserire i dati, ma al terzo tentativo di inserimento di dati errati interrompe la sessione.
Se la ricerca dell’aula ha esito positivo ed i dati inseriti sono risultati corretti, l’applicazione visualizzerà una pagina riepilogativa con i dati della prenotazione e l’aula assegnata e concluderà la sessione. Se non si trova un’aula disponibile, verrà visualizzato un messaggio di errore e sarà conclusa la sessione.
- Si disegni il class diagram a livello Business (System Domain Model) di questo problema ed il Diagramma di Attività idoneo a specificare la prenotazione di un’aula.
- Descrivere la differenza fra relazione di associazione e di dipendenza in un Diagramma delle Classi e spiegare come queste relazioni possono essere implementate in un linguaggio di programmazione.
- Progettare i casi di test usando il criterio di copertura dei cammini indipendenti per la seguente funzione:
#include <iostream.h> #include <stdio.h> int main() { int tent=0,x,num=0; while ((tent<4)&&(num<x)) { cout<<"inserisci un numero: "; cin>>num; tent++; if (num
-
Ingegneria del software - Esercizio
-
Ingegneria del Software
-
Ingegneria del software
-
Appunti Ingegneria del software