DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Università degli Studi di Catania Ingegneria del Software - (CdLM in Ingegneria Informatica) - A.A. 2013/2014 Appello del 27/02/2014 Prof. Orazio Tomarchio Si vuole progettare un’applicazione per la gestione di pacchetti crociera per l’agenzia di viaggi VaiInCrocieraConNoi. L'applicazione deve consentire al personale dell'ufficio prenotazioni di definire i pacchetti crociera e di gestire le richieste e le prenotazioni dei clienti; inoltre essa deve consentire al reparto marketing di fare delle analisi ed elaborazioni statistiche, abilitando opportune strategie pubblicitarie. Delle crociere offerte dall’agenzia interessa il codice, le date di inizio e fine, e la nave utilizzata. Delle navi, che hanno un nome, interessa il grado di comfort, espresso in un numero di stelle che può variare da 3 a 5, e il numero massimo di passeggeri che possono ospitare. Ciascuna crociera consta di un itinerario caratterizzato da un nome (ad es. “Bellezze del Mediterraneo”) il quale prevede una sequenza (ordinata) di destinazioni. Di queste ultime interessa il nome e lo stato in cui si trovano. Gli itinerari fissano, oltre che l’ordine delle destinazioni da visitare, anche le relative date di arrivo e di partenza. Dato che, in generale, un itinerario può essere previsto da più di una crociera, le date di arrivo e partenza relative ad una destinazione vengono espresse come differenze rispetto la data di inizio della crociera stessa (ad es., l’itinerario “Bellezze del Mediterraneo” prevede di raggiungere la destinazione x alle 16:00 del quinto giorno di crociera, e di ripartire alle 12:00 del giorno successivo, il sesto). Inoltre, le destinazioni sono caratterizzate da un insieme di posti da vedere durante eventuali escursioni organizzate. Questi ultimi sono caratterizzati dal nome, dalla descrizione, e dalla fascia oraria consigliata per le visite. L’agenzia classifica le crociere in crociere di luna di miele e crociere per famiglia (di queste ultime interessa conoscere se sono adatte o meno ai bambini), e le destinazioni in romantiche e divertenti. Si noti che possono esistere destinazioni che sono sia romantiche che divertenti. Per venire incontro alle nuove tendenze delle giovani coppie, le crociere di luna di miele vengono ulteriormente classificate in tradizionali e alternative: sono definite tradizionali quelle che prevedono un numero di destinazioni romantiche maggiore o uguale al numero di destinazioni divertenti, alternative le altre. L'applicazione deve consentire al personale dell'ufficio prenotazioni di definire il programma completo delle crociere per l'intera stagione. Essa inoltre deve consentire allo stesso personale di gestire le richieste di prenotazione di crociere effettuate dai clienti. Il cliente può richiedere all'ufficio di ricercare una crociera in base a diversi criteri quali ad es. crociere il cui itinerario include una certa destinazione, crociere che partono in un certo intervallo temporale, crociere non più lunghe di x giorni, etc. Una volta scelta la crociera, il personale dell’Ufficio Prenotazioni deve poter effettuare la relativa prenotazione, se vi sono ancora posti disponibili al momento della prenotazione. La richiesta di prenotazione deve essere rifiutata nel caso il numero di posti disponibili, alla data corrente, per la crociera c non sia sufficiente. Di ogni prenotazione effettuata interessa la data di prenotazione, la crociera ed il numero di posti prenotati. Dei clienti invece interessa nome, cognome, età, indirizzo, e recapito telefonico. L'applicazione deve consentire al personale dell'ufficio marketing di accedere ai dati di tutti i clienti, le crociere, le prenotazioni al fine di effettuare svariate indagini statistiche. Dipartimento di Ingegneria Elettrica Elettronica e Informatica – V.le A. Doria 6 – 95125 Catania – 095/7382387 fax 095/7382397 DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Università degli Studi di Catania Si richiede: 1. Ricavare dalla descrizione dei requisiti i casi d'uso del sistema, rappresentarli in un apposito diagramma, e fornire la descrizione completa di almeno due di essi. 2. Il diagramma delle classi del dominio applicativo descritto, includendo gli attributi delle classi. 3. I diagrammi di sequenza per: a) ricerca e visualizzazione delle crociere che includono nel loro itinerario la destinazione “Catania”; b) Prenotazione di una determinata crociera da parte di un cliente per N posti; c) Calcolo, da parte dell'ufficio marketing della percentuale di clienti che nell'anno in corso hanno prenotato almeno una crociera di luna di miele di tipo alternativo. d) Calcolo, da parte dell'ufficio marketing di quante crociere che includono come destinazione “Barcellona”, hanno avuto alla fine un numero posti liberi inferiore a 20. NOTE: – Durata: 2 ore e 30 minuti – Non è possibile consultare libri e/o appunti di alcun genere; è vietato comunicare con gli altri candidati; SPEGNERE i cellulari. – Documentare opportunamente il processo di costruzione del diagramma delle classi, fornendone almeno due versioni: ad es. la prima, che rappresenta un modello di dominio concettuale (pochi dettagli), la seconda, un modello completo di attributi e delle operazioni utilizzate nei successivi diagrammi di sequenza – La modellazione delle classi applicative relative all'interfaccia utente è esclusa Dipartimento di Ingegneria Elettrica Elettronica e Informatica – V.le A. Doria 6 – 95125 Catania – 095/7382387 fax 095/7382397