5
CAPITOLO 1 : LA METODOLOGIA ROAD MAP
In questo capitolo viene presentata la metodologia road map che fornisce un approccio per
fasi alla progettazione di siti web. Ogni fase coinvolge specifiche professionalità atte alla
realizzazione di prototipi successivi del sito che vengono via via affinati fino al
raggiungimento del risultato finale.
Questa metodologia non considera in nessun modo le tecnologie che stanno alla base della
progettazione web; infatti risulta essere un modello totalmente indipendente da qualsiasi
strumento o linguaggio di programmazione utilizzato.
Vengono presentate dettagliatamente tutte le fasi, le sotto attività che le compongono e i
diversi tipi di prototipi del sito utilizzati.
Inoltre viene presentato il modello di qualità che vive parallelamente alla Road map, il quale
consente di tenere sotto controllo la qualità del sito dal punto di vista dell’utente durante la
progettazione.
1.1 Introduzione
Il Word Wide Web è partito intorno agli anni 90, percorrendo la strada fino ai giorni nostri,
come un grande contenitore di pagine statiche, spesso talmente noiose o puramente
pubblicitarie, che non raccoglievano un grande pubblico. Questo era il web 1.0 agli inizi della
sua evoluzione.
Pian piano il web, la rete, ha accresciuto il numero dei suoi utilizzatori, con l’implemento di
siti dinamici, mediante linguaggi sempre più complessi.
Con l’avvento di nuove forme di fruizione dei contenuti, pian piano l’attenzione per la rete è
cresciuta in tutto il mondo facendo aumentare in modo esponenziale il numero dei possessori
di personal computer e di utenti attivi. Ma si era partiti da un accesso alla rete condizionato
dalla scarsa velocità dei modem e i servizi forniti dai provider, dapprima a pagamento,
divennero poi gratuiti ma pieni di problematiche.
Il web dal semplice 1.0 con email e poco altro si è evoluto a quello che oggi noi usiamo, ed ha
al suo interno siti internet realizzati con linguaggi sempre più complessi come SQL,
piattaforme in ambiente Windows e MacOs, l’implementazione di banche dati che nella rete
ci servono per costruire siti sempre più ricchi nei contenuti e, soprattutto, navigabili poiché
mettono a nostra disposizione informazioni consultabili, con parole chiave, mediante motori
di ricerca come quelli forniti da Google, Yahoo etc.
E pian piano siamo arrivati al web 2.0, di cui usufruiamo oggi, con siti web implementati da
linguaggio Java, animati in Flash e siti sempre più complessi e ricchi di contenuto, quali le
enciclopedie (come le Wiki) o i blog creati dagli stessi utenti.
Applicazione Web, ovvero web-application, è l'espressione che in generale viene impiegata
per indicare tutte le applicazioni distribuite web-based.
6
Più precisamente è impiegata nell’ambito del software engineering, dove con il termine
webapp si descrive un'applicazione accessibile via web per mezzo di un network, come ad
esempio la rete Internet.
Questo modello applicativo è divenuto piuttosto popolare alla fine degli anni novanta, in
considerazione della possibilità per un client generico di accedere a funzioni applicative,
utilizzando come terminale normali web browser.
Infatti l'opportunità di aggiornare e far evolvere a costo ridotto il proprio applicativo, senza
essere costretti a distribuire numerosi aggiornamenti ai propri clienti attraverso supporti fisici,
ha reso la soluzione piuttosto popolare per molti produttori software.
È bene distinguere i siti web in statici e dinamici.
I siti web statici richiedono una persona con un livello di accesso privilegiato (a volte definita
webmaster) per "aggiornare" manualmente il contenuto. L'aggiornamento del contenuto
richiede che la persona visiti ed aggiorni manualmente l'HTML delle pagine che devono
cambiare. Generalmente, questo viene fatto modificando un insieme di file sul server web (il
computer che fa "girare" il sito web), in cui ogni file rappresenta una singola pagina.
Le modifiche all'aspetto di un sito web statico richiedono che il manutentore del sito visiti ed
aggiorni ogni file che compone il sito web. I siti web tipicamente possono crescere fino a
comprendere migliaia di file e per questo l'operazione può non essere un compito banale.
Ad esempio il manutentore responsabile del sito di annunci di automobili ha l'onere
aggiuntivo di tenere aggiornati anche gli annunci stessi. Se ogni pagina nel sito web
rappresenta un annuncio relativo ad una particolare automobile, il webmaster ha la necessità
di eliminare le pagine che compongono l'annuncio scaduto e di creare le pagine per le nuove
inserzioni. Quindi ha anche l'esigenza che nessun collegamento su altre pagine punti alle
pagine rimosse.
La quantità di lavoro da compiere diventa molta in un tempo davvero breve. Il manutentore
del sito può anche, comprensibilmente, commettere errori e dimenticarsi di aggiornare o
rimuovere pagine importanti.
Da qui l'esigenza di sostituire le operazioni ripetitive e manuali con soluzioni applicative
automatizzate, che operino queste funzioni in modo più efficiente, rapido e sicuro.
In un sito web generato dinamicamente (detto in questo caso sito web dinamico) al
manutentore non è richiesto di visitare ogni pagina per eseguire l'aggiornamento del contenuto
o dello stile. Se il nostro ipotetico manutentore del sito degli annunci di automobili decide di
costruire un'applicazione web per gestire questo sistema, potrebbe conservare una lista di
"nuovi annunci" slegata dalla struttura HTML (memorizzandola ad esempio in una generica
base di dati). Sarebbe quindi in grado di istruire la propria applicazione web perché, quando
un utente visita il sito, questa interroghi la base di dati e generi il codice HTML
corrispondente ad uno di questi "annunci recenti" ovvero al loro indice.
1.2 Introduzione alla road map
La complessità dei siti web dinamici è cresciuta parallelamente alla crescita e allo sviluppo
del Web. È sempre più complesso quindi realizzare siti web di qualità.
Nasce così l’esigenza per chi progetta e sviluppa siti web di poter seguire una linea guida fatta
di step successivi che collochi le varie attività da svolgere lungo un percorso ben strutturato
che parta dalla raccolta dei requisiti fino alla pubblicazione del sito.
Con la Figura 1.2.1 si introducono le otto attività nonché le figure professionali coinvolte in
ogni fase logica che costituiscono la road map proposta da Roberto Polillo, docente di
7
Informatica presso l’Università degli Studi di Milano Bicocca, nel libro intitolato Plasmare il
Web.
Figura 1.2.1
Questa struttura può lasciar intendere che la road map sia un metodo sequenziale, nel quale
ogni passaggio è successivo al precedente e comincia solo quando quest’ultima è conclusa. In
effetti inizialmente era proprio così quando l’ingegneria del software era proprio agli esordi:
si pensava che un processo ordinato condotto da professionisti del mestiere non dovesse mai
tornare indietro. Eppure ci si accorse che anche in un progetto ben gestito non si procedeva in
maniera sempre lineare e c’era la necessità di tornare indietro sui propri passi per poter
modificare decisioni già prese. Le cause principali di questo erano la continua richiesta di
variazioni da parte del committente che richiedevano modifiche a tutti i livelli o anche
difficoltà tecniche inattese riscontrate dai progettisti.
Ovviamente tutte queste modifiche si andavano a ripercuotere anche sul budget economico
inizialmente assegnato.
Nacque così l’esigenza di avvalersi di un modello iterativo: si passò ad un metodo più
flessibile, nel quale tutti i passi vengono eseguiti più volte. Ad ogni iterazione vengono
apportate delle aggiunte al prodotto realizzato fino a quel punto ed è possibile correggere il
software già da un primo momento, senza dover aspettare che il lavoro sia terminato.
Ovviamente nei vari cicli le attività avranno pesi diversi: per esempio al primo giro ci si
concentrerà di più all’individuazione dei requisiti; tale attività andrà poi scomparendo con
l’aumentare delle iterazioni. Come si può notare dalla Figura 1.2.2 ad ogni iterazione ci si
concentra più su una singola fase ma tutte le altre vengono comunque eseguite e portate avanti
in parallelo.
8
Figura 1.2.2
Con questa metodologia inoltre, si definiscono una serie di prototipi del lavoro che viene
portato avanti e sviluppato ad ogni iterazione. Ad ogni fase corrisponderà dunque un modello
approssimato o parziale del sistema, realizzato allo scopo di valutarne le caratteristiche che
via via si avvicinerà al sistema finale: si avrà così la possibilità di far interagire i futuri
utilizzatori con delle versioni approssimate del sistema, per sperimentarne l’uso e verificarne
pregi e difetti. Un riscontro pratico di utilizzo aiuta meglio a capire quali siano i reali requisiti
di progetto che molto spesso sono espressi in forma vaga.
La natura di un prototipo può essere varia. Il più delle volte non occorre che sia un modello
funzionante, ma solo un modello finto (mock-up).
Le soluzioni tecniche per realizzare prototipi sono varie: generalmente si utilizzano
generatori di codice HTML, strumenti per la costruzione di diagrammi e strumenti per
realizzare presentazioni.
I prototipi si possono classificare in molti modi. Una semplice classificazione può essere la
seguente:
• prototipi ad alta o bassa fedelt . Quelli di alta fedeltà (hi-fi) sono creati con materiali
più costosi e “assomigliano” quasi completamente al progetto finale. Quelli di bassa
fedeltà (lo-fi)sono modelli che assomigliano molto poco al prodotto finale, hanno un
costo basso e sono facili da realizzare;
• prototipi usa e getta o incrementali. Tale classificazione fa riferimento alla durata
della vita del prototipo. Il prototipo usa e getta è un modello che non può essere
riutilizzato in seguito al contrario di quelli incrementali che vengono ampliati, fatti
evolvere e che entreranno far parte del sistema finale. Solitamente il prototipo usa e
getta corrisponde ad una approssimazione di bassa fedeltà;
• prototipi orizzontali o verticali. Con il prototipo orizzontale usi sviluppa un modello
con una grande varietà di funzionalità realizzate però non con poco dettaglio. Con
9
quello verticale si sviluppa invece un insieme limitato di funzionalità in modo più
dettagliato.
I prototipi usati nella road map sono:
• prototipo di navigazione;
• prototipo di comunicazione;
• prototipo funzionale;
• prototipo editoriale.
Ogni prototipo è prodotto come output di una determinata attività così come il documento di
specifica dei requisiti e il piano di qualità.
Il primo, il prototipo di navigazione è di tipo usa e getta, di bassa fedeltà e orizzontale. Gli
altri tre sono incrementali ed alta fedeltà in quanto vengono prodotti e sviluppati ad ogni
passaggio.
Nella Figura 1.2.3 sono illustrate le attività della road map con l’aggiunta di una nuova e cioè
l Avviamento del progetto. In questa fase viene definita l’organizzazione del progetto.
Figura 1.2.3
1.3 Analisi delle fasi
La road map inizia con la Definizione dei Requisiti. In questa fase attraverso interviste e
questionari rivolti a utenti che usufruiranno dell’applicativo,il committente, con l’aiuto di
consulenti specializzati, individuerà gli obiettivi che si vogliono raggiungere con il sito
specificando il contesto d’uso, i vincoli da rispettare, i servizi di cui gli utenti dovranno
usufruire e l’infrastruttura tecnologica che si dovrà usare. Si avrà così il documento di
specifica dei requisiti, ancora però abbastanza generale.
Figura 1.3.1
10
Come ben si può capire questa è una fase delicata che, se ben condotta, può contribuire più di
ogni altra attività ad un progetto di qualità.
Sono tre le sottofasi fondamentali:
• esplorazione: vengono raccolte più informazioni possibili sull’azienda e i sui suoi
obiettivi. Le informazioni sono reperite dai committenti stessi, oppure da interviste
con gli stakeholders del sito (chiunque abbia a che fare in qualche modo con il sito)
oppure ancora dall’analisi di siti concorrenti;
• organizzazione: tutti i dati raccolti devono essere organizzati dopo un riesame degli
stessi e si crea così un primo documento dei requisiti;
• revisione e approvazione: il documento dei requisiti viene presentato al committente
che, se soddisfatto, lo approva.
Nella seconda fase, l’Avviamento del progetto, viene programmato l’intero svolgimento del
progetto pianificandone le attività e le risorse. Si nominano tutte le figure professionali che
prendono parte al progetto.
Figura 1.3.2
In dettaglio:
• formulazione dell offerta e negoziazione del contratto: nel caso il sito sia
commissionato a un fornitore esterno;
• pianificazione: viene redatto il piano di qualità, un documento che contiene tutte le
specifiche sulla gestione e organizzazione dell’intero progetto;
• organizzazione del gruppo di progetto: vengono assegnati i ruoli professionali
all’interno del team di lavoro.
Si passa così alla fase di Web Design, dove comincia il lavoro di progettazione nonché il
lavoro del web designer che va a costruire la struttura informatica e i meccanismi di
navigazione del sito definendo le “gabbia visive” delle varie pagine.
Alla fine della fase viene rilasciato il prototipo di navigazione, un documento che permette al
committente di visionare come un utente visualizzerà i contenuti del sito navigando nelle
varie pagine.