• Non ci sono risultati.

2. WEBML

4.3 Specifica dei requisiti

La specifica dei requisiti è l’attività in cui l’analista dell’applicazione elabora i requisiti di business che motivano lo sviluppo dell’applicazione e tutte le informazioni disponibili riguardo il contesto tecnico, organizzativo e direzionale in cui l’applicazione deve operare e traduce questi input nella specifica delle funzionalità che l’applicazione deve realizzare.

Occorre chiarire che il linguaggio WebML non è alternativo alla classica specifica UML tipica dell’ingegneria del software. Gli elementi WebML servono nella fase di Hypertext Design, tutte le fasi preliminari permangono e sono specificate nelle sezioni successive. WebML non è alternativo all’UML anche perché gli elementi WebML sono convertibili in elementi UML tramite mapping standard.

Questa fase si articola in due sotto-fasi:

• Raccolta dei requisiti; • Analisi dei requisiti. 4.3.1 Raccolta dei requisiti

Questa fase ha l’obiettivo di definire un’immagine globale del dominio applicativo e della soluzione che deve essere sviluppata, attraverso interviste rivolte agli attori principali del dominio applicativo e revisioni della documentazione disponibile. Alla fine della presente attività devono essere noti gli utenti principali che utilizzeranno l’applicazione, le funzionalità che dovranno essere supportate e i principali requisiti funzionali.

E’ un’attività alquanto destrutturata che deve essere guidata dall’esperienza dell’analista coinvolto nell’operazione.

Questa fase si può suddividere in più sottofasi, corrispondenti alle fasi della successiva analisi dei requisiti per la produzione di documenti semi- formali:

• Individuazione degli utenti: Il primo obiettivo consiste nell’individuare i possibili utenti e raggrupparli in base a obiettivi e

63

comportamenti omogenei.[WEB] Tipicamente ad ogni gruppo viene associata una site view;

• Requisiti funzionali: si riferiscono alle funzioni di base che l’applicazione deve fornire ai suoi utenti. L’obiettivo dell’attività di raccolta di tali requisiti è individuare i processi che devono essere supportati dall’applicazione. [WEB] Un esempio di processo può essere quello di gestione di contenuti in modo completo come inserimento, cancellazione e modifica. Un modo per raccogliere i requisiti funzionali consiste nell’identificare ed esaminare un certo numero di casi d’uso, che rappresentano le unità di interazione tra l’applicazione e uno o più utenti;

• Requisiti dei dati: descrivono gli oggetti informativi principali che l’applicazione deve gestire al fine di raggiungere i propri obiettivi.

[WEB] Questi elementi centrali informativi sono detti gli oggetti core, un esempio di oggetto core è il profilo di un utente, mentre la tabella di decodifica ad esso legata che specifica il sesso è un oggetto di supporto all’applicazione;

• Requisiti di personalizzazione: sono requisiti che specificano come fornire contenuti e servizi in diverse modalità, a seconda delle preferenze e dei diritti di accesso degli utenti dell’applicazione.[WEB] Nel caso più articolato, per una Applicazioni Web, nella fase di raccolta dei requisiti si devono individuare i gruppi di utenti rilevanti, i dati che caratterizzeranno il loro profilo e le porzioni di ipertesto che devono essere personalizzate;

• Requisiti dei dispositivi di accesso: Questa fase è legata alla tipologia di prodotto SW che si vuole realizzare.[WEB] Per una Applicazione Web è necessario stabilire, per esempio con quali browser web si può consentire l’accesso alla applicazione e in funzione di ciò progettare sistemi di controllo. Altri aspetti possono essere : velocità della rete, posizione geografica dei vari utenti ecc. In base a questi fattori si specificano delle politiche apposite;

• Requisiti non funzionali: Sono quei requisiti rilevanti per il raggiungimento degli obiettivi di business, ma non correlati in modo specifico alle funzionalità del sistema:

64

o Usabilità: facilità d’uso dell’applicazione, è un aspetto determinante per il successo di un applicazione web. [WEB] La peculiarità dell’acceso tramite browser va tenuto di conto, l’utente non dovrà trovarsi di fronte a qualcosa di troppo dissimile rispetto alle normali pagine web che si trovano in rete è per questo che l’usabilità di una Applicazione Web è molto importante e rappresenta un aspetto specificatamente diverso rispetto ad un SW di altro tipo;

o Prestazioni: efficienza con cui l’applicazione sfrutta le risorse a sua disposizione; [WEB] Nel contesto del Web, la risorsa maggiormente critica è il tempo. E’ un parametro da valutare sia in condizioni normali che di picco;

o Disponibilità: Frequenza tollerabile di errori e fallimenti, che influenza la percentuale di tempo che l’applicazione sarà disponibile per l’utente. [WEB] Per le Applicazioni Web si prevede l’uso di un server, per garantire più tollerabilità ai guasti occorrerà ricorrere a strutture ridondanti di server. Questo è un aspetto particolare di applicazioni Client Server, in quanto nella realizzazione di SW stand-alone non sarà un parametro da tenere in considerazione;

o Scalabilità: E’ la possibilità dell’applicazione di non deteriorare le prestazioni in funzione di un incremento di utenti del sistema. La scalabilità si ottiene clonando elementi dell’architettura in modo che più risorse (server, connessioni alla rete, apparecchiature di rete) possano supportare un traffico maggiore;

o Sicurezza: Requisito che copre più aspetti: log-in sicuri degli utenti e accesso a aree consentite, utilizzo di reti sicure, crittografia e metodi sicuri di pagamento elettronico e firma digitale ecc. [WEB] Sono requisiti particolarmente importanti se l’Applicazione Web dovrà essere esposta su Internet e a maggior ragione se si permetteranno transazioni economiche attraverso essa come pagamenti tramite carta di credito. Nel caso di trattamento di dati sensibili ci saranno requisiti di legge e il rischio di incorrere in sanzioni penali in caso di responsabilità colposa;

o Manutenibilità: Riguarda la facilità con cui è possibile porre rimedio agli errori dell’applicazione e adattare l’applicazione

65

web a nuovi requisiti o a variazioni dei requisiti iniziali.

[WEB] L’uso del linguaggio di specifica WebML e di uno

strumento CASE a supporto rende l’applicazione fortemente manutenibile. Web Ratio, che è il pacchetto CASE utilizzato, permette la gestione completa dell’applicazione e la rigenerazione di codice, struttura del DB e stili grafici in tempi minimi e con minime possibilità di errore.

Documenti correlati