Mashup - Sustainability

566
-1

Published on

A mashup is a Web application that combines data from one or more sources into a single integrated tool. The goal of the project is the possibility to visualize sustainable restaurants on the territory.

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
566
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mashup - Sustainability

  1. 1. P ROGETTO L AB . C OMPUTER GRAPHICS Raffaele De Amicis, Giuseppe Conti Debiasi Alberto 26/08/2009
  2. 2. 26/8/2009 PROGETTO LAB. COMPUTER GRAPHICS Sommario Introduzione .......................................................................................................................... 2 Oggetti Utilizzati................................................................................................................... 2 Fornitore ............................................................................................................................ 2 Ristorante........................................................................................................................... 2 Piatto .................................................................................................................................. 2 Ingrediente ......................................................................................................................... 3 Servizi Esterni Coinvolti ....................................................................................................... 4 http://maps.google.com/ ..................................................................................................... 4 http://www.ip-adress.com/ ................................................................................................. 4 http://www.paginegialle.it/ ................................................................................................ 5 http://en.wikibooks.org/ ..................................................................................................... 5 http://chuck-wright.com/.................................................................................................... 6 Gestione Database................................................................................................................. 7 Struttura Database ........................................................................................................... 7 Informazioni sui fornitori .............................................................................................. 7 Informazioni sui ristoratori ........................................................................................... 7 Informazioni sui piatti ................................................................................................... 8 Informazioni sui prodotti ............................................................................................... 9 Creazione Database ........................................................................................................... 9 Inserimento di Ristoranti e Fornitori............................................................................ 9 Inserimento di Piatti e Prodotti .................................................................................... 9 Creazione del Menù e della lista Prodotti ..................................................................... 9 Aggiunta fornitori per ogni prodotto ............................................................................. 9 Ruoli Interni ........................................................................................................................ 10 Ruolo Utente .................................................................................................................... 10 Ruolo Ristoratore ............................................................................................................. 13 Ruolo Fornitore ................................................................................................................ 16 Informazioni Ricavate ......................................................................................................... 18 Prezzo ............................................................................................................................... 18 Distanza ........................................................................................................................... 18 Sostenibilità ..................................................................................................................... 19 1
  3. 3. 26/8/2009 INTRODUZIONE Questo progetto riguarda in generale l‘alimentazione; ci sono tre parti coinvolte: • L’utente: può visualizzare un insieme di ristoranti secondo dei diversi criteri. • Il ristoratore: può visualizzare un insieme di fornitori secondo diversi criteri, può assegnare fornitori agli ingredienti che compongono i suoi piatti, può creare o modificare il proprio menù. • Il fornitore: può creare la lista dei propri prodotti, può a sua volta acquistare i prodotti da altri fornitori secondo diversi criteri. OGGETTI UTILIZZATI Gli oggetti in java che ho creato sono i seguenti: Fornitore L’oggetto fornitore ha i seguenti attributi: Coordinate: latitudine , longitudine Nome Fornitore Indirizzo Fornitore Codice Postale Regione Telefono Lista Prodotti Ristorante L’oggetto ristorante ha i seguenti attributi: Coordinate: latitudine , longitudine Nome Ristorante Indirizzo Ristorante Codice Postale Regione Telefono Menù: lista piatti Lista Ingredienti Piatto L’oggetto piatto è l’elemento che compone il menù del ristorante, ha i seguenti attributi: Nome Piatto Url: che corrisponde alla pagina di Wikipedia del piatto Lista ingredienti Prezzo 2
  4. 4. 26/8/2009 Ingrediente L’oggetto ingrediente è l’elemento che compone un piatto, ha i seguenti attributi: Nome Ingrediente Prezzo Nome fornitore 3
  5. 5. 26/8/2009 SERVIZI ESTERNI COINVOLTI Questo progetto è un Mashup di componenti, in seguito sono riportati i servizi internet che ho utilizzato. http://maps.google.com/ Ho utilizzato questo servizio per ricavare le informazioni riguardanti le coordinate di una carta località. Oppure viceversa, cioè date la longitudine e la latitudine viene restituita la località. In seguito ho riportato un esempio: In questo esempio vengono restituite le coordinate di “Trento” http://www.ip-adress.com/ Quando l’utente avvia il programma, quest’ultimo utilizza il sito http://www.ip- adress.com/ per avere la posizione geografica calcolata dall’indirizzo IP della macchina nella quale viene eseguito il programma. 4
  6. 6. 26/8/2009 Pagina web con l’indirizzo IP e la rispettiva localizzazione geografica http://www.paginegialle.it/ Ho utilizzato questo servizio per avere le informazioni sui ristoranti e fornitori presenti nel Trentino. In questo esempio vengono restituiti i ristoranti presenti a Trento http://en.wikibooks.org/ Ho utilizzato questo servizio per avere un gran numero di pietanze con i rispettivi ingredienti. 5
  7. 7. 26/8/2009 In questo esempio vengono visualizzati una lista di piatti presenti in wikipedia. http://chuck-wright.com/ Ho utilizzato questo servizio per avere la formula utilizzata per calcolare il consumo di Co2. Ho preso il codice del sito scritto in javascript e ho riscritto la parte di codice relativa al consumo di Co2 in java. Ho utilizzato la prima parte della tabella; quella riguardante il consumo in auto 6
  8. 8. 26/8/2009 GESTIONE DATABASE Struttura Database Questo progetto utilizza i file .xml per salvare le informazioni. Il database è diviso in 4 parti: Informazioni sui fornitori Ogni file contiene le informazioni di un fornitore, il nome del file è composto dalle coordinate del fornitore (latitudine e longitudine). Il seguente schema mostra un fornitore salvato in un file xml. Esempio di un fornitore salvato in un file xml Attualmente sono presenti nel database 168 fornitori. Informazioni sui ristoratori Ogni file contiene le informazioni di un ristorante, il nome del file è composto dalle coordinate del ristorante (latitudine e longitudine). Il seguente schema mostra un ristorante salvato in un file xml. 7
  9. 9. 26/8/2009 Esempio di un ristorante salvato in un file xml Attualmente sono presenti nel database 241 ristoranti. Informazioni sui piatti Ogni file contiene le informazioni di un piatto, il nome del file è composto dal nome del piatto. Il seguente schema mostra un piatto salvato in un file xml. Esempio di un piatto salvato in file xml (Spaghetti alla carbonara) 8
  10. 10. 26/8/2009 Attualmente sono presenti nel database 524 piatti. Informazioni sui prodotti Ogni file contiene le informazioni di un prodotto, il nome del file è composto dal nome del prodotto. Il seguente schema mostra un prodotto salvato in un file xml. Esempio di un prodotto salvato in un file xml Attualmente sono presenti nel database 666 prodotti. Creazione Database Poiché il progetto coinvolge un gran numero di ristoranti, fornitori, piatti e prodotti ho creato un programma per la creazione del database. Ho seguito le seguenti fasi: Inserimento di Ristoranti e Fornitori Il progetto ha lo scopo di analizzare i prodotti in trentino quindi ho utilizzato “http://www.paginegialle.it/” per avere i fornitori e i ristoranti presenti a Trento, Rovereto, Bolzano. Poi ho salvato i risultati nel database. Inserimento di Piatti e Prodotti Per avere un gran numero di piatti con i rispettivi ingredienti ho utilizzato “http://en.wikibooks.org/”. I prodotti invece sono tutti gli ingredienti che compongono i piatti trovati. Poi ho salvato i risultati nel database. Creazione del Menù e della lista Prodotti Per ogni ristorante ho inserito in modo casuale 25 piatti con un prezzo che varia da 0.1 a 100 euro (generato casualmente). Per ogni fornitore ho inserito in modo casuale 150 prodotti con un prezzo che varia da 0.1 a 15 euro (generato casualmente). Aggiunta fornitori per ogni prodotto Per ogni prodotto appartenente ai fornitori viene assegnato il rispettivo fornitore con probabilità di 0.5. Se si assegna a un prodotto un fornitore, quest’ultimo viene scelto casualmente tra i produttori che posseggono quel prodotto con un prezzo inferiore a quello del compratore. 9
  11. 11. 26/8/2009 RUOLI INTERNI Quando il programma è avviato, compare un questito; bisogna scegliere quale ruolo si ha: Finestra che appare quando si avvia il programma Ruolo Utente L’utente non può modificare e/o salvare le informazioni presenti nel programma. Può visualizzare i ristoranti e la derivazioni degli ingredienti. Inizialmente l’utente viene automaticamente geo-referenziato, può comunque cambiare la località in cui si trova utilizzando il pannello superiore. Pannello superiore che consente all’utente di cambiare posizione geografica Finestra utente con le operazioni disponibili La prima operazione consente di visualizzare i ristoranti più vicini all’utente. La seconda operazione consente di visualizzare i ristoranti più economici. La terza operazione consente di visualizzare i ristoranti più sostenibili. 10
  12. 12. 26/8/2009 In questo caso l’utente ha scelto di visualizzare i ristoranti più vicini. L’utente può visualizzare le informazioni su un ristorante; sia le informazioni riguardanti il numero di telefono, la via ecc…, sul menù e sugli ingredienti. Come si può notare dall’esempio seguente il ristorante fornisce i prezzi dei piatti e i costi degli ingredienti di ogni pietanza. 11
  13. 13. 26/8/2009 In questo esempio l’utente visualizza i piatti di un ristorante con i prezzi di ogni piatto e degli ingredienti che formano il piatto. Si può anche sapere quali sono i fornitori per ogni ingrediente, e per ogni fornitore si possono visualizzare i prodotti che vende a da chi a sua volta gli ha acquistati. In questo esempio l’utente visualizza gli ingredienti di un ristorante con li prezzo e il fornitore (se presente). 12
  14. 14. 26/8/2009 Questo esempio mostra il fornitore dell’ingrediente “pane” presente nella lista di ingredienti del ristorante. Ruolo Ristoratore Il ristoratore può cercare i ristoranti presenti nel database, creare il proprio menù, visualizzare i menù di tutti i ristoranti. Pannello superiore che consente a ristoratore di cercare un ristorante Quando un ristoratore crea il proprio menù, compare la finestra contenente tutti i piatti presenti nel database. Dopo aver scelto le pietanze, dovrà assegnarle il rispettivo prezzo. 13
  15. 15. 26/8/2009 Pannello contenente tutti i piatti presenti nel database 14
  16. 16. 26/8/2009 Questo esempio mostra il menù del ristorante, è possibile inserire/eliminare le pietanze e modificarne il prezzo Inoltre per ogni ingrediente potrà assegnargli un fornitore, scegliendo fra i fornitori con il minore costo dell’ingrediente, i fornitori più vicini, oppure quelli più sostenibili. 15
  17. 17. 26/8/2009 In questo esempio si vede la lista di ingredienti del ristoratore Ruolo Fornitore Il ruolo del fornitore, come quello del ristoratore ha la possibilità di modificare gli elementi del database, in questo caso i propri prodotti. Inizialmente è possibile cercare tra i fornitori presenti nel database. Quando un fornitore vuole inserire o modificare la propria lista di prodotti, compare il pannello contenente tutti i prodotti presenti nel database. 16
  18. 18. 26/8/2009 Pannello contenente tutti i prodotti presenti nel database Finestra di un fornitore 17
  19. 19. 26/8/2009 Informazioni Ricavate Gli utenti, i fornitori, e i ristoratori utilizzano 3 fattori per ogni operazione che svolgono: • Il prezzo • La distanza • La sostenibilità Questi fattori vengono visualizzati sulle frecce che collegano l’utente con i ristoranti, i ristoranti con i fornitori e i fornitori con i fornitori. Esempio che mostra i tre fattori Prezzo Nel caso dell’utente, l’operazione disponibile è visualizzare i ristoranti più economici. Per ogni ristorante viene calcolato il prezzo medio di ogni piatto, poi vengono ordinati in base a questo fattore, e vengono visualizzati i primi elementi. Per i ristoratori e i fornitori, l’operazione è di visualizzare e assegnare un fornitore a un proprio prodotto o ingrediente, tra quelli che hanno il prezzo più basso. Distanza Per tutti e tre i ruoli, viene utilizzata la distanza per avere i ristoranti o i fornitori più vicini. 18
  20. 20. 26/8/2009 Sostenibilità Nel caso dell’utente, l’operazione disponibile è visualizzare i ristoranti più sostenibili. Per ogni ristorante viene trovato il valore si sostenibilità: • per ogni suo ingrediente viene calcolata la distanza dal fornitore, e viene ripetuta l’operazione ricorsivamente tra i fornitori. • Con una formula viene calcolato la quantità di Co2 nell’aria. Vengono ordinati i ristoranti in base a questo valore. 19

×