• Non ci sono risultati.

2. WEBML

3.6 Confronto tra WebML e WAE

3.6.2 Corrispondenze tra gli elementi WebML e WAE

Come messo in evidenza precedentemente le due fasi di approccio al progetto basate su WebML e sull’UML esteso di Conallen differiscono sotto molti aspetti. In particolare il processo WebML copre le tre fasi tipiche dei linguaggi di modellazione Web che sono:

• Contenuto; • Ipertesto; • Presentazione.

Mentre il WAE di Conallen modella una Applicazione Web sotto la duplice prospettiva (lato client, lato server) senza soffermarsi o approfondire troppo gli aspetti della navigazione e della gestione del contenuto.

Rimangono però aspetti di contatto tra i due linguaggi che permettono, senza troppa fatica, di tradurre un progetto da un linguaggio ad un altro. Questo, a mio modo di vedere, avviene in modo più naturale partendo da una specifica UML e traducendo in WebML. Gli aspetti comuni e i passaggi logici verranno elencati successivamente:

• Comune specifica dei requisiti: La specifica dei requisiti, nel caso in cui si progetti l’Applicazione Web in modalità WebML o WAE, rimane una fase comune e nei due casi avviene attraverso diagrammi dei casi d’uso o di sequenza e in linguaggio naturale. Per questo motivo la fase è comune e nessuno dei due sistemi prevede “l’invenzione” di modalità alternative non standardizzate (per quanto riguarda il WebML il Capitolo successivo metterà in evidenza tale fase per la progettazione di Applicazioni Web);

• Comune analisi: Come nel caso precedente, anche l’analisi dei requisiti è un processo comune ai due approcci e si basa su modalità standard che fanno uso di diagrammi UML;

57

• Struttura dei Dati: Nel WebML la struttura dei dati si specifica attraverso un diagramma Entità Relazioni con notazione UML. Il WAE di Conallen non specifica come descrivere o rappresentare la struttura dei dati. Ci si può comunque facilmente appoggiare alla modalità WebML in quanto il diagramma E/R è uno standard per la rappresentazione di Data Base Relazionali;

• Corrispondenza Ipertesto modello di analisi: La definizione del modello di ipertesto WebML che corrisponde alla struttura delle pagine e delle unit e dei link è direttamente riscontrabile in elementi WAE UML. Cambiano le modalità di rappresentazione e le notazioni, ma significato e livello di astrazione coincidono.

o Link: Si rappresentano allo stesso modo, come associazioni stereotipate con lo stereotipo <<link>>. In WebML ho tre tipi di link, i quali non esistono in modo diretto nel formalismo WAE, ma sono rappresentabili comunque come associazioni stereotipate. Sempre a livello di Modello di presentazione, in WAE i link sono definibili sia tra Schermate (in WebML link inter-pagina) che all’interno della pagina o in uscita da un form (in WebML link intra-pagina) inoltre possono trasportare parametri (in WebML i link parametrici che modellano un’astrazione dei parametri passati a livello di Request e Response HTTP);

o Pagina: La pagina si rappresenta come una classe stereotipata con tagged value per specificarne il tipo (landmark, home default). In WAE la pagina è una classe Stereotipata Schermata (screen in inglese) che può descrivere la sua visibilità attraverso i simboli + nel caso di pagina accedibile dal resto del sistema (landmark in WebML). Le associazioni direzionali sono i link tra pagine e sono la stessa cosa del WebML in cui le frecce sono rappresentate diversamente, ma in UML hanno lo stesso significato;

o Entry Unit e Form: In WAE ho una classe stereotipata per i Form che può essere inclusa nella pagina con una relazione di aggregazione. Cosa analoga in WebML in cui ho la Entry

Unit, la cui notazione UML è identica a quella del modello WAE;

o Data unit: La Data Unit WebML ha una sua rappresentazione, in WAE per rappresentare i dati dell’Entità

58

da visualizzare si elencano come attributi della classe stereotipata screen. La differenza sta che in WebML si specifica l’Entità da cui gli attributi sono presi per la visualizzazione, in WAE si specifica (almeno in questa fase del modello di analisi) nome e tipo del dato da visualizzare, astraendo dalla struttura del DB.

o Index Unit: Discorso analogo al precedente per il WebML, nel caso WAE si possono elencare array di attributi o relazioni di aggregazione con una classe che descrive un singolo oggetto (si veda paragrafo 3.2).

• Corrispondenza livello di presentazione: Il livello di presentazione WebML è quello in cui si specificano disposizione e layout delle pagine componendole con le Unit definite nel livello di Navigazione. In WAE non c’è una corrispondenza precisa, ma tramite due costrutti stereotipati (Schermata e Sezioni di una schermata) si ottiene un livello di specifica simile. Questo, unito con prototipi grafici del risultato dell’applicazione, completa il quadro di specifica.

o Schermata: Rappresenta, nel modello di analisi, la schermata da presentare all’utente, si descrive la composizione con gli attributi che si visualizzeranno, i link e i form. Questo è simile alla composizione delle pagine WebML con le unit nel modello composizionale.

o Sezioni di una schermata: Si rappresentano le sezioni della pagina Web con la possibilità di specificare in quale sezione si includono i vari elementi. E’ simile alla modalità WebML del livello di presentazione in cui si inseriscono le unit nella griglia della pagina.

59

4

Processo di sviluppo con WebML

4.1 Introduzione

[4] l’utilizzo del WebML per la realizzazione di una applicazione, non

cambia radicalmente il processo per lo sviluppo del software tradizionalmente applicato. Gli aspetti più caratteristici sono sicuramente:

• Separazione tra struttura, navigazione e presentazione: questo aspetto è tipico delle specifiche WebML e separa nettamente le tre fasi;

• Uso di canoni di progettazione tipici di applicazioni Web incentrate sui dati.

Il processo di sviluppo è un processo a tutti gli effetti e come tale può essere visto come una trasformazione di input in output.

Processo WebML Requisiti di Business Vincoli del contesto d’uso Architettura di deployment Moduli dell’applicazione Documentazione Specifica Requisiti Specifiche di progetto

60

Lo schema precedente mostra gli input e gli output fondamentali del processo di sviluppo di una Applicazione Web incentrate sui dati. I vari elementi di input riportati in figura hanno il seguente significato:

• Requisiti di business: sono i requisiti che devono guidare lo sviluppo dell’applicazione. Questi requisiti sono in molti casi non tecnici ed esprimono gli obiettivi a lungo termine che lo sviluppo dell’applicazione deve permettere di raggiungere, definendo il valore aggiunto che l’applicazione deve produrre per i suoi utenti, e per l’organizzazione che ne richiede lo sviluppo. Esempi possono essere la caratterizzazione degli attori del sistema, le connessioni con moduli SW esistenti, aspetti di sicurezza ecc;

• Vincoli derivanti dal contesto d’uso: Sono le limitazioni che il contesto d’uso reale impone sul raggiungimento degli obiettivi dell’applicazione. Possono derivare sia da particolari configurazioni architetturali, dalla compatibilità con i sistemi preesistenti, da vincoli sulla disponibilità di tempo o risorse.

L’output del processo di sviluppo è l’implementazione del sistema, che consiste nell’architettura rilasciata, nei moduli dell’applicazione installati su tale architettura e nella documentazione di sistema:

• Architettura rilasciata: Comprende l’infrastruttura hardware, software e di rete in grado di assicurare il livello di servizio richiesto e il rispetto dei vincoli tecnici di progetto;

• Moduli dell’applicazione: sono le parti software sviluppate, cioè le sorgenti di dati, i template delle pagine dinamiche e i componenti che gestiscono la logica dell’applicazione e che forniscono le funzionalità richieste dai requisiti di business;

• Documentazione: Comprende l’insieme di prodotti non software sviluppati per documentare le scelte intraprese durante lo sviluppo dell’applicazione.

61

Documenti correlati