Pizzeria SGS online - UNIVERSITA' DEGLI STUDI DI CATANIA CORSO DI LAUREA IN INFORMATICA APPLICATA ANNO ACCADEMICO 2008/09 INGEGNERIA DEL SOFTWARE ...

Pagina creata da Giuseppe Grandi
 
CONTINUA A LEGGERE
Pizzeria SGS online - UNIVERSITA' DEGLI STUDI DI CATANIA CORSO DI LAUREA IN INFORMATICA APPLICATA ANNO ACCADEMICO 2008/09 INGEGNERIA DEL SOFTWARE ...
UNIVERSITA’ DEGLI STUDI DI CATANIA
CORSO DI LAUREA IN INFORMATICA APPLICATA
        ANNO ACCADEMICO 2008/09
 INGEGNERIA DEL SOFTWARE – Prof. G. Scollo

                Simone Agosta
           Graziano Di Raimondo
                Simone Susino

       Pizzeria SGS online

      Progetto di ingegneria del software

                       1
Pizzeria SGS online - UNIVERSITA' DEGLI STUDI DI CATANIA CORSO DI LAUREA IN INFORMATICA APPLICATA ANNO ACCADEMICO 2008/09 INGEGNERIA DEL SOFTWARE ...
INDICE

Introduzione                                                       5

1. La metodologia di progettazione                                 7
1.1 Rassegna dei modelli di architettura del processo produttivo   7
1.2 Dalla qualità alla scelta dell'architettura di processo        9

2. Studio di fattibilità                                           13
2.1 Definizione degli obiettivi                                    13
2.2 Strategie e politiche di gestione                              14
2.3 Identificazione di risorse e vincoli operativi                 15
2.4 Stima di costi e tempi                                         16
2.4.1.Tempi di realizzazione                                       16
2.4.2.Costi di produzione                                          17

3. Piano operativo                                                 19
3.1 Norme comuni di lavoro                                         19
3.2 Scelte operative                                               20
3.3 Pianificazione delle attività                                  20
3.4 Allocazione di risorse                                         23
3.5 Pianificazione di costi e tempi di produzione                  23
3.6 Pianificazione dell'organizzazione del gruppo di lavoro        27
3.6.1. Struttura organizzativa                                     27
3.6.2. Definizione dei ruoli                                       27

                                             2
4. Analisi dei rischi                      28
4.1 Valutazione dei rischi                 28
4.1.1.Analisi e gestione dei rischi        28

5. Analisi e specifica dei requisiti       33
5.1 Determinazione dei requisiti           33
5.2 Analisi dei requisiti                  36
5.3 Negoziazione e validazione             38

6. Studio dell'usabilità                   39
6.1 Progettazione dell'usabilità           39
6.2 Valutazione dell'usabilità             42

7. Unified Modeling Language – UML         45
7.1 Perché UML                             45
7.2 Notazioni generali                     48
7.3 UML 2.0                                48
7.4 Diagrammi UML (versioni 1.x)           50
7.5 Diagrammi UML (versioni 2.x)           50
7.6 Aspetti della modellazione             51
7.7 Struttura di un modello UML            52
7.8 Qualità di un modello                  53
7.9 MDA – model driven architecture        53
7.10 Notazioni e meta-modelli              55
7.11 Relazioni tra i diagrammi             56
7.12 Integrare UML nel processo            57

                                       3
8. Diagrammi UML                        59
8.1 Diagrammi strutturali               59
8.1.1 Diagramma delle classi            59
8.2 Diagrammi di comportamento          61
8.2.1 Diagramma delle attività          61
8.3 Diagrammi d’ interazione            65
8.3.1 Diagramma di sequenza             66
8.3.2 Diagramma di collaborazione       70
8.4 Diagrammi d’implementazione         71
8.4.1 Diagramma dei componenti          71

9 Riferimenti                           73

                                    4
INTRODUZIONE

Nome progetto
Pizzeria SGS online

Idea di progetto
Si intende progettare un sito web di una pizzeria (brick and click) nel quale
un utente potrà consultare il menu, prenotare per asporto a domicilio,
prenotare tavoli, prenotare la sala per eventi speciali oltre alle classiche
informazioni del tipo: chi siamo, dove siamo, personale, contatti, etc... Il
sito web prevede la registrazio ne dell'utente, necessaria per effettuare
qualunque tipo di prenotazione e per poter postare messaggi sul forum.
L'idea avrà per l'azienda i seguenti vantaggi:
   segmentazione della clientela in base ai dati forniti in fase di
    registrazione e agli acquisti effettuati.
   tenere traccia del passato per effettuare stime sul futuro.
   utilizzare le conversazioni, i consigli, e i feedback dei messaggi degli
    utenti postati sul forum per migliorarsi nel futuro.

Obiettivi formativi
Fornire un analisi dei seguenti punti:
     metodologia di progettazione
     studio di fattibilità e piano operativo
     analisi dei rischi
     analisi e specifica dei requisiti
     studio dell'usabilità
     Diagrammi UML
                                         5
Componenti del gruppo:
Simone Agosta (153), Simone Susino (138), Graziano Di Raimondo (168)

                                  6
1.LA METODOLOGIA DI PROGETTAZIONE
             DEL SOFTWARE
           (Graziano Di Raimondo)

1.1 RASSEGNA DEI MODELLI DI ARCHITETTURA DEL
             PROCESSO PRODUTTIVO

L’ obiettivo di questa fase è di progettare l’architettura del processo
produttivo per un prodotto per il quale sono stati determinati gli aspetti di
qualità indicati nella Introduzione.
Data l’eterogeneità dei prodotti software e delle aziende che li realizzano
non esiste un unico modello di sviluppo del software adeguato a tutte le
situazioni pertanto sorge la necessità di progettare un processo di sviluppo
che sia consono alle caratteristiche di qualità desiderate del prodotto e
dell’utente nonché alle caratteristiche dell’azienda di produzione.
La qualità del prodotto può essere raggiunta solo attraverso determinate
qualità corrispondenti del processo: non si può aggiungere qualità ad un
prodotto finito se non progettando la qualità fin dalle prime fasi del
processo.
Ciò può essere ottenuto valutando i vantaggi e gli svantaggi delle
principali metodologie di processo detto anche ciclo di vita del software.
Qualsiasi ciclo di vita di un prodotto serio conterrà sicuramente almeno
tutte le fasi previste nel Modello a cascata. Ovviamente le fasi non hanno
tutte la stessa complessità e importanza nei vari prodotti ed ambiti e non
sono in relazione tra loro sempre negli stessi modi, tuttavia presentando
obiettivi presenti in tutti i prodotti. Le fasi sono:
 lo studio di fattibilità: dato un problema Utente, avanza ipotesi di
    realizzabilità o di soluzioni alternative (es.outsorcing);
 l’analisi dei requisiti: produce la specifica dei requisiti, la descrizione
    univoca e definita delle esigenze dell’Utente;
 la modellazione: valuta e definisce l’architettura del sistema;
 la progettazione: realizza lo schema del progetto;

                                      7
 lo sviluppo e collaudo delle unità: produce e testa i singoli moduli;
 l’integrazione e collaudo del sistema: genera il prodotto completo e lo
    testa;
 l’installazione: consegna il prodotto all’Utente e mette in funzione;
 la manutenzione: corregge gli errori e adatta il prodotto alle mutate
    esigenze.
L’installazione prevede la convalida W3C, l’acquisto del dominio e
caricamento del sito nel dominio.
Il Modello a cascata presenta due svantaggi:
ogni fase è terminata completamente prima di passare a quella successiva;
l’utente viene coinvolto solo all’inizio e alla fine del processo.

Altri modelli che superano i limiti del modello a cascata sono:
il modello incrementale, usato particolarmente per prodotti complessi con
molte funzionalità indipendenti tra loro, prevede la produzione e consegna
di sottosistemi parziali del prodotto per anticipare il feedback dell'Utente e
le eventuali modifiche; i sottosistemi successivi incrementano così le
funzionalità del sistema; può essere anche usato in caso di presenza di
requisiti vaghi iniziando lo sviluppo da quelli più definiti e precisi;
2) il modello a prototipazione rapida, usato nei casi in cui l'incertezza dei
requisiti è rilevante per cui si consegna un prototipo con o senza
funzionalità contenente solo l'interfaccia utente;si inizia lo sviluppo dopo
la validazione utente eventualmente tenendo il prototipo se questo è stato
prodotto con lo stesso linguaggio usato per l'implementazione;
3) modelli evolutivi, usati nei casi di:
      a) alta velocità di cambiamento (evoluzione) nell'uso del prodotto;
      b) progettazione partecipativa;
      c) sviluppo incrementale con prototipazione rapida;
      d) alta velocità di cambiamento (evoluzione) delle tecnologie usate
      nel prodotto che pertanto viene sviluppato per componenti, ovvero
      tramite interfacce, modularità e architettura a strati (produzione per
      componenti);
4) modelli trasformazionali, nei quali la definizione ed il raffinamento
avviene con metodi formali che ad ogni livello di astrazione raggiunto
applicano un processo (anche automatico) di verifica di correttezza
matematico-logica; garantiscono la pressoché totale assenza di errori a
                                      8
partire dalla specifica dei requisiti ma non garantiscono la completezza
lasciando aspetti del sistema indefiniti;
5) il Modello a spirale, proposto da Boehm nel 1988, che prevede la
ripetizione continua di quattro fasi:
      a) la validazione Utente, funge da cerniera con l'iterazione
      successiva;
      b) la pianificazione del processo e delle risorse;
      c) il controllo del processo – analisi dei rischi;
      d) lo sviluppo e collaudo che contiene quasi tutte le fasi del modello
      a cascata e che a seguito di aggiornamenti nella pianificazione e/o
      nell'analisi dei rischi può adottare un modello diverso.

            1.2 DALLA QUALITA' ALLA SCELTA
             DELL'ARCHITETTURA DI PROCESSO

Per qualità del software si intende la misura in cui un prodotto software
soddisfa un certo numero di aspettative rispetto sia al suo funzionamento
sia alla sua struttura interna. Gran parte della ricerca nel campo
dell'ingegneria del software è dedicata, direttamente o indirettamente, al
tema della qualità.
Il requisito della qualità è di portata talmente generale che la sua
formalizzazione non è possibile né desiderabile. Il che cosa della qualità
meglio si presta a essere mostrato piuttosto che definito.
Requisiti generali di qualità sono simili a principi estetici, suscettibili di
valutazione, giudizio e gusto personale, anche quando ci si limiti ad uno
specifico campo di interesse; ne è un esempio la caratterizzazione di
principi di qualità in architettura dei calcolatori proposta da (Blaauw et
al.1997). Appare dunque molto inverosimile che si possa mai raggiungere
un consenso universale sulla definizione di principi generali di qualità.
La qualità di processi produttivi e prodotti è naturalmente oggetto di
normativa tecnica internazionale. L'ISO ( International Organization for
Standardization ), ha da tempo pubblicato una serie di standard sulla
qualità, la serie ISO 9000 (Peach 1997), su cui si basano procedure di
certificazione di qualità di processi produttivi e servizi.

                                      9
Il documento ISO 9126 (ISO 1991), invece, concerne specificamente la
qualità di prodotti software, ed il suo contributo più rilevante in questa
sede consiste nella definizione di alcune caratteristiche generali di qualità
di tali prodotti, raggruppandole in sei categorie riguardanti i requisiti di
Funzionalità, Affidabilità, Usabilità, Efficienza, Manutenibilità e
Portabilità.
Gli obiettivi di qualità del prodotto ci danno le principali indicazioni
riguardo le caratteristiche del Modello di sviluppo. L'Appropriatezza,
l'Accuratezza, la Sicurezza, l'Usabilità e l'Efficienza sono proprietà la cui
verifica chiama spesso in causa l'Utente per cui è più adeguato il modello a
spirale.
L'Affidabilità e la Manutenibilità incidono nella Struttura produttiva in
quanto una efficiente risoluzione nella gestio ne di tali obiettivi può
semplificare notevolmente la futura evoluzione adattativa e perfettiva del
prodotto. A tale scopo uno sviluppo per componenti garantisce i migliori
risultati a scapito di un maggiore lavoro iniziale.

Data la forte evolutività dei tipici sistemi software e siti Web e considerate
le valutazioni sui modelli di cui sopra, si propende per l’adozione del
Modello a spirale in cui la Validazione utente pone l'Utente al centro del
processo e la Pianificazione delle risorse si occupa di ottimizzare le risorse
e di minimizzare i rischi.
Solo nella prima iterazione del ciclo la Validazione va intesa come
definizione delle esigenze degli utenti mentre nelle successive iterazioni
l'utente effettua il controllo e la convalida del prodotto rispetto alle proprie
esigenze. Questo Modello può essere adeguato successivamente alla
particolare situazione operativa.
Il Modello a Spirale prevede inoltre una fase di Analisi dei rischi,
susseguente alla Pianificazione, che realizza il controllo del processo con
l'obiettivo di ridurre la probabilità di insuccesso e di ottimizzare risorse
umane e costi, attraverso una articolata attività di identificazione,
pianificazione, rilevamento e gestione dei rischi.
L'articolazione delle informazioni e delle decisioni prese nelle prime 3 fasi
consentono di scegliere per la 4a fase il modello di sviluppo e collaudo più
adeguato alle condizioni ambientali ed ai vincoli dell'Utente e dell'Azienda
produttrice.

                                       10
Il modello a spirale è un modello del ciclo di vita del software che
consente di rappresentare i diversi cicli di vita per cui può essere visto
come un metamodello.
Esso si concentra sull’identificazione e l’eliminazione dei problemi ad alto
rischio tralasciando quelli banali. La caratteristica principale del modello è
quella di essere ciclico e non lineare, ogni ciclo di spirale si compone di
quattro fasi, il raggio rappresenta il costo accumulato e la dimensione
angolare il progresso nel processo. La prima fase identifica gli obiettivi e
le alternative, poi le alternative si valutano nella seconda fase in cui
vengono evidenziate le potenziali aree di rischio. La terza fase consiste
nello sviluppo e nella verifica del prodotto, infine la quarta fase consiste
nella revisione dei risultati delle tre fasi precedenti.
Le varie fasi del modello sono cosi caratterizzate:
• iterazione
       una visione iterativa, senza fine, del ciclo di vita, dove ogni
       iterazione attraversa una sequenza di fasi che si ripete all'iterazione
       successiva;
• contrazione delle fasi di sviluppo
       la contrazione di quasi tutte le fasi tipiche del ciclo di vita a cascata,
       per ciascuna iterazione, in un'unica fase (la IV) di questo modello;
• interazione con gli utenti
       l'interazione con gli utenti, nella fase I, o di validazione, ad ogni
       iterazione: questa fase funge da cerniera fra iterazioni successive;
• metamodello

                                       11
la possibilità di fungere da meta-modello del processo di sviluppo, in
quanto la fase II, o di pianificazione, che ha per oggetto la
determinazione di alternative, obiettivi e vincoli per l'iterazione, può
includere fra le alternative più modelli di processo per la fase IV, e la
fase III scegliere fra questi il modello che risulta più conveniente, a
seguito di una analisi dei rischi. Il modello di sviluppo può dunque
cambiare da una iterazione all'altra.

                                12
2. STUDIO DI FATTIBILITA'
                     (Simone Agosta)

Per studio di fattibilità si intende lo svolgimento di un'analisi atta a
valutare le scelta aziendali da prendere. In particolare, questa fase ha come
scopo quello di determinare la convenienza o meno di sviluppare l'idea di
progetto scaturita dalle esigenze degli utenti in un prodotto realizzabile. Le
decisioni vengono prese dopo un'analisi di costi e benefici e degli
strumenti posseduti dall'azienda.
In questa fase, poiché si hanno a disposizione informazioni scarne e
superficiali, non si possono effettuare valutazioni sicure di successo.
Infatti, molte volte le decisioni prese durante l'analisi di fattibilità e i
risultati previsti si discostano di gran lunga da quello che si verifica
durante lo sviluppo del progetto.
Bisogna tenere presente che la fattibilità può essere studiata sotto diversi
punti di vista:
Fattibilità Tecnica: vengono verificate se le caratteristiche tecniche
dell'idea di progetto sono realizzabili;
Fattibilità Economica: si determinano i costi da sostenere e le possibilità
finanziarie di copertura possedute dall'azienda;
Fattibilità Temporale: vengono valutati i tempi necessari allo sviluppo
dell'idea di progetto e se questi rientrano nelle esigenze indicate dagli
utenti e dal mercato;
Fattibilità Organizzativa: viene valutata l'organizzazione aziendale
esistente e le eventuali misure da prendere.

             2.1 DEFINIZIONE DEGLI OBIETTIVI

Gli obiettivi che si intendono raggiungere dallo sviluppo di questo progetto
sono:

                                      13
– realizzazione di un sito web per una pizzeria (che con semplici
modifiche può essere applicato a qualunque azienda di ristorazione di tipo
brick and click) nel quale un utente potrà consultare il menu, prenotare per
asporto a domicilio, prenotare tavoli, prenotare la sala per eventi speciali
oltre alle classiche informazioni del tipo: chi siamo, dove siamo,
personale, contatti, etc...All’interno del sito sarà presente anche un forum.

– il software deve rispondere ai requisiti richiesti dagli standard
internazionali (w3c);

– il prodotto deve soddisfare le esigenze del mercato, quindi essere
adattabile ad ogni richiesta o tecnologia innovativa;

– il software deve risultare affidabile e deve garantire livelli di
performance prefissati, in date condizioni e per un dato periodo di tempo;

– rendere il processo di produzione più efficace minimizzando i costi e i
tempi;

– aumentare e valorizzare le capacità dell'impresa usufruente al fine di
determinare una crescita sia in termini finanziari che di prestigio aziendale.

        2.2 STRATEGIE E POLITICHE DI GESTIONE

Per lo sviluppo di questo progetto si prevede la classificazione del
personale in tre aree:

1. Area di sviluppo: ha il compito di progettare, programmare e analizzare
il software;

2. Area di management: il personale che occupa quest'area ha il ruolo di
coordinare i processi aziendali in relazione agli obiettivi posti;

3. Area di marketing: necessaria al fine di promuovere il sito web.

                                      14
L'area di sviluppo presenterà un'ulteriore suddivisione in relazione alla
modularità del progetto e alla specializzazione dei singoli dipendenti.
Durante la produzione del software sono previsti incontri tra sviluppatori e
destinatario del sito in modo tale da valutare lo stato del prodotto e la sua
compatibilità con i requisiti indicati. La centralità e il ruolo attivo svolto
dall'utente sono dei fattori che fanno cadere sul modello a spirale la scelta
dell'Architettura del processo produttivo da adottare.

      2.3 IDENTIFICAZIONE DI RISORSE E VINCOLI
                     OPERATIVI

In questa fase è possibile effettuare soltanto una valutazione preliminare
ma utile delle risorse che l'azienda ha bisogno per lo svolgimento del
progetto secondo i termini stabiliti.
Le principali risorse umane richieste sono:

1 programmatore con ottima conoscenza ed esperienza in gestione di basi
dati e programmazione web che svolge anche il ruolo di coordinatore dei
processi di produzione.
1 web e graphic designer con buone conoscenze di programmazione web.
1 esperto in comunicazione e marketing con buone conoscenze di
programmazione web.
1 rappresentante dell’azienda interessata ad usufruire del software.

Le funzionalità non sono esclusive, in quanto un dipendente può assumere
diversi ruoli, purché non si vada in contrasto con i principi di buona
produzione.
Oltre alle risorse umane sono necessari beni materiali come: un locale in
cui svolgere l'attività, postazioni hardware, software e ambienti di sviluppo
per la realizzazione del progetto.
Per quanto riguarda i costi concernenti la sede di lavoro,le componenti
hardware e software necessari per lo sviluppo del sito web sono a carico
dall'azienda produttrice.

                                      15
I vincoli operativi che sono presenti nell'organizzazione sono di natura
temporale (il prodotto deve essere sviluppato nel più breve tempo
possibile) ed economica (l'azienda deve cercare di contenere i costi per
poter offrire un buon prezzo all’azienda destinataria); quelli esterni
all'organizzazione sono rappresentati, invece, dalla necessità di
aggiornamento manutenzione del prodotto.

                  2.4 STIMA DI COSTI E TEMPI

La stima di costi e tempi ha come scopo quello di dare un'idea di massima
sull’ammontare dei costi in termini monetari e temporali per la
realizzazione del progetto. Poiché, come detto prima, le informazioni a
disposizione dell'azienda sono limitate non è possibile dare una
valutazione precisa dei costi di produzione e dei tempi di realizzazione.
Effettuare una stima di questi due fattori aiuta però a capire quale sarà lo
sforzo complessivo che dovrà sostenere l'organizzazione aziendale.

                     2.4.1 Tempi di realizzazione

Per la realizzazione del prodotto nella forma standard è previsto un tempo
di circa tre mesi, comprensivo di analisi e collaudo. Tale stima, però, può
subire variazioni in relazione alle personalizzazioni richieste dagli utenti.
Il calcolo del tempo di realizzazione previsto è stato effettuato utilizzando
un noto modello di stima dei costi del software, il COCOMO
(COnstructive COst MOdel).
Questo strumento mette a disposizione tre livelli di dettaglio, e poiché in
questa fase di studio di fattibilità non sono disponibili informazioni sulle
caratteristiche operative e su altri fattori di costo (cost drivers) è stato
operata un'analisi con il modello basilare riferito ai progetti Organici
(Organic Mode). Tali progetti hanno dimensioni ridotte in cui piccoli team
con buone esperienze lavorano ad un insieme di rigidi requisiti.
Il modello basilare ha come scopo quello di dare una stima dello sforzo
totale (in mesi persona) e del tempo di sviluppo, utilizzando come unico
parametro la previsione delle dimensioni del prodotto finale. Le stime
                                     16
prodotte hanno una percentuale di scostamento inferiore al 20% nel 25%
dei casi.
Le due formule utilizzate da questo modello sono le seguenti:

Sforzo E = a ∗ (N)b

Tempo di sviluppo D = c ∗ (E)d

dove, E (effort) indica la quantità di lavoro (espressa in Mesi/Persona), D
(duration) rappresenta il tempo di sviluppo (espresso in Mesi) e N
rappresenta il numero di linee di codice previste (espresse in migliaia).
Per il calcolo di questi indici sono stati adoperati i coefficienti standard del
modello Basic COCOMO che hanno i seguenti valori:

a=2,4 b=1,05 c=2,5 d=0,38

Considerando una stima approssimativa di 3000 righe di codice sono stati
registrati i seguenti risultati:

E = 2,4 ∗ 31,05 = 7,6 mesi/persona
D = 2,5 * 7,60,38 = 5,4 mesi

Dai precedenti valori è possibile determinare il numero minimo di persone
richieste per sviluppare il progetto:

P = E/D = 7,6/5,4 = 1,4 persone

Il che vuol dire che con tre persone il progetto potrà essere portato a
termine in meno di tre mesi.

                        2.4.2 Costi di produzione

La stima dei costi di produzione tiene conto delle spese che l'azienda dovrà
sostenere durante il periodo di realizzazione del progetto. I valori sono

                                       17
calcolati tenendo conto del fatto che l’azienda effettua altri lavori nel
periodo di riferimento e che quindi i costi vengono ripartiti tra tutti i lavori.
Inoltre c’è da considerare il fatto che molti beni (come ad esempio un
personal computer) possono essere utilizzati per tanti anni e che quindi
potranno essere utilizzati per tanti altri lavori futuri.
L’ azienda produttrice offre un servizio di hosting del sito nel proprio
server, ed essa si occupa dell’acquisto del dominio e dell’avviamento del
sito internet.
È stato ipotizzato una quota di affitto locale di € 100,00 mensili, una quota
per l’utilizzo di tre pc di 90 euro mensili, una quota per l’utilizzo del
server di 60 euro annui, una quota per l’utilizzo di software di 20 euro
mensili, canone annuale dominio di 40 euro, costi di connessione internet
di € 10,00 al mese, spese per energia elettrica pari a € 15,00 al mese e
stipendi valutati 200 euro al mese per ognuno dei tre lavoratori.
Calcolando l'ammontare delle spese totali per un periodo di 3 mesi si
ottiene una stima dei costi durante il periodo di produzione pari a € 2.485.
In tal caso si può pensare di vendere il prodotto finito a 3000 € . Dal
secondo anno in poi il cliente dovrà pagare 150 euro annui per l’affitto del
server e il pagamento del canone riguardante il dominio.

                                       18
3. PIANO OPERATIVO
                        (Simone Agosta)

Il piano operativo è un documento stilato dall'azienda al fine di definire le
attività da svolgere e determinare in modo sicuro le scadenze temporali, i
costi e le risorse necessarie.

                3.1 NORME COMUNI DI LAVORO

Le norme di lavoro adottate dall'azienda per questo progetto sono
differenti rispetto a quelle fissate dagli standard dell'organizzazione stessa.
Per questo progetto si è scelto di dare una particolare rilevanza
all'interazione tra l'azienda e gli utenti in modo tale da produrre un
software che rispecchi le esigenze del mercato. In questo caso l’utente che
testerà il software è il destinatario del software stesso ovvero il
proprietario dell’azienda usufruitrice.
L'organizzazione interna è formata da tre e unici dipendenti. I tre
dipendenti sono programmatori e si occupano dell'implementazione del
software. I tre hanno capacità distinte l’uno dall’altro e ognuno è esperto in
un determinato ambito.
Il programmatore A è esperto di programmazione Web e gestione di
Database e dovrà supportare e coordinare gli altri due programmatori, i
quali possiedono competenze medie in materia.
Il programmatore B è esperto in Web e graphic design e sarà
principalmente lui ad occuparsi della parte grafica del sito Web.
Il programmatore C è un esperto in marketing ed è suo compito dettare
regole di buona comunicazione al fine di dare una adeguata visibilità al
sito Web.
Ogni settimana è prevista una riunione tra i collaboratori del progetto per
valutare lo stato di avanzamento del prodotto, allargando la partecipazione
all’utente che testerà il sito Web e comunicherà il suo parere sul lavoro
svolto.

                                      19
Ogni giorno ciascun componente dovrà compilare un modulo con la
descrizione dell'attività svolta ed annotare eventuali problematiche sorte.
A lavoro terminato l’azienda acquisterà un dominio riservato al sito web, il
quale verrà archiviato nella memoria del server.

                        3.2 SCELTE OPERATIVE

L'azienda ha deciso di sviluppare il progetto su sistema operativo
Windows poiché garantisce maggiore affidabilità, robustezza,i nnovatività;
la fase        di testing verrà effettuata su               diversi browser
(IE,Firefox,Safari,Chrome) per determinare la portabilità del prodotto.
Per la programmazione Web in statico e dinamico, e per la gestione del
database viene utilizzato Microsoft expression Web 2.
Tra gli altri strumenti operativi scelti sono presenti anche:
– Microsoft Office per la stesura di documentazione e guide utente;
– COCOMO per la stima dei costi e dei tempi di produzione;
– ARGOUML, un software open-source che consente la modellazione del
software con i diagrammi UML e con il linguaggio OCL che produce
codice in Java, C++, PHP; lo strumento è prodotto dalla comunità
www.tigris.org la cui missione è proprio lo sviluppo di strumenti per
l'ingegneria del software.

            3.3 PIANIFICAZIONE DELLE ATTIVITA'

Con la fase di pianificazione delle attività l'azienda determina i vincoli di
priorità nello svolgimento del progetto e gli eventuali legami temporali per
l'uso di risorse. I principali tipi di legame di precedenza che esistono sono i
seguenti:

f-to-s (finish to start)
s-to-s (start to start)
f-to-f (finish to finish)

                                      20
Le attività svolte dall'organizzazione (con la partecipazione del
proprietario dell’azienda destinataria) per lo sviluppo del software sono:

– Determinazione della Business Idea;
– Studio di fattibilità;
– Scelta della Metodologia del processo di sviluppo e determinazione degli
obiettivi di qualità;
– Decisione di inizio produzione;
– Studio del Piano Operativo;
– Analisi dei rischi;
– Raccolta e analisi dei requisiti;
– Progettazione dell'architettura software;
– Implementazione del software;
– Collaudo e testing del prodotto.

La propedeuticità delle attività da svolgere è stata rappresentata
utilizzando una tecnica di controllo dello stato di avanzamento di progetti
chiamata diagramma PERT (Program Evaluation and Review Technique).
In questi diagrammi le attività vengono rappresentate da nodi che sono
legati da archi orientati che costituiscono i legami di precedenza. Per
visualizzare il diagramma procedere alla pagina successiva.

                                    21
Diagramma PERT per Pizzeria SGS online

                              22
3.4 ALLOCAZIONE DI RISORSE

Lo svolgimento del processo di produzione richiede una serie di risorse
che possono
essere classificate in:

– Risorse a disponibilità limitata;
– Risorse a disponibilità illimitata;
– Risorse finanziarie.

Tra le risorse a disponibilità limitata abbiamo il lavoro svolto dai
programmatori, le componenti hardware e i software.
Il lavoro può essere quantificato in percentuale in relazione alle ore
standard di lavoro (8 ore). Il programmatore A dedicherà 7 ore giornaliere
alla programmazione Web e alla gestione del Database e 1 ora giornaliera
alla coordinazione e supervisione del gruppo. Il programmatore B
dedicherà 6 ore giornaliere alla programmazione e 2 ore giornaliere al
Design del sito. Il programmatore C dedicherà 7 ore giornaliere alla
programmazione e 1 ora giornaliera all’aspetto riguardante il marketing.
Le risorse a disponibilità illimitata sono costituite da cancelleria e
materiale di consumo.
Le risorse finanziarie riguardano una quota di affitto del locale, una quota
per l’utilizzo di tre pc e del server, una quota per l’utilizzo di software,
costi di connessione internet, costi di avviamento del sito, spese per
energia elettrica e infine gli stipendi dei tre lavoratori. Le stime dei costi
sono uguali a quelle viste nello studio della fattibilità.
La pianificazione delle attività è stata effettuata in modo tale che non si
verifichino conflitti di allocazione di risorse, soprattutto del personale.

         3.5 PIANIFICAZIONE DI COSTI E TEMPI DI
                      PRODUZIONE

                                        23
I più diffusi modelli di stima dei costi, come il COCOMO, sono strumenti
adatti a prevedere le risorse finanziarie e temporali necessarie allo
svolgimento del processo produttivo.
Nella fase di pianificazione poiché l'azienda possiede maggiori
informazioni rispetto alla fase di studio di fattibilità si è scelto di effettuare
l'analisi dei costi e tempi utilizzando il modello COCOMO intermedio
riferito a progetti organici (Organic mode).
Questo modello rispetto a quello Base introduce 15 parametri (coefficienti
correttivi) che tengono conto delle peculiarità del progetto e del prodotto
considerato, e produce stime con scostamenti inferiori al 20% nel 68% dei
casi.
Di seguito viene riportata una tabella contenente i valori per ogni
coefficiente correttivo:

                                        24
Il modello COCOMO intermedio introduce una nuova formula per il
calcolo dello sforzo E
(effort).
Prima di tutto bisogna calcolare lo sforzo nominale ENom secondo questa
formula:

                             ENom = a ∗ (N)b

dove N indica il numero di linee di codice (espresso in migliaia) ed i valori
a e b per il modo organico assumono valori, a = 3,2 e b = 1,05.
Il numero di linee di codice è stato stimato per un valore pari a 3.000 linee.
Si ottiene uno sforzo nominale pari a:

                       ENom = 3,2 (3)1,05 = 10,14

Successivamente si calcola lo sforzo complessivo E, moltiplicando lo
sforzo nominale ENom per la produttoria dei coefficienti correttivi che
chiameremo ej :

                                            15

                            E = ENom ∗           ej
                                           j=1

ottenendo,

E = 10,14 * 0,7595 = 7,7

Per il calcolo della stima del tempo di sviluppo si utilizza la formula
adottata nel modello
COCOMO Base:

D = c * (E)d

                                      25
dove, c= 2,5 e d= 0,38.
Il tempo necessario allo sviluppo del software sarà quindi pari a:

D = 2,5* (7,7)0,38 = 5 mesi e mezzo

e il numero di personale richiesto sarà uguale a:

P = E/D = 7,7/5,5 ≈ 1,4 persone.

Considerando che abbiamo a disposizione tre impiegati, il tempo D risulta
essere dimezzato, ovvero pari a tre mesi circa. I risultati dello studio di
fattibilità sono molto vicini a quelli appena ottenuti, quindi le scelte
operative fin ora adottate si possono considerare coerenti alle previsioni.
Per quanto riguarda la pianificazione temporale delle attività si è tracciata
una carta di Gantt, in cui è specificata la durata (in settimane) di ogni
attività.

                                      26
3.6 PIANIFICAZIONE DELL'ORGANIZZAZIONE DEL
                GRUPPO DI LAVORO

                    3.6.1 Struttura organizzativa

La struttura organizzativa aziendale presenta una forma centralizzata, in
cui il potere decisionale e le responsabilità sono attribuite al
programmatore più esperto dei tre. Tale scelta dipende sia dall'esperienza
lavorativa e sia dal suo ruolo di fondatore della società.

                      3.6.2 Definizione dei ruoli

L'organizzazione del gruppo di lavoro è stabilita attribuendo a ciascun
soggetto coinvolto un determinato ruolo. In particolare, il personale
aziendale è così suddiviso:

1 programmatore con ottima conoscenza ed esperienza in gestione di basi
dati e programmazione web che svolge anche il ruolo di coordinatore dei
processi di produzione.
1 web e graphic designer con buone conoscenze di programmazione web.
1 esperto in comunicazione e marketing con buone conoscenze di
programmazione web.
1 rappresentante dell’azienda interessata ad usufruire del software che avrà
il principale scopo di tester del programma.
Il lavoro è stato diviso seguendo le competenze di ogni componente del
gruppo. Si alterneranno momenti di lavoro singolo (per lo sviluppo del
software) a momenti di lavoro cooperativo (per il controllo di
avanzamento del lavoro, testing e collaudo).

                                     27
4. ANALISI DEI RISCHI
                   (Graziano Di Raimondo)

Dopo avere effettuato la Pianificazione delle risorse e redatto il Piano
operativo, il modello a spirale prevede una apposita fase di controllo del
processo.
La gestione dei rischi, ha l'obiettivo di minimizzare i fattori di insuccesso
introducendo specifiche attività di controllo e gestione del processo e
consiste nella valutazione dei rischi e nel controllo dei rischi.

                 4.1 VALUTAZIONE DEI RISCHI

Il successo nello sviluppo del software poggia sia sulla adeguatezza delle
scelte delle tecnologie e dell’interfaccia utente.

                  4.1.1 Analisi e gestione dei rischi

L'analisi dei rischi gioca un ruolo importante in modelli evolutivi del
processo produttivo del software quali il ciclo di vita a spirale, dove
occupa una fase distinta in ciascuna iterazione del processo. D'altra parte la
pianificazione del controllo del processo produttivo può prevedere
meccanismi di controllo basati sull'analisi dei rischi.
Valutare le possibili fonti di rischi e sottoporle ad un controllo costante e
pianificato risulta conveniente nella produzione di siti Web per la rapidità
dell'evoluzione del contesto in cui operano. Si riscontrano dunque gli stessi
vantaggi associati ad una attenta gestione dei rischi nella produzione di
software secondo modelli evolutivi. I vantaggi essenziali, rivelati da molti
studi su quest'ultima, sono: riduzione della probabilità di fallimento del
progetto, riduzione dei ricicli nello sviluppo del prodotto, ottimizzazione
dei costi e nell'uso delle risorse, soprattutto di quelle umane.

                                      28
Nella progettazione web lo studio dei rischi è spesso sottovalutato a causa
delle normali problematiche derivate dai malfunzionamenti che nella
maggior parte dei casi sono dovuti alla mancata erogazione dei servizi da
parte dei gestori di telecomunicazione. Per una giusta analisi dobbiamo
identificare le tipologie di rischi possibili nell'utilizzo di un portale basato
sulla diffusione di informazioni e di streaming multimediale. Possiamo
dividere i possibili rischi nelle seguenti tipologie:
     Errori di implementazione
     Guasti nell'erogazione del servizio di networking
     Saturazione dei servizi di networking
Dobbiamo identificare per ogni macro tipologia di rischio la possibile
perdita nell'eventualità dell'avvenuto guasto o problema.
Il rischio più comune nella fase iniziale in una progettazione secondo il
modello a spirale è l'errore di implementazione che viene scoperto grazie
al test effettivo sui committenti. Come anticipato in questo tipo di
progettazione la percentuale di errori di tipo implementativo è elevata, ma
per avere un dato esatto del rischio oltre a calcolare l'indice di es posizione
al rischio va calcolato anche il peso della singola funzionalità all'interno
del sito e la possibilità che il problema si presenti a tutti gli utenti.
La possibilità di un guasto nell'erogazione dei servizi commissionati a
terzi, quale il networking che permetterà di accedere al portale e usufruire
di servizi real-time, è da valutare attentamente perchè porterebbe
all'immediata interruzione di tutti i servizi con i relativi danni economici.
In caso di errata progettazione dell'architettura del software o di
valutazione e pianificazione del business, è molto frequente incorrere a
problemi di saturazione delle risorse utilizzate per erogare i servizi con il
conseguente blocco o rallentamento degli stessi. In questo caso il problema
è direttamente derivato da un nostro errore ed i rischi sono elevati
nonostante l'attuale corsa sfrenata della tecnologia applicata al web.
Mentre per quest'ultimo caso è possibile risolvere il problema dopo che si
è presentato (in caso di evidenti rallentamenti prima della saturazione
completa), in una progettazione di tipo web che deve garantire dei servizi
l'unico modo per non incorrere in tali problematiche è una buona
prevenzione, con l'utilizzo di servizi di watchdog per il controllo unito a
strutture di emergenza che entrano in funzione in caso di mal
funzionamento della risorsa principale.

                                       29
Non ho volutamente considerato l'errore umano durante l'utilizzo della
piattaforma visto che l'utilizzo è riservato direttamente al committente che
in caso di errore personale non può ovviamente richiedere un rimborso.

Una delle cause per cui un sito web non ha successo o non raggiunge
l'obiettivo prefissato è il mancato collaudo del sito stesso durante e dopo la
sua realizzazione. Il collaudo può essere un compito lungo ed a volte
noioso, ma è sicuramente uno dei passi più importanti nella realizzazione
di un sito web.
I test da fare non sono pochi, dal controllo dei contenuti al comportamento
al variare dei browser, e nessuno di questi dovrebbe essere trascurato.

Un attenta fase di collaudo è importante per un sito web e riguarda:

     • Contenuti (target, comunicazione, accessibilità, usabilità)

     • Aspetti Tecnici (funzionalità, prestazioni) Viene preparato un piano
     di collaudo che tenga conto di tutti gli aspetti del progetto, sia per
     quanto riguarda i contenuti che le funzionalità e le prestazioni. Nel
     collaudo dovrebbero partecipare anche persone esterne al gruppo di
     lavoro, possibilmente esponenti significativi dell´utenza del sito.
     Questa fase quasi sempre ripropone attività di sviluppo per raffinare
     le soluzioni.

È necessario effettuare un collaudo dal punto di vista visuale.
Bisogna mettersi nei panni di un'utente che visita il sito per la prima volta,
per capire se quello che appare nella finestra del browser rispecchia in
modo chiaro e istantaneo i contenuti che si vogliono trasmettere attraverso
il sito web.
È bene valutare l'uniformità del sito controllando che non ci siano bruschi
cambiamenti di interfaccia grafica tra una pagina e l'altra perché la
mancanza di uniformità ha come conseguenza il disorientamento dei
visitatori.
Infine esaminiamo tutte le pagine del sito variando la risoluzione dello
schermo e la profondità di colore per controllare che in ogni caso tutto sia
ben visibile.

                                      30
Il collaudo riguarda poi la funzionalità e il controllo dei contenuti per
verificare errori di chiusura tag, molto frequenti quando si scrive codice
HTML, che possono generare problemi soprattutto ai link interni ed esterni
alle pagine, ed eventuali errori di grammatica o di forma.

Bisogna testare il sito web utilizzando diversi browser; sappiamo inoltre
che i browser si comportano in maniera diversa anche a seconda della loro
versione, quindi affinché ogni utente veda le nostre pagine in maniera
corretta dobbiamo eseguire il collaudo con diversi browser e diverse
versioni, anche quelle meno recenti.
Il sito web andrebbe testato utilizzando diversi siste mi operativi. Quindi
non solo Windows, ma anche Linux, Unix e Mac OS. Il sistema operativo
non influisce sulla visualizzazione di una pagina web quanto influisce il
browser, ma se si dispone di sufficienti computer e sistemi operativi per
farlo, è bene eseguire questo test.

La presenza di browser diversi con funzioni differenti, ha portato alcuni
webmaster a realizzare siti web destinati a essere visitati con un browser
preferenziale, talvolta impedendo l'accesso a utenti che utilizzassero un
browser differente da quello scelto. Questa consuetudine, che va contro la
filosofia portante del World Wide Web, che vede l'accessibilità come uno
dei pilastri portanti ha quindi suscitato forti critiche e campagne di protesta
e sensibilizzazione.

Il browser più diffuso a livello mondiale è Internet Explorer, prodotto da
Microsoft, che viene fornito gratuitamente e "di serie" con ogni sistema
operativo Windows. Il secondo browser in ordine di utilizzo è Mozilla
nelle sue varianti (e in particolare Firefox), prodotto e distribuito
gratuitamente dalla Mozilla Foundation; il terzo è Safari di Apple,
distribuito assieme al sistema operativo Mac OS X. Altri browser molto
diffusi sono Opera e Netscape Navigator, il cui sviluppo è ormai sospeso.
Per questa vasta gamma di browser a disposizione, uno dei problemi è
quello di adattare e rendere visibile il sito su ognuno di essi, incorrendo a
rischi di visibilità e usabilità. L’esperienza dei progettisti web deve

                                      31
garantire il superamento di questi rischi, con particolare attenzione alla
facilità d’uso del sito anche verso utenti meno esperti.

Per lo sviluppo web viene utilizzata la suite Microsoft Expression Web che
comprende diversi strumenti per sviluppatori e grafici interessati a
sviluppare siti Web e ad implementare in essi applicazioni grafiche ed
interattive. Il passaggio dalla versione 1.0 alla 2.0 in fase di progettazione
potrebbe generare difficoltà dovute all’inesperienza dei programmatori
generando costi relativi alla formazione professionale degli stessi.

Se a queste soluzioni sommiamo una pianificazione di manutenzione da
parte del nostro personale i rischi vengono limitati notevolmente anche se
a discapito dei costi di mantenimento dell'intero sistema.

                                      32
5.ANALISI E SPECIFICA DEI REQUISITI
                 (Simone Susino)

L’analisi e la specifica hanno come obiettivo quello di raccogliere le
esigenze dell’utente per definire gli obiettivi di qualità che si intende
perseguire.
Le principali attività sono:
  1) determinazione dei requisiti;
  2) analisi e specifica dei requisiti funzionali;
  3) negoziazione dei requisiti;

            5.1.DETERMINAZIONE DEI REQUISITI

Raccolta requisiti:
     1) Anagrafica utenti
     Gli utenti devono registrarsi sul sito per poter usufruire di tutti i
     servizi offerti. Di seguito i campi obbligatori che devono essere
     compilati dall’utente.
     Le informazioni personali, insieme agli ordini effettuati, verranno
     utilizzati dall’azienda per segmentare il mercato di riferimento.
     Così facendo, l’azienda, potrà adattare al meglio le proprie offerte.
        Campi: Nome, Cognome, Indirizzo, telefono, data di nascita,
        email.
           a.   Archiviazione dati
           b.   Modifica dati
           c.   Visualizzazione dati
           d.   Cancellazione dati

                                       33
2) Prenotazione
Permette all’utente di poter prenotare la sala per eventi speciali,
riservare tavoli, o prenotare vivande destinate all’asporto o alla
consegna a domicilio.
      a. Eventi speciali
      b. Booking tavoli
      c. Drink & food
            i. Asporto
           ii. Consegna domicilio
Campi Eventi speciali: Data e ora evento, numero di persone,
tipologia evento, menù.
Campi Booking tavoli: Data e ora, zona tavolo (centro, terrazza
ecc..), numero di persone, menù (opzionale).
Campi Drink & food: Data e ora, Menù, Asporto – Domicilio.

3) Community
Permette agli utenti di usufruire di uno spazio forum per scambiarsi
informazioni, pareri, consigli, feedback e quant’altro ancora in
merito al mondo culinario e non. L’azienda, mediante l’ausilio di
tutti questi strumenti, non solo conosce se vi sono insoddisfazioni nei
clienti, ma li utilizza al fine della crescita aziendale. Con la FAQ,
invece, si vuole dare risposta ad alcune domande di interesse
comune.
       a. Forum ( software di terze parti )
       b. FAQ

4) Info azienda e news
Pagina riservata alle informazioni riguardante l’azienda (chi siamo,
storia, contatti ecc..) e alle news giornaliere (offerte, novità, giorni di
chiusura ecc..)

5) Menù

                                 34
Pagina contenente un vasto menù, comprendente le vivande che offre
     l’azienda e le bevande.
     La pagina viene sempre aggiornata, per offrire sempre una varietà di
     prodotti.

     6) Caratteristiche del sito

           a. Deve realizzare in modo preciso e corretto tutte le esigenze
              sopra descritte;
           b. Deve dare la possibilità di recuperare i dati in caso di
              malfunzionamento hardware o software;
           c. Deve avere un’interfaccia user-friendly;
           d. Deve poter funzionare con la maggior parte dei browser in
              circolazione;
           e. Deve proteggere le informazioni da attacchi esterni;
           f. Deve potersi adattare facilmente a modifiche future e ai
              cambiamenti tecnologici (es. nuovi sistemi operativi).

Identificazione dei requisiti
L'identificazione dei requisiti è stata fatta con un codice alfanumerico a
due livelli in cui il primo codice numerico indica il macro-requisito ed il
secondo alfabetico indica i micro-requisiti riguardanti quello principale.

Vincoli quantitativi su requisiti non funzionali
Per le interfacce utente di gestione base delle informazioni come
inserimento, modifica e cancellazione si richiede che il tempo di risposta
non sia superiore a 3 secondi.
Tutte le interfacce utente devono contenere esplicitamente le informazioni
necessarie per l'uso delle stesse (autoesplicatività) ed inoltre devono
contenere in modo ordinato e strutturato solo le informazioni essenziali
allo scopo della interfaccia stessa.

                                    35
5.2.ANALISI DEI REQUISITI

L’analisi consiste nell’uso delle varie funzionalita del sito, da parte
dell’utente (cliente o amministratore).
Con il seguente diagramma di casi d’uso, mostriamo le funzionalità del
sito.

Distingueremo l’utente generico, l’utente registrato e l’utente
amministratore.
Mentre il cliente registrato può inserire dati e modificare il proprio profilo,
prenotare tavoli e vivande, inserire messaggi sul forum ecc.., l’utente
amministratore ha accesso alla modifica delle news, delle info
dell’azienda, del menù e dei vari thread del forum. L’ utente generico può
solo visualizzare le informazioni e le notizie.

Identificatore: Profilo
Scenario Principale:

                                      36
1.   Autenticazione: L’utente inserisce nome utente e password.
     2.   L’utente cliente richiede l’accesso all’archivio anagrafico.
     3.   L’utente cliente può visualizzare il suo profilo completo.
     4.   L’utente cliente può modificare i dati inseriti sul profilo, o
          cancellarlo.

Identificatore: Prenotazione
Scenario Principale:
     1. L’utente cliente può effettuare prenotazioni di eventi, tavoli o
        drink&food (asporto o consegna a domicilio).
     2. L’utente cliente può modificare la prenotazione o annullarla a
        tempo debito.

Identificatore: Community
Scenario Principale:
     1. L’utente cliente può inserire messaggi sul forum, partecipare a
        sondaggi e indagini e visualizzare il FAQ.
     2. L’utente amministratore funge da ―moderatore‖ sul forum e
        risponde ai messaggi. Può inoltre modificare il FAQ.

Identificatore: Info e News
Scenario Principale:
     1. L’utente cliente può visualizzare le info dell’azienda ( chi siamo,
        storia, ecc.) e può inoltre controllare le news giornaliere per
        conoscere eventuali offerte e promozioni.
     2. L’utente amministratore può modificare le info, e giornalmente ha
        il compito di aggiornare le news.

Identificatore: Menù
Scenario Principale:

                                    37
1. L’utente cliente visualizza il menù per conoscere tutte le pietanze
        e le bevande che offre l’azienda.
     2. L’utente amministratore può aggiornare il menù, aggiungendo
        nuove pietanze ed eventualmente togliendone altre (magari in
        relazione alla stagione).

 5.3.NEGOZIAZIONE E VALIDAZIONE DEI REQUISITI

Una volta completata la stesura e revisione dei casi d'uso con i relativi
scenari, questi verranno sottoposti alla verifica con gli Utenti che
effettueranno le opportune valutazioni proponendo eventuali modifiche in
base alle loro reali esigenze.
In tal modo gli Utenti vengono coinvolti attivamente nello sviluppo del
Software fin dalle prime fasi del processo e ciò comporta il vantaggio che
eventuali correzioni in tale fase producono minori costi rispetto ai
cambiamenti effettuati nelle successive fasi di progettazione o di
implementazione

                                    38
6.STUDIO DELL’USABILITA’
                    (Simone Susino)

          6.1.PROGETTAZIONE DELL’USABILITA’

La progettazione di interfacce è orientata alla comunicazione con gli utenti
finali. A questo scopo, bisogna evitare di considerare solo aspetti
funzionali interni, trovare soluzioni che abbiano un fondamento generale,
evitando quindi di basarsi solo sull’intuizione del progettista e trovando un
giusto equilibrio tra metodo e intuizione. Lo scopo è di selezionare gli
elementi attentamente, definire soluzioni chiare, economiche, convincenti
che si possano operare immediatamente, che possano essere più facilm ente
assimilate, comprese e ricordate, che attirano immediatamente l’utente
sugli aspetti importanti e consentono di raggiungere gli obiettivi
rapidamente e senza errori. Tante volte le soluzioni semplici sono le più
usabili.
Grazie all’interfaccia appositamente progettata per gli utenti dell’ufficio
del Personale, l’utilizzo del programma risulta estremamente intuitivo e
molto semplice.
Di seguito sono riportate le principali funzioni dell’home page del sito.
Home Page: Il visitatore saltuario può navigare in questa pagina,
accedendo solo ad alcune pagine (info sull’azienda, news, menù). Al
contrario, il cliente registrato può accedere a tutte le funzionalità offerte
dal sito, mediante l’autenticazione con nome utente e password. Lo stesso
può fare l’amministratore, che inoltre, ha permessi per ogni tipo di
operazione.
Tutte le sezioni sono ben visibili e raggiungibili, dato che nell’home page
abbiamo creato una barra laterale con i collegamenti alle varie sezioni.

                                     39
Lo spazio delle news è inserito al centro dell’home page, mediante uno
script che scorre dal basso verso l’altro con le notizie in ordine di data di
pubblicazione.
In basso all’home page abbiamo inserito uno spazio destinato ai contatti
(email, numero di telefono, indirizzo).
Un aspetto importante dell’home page è quello di usare tecniche
comunicative che mirano ad ad aiutare l’utente a scorrere l’interfaccia,
interpretare gli elementi e trovare quello che cerca.
Ad esempio, per rendere più ―amichevole‖ la fase di autenticazione si è
introdotto un messaggio di benvenuto e un reindirizzamento automatico
nel pagina news per fare conoscere eventuali novità e promozioni
giornaliere.
Tutto il sito è stato pure scritto sulla base degli standard web del W3C.
Il suo scopo è quello di portare il web al suo massimo potenziale mediante
il perseguimento dei 7 punti fondamentali.

1. Accesso Universale
Il W3C definisce il Web come l'universo delle informazioni accessibili in
rete (disponibili attraverso il computer, il telefono, la televisione...). Uno
degli scopi principali del W3C è quello di rendere queste opportunità
fruibili a tutti, indipendentemente da eventuali limitazioni determinate da
hardware, software, supporto di rete a disposizione, lingua madre, cultura,
collocazione geografica, capacità fisiche e mentali.

2. Web Semantico
La gente oggi condivide la conoscenza sul Web utilizzando un linguaggio
umano, comprensibile dalle altre persone. Le persone,quindi, saranno
capaci di esprimersi in termini tali che i nostri computer potranno
interpretare e scambiare informazioni. In questo modo si darà la possibilità
ai computer di risolvere i problemi che troviamo noiosi da affrontare, e di
aiutarci a trovare velocemente quello che stiamo cercando: informazioni

                                      40
mediche, una recensione di un film, l'ordine di un libro attraverso un
catalogo, etc. Il linguaggi del W3C RDF, XML, XML Schema, e XML
signatures sono gli elementi di base su cui poggia il Web Semantico.

3. Fiducia
Il Web è un mezzo di collaborazione, non un supporto di sola lettura come
una rivista. Per promuovere un ambiente più collaborativo il Consorzio sta
progettando un "Web of Trust" capace di offrire riservatezza, che ispiri
gradualmente fiducia, e che faccia in modo che ci si prenda la
responsabilità di ciò che viene pubblicato su Web. Questi principi
motivano molto del lavoro del W3C su XML signature, meccanismi di
annotazione, composizione di gruppo (group authoring), gestione delle
versioni, etc.

4. Interoperabilità
Venti anni fa si comperavano software che funzionavano solamente con
altri software dello stesso produttore. Oggi si ha molta più libertà di scelta
e giustamente ci si aspetta che i componenti software possano essere
interscambiabili. Ci si aspetta anche di essere in grado di vedere il
contenuto del Web con l'ausilio del software che si preferisce (browser
grafico, sintetizzatore vocale, display braille, telefono a bordo dell'auto...).
Il W3C è un'organizzazione neutrale, che incoraggia l'interoperabilità
attraverso la progettazione e la promozione di linguaggi informatici e
protocolli aperti (non proprietari) che evitino la frammentazione del
mercato caratteristica del passato. Tutto questo è realizzato ottenendo il
consenso dell'industria e incoraggiando un forum aperto per la discussione.

5. Capacità evolutiva
Il W3C mira all'eccellenza tecnica ma è consapevole che quello che oggi
conosciamo e di cui abbiamo bisogno potrebbe essere insufficiente per
risolvere i problemi di domani. Il Consorzio si adopera perciò per costruire
un Web che possa facilmente evolvere in un Web ancora migliore, senza
                                       41
per questo dover distruggere quello che già funziona. I principi di
semplicità, modularità, compatibilità ed estensibilità guidano tutti i
progetti del Consorzio.

6. Decentralizzazione
La decentralizzazione è un principio fondamentale dei moderni sistemi
distribuiti, comprese le società umane. In un sistema centralizzato ogni
messaggio o azione deve passare attraverso un'autorità centrale, causando
ingorghi quando il traffico aumenta. Il progetto del Consorzio è quello di
limitare il numero delle risorse Web centralizzate, al fine di ridurre la
vulnerabilità del Web nel suo complesso. La flessibiltà è l'indispensabile
compagna dei sistemi distribuiti, è la vita e l'anima di Internet, non solo del
Web.

7. Multimedia più eccitante!
A chi non piacerebbe maggiore interattività e supporti multimediali più
ricchi sulla rete, come immagini ridimensionabili, qualità del suono, video,
effetti 3D ed animazioni? Il processo di consenso del W3C non limita la
creatività dei content provider e non comporta rendere noiosa la
navigazione. Grazie ai suoi membri il W3C dà ascolto ai consumatori
finali e opera per fornire una solida infrastruttura di sviluppo per un Cooler
Web grazie a linguaggi come SVG (Scalable Vector Graphics) e SMIL
(Synchronized Multimedia Integration Language).

            6.2.VALUTAZIONE DELL’USABILITA’

La Norma ISO 9126 ("Information Tecnology - Software product
evaluation - Quality characteristics and guidelines for their use"),
pubblicata nella sua prima versione nel 1991, definisce il modello dei
requisiti qualitativi del Prodotto Software.

                                      42
Puoi anche leggere