Metodologia usata
7
2 Metodologia usata
(*)
5
Nello sviluppo del software si possono individuare, indipendentemente dall’area
d’impiego, dalle dimensione del progetto e dalla sua complessità, tre fasi comuni:
Definizione, Sviluppo e Manutenzione.
La fase di Definizione si concentra sull’identificazione dei requisiti, per comprendere
cosa dovrà essere realizzato; quindi stabilisce le informazioni ed i dati da gestire, le
funzionalità e le prestazioni desiderate. Le specifiche e i criteri di validazione vengono
riportati in un documento atto a verificarne la rispondenza finale.
Lo Sviluppo è la fase del come, in cui si descrivono le strutture dei dati e l’architettura
software da realizzare, ed inoltre, si definiscono i dettagli procedurali e le modalità di
traduzione del progetto in un linguaggio di programmazione.
All’interno della fase di Sviluppo dovranno essere considerati tre momenti specifici:
Progettazione del software, in cui i requisiti sono tradotti in un insieme di
rappresentazioni, grafiche, tabellari o linguistiche, che descrivono le strutture dati,
l’architettura e le procedure algoritmiche;
Codifica, in cui le rappresentazioni sono tradotte in un particolare linguaggio di
programmazione generando istruzioni eseguibili;
Testing, in cui i programmi eseguibili sono controllati per scoprire eventuali errori, di
natura logica o di realizzazione.
Infine la fase di Manutenzione riguarda le modifiche da apportare al sistema,
necessarie non solo a correggere eventuali errori riscontrati, ma anche a adattare il
software ai cambiamenti subiti dall’ambiente originario (CPU, Sistema Operativo, unità
periferiche, ...) o a migliorarlo ampliandolo con nuove funzionalità che potrebbero
apportare benefici all'applicazione.
Una metodologia consiste in un processo per lo sviluppo organizzato utilizzando una
serie di tecniche coordinate.
Per quanto riguarda la metodologia usata per l’applicazione si è cercato di seguire OMT
(dall’inglese Object Modeling Technique) e OOSE (Object Oriented Software
5
Vedi [12] della bibliografia e [2q] in ‘Principali Siti di riferimento ’
Metodologia usata
8
Engineering) che consistono, sebbene con qualche differenza, nel costruire un modello
del dominio dell’applicazione e nell’aggiungere solo successivamente i dettagli
implementativi.
La metodologia OMT è basata sullo sviluppo in tre parti del modello del sistema,
modello che viene poi raffinato e ottimizzato per costituire un progetto. Il modello a
oggetti individua gli oggetti del sistema e le loro relazioni. Il modello dinamico descrive
la reazione agli eventi di oggetti nel sistema e l’interazione tra oggetti. Il modello
funzionale specifica la trasformazione di valori degli oggetti e i vincoli su queste
trasformazioni.
Le fasi in cui tali metodologie si realizzano sono:
ξ Analisi: riguarda la comprensione e il modello dell’applicazione e del dominio nel
quale essa opera. L’input è una presentazione che descrive il problema da
risolvere e l’output un modello che individua gli oggetti e le loro relazioni, il flusso
dinamico di controllo e la trasformazione funzionale dei dati.
ξ Progetto di sistema: usando il modello a oggetti si organizza il sistema in
sottosistemi sfruttando anche la concorrenza di alcuni task. Si prendono delle
decisioni sugli archivi e l’implementazione del modello dinamico.
ξ Progetto degli oggetti: i modelli dell’analisi sono elaborati, raffinati e ottimizzati.
L’apporto della metodologia OOSE è stato nel fatto che vengono enfatizzati gli Use
Case Diagram che rappresentano, di fatti, la struttura portante dell’intero processo, e da
essi derivano tutti gli altri diagrammi.
Un approccio orientato agli oggetti sposta molti degli sforzi per lo sviluppo nella fase di
analisi. L’enfasi è sulle strutture dati piuttosto che sulle funzioni.
Metodologia usata
9
Figura 1: Schema generale dei passi seguiti
Anche per quanto riguarda questo documento, si è volutamente enfatizzata la parte
riservata all’analisi, visualizzando sia parte dei diagrammi costruiti in questa fase sia
parte dei diagrammi creati nella fase del progetto di sistema e degli oggetti. In sostanza
si è voluto descrivere con molto dettaglio la parte dell’analisi e della formulazione del
problema, per poi passare al risultato finale del progetto in termini di strutture dati e
funzionalità usando la notazione formale offerta dai diagrammi UML. Le fasi intermedie
del progetto di sistema e degli oggetti, anche se sviluppate durante la realizzazione
dell’applicazione, non sono state inserite.
Generazione dei requisiti
10
3 Generazione dei requisiti
3.1 Requisiti minimi
La struttura dell’e-mall deve essere modulare, scalabile ma allo stesso tempo robusta e
veloce da scrivere. All’interno del centro commerciale devono essere presenti un
numero di negozi sempre espandibile e con caratteristiche grafiche e di layout
6
condivise in modo da implementare nuove funzionalità in modo rapido ed efficace su
tutti i negozi scrivendo il codice solo per uno di essi. Tale negozio potrà anche essere
un negozio di test.
Dei negozi che vi sono presenti non sappiamo cosa venderanno, né quanti prodotti
avranno, né le tipologie di promozioni applicabili, né le diverse forme di trasporto.
La struttura del centro commerciale prescinde da tutto questo ma deve allo stesso
tempo prevedere la massima espansibilità in termini di funzionalità e la massima
maneggevolezza in termini di aggiornamento.
3.2 Requisiti ulteriori
Il sito deve essere progettato tenendo in considerazione la possibilità di prelevare
durante la navigazione una serie di dati che sono la base per una analisi approfondita
attraverso strumenti di data-mining e statistici. Attraverso queste analisi vengono creati
dei feedback
7
al fine di migliorare la risposta alle esigenze dell’utente con pagine
sempre più facili e veloci da navigare.
All’utente devono essere offerti dei servizi attraverso i quali può aumentare il rapporto
one-to-one e di conseguenza la probabilità che l’utente torni e faccia acquisti. Tali
servizi devono essere realizzati secondo un ottica di Customer Relationship
Management (CRM) attraverso la quale l’attenzione viene focalizzata sull’utente e non
sul prodotto. La sensazione che il cliente deve avere è quella di visitare un negozio
amichevole con commessi virtuali e non, a cui chiedere informazioni su prodotti e
promozioni, consigli e delucidazioni di modalità di acquisto e spedizione.
6
Layout: disposizione dei vari oggetti nelle pagine (bottoni, immagini, link)
7
Feedback: informazioni e dati di ritorno
Generazione dei requisiti
11
Deve essere creata quindi una comunità virtuale che rappresenta i visitatori frequenti
del sito che si scambiano opinioni su articoli del centro commerciale ma anche su altro.
Tali opinioni possono essere prese in considerazione per improntare politiche di
marketing personalizzate. La conoscenza delle abitudini del cliente, dei suoi pareri su
determinati prodotti, della storia delle interazioni che egli ha avuto con il contact center
8
deve permettere di poter offrire sempre prodotti con alto indice di gradimento, servizi
nuovi e allettanti e promozioni mirate.
3.3 Cosa non è richiesto
Per la realizzazione di Virtualmarket non è esplicitamente richiesto, in quanto assegnato
a personale tecnico specifico di progettare e realizzare:
ξ impostazione grafica (scelta font, colori, abbellimenti estetici, realizzazione
animazioni, ecc…)
ξ elaborazione dei contenuti non strettamente legati al mall (pagine FAQ, HOW-
TO, descrizione e foto dei prodotti, reparti, negozi)
ξ configurazione del sistema per quanto riguarda la sicurezza e il funzionamento
dei server
ξ gestione contatti con fornitori, gestori negozi (livello acquisti
9
e produzione
10
)
ξ gestione finanziaria dell’attività legata al mall (livello Finance)
8
Contact center: strumenti di tipo comunicativo (email, posta tradizionale, chat, forum, numero verde)
9
acquisti: livello in cui si focalizzano le problematiche relative all’acquisto dei prodotti da parte dei ‘negozianti’
10
Produzione: livello in cui si focalizza la fase di produzione del bene
Generazione dei requisiti
12
3.4 Prime considerazioni sul progetto
L’elaborazione del progetto richiede quindi:
ξ una definizione accurata della terminologia e del dominio di interesse,
ξ uno studio di fattibilità che coinvolga le tecnologie da usare e i tempi realizzativi,
ξ una panoramica su datawarehousing/data mining e OLAP,
ξ la progettazione,
ξ la realizzazione,
ξ un feedback dei risultati.
Formulazione del problema
13
4 Formulazione del problema
4.1 Ambito del problema
4.1.1 Livelli di presenza
(*)
11
In base al tipo di azienda è necessario definire quale scopo si vuole raggiungere dalla
presenza nel nuovo mercato scegliendo quindi uno dei 3 livelli di presenza:
ξ Basso o promozionale: prevede la presentazione dell’azienda, evidenziando la
sua attività, i prodotti, i servizi e le soluzioni offerte. Ha esclusivamente uno
scopo pubblicitario e informativo. A questo livello non si prevede interazione tra
visitatore e azienda.
ξ Intermedio: prevede una maggiore quantità di informazioni per il visitatore tra cui
anche un catalogo e un listino dei prodotti, eventuali offerte speciali, la possibilità
di scambio di informazioni con l’azienda tramite posta ma anche la possibilità di
acquistare dei prodotti, non usufruendo delle tecnologie legate ai servizi di
pagamento elettronico ma fornendo i propri dati tramite email e fax.
ξ Alto o orientamento alla vendita, customer care
12
, call center: prevede un
elevato coinvolgimento dei visitatori attraverso la presentazione di pagine
dinamiche ed interattive. Si prefigge inoltre: ottimizzazione del rapporto fiduciario
con i clienti, customer care, assistenza tecnica on-line, assistenza pre e post
vendita, gestione ordini e acquisti e pagamento elettronico tramite transazioni
sicure usando anche la carta di credito.
Definito l’obiettivo bisogna pensare alla realizzazione del sito: definizione
dell’interfaccia e dei contenuti (catalogo, listino, descrizione dei prodotti); in questo caso
è da valutare bene la leggerezza delle pagine prodotte in quanto la rete italiana non
brilla molto in velocità. La tecnologia e gli strumenti da adottare sono vari e vanno
11
vedi [15] della bibliografia
12
Customer Care: Servizi per il cliente pre e post vendita
Formulazione del problema
14
dall’implementazione in azienda usando HTML, CGI, ASP e linguaggi di scripting, sino
alla realizzazione del sito in outsourcing
13
.
Realizzate le pagine WEB bisogna stabilire quale provider scegliere e quale soluzione
adottare per renderle disponibili on-line tra:
ξ Hosting: si utilizza un certo spazio su di un server preesistente presso un
provider,
ξ Server presso azienda: questa soluzione prevede la presenza di un server
presso la sede dell’azienda e la connessione ad internet tramite linea dedicata,
ξ Housing: consiste nell’installazione di un server aziendale dedicato presso un
provider .
Dopo aver realizzato e pubblicato il sito bisogna impegnarsi alla sua diffusione e
pubblicizzazione: una volta presenti sul web è necessario far conoscere a tutti il sito
attraverso strumenti di promozioni sul web:
ξ registrazione sui motori di ricerca,
ξ scambio banner,
ξ pubblicità via email,
ξ fax,
ξ mailing list e newsgroup.
Infine viene realizzato il supporto clienti che comprende:
ξ customer care pre e post vendita sui prodotti,
ξ call center per reclami,
ξ informazioni addizionali ecc…
Le potenzialità di Internet sono la dinamicità e l’interattività. Meglio verranno sfruttati
questi fattori, migliori saranno i risultati.
Occorre dunque: aggiornare continuamente il sito con offerte promozionali e concorsi a
premi, FAQ e altro. Tutto questo spinge il visitatore ad accedere periodicamente al sito
aumentandone il numero degli accessi, indice di valutazione del successo del sito.
13
Outsourcing: richiedere ad altre aziende di realizzare servizi, infrastrutture con costi/benefici minori rispetto ad
una soluzione ‘ fatta in casa ’
Formulazione del problema
15
4.1.2 Definizione Commercio Elettronico (CE)
Si definisce commercio elettronico un insieme di transazioni commerciali tra produttore
(offerta) e consumatore finale (domanda), realizzata con l’utilizzo di computer e reti
telematiche, e finalizzate allo scambio di informazioni direttamente correlate alla vendita
di beni e servizi.
4.1.2.1 Tipologie di commercio elettronico
(*)
14
Ci sono 4 categorie che contraddistinguono il commercio elettronico:
ξ business to business: identifica le transazioni tra aziende
ξ business to consumer: identifica le transazioni commerciali realizzate tra
azienda e consumatore finale
ξ business to admnistration: riguarda tutte le transazioni effettuabili tra azienda e
pubblica amministrazione
ξ consumer to admnistration: riguarda le transazioni tra cittadini e pubblica
amministrazione.
4.2 Cosa è necessario
4.2.1 Schema di una piattaforma di CE
(*)
15
Un'applicazione di e-Commerce è costituita, oltre che da tutto quanto è visibile sul sito,
anche da tutta una serie di moduli che rappresentano l'infrastruttura del sistema.
Insieme si presentano e interagiscono tra loro.
In maniera schematica una piattaforma di e-commerce può essere articolata in una
parte definita di FRONT END e in una parte definita di BACK END riassumibili così:
14
vedi [15] della bibliografia
15
vedi [14] e [13] della bibliografia
Formulazione del problema
16
front end
ξ un sistema di gestione catalogo (CMS)
ξ un motore di visualizzazione
ξ un motore di ricerca
back end
ξ un sistema di gestione degli ordini
ξ un sistema di gestione dei pagamenti
ξ un sistema di profilazione utenti
ξ un sistema di hosting
ξ un’applicazione di data-mining e data-warehousing
4.2.1.1 Front end
Sistema di gestione del catalogo (CMS)
Esso consente la definizione della struttura dei contenuti (asset), del loro layout grafico,
la revisione e infine la pubblicazione (con o senza livelli intermedi di staging
16
). Il CMS
deve permettere ad una squadra di redattori di comporre e modificare in modo facile i
contenuti che appariranno poi sul sito.
Il primo fattore da considerare durante la sua progettazione è la scalabilità del
sistema. L’adozione di un sistema non pienamente scalabile pone seri vincoli alla
possibilità di espandere rapidamente la dimensione dell’offerta. La scalabilità di un
sistema di gestione delle offerte si concretizza nella capacità di ospitare un numero
crescente di offerte commerciali senza che si pregiudichino le prestazioni sia dal punto
di vista della presentazione delle offerte al cliente, sia dal punto di vista della loro
gestione.
Un secondo parametro per la valutazione del sistema di gestione del catalogo è legato
alla possibilità di gestire proposte commerciali caratterizzate da una crescente
complessità come la possibilità di realizzare soluzioni di pricing complesse (coupon,
16
staging: possibilità di avere macchine o siti dove è possibile vedere anteprime di come i contenuti verranno
pubblicati.
Formulazione del problema
17
sconti, cross promotion
17
, bundle
18
ecc…) realizzando così una personalizzazione
spinta dell’offerta.
Tale pacchetto o modulo di solito è preferibile realizzarlo in azienda piuttosto che
comprarlo.
Motore di visualizzazione
Se è importante poter disporre di un valido catalogo è altrettanto vero che occorre avere
a disposizione un sistema di presentazione in grado di valorizzare le proprie offerte
anche per renderle più attraenti attraverso parametri flessibili di descrizione dell’offerta:
uso di testo, immagini, video e suoni.
Attraverso questo motore si deve invogliare l’utente a spendere parte del suo tempo
all’interno del proprio spazio espositivo ma anche aiutare a comprendere al meglio il
valore del suo possibile acquisto in termini di convenienza e prestazioni.
Motore di ricerca e categorizzazione
Se si amplia l’offerta o se i parametri con i quali questa viene indicizzata diventano più
complessi occorre avere un motore di ricerca affidabile che permetta l’utente di arrivare
con efficacia e velocità al prodotto desiderato. E’ opportuno che l’utente abbia a
disposizione un meccanismo di ricerca che vada oltre le semplici parole chiave ma che
sia in grado di contestualizzare la ricerca, confrontare le offerte commerciali alternative.
4.2.1.2 Back end
Sistema di gestione degli ordini
Ci sono diverse tipologie di gestione degli ordini. Si passa da sistemi in grado di salvare
le richieste del cliente all’interno di database, a sistemi che i tempo reale si interfacciano
con applicativi di ERP
19
verificando l’effettiva disponibilità del bene. Nelle soluzioni più
evolute possono determinare addirittura l’avvio del processo produttivo, gestire la
17
Cross promotion: promozioni valide abbinando prodotti diversi
18
bundle: sconto applicato su prodotto distinti acquistati assieme.
19
ERP: Enterprise Resource Planning: sistemi informativi che gestiscono i vari processi aziendali: dalla
acquisizione materie prime, alla produzione, allo stoccaggio.
Formulazione del problema
18
spedizione del prodotto, consentire all’acquirente il tracking del proprio ordine e offrire
funzionalità legate al customer care e all’assistenza post vendita.
La gestione delle transazioni
Questa è un componente molto delicato. Bisogna tenere in considerazione 3 parametri
di valutazione generali:
ξ la sicurezza percepita,
ξ la flessibilità dei sistemi di pagamento e
ξ il collegamento con i servizi bancari.
Il primo parametro riguarda la tranquillità con cui l’utente effettua un pagamento nel sito
in questione. Per aumentare tale tranquillità si possono usare:
ξ sistemi di riconoscimento hardware,
ξ gateway di pagamento collocati in banche o istituzioni di fiducia (SSL
20
e SET
21
),
ξ sistemi di riconoscimento e certificazione da parte di società sopra le parti.
Molto importanti sono le pagine dedicate alle informazioni nelle quali l’utente può
trovare una risposta alle sue preoccupazioni in termini di sicurezza.
Un secondo parametro è la flessibilità: sia per tipologia dei mezzi di pagamento
supportati (carta di credito, bonifico, contrassegno, carte prepagate) sia per la
complessità di gestione del pagamento (calcolo dell’imposizione fiscale, pagamenti in
più valute, pagamenti ad attori differenti).
Il terzo parametro è la possibilità di interfacciarsi in modo agevole al sistema bancario in
modo sicuro e trasparente.
20
SSL: protocollo, sviluppato da Netscape, operante nello strato di trasporto, che consente, grazie a tecniche
crittografiche a 128 bit, il trasferimento dei dati tramite la rete in modo sicuro, senza cioè che possano essere
intercettati da non autorizzati.
21
SET: (Secure Electronic Transaction) è un protocollo standard creato per tutelare la sicurezza e la riservatezza
delle transazioni di e-commerce su Internet. E’ stato sviluppato, da VISA e MasterCard con la collaborazione di
grossi partners (HP, Verifone, Microsoft, IBM, NetScape)
Formulazione del problema
19
Esistono almeno tre livelli di gestione delle transazioni:
ξ Nessuno: ci si appoggia interamente ad un'applicazione esterna, di solito quella
di una banca.
ξ Mercato - cliente: si gestisce solo la transazione finanziaria col cliente (verifica
dell'esistenza e congelamento della somma sul conto del cliente)
ξ Completa: oltre a quella di cui sopra, si gestisce la logistica dei beni scambiati, e
l'effettivo trasferimento della somma a scambio avvenuto.
In genere all'applicazione di e-Commerce è richiesta la sola verifica della solvibilità
finanziaria del cliente e non la transazione vera e propria. Di questa e di altri dettagli si
occupano di solito società che offrono i cosiddetti servizi di e-fulfillment
22
.
Catalogazione degli utenti
Per offrire un prodotto quanto mai flessibile e di impatto è necessario un sistema di
profilazione utenti.
Si possono personalizzare:
ξ prodotti offerti,
ξ informazioni disponibili,
ξ banner pubblicitari visualizzati,
ξ il prezzo,
ξ la modalità di pagamento e di consegna e
ξ la tipologia di servizi a valore aggiunto offerti.
Perché tutto questo sia efficace e conveniente occorre disporre di un profilo dell’utente
che vada aldilà dei semplici dati anagrafici (età, figli, indirizzo) ma che tenga conto della
sua personalità, dei suoi hobby, dei suoi interessi e della sua evoluzione come cliente.
22
E-fulfillment: In genere venduti dalle maggiori società di consulenza, offrono in outsourcing tutte quelle
operazioni che partono dal momento in cui l'ordine è acquisito verso la transazione finale. Oltre infatti all'aspetto
economico (la somma in denaro congelata sul conto del cliente viene effettivamente spostata sul conto del
venditore), l'e-fulfillment si occupa anche della logistica (eventuale movimentazione fisica delle merci) e delle
eccezioni (tutte le procedure di mancata consegna, per esempio).