sisr-modwebml - 1 - modellazione concettuale di applicazioni web

43
SISR-MODWEBML SISR-MODWEBML - - 1 - - Modellazione Modellazione concettuale di concettuale di applicazioni Web applicazioni Web

Upload: concetto-viviani

Post on 03-May-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 11 - -

Modellazione concettuale di Modellazione concettuale di applicazioni Webapplicazioni Web

Page 2: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 22 - -

Modellazione concettuale di applicazioni WebModellazione concettuale di applicazioni Web

Metodologia di sviluppo per applicazioni Web data-intensive

WebML (Web Modeling Language) – http://webml.org

Modellazione del contenuto informativo

Modellazione dell’ipertesto

WebRatio: un tool di sviluppo per WebML – http://www.webratio.com

Page 3: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 33 - -

Alcuni modelli concettualiAlcuni modelli concettuali

Prime proposte per la modellazione di applicazioni ipermediali (Communication of ACM, August 1995)

Proposte successive, per la modellazione di applicazioni Web

ARANEUS (1998)ADM (Araneus Data Model)

Strudel (1998)UGM (Unified Graph Model) + StruQL (Strudel Query Language)

Web Modeling Language – WebML (1998)Modello ER per il contenuto + Primitive visuali per l’ipertestoSupportato da uno strumento CASE commerciale (http://www.webratio.com)

Estensione di UML per il Web (Jim Conallen, “Buidling Web Applications with UML”, Addison Wesley, 2000)

Page 4: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 44 - -

WWebML –ebML – concetti di base concetti di base

Applicazione Web= Dati + Ipertesto + Presentazione

struttura del contenuto

entità,relazioni

composizione + navigazione +

personalizzazione

unità, pagine, link, site view

presentazione

stili

Page 5: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 55 - -

Modello dei DatiModello dei Dati

Tipiche domande:Quali sono gli oggetti informativi da pubblicare tramite l’applicazione? Quali sono le proprietà che li caratterizzano?In che modo i vari oggetti sono correlati?

Primitive del modello Entità-Relazioni:Entità: una classe di oggetti nel dominio dell’applicazioneAttributo: una proprietà di una entitàRelazione: una connessione tra entitàGerarchia IS-A: costrutto utilizzato per classificare o raggruppare

Compatibilita’ ER e UML

MODELLO DEI DATI

Page 6: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 66 - -

Notazione grafica (ER/UML)Notazione grafica (ER/UML)

MODELLO DEI DATI

Ogni entità identificata da un Object Identifier (OID), non rappresentato esplicitamente nello schema

Entità2Entità1

SottoEntità

attributo1

Page 7: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 77 - -

Modello di Ipertesto:Modello di Ipertesto:obiettiviobiettivi

Modellazione ad alto livello del front-end di una applicazione Web dinamica e delle interazioni con la logica e i dati del back-end

Utilizzo di una notazione visuale semplice ma formale

Generazione automatica di template di pagine dinamiche e di interrogazioni per l’accesso e la manipolazione dei dati

MODELLO DI IPERTESTO

Page 8: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 88 - -

• Domande tipiche• In che modo l’utente deve fruire del contenuto pubblicato tramite il sito?•Quali sono le pagine nell’ipertesto, tramite cui l’utente può accedere ai contenuti?

•Quale informazione deve essere pubblicata in ogni pagina?•In che modo i nodi dell’ipertesto sono collegati tra loro?

• Primitive del modello di Ipertesto•Unità di contenuto (o unit) •Link•Pagine• Site view

Modellazione dell’Ipertesto:Modellazione dell’Ipertesto:Domande TipicheDomande Tipiche

MODELLO DI IPERTESTO

Page 9: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 99 - -

Unità di contenutoUnità di contenuto

Una unit di contenuto in WebML è l’elemento base per la pubblicazione di informazioni

Corrisponde ad una “vista” definita su un contenitore di oggetti, ad es.:

Tutte le istanze di un’entità sorgente

Le istanze di una entità che soddisfano una condizione di selezione chiamata selettore

unitX

Sorgente[Selettore]

MODELLO DI IPERTESTO

Page 10: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

DATAUNIT INDEXUNIT MULTIDATAUNIT

ENTRYUNIT SCROLLERUNIT

entity[Selector]

Unità di Contenuto di Base

entity[Selector]

entity[Selector]

entity[Selector]

MULTICHOICE

entity[Selector]

HIERARCHICAL

entity[Selector]

Page 11: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

DATAUNIT INDEXUNIT MULTIDATAUNIT

ENTRYUNIT SCROLLERUNIT

Significato delle Unita’ di Contenuto

Author first name:XXX last name:YYY photo:

Index of Authors

•S. Ceri•P. Fraternali•O.Versand

All Authors

Browse Authors

5/12: go to

1/12

Insert Your Data

•Fname•Lname

MULTICHOICE

Choose Authors

Ceri Fraternali Versand

HIERARCHICAL

Books&Authors

1. Web Applicat. Ceri Fraternali2. Systems Tannenbaum

Page 12: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 1212 - -

Input e output delle unitInput e output delle unit

Ogni unit può avere parametri di input e output

I parametri in input sono necessari per calcolare la unitParametri richiesti dal selettore della unit

I parametri in output possono essere utilizzati per la computazione di una o più unit che dipendono dalla unit corrente

unitX

entità[selettore (ParIN)]

ParIN ParOUT

MODELLO DI IPERTESTO

Page 13: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 1313 - -

DataUnitDataUnit

Pubblica informazione circa UNA SINGOLA ISTANZAUNA SINGOLA ISTANZA Contenitore: una entità, più (opzionalmente) un selettore Parametri in input:

OID dell’oggetto che deve essere pubblicato, OPPURE

Parametri richiesti dalla computazione del selettore

Parametri in output: L’OID dell’oggetto pubblicato, più ogni suo attributo

Entità[Selettore(parametri)]

parametri OID

MODELLO DI IPERTESTO

Page 14: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 1414 - -

Esempio di Esempio di DataUnitDataUnit

Informazione su un prodotto specifico

CASO DI STUDIO

Product

ProductDetails

Page 15: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 1515 - -

MultiDataUnitMultiDataUnit

• Pubblica un insieme di istanze di una entità (insieme di oggetti)(insieme di oggetti)

• Contenitore: una entità, più (opzionalmente) un selettore

• Parametri di input: quelli richiesti per la computazione del selettore

• Parametri di output:

•L’insieme di OID degli oggetti pubblicati (più gli attributi degli oggetti)

Entità[Selettore(parametri)]

parametri {OID}

MODELLO DI IPERTESTO

Page 16: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

Entry Unit

Per l’immissione di dati da parte dell’utente: campi per introdurre valori, campi di selezione per selezionare tra piu’ valori

I risultati vengono passati come parametri ad altre unit

params

Page 17: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

Entry Unit

Un campo puo’ essere precaricato con valori (es. bruce, springsteen, the boss)

Un campo di selezione deve essere precaricato con una lista di valori tra cui l’utente ne sceglie uno

EntryUnitS1 S2 S3PersonField

AddrFieldArtist

FirstName PF.S1 LastName PF.S2 NickName PF.S3

Page 18: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 1818 - -

IndexUnitIndexUnit

Pubblica una lista di elementi (insieme di oggetti)(insieme di oggetti)Contenitore: una entità, più (opzionalmente) un selettore

Parametri di input: quelli richiesti per la computazione del selettore

Parametri in output:

OID dell’oggetto selezionato dall’utente (più tutti i suoi attributi)

Entità[Selettore(parametri)]

parametri OIDSel

MODELLO DI IPERTESTO

Page 19: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 1919 - -

IndexUnit nella pagina IndexUnit nella pagina ProductsProducts

L’utente può accedere ai singoli prodotti cliccando su uno degli elementi della lista

CASO DI STUDIO

Product

OIDSelAll

Products

Page 20: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2020 - -

MultichoiceUnitMultichoiceUnit

Pubblica indici di elementi (insieme di oggetti)(insieme di oggetti) tra cui l’utente seleziona uno o più elementi (tramite checkbox)Contenitore: una entità, più (opzionalmente) selettore e pre-selettoreParametri in input: quelli richiesti per la computazione dei selettoriParametri in output: OID degli oggetti marcati dall’utente (più tutti i suoi attributi)

Entità[Selettore(parametri)]

[Preselettore(parametri)]

parametri {OIDSel}

MODELLO DI IPERTESTO

Page 21: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2121 - -

HierarchicalUnitHierarchicalUnit

Pubblica una lista di oggetti (appartenenti a più entità) organizzati gerarchicamente in base a relazioni definite tra le entitàContenitore: un insieme di entità e le relazioni che le associano, più (opzionalmente) selettori ad ogni livelloParametri in input: quelli richiesti dalla computazione dei selettoriParametri in output: OID dell’oggetto selezionato dall’utente (più tutti i suoi attributi)

{OIDSel}

Entita1[Selettore1(Parametri)

NEST Entita2 [Entita1_Entita2]

[Selettore2(Parametri)]

Parametri

MODELLO DI IPERTESTO

Page 22: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2222 - -

HierarchicalUnit: EsempioHierarchicalUnit: Esempio

•Tables•Kitchen

•Korla KJD54•Chairs

•Stools•Roy LKR34•OddVar JSQ87

•Office•Jess RLT45

CategoriaNEST SottoCategoria

[Categoria_SottoCategoria]NEST Prodotto

[SottoCategoria_Prodotto]

MODELLO DI IPERTESTO

Page 23: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2323 - -

HierarchicalUnit: EsempioHierarchicalUnit: Esempio

•Tables •Kitchen

•Korla KJD54•Chairs

•Stools•Roy LKR34•OddVar JSQ87

•Office•Jess RLT45

MODELLO DI IPERTESTO

Categoria

SottoCategoria

Prodotto

Page 24: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2424 - -

HierarchicalUnit: link uscentiHierarchicalUnit: link uscenti

Ogni link è visualizzato come un ancora ad un opportuno livello della gerarchia

Il livello a cui il link è posizionato dipende dal tipo dei parametri sul link

•Tables link a•Kitchen link b

•Korla KJD54 link c•Chairs link a

•Stools link b•Roy LKR34 link c•OddVar JSQ87 link c

•Office link b•Jess RLT45 link c

Cat

Sotto_Cat

Prod

link a

link b

link c

CategoriaSottoCategoria

[Categoria_SottoCategoria]Prodotto

[SottoCategoria_Prodotto]

MODELLO DI IPERTESTO

Page 25: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2525 - -

ScrollerUnitScrollerUnit

Permette di definire il browsing in un insieme di oggetti:

Visualizza link al primo, al precedente, al prossimo, all’ultimo oggetto nell’insieme

Block factor = numero di oggetti visualizzati in blocco in un passo di navigazione

Contenitore: una entità, più (opzionalmente) un selettoreParametri in input: quelli richiesti per la computazione dei selettori Parametri in output: l’insieme di OID del blocco di oggetti corrente

Entità[Selettore(parametri)]

parametri {OIDSel}

MODELLO DI IPERTESTO

Page 26: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2626 - -

Link contestualiLink contestuali

• Connessioni orientate tra due unit (sorgente e destinazione), la cui presentazione corrisponde ad ancore o bottoni “submit”

• Permettono all’utente di navigare tra nodi diversi dell’ipertesto

• Trasportano informazione di contesto

• Attivano una computazione (effetto collaterale)

AutoreAutore

Sorgente Destinazione

MODELLO DI IPERTESTO

Page 27: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2727 - -

Parametri sui linkParametri sui link

Libro[Autore_Libro(A)]

• Il contesto è trasportato dai link attraverso l’uso di parametri definiti sui link

• Un parametro sui link ha un Nome.

• Il contenuto del parametro è un attributo della unit sorgente del link

Autore[OID=…]

A:Autore.OID

MODELLO DI IPERTESTO

Page 28: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2828 - -

Parametri sui link: defaultParametri sui link: default

Autore[OID= …]

Libro[Autore_Libro]

• Quando è possible, i parametri sui link sono inferiti dal diagramma, senza bisogno di essere specificati esplicitamente

• I diagrammi acquistano maggiore chiarezza

MODELLO DI IPERTESTO

Page 29: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 2929 - -

Selettori: Default Selettori: Default

• Quando possibile, i selettori e i loro parametri sono inferiti dal diagramma, senza dover essere specificati esplicitamente

Autore Libro[Autore_Libro]

Libro

MODELLO DI IPERTESTO

Page 30: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

Esempio

Author first name:James last name:Joyce photo:

Book Title:Ulysses Price:23$ Cover:

Books of YYY

•Ulysses•The Dubliners•Portrait...

Page 31: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3131 - -

Link automaticiLink automatici

• Passano il contesto alla target unit immediatamente dopo la selezione, senza la necessità di un intevento dell’utente

AutoreAutore

sorgente destinazione

MODELLO DI IPERTESTO

A

Page 32: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3232 - -

Link di trasportoLink di trasporto

AutoreLibro

[autore_libro]

• Un link di trasporto passa il contesto alla unit di destinazione immediatamente dopo la visualizzazione della unit sorgente, senza la necessità dell’intevento dell’utente

• L’utente non può cambiare il contesto trasportato dal link

Sorgente Destinazione

MODELLO DI IPERTESTO

Page 33: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3333 - -

Non trasportano alcuna informazione di contesto

L’utente naviga da una pagina all’altra per mezzo di un’ ancora (es: >>Indice dei Libri)

Link non contestualiLink non contestuali

HomePage Indice dei libri

MODELLO DI IPERTESTO

Page 34: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3434 - -

PaginePagine

Una pagina è un contenitore di una o più unità di contenuto mostrate all’utente contemporaneamente

MODELLO DI IPERTESTO

Home Page Indice dei LibriLogin

Page 35: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3535 - -

Home PageHome Page

É la pagina principale di un sitoLa prima a cui l’utente accede

Ogni site view deve contenere un pagina marcata come “Home”

HomePage H Indice dei libri

MODELLO DI IPERTESTO

Page 36: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3636 - -

Pagine LandmarkPagine Landmark

Pagine globalmente visibili. L’utente può saltare ad esse da ogni altra pagina della site viewEquivalenti a link non contextuali definiti da ogni altra pagina della site view verso la pagina landmark

Autori

Indice dei Libri

L

InfoLibro

Negozi

MODELLO DI IPERTESTO

AutoriInfoLibri

NegoziIndice dei Libri

Page 37: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3737 - -

AreeAree

Insiemi di pagine logicamente omogeneeSezioni di un portale: Sport, Musica, Tecnologia, …

Le aree possono contenere sotto-aree annidate

Ogni area può includere una pagina (o una sottoarea) di default

Area

MODELLO DI IPERTESTO

CatalogoLibri

Indice dei Libri

D

InfoLibriHomePage

Pagina1 Pagina2

Page 38: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3838 - -

Site ViewSite View

Un insieme di pagine e/o aree che forniscono una vista coerente del sito

Sullo stesso schema dei dati è possibile definire diverse site view

Necessità di pubblicare ipertesti diversi per diversi tipi di utenti o per diversi tipi di dispositivi di output

Es.:Site view pubblica: accesso concesso ad ogni utente

Site view private: accesso protetto tramite password

MODELLO DI IPERTESTO

Page 39: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 3939 - -

Esempio Modellazione delle site viewEsempio Modellazione delle site view

Due site view sullo stesso schema dei datiCustomer: pubblica, per i clienti

Admin: privata, per amministratori e gestori di contenuto

CASO DI STUDIO

Page 40: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 4040 - -

Esempio SEsempio Site ite VView iew CustomerCustomer

Scopo: permettere al cliente di accedere ai contenuti pubblicati tramite il sito

Struttura:Due aree principali: Products e Offers

Due pagine Landmark: HomePage, Store

CustomerProducts Area

Stores

Offers Area

HomePage

CASO DI STUDIO

LL

H

LL

Page 41: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 4141 - -

Offers AreaProducts Area

Esempio Organizzazione delle AreeEsempio Organizzazione delle Aree

quali sono le pagine principali?

Products Combinations

quali altre pagine sono necessarie?

Images

Search CombinationBy Price

CASO DI STUDIO

ProductSearch

ByCategoryD L

L

L L D

Page 42: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 4242 - -

Esempio Composizione della Esempio Composizione della Home PageHome PageCASO DI STUDIO

Page 43: SISR-MODWEBML - 1 - Modellazione concettuale di applicazioni Web

SISR-MODWEBMLSISR-MODWEBML - - 4343 - -

Esempio Pagina dei Esempio Pagina dei ProdottiProdotti

CASO DI STUDIO