-
Requisiti sulle crociere:
- codice
- data di inizio
- data di fine
- nave utilizzata (v. req. 2)
- itinerario (v. req. 4)
- il tipo, uno tra:
- luna di miele, di cui interessa:
- sottotipo, uno tra:
- tradizionali: quelle che prevedono un numero di destinazioni romantiche (v. req. 3.4) maggiore o uguale al numero di destinazioni divertenti
- alternative quelle non tradizionali
- sottotipo, uno tra:
- per famiglie, di cui interessa:
- se adatte ai bambini (booleano)
- luna di miele, di cui interessa:
-
Requisiti sulle navi:
- nome
- comfort (3..5)
- capienza
-
Requisiti sulle destinazioni:
- nome
- continente
- posti da vedere (v. req. 5)
- tipo, almeno uno tra:
- romantico
- divertente
- se è esotica, ovvero se è fuori dall’Europa
-
Requisiti sugli itinerari: di ogni itinerario interessa
- sequenza ordinata di elementi, di cui interessa:
- destinazione (v. req. 3)
- arrivo:
- il numero d’ordine del giorno (rispetto alla data di inizio della crociera)
- ora
- ripartenza
- il numero d’ordine del giorno (rispetto alla data di inizio della crociera)
- ora
- sequenza ordinata di elementi, di cui interessa:
-
Requisiti sui posti da vedere:
- nome
- descrizione
- orari di apertura, nella forma di una mappa che associa ad ogni giorno della settimana (lunedì, …, domenica) un insieme di fasce orarie, dove ogni fascia oraria è definita in termini di una coppia di orari
-
Requisiti sui clienti:
- nome
- cognome
- età
- indirizzo
-
Requisiti sulle prenotazioni di crociere da parte dei clienti:
- cliente
- crociera
- istante di prenotazione
- numero di posti prenotati
-
Requisiti sulle funzionalità
- Accedute dal personale dell’Ufficio Prenotazioni:
- Effettuare la prenotazione, per conto di un cliente, di un certo numero di posti per una crociera (non ancora partita), solo se la nave ha ancora un numero di posti disponibili sufficiente
- Accedute dall’Ufficio Marketing:
- Dato un periodo ‘p’, calcolare l’età media dei clienti che hanno prenotato, durante ‘p’, almeno una crociera che prevede una destinazione esotica (v. req. 3.5)
- Dato un periodo ‘p’, calcolare la percentuale delle destinazioni ‘gettonate’ in ‘p’, ovvero raggiunte, durante ‘p’, da almeno dieci crociere di luna di miele, oppure da almeno quindici crociere per famiglie.
- Accedute dal personale dell’Ufficio Prenotazioni:
dataFine non è un dato, è calcolabile i range x..y sono solo con interi - i reali possono essere scritti come “Reale tra 18 e 30”
quando ci sono attributi opzionali, forse c’è una generalizzazione nascosta.
riflessione: attributo o classe? esempio: continente
- i continenti sono solo quelli, ma:
- se mi interessa fare per esempio query sul numero di navi che toccano un continente x: se il numero è 0, non lo posso fare (un continente esiste solo se c’è almeno una crociera che ce l’ha come campo)