PROPOSTA di PROGETTO 1 (referente: )

Transcript

PROPOSTA di PROGETTO 1 (referente: )
PROPOSTA di PROGETTO 1 (referente: [email protected]) (Specifica dei dati). Si vuole realizzare un sistema informativo per la gestione di dati relativi alle attivita’ gastronomiche della citta’ di Bologna. Nello specifico, si vuole tenere traccia dei ristoranti presenti sul territorio. Di ogni ristorante, si vogliono memorizzare informazioni quali: nome (univoco), posizione (latitudine/longitudine), indirizzo, recapito telefonico, recapito email, orari di apertura e chiusura per ogni giorno della settimana, numero massimo di posti a sedere. Inoltre, ogni ristorante puo’ avere una o piu’ foto associate (relative agli interni e/o agli esterni della struttura), ed una lista di commenti scritti dagli utenti. Un commento e’ una stringa di testo (di lunghezza max 200 caratteri), con il timestamp relativo alla data/ora di inserimento, ed un punteggio (tra 0 e 9). Ogni ristorante deve gestire un sistema di prenotazioni giornaliere. Una prenotazione e’ contraddistinta da un codice univoco, una data, una tipologia oraria (pranzo o cena), un numero di posti e dal nickname dell’utente che la effettua. Per una certa data/fascia oraria, il numero complessivo di posti prenotati non puo’ eccedere il numero di posti a sedere del ristorante. Ogni ristorante ha uno o piu’ menu’, caratterizzato da un numero progressivo ed una tipologia (menu’ generico, menu’ vegetariano, menu’ vegano, menu’ pranzo, menu’ cena, etc). Ogni menu’ e’ composto da un certo numero di piatti. Ogni piatto ha un codice univoco, una descrizione, un prezzo, eventualmente una foto, ed una lista degli ingredienti principali usati per la sua preparazione. Di alcuni ingredienti (es. “olio”) puo’ essere noto il nome del fornitore (es. “Azienda Agricola XXX”). Al sistema possono accedere quattro tipologie di utenti: utente semplice (US), gestore, fornitore, amministratore. Ogni utente dispone di un nickname (identificativo), una password, un recapito telefonico, un recapito email. Solo l’amministratore puo’ creare nuovi account utente. Un utente semplice (US) puo’ inserire un commento relativo ad un certo ristorante, effettuare una prenotazione, e visualizzare lo stato delle sue prenotazioni attive. Ogni utente semplice (US) puo’ gestire una propria lista personale di ristoranti preferiti (di cui e’ follower). Inoltre, ogni utente semplice puo’ aprire un canale gastronomico per proporre discussioni tematiche con altri US del sistema. Un canale ha un titolo univoco, un numero di utenti registrati, ed una lista di messaggi (post). Ogni messaggio e’ una stringa di testo (250 caratteri), con il timestamp (data/ora) di inserimento ed il nickname del creatore. Un utente gestore (di ristorante) puo’ inserire le informazioni relative al proprio ristorante, ai menu’ erogati, ed ai piatti del menu’. Inoltre, puo’ inserire delle news relative al proprio ristorante (es. “degustazione tortellini in data XXX”, “inaugurazione ambiente”, etc), con indicazioni sul tipo di evento, un breve commento, e la data. Tutti gli utenti semplici registrati come follower del ristorante devono ricevere via email una notifica della news appena inserita. Infine, il sistema informativo gestisce i dati relativi ad i fornitori di ingredienti alimentari usati dai ristoranti per la preparazione dei piatti. Ogni fornitore ha un nome (dell’azienda), un recapito telefonico, un recapito email, una sede, ed una lista di prodotti. Vincoli: per ogni ristorante, lo stesso piatto non puo’ comparire in piu’ di un menu’. Operazioni principali che devono essere fornite dal sistema: -­‐ Ricerca/Visualizzazione informazioni: o Visualizzare le informazioni relative ai ristoranti in base a parametri di ricerca inseriti dall’utente (fascia prezzo, tipo’ menu (vegetariano, vegano, etc), posizione, etc). o Visualizzare le informazioni relative ai ristoranti che contengono nei loro menu dei piatti definiti dall’utente (es. “cerca tutti i ristoranti che servono I tortellini in brodo a Bologna”). o Visualizzare i canali tematici con relativi post. o (Opzionale) Geo-­‐localizzazione: visualizzare sulla mappa la collocazione dei ristoranti (con Google Maps). o … -­‐ Statistiche: o Visualizzare la classifica dei ristoranti in base al voto medio. o Visualizzare la classifica dei ristoranti in base ai follower. o Visualizzare la classifica dei ristoranti in base prezzo medio dei piatti. o Visualizzare la classifica degli utenti piu’ attivi del sito (quelli che scrivono un maggior numero di commenti). o … -­‐ Inserimento dati: o (Utente Semplice): effettuare una prenotazione. o (Fornitore): inserire le informazioni relative all’azienda, inserire le informazioni relative ai prodotti o (Gestore): inserire le informazioni relative al ristorante, inserire le informazioni relative ad un menu, inserire le informazioni relative ad un piatto, indicare il nome di fornitore che fornisce un certo ingrediente al ristorante, inserire una news. o (Amministratore): inserire un nuovo account utente (semplice/fornitore/gestore/amministratore) o … -­‐ Social behaviours o (Utente Semplice): Inserire un commento relativo ad un ristorante, creare un nuovo canale, inserire un nuovo commento sul canale, aggiungersi come follower di un ristorante. o … Tabella media dei volumi (parziale): 100 ristoranti, 3 menu’ per ristorante, 10 piatti per menu’, 3 ingredienti per piatto, 1000 utenti (800 utenti semplici, 100 fornitori, 100 gestori), 50 canali, 400 prenotazioni (giornaliere), ogni utente e’ follower di 3 ristoranti ed e’ registrato in 5 canali.