PROPOSTA di PROGETTO 1

Transcript

PROPOSTA di PROGETTO 1
PROPOSTA di PROGETTO 1 (TRACCIA di specifica dei dati). Si vuole realizzare un sistema informativo per la gestione delle attivita’ e degli eventi culturali che si svolgono nella citta’ di Bologna. Nello specifico, si vuole tenere traccia delle strutture presenti sul territorio. Ogni struttura culturale ha un indirizzo, un recapito telefonico, una coppia di coordinate GPS (latitudine/longitudine), una foto ed un indirizzo Web. Si vogliono gestire i dati relativi alle seguenti tipologie di strutture culturali: Ø Musei: con nome, descrizione (un campo di testo), orario di apertura, orario di chiusura e numero di sale. Ø Cinema: con nome, lista delle sale (con nome e capienza di ognuna) e lista degli orari di proiezione giornalieri. Ø Teatri: con nome e capienza massima. Si vogliono gestire le informazioni relative ai seguenti eventi culturali: Ø Mostre: ogni mostra ha un nome, una data di inizio, una data di fine, una descrizione, un prezzo e si svolge all’interno di un museo. Ø Proiezioni Cinematografiche: ogni cinema dispone di una programmazione giornaliera. La programmazione riporta, per ogni sala, ed orario di proiezione, le informazioni specifiche del film proiettato. Ogni film ha un titolo, un regista, un anno di produzione, una durata, un genere, una foto di locandina. Lo stesso film puo’ essere proiettato piu’ volte dallo stesso cinema (in orari diversi), o da cinema diversi della citta’. Ø Proiezione Teatrale: ogni teatro dispone di una programmazione giornaliera. La programmazione riporta le informazioni specifiche dello spettacolo ospitato (al piu’ 1 spettacolo per ogni teatro). Ogni spettacolo ha un titolo, un produttore, un regista, una durata, un genere, un orario di inizio, un prezzo. Inoltre, si vogliono gestire i dati relativi agli utenti registrati della piattaforma. Ogni utente ha un username (indirizzo email), una password, un nome, cognome, ed una data di nascita. Ogni utente puo’ definire un insieme di “interessi culturali”, rappresentati attraverso una lista di strutture delle quali si dichiara follower. Si vuole fare in modo che ogni qualvolta venga inserito un evento relativo ad una struttura culturale, il servizio provveda ad informare gli utenti “follower” di quella struttura attraverso un’email. Gli utenti possono appartenere a tre categorie: utenti semplici, utenti premium ed utenti amministratori. Tutti gli utenti possono inserire recensioni relative ad eventi della piattaforma (ossia mostre, film proiettati o spettacoli teatrali): ogni recensione e’ un messaggio di testo, con un titolo, un timestamp ed una valutazione (un numero compreso tra 0 e 5). Gli utenti premium possono inoltre inserire delle segnalazioni relative ad incontri culturali da loro organizzati. Una segnalazione e’ un geo-­‐tag con una breve descrizione dell’incontro (es. “visita guidata a Villa Spada”), una data, un orario, le coordinate GPS del punto di incontro, un numero massimo di prenotazioni, il numero di prenotazioni attuale. Altri utenti premium possono iscriversi all’evento. Gli utenti amministratori possono creare/cancellare/modificare gli account utente ed inserire le informazioni relative alle strutture, ed agli eventi gestiti da ogni struttura. Vincoli dell’implementazione in SQL: 1. Ogni qualvolta un amministratore cancella un utente, tutte le recensioni da lui inserite devono essere AUTOMATICAMENTE rimosse. 2. Se un utente semplice scrive piu’ di 20 recensioni (in totale) sulla piattaforma, il suo account deve essere AUTOMATICAMENTE trasformato in utente premium (Implementare tale operazione tramite un TRIGGER). 3. I dati di un film, una mostra o uno spettacolo teatrale devono essere AUTOMATICAMENTE rimossi dalla base di dati se non c’e’ piu’ nessuna struttura che ospita l’evento alla data attuale (Implementare tale operazione tramite una STORED PROCEDURE che viene eseguita quando l’amministratore seleziona dall’interfaccia l’opzione “PULISCI DB”). Operazioni principali che devono essere fornite dal sistema: -­‐
-­‐
-­‐
-­‐
Ricerca/Visualizzazione informazioni: o Visualizzare le informazioni relative alle strutture presenti del territorio, divise per categoria (es. cerca tutti i musei, cerca tutti i cinema, etc). Geo-­‐
localizzare le strutture su una mappa di Google. o Visualizzare le informazioni relative agli eventi (mostre/proiezioni cinematografiche, proiezioni teatrali) che si svolgono nella data attuale o in una data futura. o Per utenti premium: visualizzare le informazioni relative agli incontri culturali organizzati da altri utenti. o Per utenti premium: visualizzare le proprie prenotazioni ad incontri culturali. o …. Statistiche: o Visualizzare la classifica degli eventi sulla base delle votazioni medie espresse dagli utenti. o Visualizzare la classifica degli utenti piu’ attivi della piattaforma (sulla base del numero di recensioni inserite). o … Inserimento dati: o (Amministratore): inserire le informazioni relative ad una struttura (Museo/Teatro/Cinema). o (Amministratore): inserire le informazioni relative ad un evento culturale (mostre/proiezioni cinematografiche, proiezioni teatrali). o (Amministratore): associare un evento ad una struttura. o … Social behaviours o (Utente Semplice): inserire una recensione relativa ad un evento. o (Utente Premium): inserire le informazioni relative ad un incontro culturale. o (Utente Premium): aggiungere una prenotazione ad un incontro culturale. o … Tabella dei volumi: A discrezione dallo studente.