1 / 53

Progettazione di Dati e Applicazioni per il Web

Progettazione di Dati e Applicazioni per il Web. Alessandro Antonini 3676383 Lorenzo Berti 3645918 Lorenzo Maffucci 2734419. Videoteca on-line (1). Si vuole realizzare un'applicazione web che consenta la gestione e la vendita on-line di un catalogo di materiale video

gigi
Download Presentation

Progettazione di Dati e Applicazioni per il Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Progettazione di Dati e Applicazioni per il Web Alessandro Antonini 3676383 Lorenzo Berti 3645918 Lorenzo Maffucci 2734419

  2. Videoteca on-line (1) • Si vuole realizzare un'applicazione web che consenta la gestione e la vendita on-line di un catalogo di materiale video • Gli utenti esterni (visitatori del sito) possono registrarsi attraverso uno username e una password. Di ogni utente registrato si vogliono conoscere i dati anagrafici (nome, cognome, data e luogo di nascita) ed i suoi recapiti (indirizzo di residenza, numero di telefono, indirizzo e-mail). Anche gli utenti interni (amministratori e responsabili marketing) sono identificati da uno username ed una password • Ogni film in catalogo è riconosciuto da un codice, ne vengono specificati titolo, prezzo, anno, paese di produzione, genere, regista, attori principali, trama, durata e locandina (foto)

  3. Videoteca on-line (2) • Di ogni regista/attore sono disponibili i dati anagrafici (nome, cognome, data e luogo di nascita), la filmografia e una foto • Le notizie di vario genere (curiosità, gossip, recensioni, avvertimenti, etc.) relative ai film presenti nel catalogo della videoteca sono identificate da un codice e caratterizzate da un titolo, una data di pubblicazione, una categoria ed una fonte • L’utente può acquistare un qualsiasi film presente in catalogo effettuando il pagamento tramite carta di credito. L’articolo sarà quindi spedito al recapito fornito dall’autore dell’acquisto

  4. Schema dei Dati

  5. Sottoschema Applicativo (1) • Include entità e relazioni che denotano gli oggetti più importanti dell'applicazione • Tali oggetti vengono individuati in fase di analisi dei requisiti • In una applicazione Web, sono gli oggetti principali cui accedono gli utenti esterni e quelli gestiti dagli utenti interni autorizzati ad amministrarne i contenuti

  6. Sottoschema Applicativo (2)

  7. Sottoschema di Connessione (1) • Include le relazioni che connettono le entità centrali dell'applicazione • Dal punto di vista del modello E-R, sono relazioni definite tra entità per esprimere associazioni semantiche • Dal punto di vista dell'applicazione Web, sono rappresentati da link e indici per la navigazione tra oggetti

  8. Sottoschema di Connessione (2)

  9. Sottoschema d’Accesso (1) • Include le entità e le relazioni aventi il ruolo di facilitatori di accesso • Utilizzati per classificare o specificare gli oggetti: • Costruendo gerarchie di indici che portano l'utente agli oggetti desiderati • Definendo meccanismi di ricerca per parole chiave • Raggruppando gli oggetti più significativi in collezioni speciali (es. le offerte del giorno)

  10. Sottoschema d’Accesso (2)

  11. Sottoschema di Personalizzazione (1) • Include le entità e le relazioni che descrivono proprietà degli utenti rilevanti per la personalizzazione: • dati dei profili utente (es. nome, indirizzo, data dell'ultimo acquisto) • dati sui gruppi che rappresentano classi di utenti omogenei • relazioni di personalizzazione che specificano diritti di accesso, appartenenze a gruppi o preferenze verso specifici oggetti

  12. Sottoschema di Personalizzazione (2)

  13. Modello di Ipertesto • Fra i siti Internet, giocano un ruolo predominante quelli dinamici, ovvero collegati a basi di dati, con la finalità non solo di pubblicare queste ultime, ma anche di rendere possibile la loro gestione in remoto • Lo scopo della modellazione ipertestuale è quello di specificare l’organizzazione di un documento non con una struttura sequenziale, bensì costituito da varie porzioni fra loro logicamente collegate

  14. WebML • WebML (Web Modelling Language) è un semplice linguaggio di natura grafica in grado di offrire uno schema concettuale di ipertesto, intuitivo e apprezzabile anche da utenti meno esperti • Fornisce le primitive per la modellazione ipertestuale, ereditando dal modello E-R l’idea di utilizzare concetti semplici ed espressivi e di essere supportato da una notazione grafica intuitiva • I costrutti fondamentali di WebML sono le unit, le pagine, i link,le aree e lesite view (viste di sito)

  15. Unit • Elementi atomici che specificano i contenuti di una pagina Web • Le pagine vengono costruite assemblando unit di vario tipo • Combinando diversi tipi di unit, possono essere modellate pagine di complessità arbitraria • Le unit hanno una rappresentazione grafica e una testuale

  16. Data Unit • Mostra i dati di un singolo oggetto di una determinata entità • Proprietà: • Nome • Sorgente • Selettore (opzionale) • Attributi da visualizzare

  17. Multidata Unit • Mostra i dati di un insieme di oggetti di un'entità, ripetendo la presentazione di molte data unit • Proprietà: • Nome • Sorgente • Selettore (opzionale) • Attributi da visualizzare • Clausola di ordinamento (opzionale)

  18. Index Unit • Mostra un insieme di oggetti di una entità come una lista • Proprietà: • Nome • Sorgente • Selettore (opzionale) • Attributi da visualizzare • Clausola di ordinamento (opzionale)

  19. Entry Unit • Supporta l'inserimento di dati tramite form • Utilizzata per ricevere input dall'utente (es. per effettuare ricerche o login) • Proprietà: • Nome • Campi • Proprietà dei campi: nome, tipo, valore iniziale, modificabilità, predicato di validità (es. not null)

  20. Link (1) • Un link è un collegamento orientato fra due unit o pagine • Un link specifica: • i possibili percorsi navigazionali fra le pagine • le possibili selezioni offerte all’utente • l’effetto dell’interazione dell’utente sul contenuto delle unit visualizzate nella pagina • I link generalizzano il concetto di ancora, uno strumento attivo per mezzo del quale l’utente interagisce con l’ipertesto

  21. Link (2) • Nella terminologia WebML, i link che attraversano i confini delle pagine vengono chiamati link inter-pagina, mentre i link che hanno sorgente e destinazione appartenenti alla stessa pagina vengono detti link intra-pagina. Inoltre, i link che trasportano informazioni sono definiti contestuali, altrimenti sono detti non contestuali

  22. Link (3) • Un parametro del link è un valore associato a un link tra unit, che viene trasportato dalla unit sorgente alla unit di destinazione, per effetto della navigazione del link (può essere anche multi-valore) • Un selettore parametrico è un selettore di una unit le cui condizioni si riferiscono a uno o più parametri • La sintassi di un parametro di un link richiede una stringa utilizzata all’interno del selettore della unit di destinazione in riferimento al parametro, e un’etichetta che indica il contenuto del parametro, sia esso un attributo oppure un campo della unit sorgente del link

  23. Link (4) • I vari tipi di unit (multidata, index, multi-choice index) differiscono per i parametri associati ai loro link uscenti: • index unit: il link uscente permette la selezione di un singolo oggetto • multi-choice index unit: è possibile selezionare un sotto-insieme di oggetti • multidata unit: è possibile passare soltanto l’interno insieme di oggetti visualizzati • Vengono definiti dei parametri di output di default per ogni unit in modo che si possono dedurre direttamente dal contesto senza perdita di informazione • Analogamente, una tale semplificazione può essere applicata alle condizioni del selettore

  24. Link (5) Link contestuale con parametri Semplificazione • Il contenuto della unit di destinazione dipende dall’informazione fornita dalla unit sorgente e il trasferimento di questa informazione di contenuto è associata alla navigazione del link • Intuitivamente la index unit fornisce l’OID della notizia selezionata alla data unit

  25. Link (6) • L’esempio mostra un selettore costruito utilizzando un ruolo di relazione • Tale selettore ([Notizia_Fonte]) restringe l’insieme degli oggetti (Fonte) mostrati solamente a quelli collegati tramite il ruolo di relazione ([Notizia_Fonte(NotiziaCorr)]) specificato all’oggetto avente OID uguale al parametro dato (NotiziaCorr) • Quando il parametro associato al link è il parametro di default, questo può essere omesso anche dal selettore • L’OID dell’ oggetto visualizzato dalla Data Unit viene assunto implicitamente come l’argomento del predicato specificato sul ruolo della relazione

  26. Link (7) • I parametri dei link possono essere usati anche per la trasmissione di valori inseriti in un’entry form • La unit “Condizioni Ricerca” include un singolo campo per inserire una parola chiave; il valore di questo campo viene assegnato come parametro, di nome “Parola”, al link in uscita dalla entry unit e usato nella condizione del selettore della index unit: in questo modo verranno mostrati solamente i film che contengono la parola chiave inserita dall’utente

  27. Link (8) • Link di trasporto: link utilizzati solamente per passare informazioni contestuali da una unit all’altra abilitando solamente il passaggio di parametri e non la navigazione dell’utente • Quando si accede alla pagina, sia la data unit (“Dettagli Film”) che la index unit (“Elenco Notizie”) mostrano il loro contenuto, ma per il link non viene visualizzata alcuna ancora

  28. Pagine • Costituiscono l'interfaccia fornita all'utente • Tipicamente contengono diverse unit, raggruppate per comunicare concetti ben definiti

  29. Site View • Costrutto modulare che racchiude pagine e unit collegate tramite link • Rappresenta un ipertesto coerente per soddisfare un insieme ben definito di requisiti • Esempio: utenti generici di un sito vs. amministratori del sito

  30. Aree • Site view complesse possono essere decomposte gerarchicamente in aree • Le aree sono gruppi di pagine con uno scopo omogeneo

  31. Pagina Home • La pagina home è la pagina di default del sito o che viene presentata dopo che l'utente ha effettuato il login • È unica all'interno della site view

  32. Pagina di Default • La pagina di default è la pagina presentata di default quando si accede all'area che la racchiude • È unica all'interno di tale area

  33. Pagina Landmark • Una pagina landmark è raggiungibile da tutte le altre pagine o aree all'interno del modulo che la racchiude (site view o super-area) • Riduce significativamente il numero di link da disegnare

  34. Aree di Default e Aree Landmark • I concetti di default e landmark possono essere estesi anche alle aree • L'area di default è la sotto-area cui si accede di default quando si accede alla super-area che la contiene • Un'area landmark è un'area implicitamente raggiungibile da tutte le altre pagine o aree della site view in cui è racchiusa • Stessa notazione delle pagine

  35. Site View Utente Casuale • Gli utenti casuali appartengono alla categoria degli utenti esterni, ovvero i visitatori del sito • Non si conoscono i dati relativi agli utenti casuali • Gli utenti casuali hanno diritti di sola lettura

  36. Site View Utente Registrato • Anche gli utenti registrati appartengono alla categoria degli utenti esterni • Gli utenti registrati hanno la possibilità di accedere al servizio di acquisto on-line tramite carta di credito

  37. Site View Responsabile Marketing • I responsabili marketing appartengono alla categoria degli utenti interni, ovvero i dipendenti dell’azienda che fornisce il servizio di videoteca on-line • I responsabili marketing hanno diritto di scrittura sul catalogo della videoteca

  38. Site View Amministratore • Anche gli amministratori del sito web appartengono alla categoria degli utenti interni • Gli amministratori hanno diritto di scrittura su le notizie relative ai prodotti in catalogo • Gli amministratori hanno inoltre il compito della gestione (abilitazione e cancellazione) di tutti gli utenti registrati presso il sito web

  39. Semplificazione (1) • Nelle site view relative agli amministratori ed ai responsabili marketing abbiamo effettuato delle semplificazioni • Infatti per ogni notizia (per gli amministratori) o film (per i responsabili marketing) che viene creato devono essere definite, qualora già non lo siano, le sue corrispondenti istanze delle entità categoria e fonte (per le notizie) o genere e regista/attori (per i film)

  40. Semplificazione (2) • Tutto questo avviene tramite una catena di operazioni di creazione che noi abbiamo preferito omettere per semplicità e brevità

  41. Operation Unit (1) • Utilizzata in WebML per esprimere dei processi eseguiti in seguito alla navigazione di un link • Può avere più link entranti, che forniscono i parametri in ingresso • Più operation unit possono essere collegate tramite link per formare una sequenza

  42. Operation Unit (2) • Ogni operation unit ha un link OK e un link KO • Una operation unit può avere un qualsiasi numero di link di trasporto uscenti • Una operation unit non visualizza dati, ma esegue solo dei processi come effetto della navigazione di un link

  43. Create Unit • Permette di creare una nuova istanza di un’entità • Solitamente, l’input della create unit proviene da una entry unit • I valori in ingresso vengono usati per costruire un nuovo oggetto a partire dalle assegnazioni specificate

  44. Delete Unit • Permette di cancellare uno o più oggetti di una determinata entità • L’utente sceglie un singolo oggetto (o un insieme di oggetti) da cancellare • Gli OID di tali oggetti vengono associati ai parametri dei link entranti nella delete unit

  45. Create/Delete Unit: esempio

  46. Login Unit • Ha due parametri fissi (nome utente e password), normalmente forniti da una entry unit • Controlla la validità dell’identità dell’utente • Se il controllo ha successo, porta l’utente nella propria home page • Se il controllo fallisce, porta l’utente in una pagina di errore

More Related