CAP 5. PROGETTAZIONE LOGICA DI IPERTESTO: SCHEMA ADM
In questo paragrafo viene affrontata la progettazione logica dell'ipertesto, che ha come obiettivo quello di produrre uno schema ADM (Araneus Data Model) per la rappresentazione dei dati.
La caratteristica fondamentale di uno schema ADM è lo schema di pagina (page scheme): esso descrive un insieme di pagine WEB con caratteristiche comuni: unistanza di un dato page scheme è una pagina WEB.
Per raggiungere lo schema finale procederemo in primo luogo con una traduzione dello schema NCM (navigation conceptual model) in uno schema ADM, ed in seguito con una eventuale ristrutturazione di questo al fine di ottenere una rappresentazione migliore e più logica dei dati dal punto di vista delle pagine WEB.
5.1 Traduzione dallo schema NCM allo schema ADM
La traduzione si è svolta operando i seguenti passi :
Di conseguenza per le entitá Progetto, Finanziamento, Materiale_Scaricabile, Doc_SW, Esempio si è deciso di utilizzare una pagina per ogni istanza. Diversamente per la macroentitá Pubblicazioni abbiamo rappresentato tutte le istanze su un'unica pagina come tuple di una lista.
5.2 Ristrutturazione dello schema ADM
Dopo una prima traduzione ci si è accorti della difficoltà di navigazione nello schema ADM creato , dovuta alleccessiva corposità di alcuni page_scheme. Pertanto si sono decise le seguenti modifiche.
Il passo successivo è stato quello di sostituire il nodo unione con la pagina Risultati (una per progetto), in cui sono presenti il nome del Progetto, la lista delle Documentazioni Software, quella del materiale Scaricabile, un link alle pubblicazioni (le quali sono state divise in pagine in cui ognuna contiene la lista delle pubblicazioni relative ad un solo progetto).
Inoltre è presente un link al finanziamento ed uno al progetto relativi alla pagina considerata.
Figura 5.1 Schema traduzione da NCM ad ADM
Figura 5.2 Schema ADM ristrutturato
Figura 5.3 Schema ADM proposto
5.3 Vincoli dello schema ADM ( LINK CONSTRAINTS )
PAGINA_PROGETTO.ListaCollaborazioni.NomeProgetto=PAGINA_PROGETTO.ListaCollaborazioni.Nome
PAGINA_PROGETTO.ListaCoordinatori.Nome=PAGINA_PERSONA.Nome
PAGINA_PROGETTO.ListaCoordinatori.Cognome= PAGINA_PERSONA.Cognome
PAGINA_PROGETTO.ListaPartecipanti.Nome= PAGINA_PERSONA.Nome
PAGINA_PROGETTO.ListaPartecipanti.Cognome= PAGINA_PERSONA.Cognome
PAGINA_PROGETTO.ListaRisultati.Codice=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Codice
PAGINA_PROGETTO.ListaRisultati.Titolo=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Titolo
PAGINA_PROGETTO.ListaRisultati.Codice=PAGINA_MATERIALE_SCARICABILE.Codice
PAGINA_PROGETTO.ListaRisultati.Titolo=PAGINA_MATERIALE_SCARICABILE.Titolo
PAGINA_PROGETTO.ListaRisultati.Codice=PAGINA_DOC._SW.Codice
PAGINA_PROGETTO.ListaRisultati.Titolo=PAGINA_DOC._SW.Titolo
PAGINA_PROGETTO.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome
PAGINA_PROGETTO.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data
PAGINA_PROGETTO.ListaEsempi.Titolo=PAGINA_ESEMPIO.Titolo
PAGINA_FINANZIAMENTO.ListaRisultati.Codice=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Codice
PAGINA_ FINANZIAMENTO.ListaRisultati.Titolo=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Titolo
PAGINA_ FINANZIAMENTO.ListaRisultati.Codice=PAGINA_MATERIALE_SCARICABILE.Codice
PAGINA_ FINANZIAMENTO.ListaRisultati.Titolo=PAGINA_MATERIALE_SCARICABILE.Titolo
PAGINA_ FINANZIAMENTO.ListaRisultati.Codice=PAGINA_DOC._SW.Codice
PAGINA_ FINANZIAMENTO.ListaRisultati.Titolo=PAGINA_DOC._SW.Titolo
PAGINA_ FINANZIAMENTO.ListaPersoneCoinvolte.Nome=PAGINA_PERSONA.Nome
PAGINA_ FINANZIAMENTO.ListaPersoneCoinvolte.Cognome=PAGINA_PERSONA.Cognome
PAGINA_ FINANZIAMENTO.ListaProgettiFinanziati.Nome=PAGINA_PROGETTO.Nome
PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaAutori.Nome=PAGINA_PERSONA.Nome
PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaAutori.Cognome=PAGINA_PERSONA.Cognome
PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Progetto_Correlato=PAGINA_PROGETTO.Nome
PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome
PAGINA_PUBBLICAZIONI.ListaPubblicazioni.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data
PAGINA_MATERIALE_SCARICABILE.Progetto_correlato = PAGINA_PROGETTO.Nome
PAGINA_MATERIALE_SCARICABILE.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome
PAGINA_MATERIALE_SCARICABILE.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data
PAGINA_DOC_SW.Progetto_correlato.Progetto=PAGINA_PROGETTO.Nome
PAGINA_DOC_SW.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome
PAGINA_DOC_SW.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data
PAGINA_PERSONA.ListaPartecipProg.NomeProgetto=PAGINA_PROGETTO.Nome
PAGINA_PERSONA.ListaFinanziamenti.Nome=PAGINA_FINANZIAMENTO.Nome
PAGINA_PERSONA.ListaFinanziamenti.Data=PAGINA_FINANZIAMENTO.Data
PAGINA_PERSONA.ListaPubblicazioni.Codice=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Codice
PAGINA_PERSONA.ListaPubblicazioni.Titolo=PAGINA_PUBBLICAZIONI.ListaPubblicazioni.Titolo