UNIVERSITA’ DEGLI STUDI DI BARI FACOLTA’ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA
TESI DI LAUREA IN INGEGNERIA DEL SOFTWARE
I NTEGRAZIONE S OFTWARE
VIA
W EB-SERVICES
(ALLEGATO)
Relatori:
Chiar.mo Prof Giuseppe VISAGGIO Dott. Danilo CAIVANO Laureando:
Damiano Diego de Felice
ANNO ACCADEMICO 2001 - 2002
Appendice
INTRODUZIONE Il presente allegato contiene la documentazione tecnica del sistema software STATCRM realizzato ai fini della sperimentazione di quanto esposto nel lavoro di tesi. Questo documento è strutturato in due sezioni: •
documento (pagina 3);
•
documento di Specifica della Progettazione Software (SPS), (pagina 25).
di
Specifica
Specifiche del Progetto Software
dei
Requisiti
Software
(SRS)
2
Appendice
SISTEMA SOFTWARE STATCRM
S PECIFICHE
DEI
Specifiche del Progetto Software
R EQUISITI S OFTWARE
3
Appendice
1.INDICE 1. I NDICE .............................................................................4 2. I NTRODUZIONE ....................................................................7 2.1 F INALITÀ DEL DOCUMENTO ...................................................................7 2.2 F INALITÀ DEL PRODOTTO .....................................................................7 2.3 P RESENTAZIONE ................................................................................7 3. D ESCRIZIONE G ENERALE ................................................. .......8 3.1 P ROSPETTIVE DEL PRODOTTO ................................................................8 3.2 F UNZIONI DEL PRODOTTO ....................................................................8 3.3 C ARATTERISTICHE U TENTE ...................................................................8 4. S PECIFICHE
DEI
R EQUISITI ...................................................... 9
4.1 R EQUISITI
STATICI ..............................................................................9
4.2 R EQUISITI
DINAMICI .........................................................................16
4.3 R EQUISITI
TECNICI ...........................................................................20
4.1.1 Descrizione generale ................................................................9 4.1.2 Diagramma delle classi ............................................................9 4.1.3 Descrizione delle classi ..........................................................10 4.1.3.1 Descrizione della classe Gadget Portale .....................10 4.1.3.2 Descrizione della classe Personalizzazione Statistiche ..................................................................................................... ...10 4.1.3.3 Descrizione della classe Settaggi Statistiche .............10 4.1.3.4 Descrizione della classe Statistica ...............................11 4.1.3.5 Descrizione della classe Generatore Statistiche ........11 4.1.3.6 Descrizione della classe Richiesta ...............................13 4.1.4 Descrizione delle relazioni .....................................................14 4.2.1 Casi d’uso ................................................................................. 16 4.2.1.1 Descrizione del caso d’uso Visualizzare Statistiche . .16 4.2.1.2 Descrizione del caso d’uso Personalizzare Statistiche ..................................................................................................... ...19 4.3.1 Vincoli di progetto ..................................................................20 4.3.2 Requisiti di prestazione .........................................................20 4.3.3 Requisiti dell’interfaccia esterna ..........................................20
5. A PPENDICE ......................................................................22 5.1 D ESCRIZIONE DELL ’ ORGANIZZAZIONE ....................................................22 5.2 S TATISTICHE EFFETTUABILI DAL SISTEMA ................................................22 6. I NDICE ........................................................................... 26 7. I NTRODUZIONE ..................................................................29 7.1 S COPO .........................................................................................29 7.2 G LOSS ARIO ...................................................................................29
Specifiche del Progetto Software
4
Appendice
7.3 P RESENTAZIONE ..............................................................................30 8. M ODELLO L OGICO ..............................................................31 8.1 D IAGRAMMI
DELLE CL ASSI .................................................................31
8.1.1 Gadget Package ......................................................................31 8.1.1.1 Descrizione della classe Gadget ...................................34 8.1.1.2 Descrizione della classe Settings Form .......................34 8.1.1.3 Descrizione della classe Statistic Settings ..................34 8.1.1.4 Descrizione della classe User Prefs ..............................35 8.1.1.5 Descrizione della classe doPage.asp ............................36 8.1.1.6 Descrizione della classe Utilities.asp ...........................36 8.1.1.7 Descrizione della classe setPrefs.asp ..........................41 8.1.1.8 Descrizione della classe gadget.asp ............................41 8.1.1.9 Descrizione della classe setVisualSettings.asp ..........42 8.1.1.10 Descrizione della classe statUtilities.asp ..................42 8.1.1.11 Descrizione della classe visualSettings.asp .............47 8.1.1.12 Descrizione della classe userPrefs.asp ......................51 8.1.2 Statistics Server Package ......................................................53 8.1.2.1 Descrizione della classe MetadatiPrivati .....................54 8.1.2.2 Descrizione della classe MetadatiPubblici ...................54 8.1.2.3 Descrizione della classe StatServer .............................54 8.1.2.4 Descrizione della classe StatisticaPriv ........................57 8.1.2.5 Descrizione della classe StatisticaPub .........................58 8.1.2.6 Descrizione della classe Table ......................................58 8.1.2.7 Descrizione dell’interfaccia Statistics Server .............58 8.1.3 Statistica Server Package ......................................................60 8.1.3.1 Descrizione dell’interfaccia Statistica Server .............60 8.1.3.2 Descrizione della classe StatServerStatistica .............60 8.1.4 Excel Server Package .............................................................67 8.1.4.1 Descrizione dell’interfaccia Excel Server ....................67 8.1.4.2 Descrizione della classe StatServerExcel ....................67 8.1.5 DataBanker Server Package ..................................................78 8.1.5.1 Descrizione dell’interfaccia DataBanker Server .........78 8.1.5.2 Descrizione della classe DBServer ...............................78 8.1.5.3 Descrizione della classe Gruppo ...................................82 8.1.5.4 Descrizione della classe Metadati ................................82 8.1.5.5 Descrizione della classe MetadatiPrivati .....................83 8.1.5.6 Descrizione della classe Periodo ..................................83 8.1.5.7 Descrizione della classe SoddisfazioneCliente ...........84 8.1.5.8 Descrizione della classe Stato ......................................84 8.1.5.9 Descrizione della classe Tipo ........................................84
8.2 O RGANIZZAZIONE
DALL A BASE DI DATI ..................................................86
8.2.1 Base di dati del sistema CRM ................................................86 8.2.1.1 Diagramma delle dipendenze .......................................86 8.2.1.2 Descrizione delle dipendenze .......................................86 8.2.1.3 Schema della base di dati .............................................86 8.2.1.4 Descrizione delle strutture dati ....................................86 8.2.2 Base di dati del sistema .......................................................88 8.2.2.1 Schema della base di dati .............................................88 8.2.2.2 Descrizione delle strutture dati ....................................89
Specifiche del Progetto Software
5
Appendice
9. M ODELLO
COMPORTAMENTALE ........................... .....................95
9.1 C ASI D ’ USO ...................................................................................95 9.1.1 Descrizione dei casi d’uso .....................................................95 9.1.1.1 Caso d’uso Personalizzare Statistiche .........................95 9.1.1.2 Caso d’uso Visualizzare Statistica ................................98
10. A RCHITET TURA 10.1 D IAGRAMMI 10.1.1 10.1.2 10.1.3 10.1.4 10.1.5
DI
S ISTEMA ............................................... 103
DELLE COMPONENTI ......................................................103
Gadget Server .....................................................................103 Statistics Server .................................................................104 Statistica Server .................................................................104 Excel Server ........................................................................105 DataBanker Server .............................................................105
10.2 D IAGRAMMA
DI ALLOCAZIONE .........................................................106
11. I NTERFACCIA E STERNA .....................................................107 11.1 I NTERFACCIA
UTENTE ....................................................................107
11.1.1 Maschere ............................................................................. .107 11.1.1.1 Gadget .........................................................................107 11.1.1.2 Settaggi Statistica ......................................................107 11.1.2 Menu .....................................................................................109 11.1.3 Report ..................................................................................109
11.2 I NTERFACCIA
VERSO ALTRI SISTEMI ...................................................109
12. D EFINIZIONE
DELL ’ AMBIENTE DI SVILUPPO ..............................111
12.1 R ISORSE H ARDWARE ...................................................................111 12.2 R ISORSE S OFTWARE ....................................................................111 13. D EFINIZIONE
DELLA PIAT TAFORMA
H ARDWARE /S OFTWARE ............112
13.1 R ISORSE H ARDWARE ...................................................................112 13.2 R ISORSE S OFTWARE ....................................................................112 14. A PPENDICE ..................................................................113 14.1 F UNZIONAMENTO DEL D ATA B ANKER S ERVER .....................................113 14.2 M ODALITÀ DI CALCOLO DELLE STATISTICHE ........................................114 14.2.1 14.2.2 14.2.3 14.2.4
Andamento richieste per tipo ...........................................114 Totale richieste per tipo .....................................................115 Percentuale soddisfazione clienti .....................................115 Grafico X and Moving R sulle richieste ............................115
Specifiche del Progetto Software
6
Appendice
2.INTRODUZIONE
2.1Finalità del documento Questo documento è fornito per dare una descrizione completa delle capacità essenziali del sistema software realizzato. I destinatari sono l'utente e il progettista del sistema.
2.2Finalità del prodotto Il sistema software STATCRM ha lo scopo di effettuare statistiche personalizzabili sulle richieste effettuate nel sistema CRM preesistente e di mostrare i risultati in varie forme all’interno di un portale.
2.3Presentazione Il presente documento è organizzato nel modo seguente: il capitolo 3 riporta una descrizione generale del sistema software; il capitolo 4 riporta la descrizione della specifica dei requisiti (statici, dinamici e tecnici); infine il capitolo 5 di appendice riporta la descrizione dell’organizzazione e la descrizione delle statistiche effettuabili dal sistema.
Specifiche del Progetto Software
7
Appendice
3.DESCRIZIONE GENERALE
3.1Prospettive del prodotto Il sistema software STATCRM rientra nel progetto sperimentale di esporre ed estendere i servizi di un sistema CRM preesistente facendo uso di un portale. Pertanto i sistemi con i quali si trova ad interagire sono due: con il sistema CRM l’interazione avviene indirettamente accedendo ai suoi dati. Viceversa con il portale l’interazione avviene mediante lo sviluppo di un gadget che servirà da interfaccia con l’utente e da punto di integrazione con il portale.
3.2Funzioni del prodotto Il sistema software STATCRM permette di: •
Effettuare statistiche sulle richieste inserite nel sistema CRM e presentarle all’utente in varie forme (grafico e tabella). Consultare l’appendice per una lista delle statistiche effettuabili;
•
Permettere all’utente di personalizzare le statistiche di cui sopra.
Le funzioni di cui sopra sono realizzate automaticamente i dati immessi dall’utente.
controllando
3.3Caratteristiche Utente L’utenza principale del sistema software è rappresentata da una parte degli attuali utenti del sistema CRM, ovvero docenti e manager didattici. Gli utenti pertanto possono avere una buona capacità di utilizzo del calcolatore, anche se non è richiesta una particolare abilità in quanto al sistema si accede mediante un portale, quindi l’interazione avviene usando un comune browser web come client. Si suppone che il sistema possa essere utilizzato anche da più utenti contemporaneamente.
Specifiche del Progetto Software
8
Appendice
4.SPECIFICHE DEI REQUISITI 4.1Requisiti statici 4.1.1Descrizione 4.1.1Descrizione generale Il Gadget Portale è l’interfaccia principale al sistema. Esso è in grado sia di visualizzare una Statistica elaborata dal sotto sistema Generatore Statistiche, sia di permettere l’accesso alla sezione di Personalizzazione Statistiche. Tramite quest’ultima sezione, l’utente ha la possibilità di modificare i Settaggi Statistiche, sulla base dei quali il sotto sistema Generatore Statistiche elaborerà la Statistica. L’accesso al sotto sistema Generatore Statistiche è effettuato solo dal Gadget Portale.
4.1.2Diagramma 4.1.2Diagramma delle classi Sistema STATCRM
consente accesso
Gadget Portale
visualizza
modifica
Personalizzazione Statistiche
Settaggi Statistiche
accede
utilizza
Statistica +
Nome:
+
GruppiUtenti:
+
Risultati:
Generatore Statistiche genera
+
GetStatisticAsTable()
+
GetStatisticAsGraph()
analizza Sistema CRM
Richiesta
Specifiche del Progetto Software
+
Data:
+
Tipo:
+
Gruppo:
+
SoddisfazioneCliente:
+
Stato:
9
Appendice
4.1.3Descrizione 4.1.3Descrizione delle classi 4.1.3.1Descrizione 4.1.3.1Descrizione della classe Gadget Portale Definizione Interfaccia principale per accedere al sistema, : realizzata secondo lo standard del portale su cui viene mostrata. Attributi: n/a Metodi: n/a
4.1.3.2Descrizione 4.1.3.2Descrizione della classe Personalizzazione Statistiche Definizione Parte dell’interfaccia del sistema che permette : all’utente di personalizzare le statistiche da lui richiedibili; Attributi: n/a Metodi: n/a
4.1.3.3Descrizione 4.1.3.3Descrizione della classe Settaggi Statistiche Definizione consente di immagazzinare i settaggi scelti : dall’utente per la personalizzazione delle statistiche; Attributi:
Specifiche del Progetto Software
10
Appendice
Statistica: statistica da visualizzare (vedere Appendice) VisualizzaCome: modalità di visualizzazione (tabella o grafico) Gruppo: gruppo di utenti che hanno inserito richieste su cui effettuare la statistica Periodo: intervallo di tempo su cui effettuare la statistica Tipi: tipi di richieste su cui effettuare la statistica SoddisfazioniCliente livelli di soddisfazione del cliente su cui : effettuare la statistica Stati: stati delle richieste su cui effettuare la statistica Metodi: n/a
4.1.3.4Descrizione 4.1.3.4Descrizione della classe Statistica Definizione statistica effettuabile dal sistema. Vedere Appendice. : Attributi: Nome: nome della statistica GruppiUtenti gruppi di utenti (figure) del portale abilitati a : effettuarla Risultati: risultati della statistica in forma tabellare o grafica Metodi: n/a
4.1.3.5Descrizione 4.1.3.5Descrizione della classe Generatore Statistiche Definizione componente del sistema che si occupa di effettuare : le statistiche Attributi: n/a Metodi:
Specifiche del Progetto Software
11
Appendice
GetStatisticAsTable() Introduzione :
effettua una statistica e ne restituisce i risultati sotto forma di tabella. I parametri su cui effettuarla vengono dati come input e si riferiscono sia alla statistica da eseguire sia alle richieste da prendere in considerazione.
Parametri di interfaccia: Nome: statistica Direzione: Input Nome: gruppo Direzione: Input Nome: periodo Direzione: Input Nome: tipi Direzione: Input Nome: soddisfazioniCliente Direzione: Input Nome: stati Direzione: Input Nome: table Direzione: Output
Specifiche del Progetto Software
12
Appendice
GetStatisticAsGraph() Introduzione :
effettua una statistica e ne restituisce i risultati sotto forma di grafico. I parametri su cui effettuarla vengono dati come input e si riferiscono sia alla statistica da eseguire sia alle richieste da prendere in considerazione.
Parametri di interfaccia: Nome: statistica Direzione: Input Nome: gruppo Direzione: Input Nome: periodo Direzione: Input Nome: tipi Direzione: Input Nome: soddisfazioniCliente Direzione: Input Nome: stati Direzione: Input Nome: grafico Direzione: Output
4.1.3.6Descrizione 4.1.3.6Descrizione della classe Richiesta Definizione richiesta effettuata al call center del sistema CRM. : Attributi:
Specifiche del Progetto Software
13
Appendice
Data: data in cui è stata effettuata la richiesta Tipo: tipo di richiesta Gruppo: gruppo di appartenenza dell’utente che ha effettuato la richiesta SoddisfazioneCliente livello di soddisfazione di chi ha : ricevuto risposta alla richiesta Stato: stato attuale della richiesta Metodi: n/a
4.1.4Descrizione 4.1.4Descrizione delle relazioni Nome: Gadget Portale consente accesso Personalizzazione Statistiche Definizione: la relazione indica la possibilità di accedere alla sezione di personalizzazione delle statistiche solo a partire dal gadget del portale.
Nome: Personalizzazione Statistiche modifica Settagli Statistiche Definizione: la relazione indica la capacità della sezione di personalizzazione delle statistiche di modificare i settagli attuali delle statistiche.
Nome: Gadget Portale visualizza Statistica Definizione: la relazione indica la capacità del gadget portale di visualizzare i risultati dell’elaborazione di una statistica.
Nome: Gadget Portale accede Generatore Statistiche Definizione: la relazione indica la modalità di accesso al sotto sistema che genera le statistiche, ovvero il punto di accesso è unico e avviene solo tramite il gadget.
Nome: Generatore Statistiche utilizza Settagli Statistiche
Specifiche del Progetto Software
14
Appendice
Definizione: la relazione indica la dipendenza dell’elaborazione delle statistiche dai settaggi attuali scelti dall’utente. Nome: Generatore Statistiche analizza Richiesta Definizione: la relazione indica la possibilità del generatore statistiche di accedere alle richieste per elaborare le statistiche. Nome: Generatore Statistiche genera Statistica Definizione: la relazione indica la capacità del sotto sistema generatore di statistiche di elaborare e restituire statistiche
Specifiche del Progetto Software
15
Appendice
4.2Requisiti dinamici 4.2.1Casi 4.2.1Casi d’uso
4.2.1.1Descrizione 4.2.1.1Descrizione del caso d’uso Visualizzare Statistiche Nome attore: Utente Portale, Sistema CRM Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la visualizzazione delle statistiche alle quali è autorizzato ad accedere secondo le proprie preferenze. L’attore Sistema CRM è il sistema che ospita l’applicazione CRM sui dati della quale verranno effettuate le statistiche. Relazioni:
•
l’Utente Portale accede al gadget;
•
il sistema recupera i dati dal Sistema CRM ed effettua le statistiche;
•
il sistema presenta all’Utente Portale i risultati dell’elaborazione.
Descrizione dello scenario:
Specifiche del Progetto Software
16
Appendice
Specifiche del Progetto Software
17
Appendice
Specifiche del Progetto Software
18
Appendice
4.2.1.2Descrizione 4.2.1.2Descrizione del caso d’uso Personalizzare Statistiche Nome attore: Utente Portale Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la personalizzazione delle statistiche alle quali è autorizzato ad accedere Relazioni:
•
L’Utente Portale accede alla sezione del gadget di personalizzazione delle statistiche;
•
L’Utente Portale effettua la modifica dei dati;
•
Il sistema registra i cambiamenti.
Descrizione dello scenario:
Utente Portale Gadget Portale accedere
Personalizzazione Statistiche richiamare
Settaggi Statistiche
recuperare settaggi
valori da modificare nuovi settaggi
registrare aggiornare
statistica aggiornata
Specifiche del Progetto Software
19
Appendice
4.3Requisiti tecnici 4.3.1Vincoli 4.3.1Vincoli di progetto Il sistema deve tener conto delle varie figure che possono avere accesso ad esso, in particolare in termini di quali statistiche possono essere visualizzate da ogni figura. Il sistema deve adattarsi automaticamente all’utente, presentandogli solo ed esclusivamente le statistiche abilitate ad essere visualizzate da esso. Il sistema deve essere realizzato in modo da permettere l’aggiunta futura di nuove statistiche eseguibili con il minor sforzo possibile e demandando quanto più l’elaborazione di tali statistiche ad applicazioni preesistenti nell’organizzazione. Tali applicazioni andranno quindi integrate nell’intero sistema.
4.3.2Requisiti 4.3.2Requisiti di prestazione Il sistema sarà eseguito all’interno di un portale. Data la natura multiutente di quest’ultimo si suppone che al sistema possa accedere più di una persona contemporaneamente. Il sistema dovrà quindi essere progettato in modo da sopportare un carico di utenti maggiore di uno. Data la natura sperimentale del sistema, tale requisito non è momentaneamente essenziale.
4.3.3Requisiti 4.3.3Requisiti dell’interfaccia esterna L’interfaccia del sistema deve essere realizzata in modo da essere visualizzata all’interno del portale preesistente nell’organizzazione, ovvero Plumtree Corporate Portal 4.5, ciò implica che l’interfaccia utente deve essere realizzata in HTML rispettando lo stile del portale e l’interfaccia per interagire il portale deve essere quella fornita dal produttore Plumtree, ovvero il Plumtree Gadget Developer Studio. la tecnologia di interazione adottata è di uso comune (video, tastiera e mouse). L'uso della tastiera è richiesto solo per inserire dati testuali e non per invocare l'esecuzione di comandi. Presso l’utente non è richiesta l’installazione di software particolare, se non un comune browser Internet per accedere al portale, pertanto non esistono particolari richieste hardware presso l’utente. L’interazione con il sistema CRM deve avvenire nel modo più semplice possibile, senza apportare modifiche ad esso, preferibilmente accedendo ai suoi dati. Inoltre, data la natura prototipale del sistema CRM, progettare il sistema d’accesso ai dati in modo da essere il più indipendente possibile da esso, sia in termini di assunzione della tecnologia usata per la base di dati, sia
Specifiche del Progetto Software
20
Appendice
in termini di dati trattati dal sistema CRM, i quali possono subire sia modifiche sia incrementi nel corso del tempo. Altra caratteristica da tenere in considerazione è la possibilità futura di uno spostamento fisico del sistema CRM in una locazione differente dall’attuale e con metodi di protezione che possono non consentire l’accesso utilizzando determinate tecnologie. Si devono utilizzare quindi tecnologie di integrazione che tengano conto di questi fattori, ad esempio i Web Service.
Specifiche del Progetto Software
21
Appendice
5.APPENDICE
5.1Descrizione dell’organizzazione L’organizzazione che adotterà il sistema è la stessa che attualmente possiede il sistema CRM in fase di sviluppo, ovvero il laboratorio di ricerca SER_Lab. All’interno di tale organizzazione, la tecnologia utilizzata per il portale è il già citato Plumtree Corporate Portal 4.5, inoltre sono disponibili applicativi che potrebbero risultare utili per la generazione di statistiche, quali Statsoft Statistica 6 DA-DM-QC e Microsoft Excel 2000. L’organizzazione che invece accede al sistema è l’Università degli Studi di Bari, nella quale le figure abilitate al suo utilizzo sono: Studenti, Docenti, Manager Didattici e Organizzazioni con i loro Referenti Aziendali e Tutor. Momentaneamente le figure abilitate ad accedere al sistema STATCRM sono solo Docenti e Manager Didattici.
5.2Statistiche effettuabili dal sistema Le statistiche effettuabili dal sistema vengono elencate di seguito insieme a un esempio di rappresentazione come grafico e le figure di utenti che possono effettuarle: •
Andamento richieste per tipo: calcolare per ogni tipo di richiesta presa in esame il numero totale di richieste di quel tipo per ogni data del periodo di analisi. L’output grafico generato deve essere simile al seguente:
• T t l
o a e
richieste per tipo: calcolare per ogni tipo di richiesta presa in esame il numero totale di richieste di quel tipo. L’output grafico generato deve essere simile al seguente:
Specifiche del Progetto Software
22
Appendice
• P ercentuale soddisfazione clienti: calcolare per ogni livello di soddisfazione la percentuale delle richieste prese in esame di tale livello. L’output grafico generato deve essere simile al seguente:
•
Grafico X and Moving R sulle richieste: calcolare per ogni data del periodo di analisi il totale delle richieste prese in esame ed effettuare su di esse la statistica. L’output grafico generato deve essere simile al seguente:
Specifiche del Progetto Software
23
Appendice
Specifiche del Progetto Software
24
Appendice
SISTEMA SOFTWARE STATCRM
S PECIFICHE
DEL
Specifiche del Progetto Software
P ROGETTO S OFTWARE
25
Appendice
6.INDICE 1. I NDICE .............................................................................4 2. I NTRODUZIONE ....................................................................7 2.1 F INALITÀ DEL DOCUMENTO ...................................................................7 2.2 F INALITÀ DEL PRODOTTO .....................................................................7 2.3 P RESENTAZIONE ................................................................................7 3. D ESCRIZIONE G ENERALE ................................................. .......8 3.1 P ROSPETTIVE DEL PRODOTTO ................................................................8 3.2 F UNZIONI DEL PRODOTTO ....................................................................8 3.3 C ARATTERISTICHE U TENTE ...................................................................8 4. S PECIFICHE
DEI
R EQUISITI ...................................................... 9
4.1 R EQUISITI
STATICI ..............................................................................9
4.2 R EQUISITI
DINAMICI .........................................................................16
4.3 R EQUISITI
TECNICI ...........................................................................20
4.1.1 Descrizione generale ................................................................9 4.1.2 Diagramma delle classi ............................................................9 4.1.3 Descrizione delle classi ..........................................................10 4.1.3.1 Descrizione della classe Gadget Portale .....................10 4.1.3.2 Descrizione della classe Personalizzazione Statistiche ..................................................................................................... ...10 4.1.3.3 Descrizione della classe Settaggi Statistiche .............10 4.1.3.4 Descrizione della classe Statistica ...............................11 4.1.3.5 Descrizione della classe Generatore Statistiche ........11 4.1.3.6 Descrizione della classe Richiesta ...............................13 4.1.4 Descrizione delle relazioni .....................................................14 4.2.1 Casi d’uso ................................................................................. 16 4.2.1.1 Descrizione del caso d’uso Visualizzare Statistiche . .16 4.2.1.2 Descrizione del caso d’uso Personalizzare Statistiche ..................................................................................................... ...19 4.3.1 Vincoli di progetto ..................................................................20 4.3.2 Requisiti di prestazione .........................................................20 4.3.3 Requisiti dell’interfaccia esterna ..........................................20
5. A PPENDICE ......................................................................22 5.1 D ESCRIZIONE DELL ’ ORGANIZZAZIONE ....................................................22 5.2 S TATISTICHE EFFETTUABILI DAL SISTEMA ................................................22 6. I NDICE ........................................................................... 26 7. I NTRODUZIONE ..................................................................29 7.1 S COPO .........................................................................................29 7.2 G LOSS ARIO ...................................................................................29
Specifiche del Progetto Software
26
Appendice
7.3 P RESENTAZIONE ..............................................................................30 8. M ODELLO L OGICO ..............................................................31 8.1 D IAGRAMMI
DELLE CL ASSI .................................................................31
8.1.1 Gadget Package ......................................................................31 8.1.1.1 Descrizione della classe Gadget ...................................34 8.1.1.2 Descrizione della classe Settings Form .......................34 8.1.1.3 Descrizione della classe Statistic Settings ..................34 8.1.1.4 Descrizione della classe User Prefs ..............................35 8.1.1.5 Descrizione della classe doPage.asp ............................36 8.1.1.6 Descrizione della classe Utilities.asp ...........................36 8.1.1.7 Descrizione della classe setPrefs.asp ..........................41 8.1.1.8 Descrizione della classe gadget.asp ............................41 8.1.1.9 Descrizione della classe setVisualSettings.asp ..........42 8.1.1.10 Descrizione della classe statUtilities.asp ..................42 8.1.1.11 Descrizione della classe visualSettings.asp .............47 8.1.1.12 Descrizione della classe userPrefs.asp ......................51 8.1.2 Statistics Server Package ......................................................53 8.1.2.1 Descrizione della classe MetadatiPrivati .....................54 8.1.2.2 Descrizione della classe MetadatiPubblici ...................54 8.1.2.3 Descrizione della classe StatServer .............................54 8.1.2.4 Descrizione della classe StatisticaPriv ........................57 8.1.2.5 Descrizione della classe StatisticaPub .........................58 8.1.2.6 Descrizione della classe Table ......................................58 8.1.2.7 Descrizione dell’interfaccia Statistics Server .............58 8.1.3 Statistica Server Package ......................................................60 8.1.3.1 Descrizione dell’interfaccia Statistica Server .............60 8.1.3.2 Descrizione della classe StatServerStatistica .............60 8.1.4 Excel Server Package .............................................................67 8.1.4.1 Descrizione dell’interfaccia Excel Server ....................67 8.1.4.2 Descrizione della classe StatServerExcel ....................67 8.1.5 DataBanker Server Package ..................................................78 8.1.5.1 Descrizione dell’interfaccia DataBanker Server .........78 8.1.5.2 Descrizione della classe DBServer ...............................78 8.1.5.3 Descrizione della classe Gruppo ...................................82 8.1.5.4 Descrizione della classe Metadati ................................82 8.1.5.5 Descrizione della classe MetadatiPrivati .....................83 8.1.5.6 Descrizione della classe Periodo ..................................83 8.1.5.7 Descrizione della classe SoddisfazioneCliente ...........84 8.1.5.8 Descrizione della classe Stato ......................................84 8.1.5.9 Descrizione della classe Tipo ........................................84
8.2 O RGANIZZAZIONE
DALL A BASE DI DATI ..................................................86
8.2.1 Base di dati del sistema CRM ................................................86 8.2.1.1 Diagramma delle dipendenze .......................................86 8.2.1.2 Descrizione delle dipendenze .......................................86 8.2.1.3 Schema della base di dati .............................................86 8.2.1.4 Descrizione delle strutture dati ....................................86 8.2.2 Base di dati del sistema .......................................................88 8.2.2.1 Schema della base di dati .............................................88 8.2.2.2 Descrizione delle strutture dati ....................................89
Specifiche del Progetto Software
27
Appendice
9. M ODELLO
COMPORTAMENTALE ........................... .....................95
9.1 C ASI D ’ USO ...................................................................................95 9.1.1 Descrizione dei casi d’uso .....................................................95 9.1.1.1 Caso d’uso Personalizzare Statistiche .........................95 9.1.1.2 Caso d’uso Visualizzare Statistica ................................98
10. A RCHITET TURA 10.1 D IAGRAMMI 10.1.1 10.1.2 10.1.3 10.1.4 10.1.5
DI
S ISTEMA ............................................... 103
DELLE COMPONENTI ......................................................103
Gadget Server .....................................................................103 Statistics Server .................................................................104 Statistica Server .................................................................104 Excel Server ........................................................................105 DataBanker Server .............................................................105
10.2 D IAGRAMMA
DI ALLOCAZIONE .........................................................106
11. I NTERFACCIA E STERNA .....................................................107 11.1 I NTERFACCIA
UTENTE ....................................................................107
11.1.1 Maschere ............................................................................. .107 11.1.1.1 Gadget .........................................................................107 11.1.1.2 Settaggi Statistica ......................................................107 11.1.2 Menu .....................................................................................109 11.1.3 Report ..................................................................................109
11.2 I NTERFACCIA
VERSO ALTRI SISTEMI ...................................................109
12. D EFINIZIONE
DELL ’ AMBIENTE DI SVILUPPO ..............................111
12.1 R ISORSE H ARDWARE ...................................................................111 12.2 R ISORSE S OFTWARE ....................................................................111 13. D EFINIZIONE
DELLA PIAT TAFORMA
H ARDWARE /S OFTWARE ............112
13.1 R ISORSE H ARDWARE ...................................................................112 13.2 R ISORSE S OFTWARE ....................................................................112 14. A PPENDICE ..................................................................113 14.1 F UNZIONAMENTO DEL D ATA B ANKER S ERVER .....................................113 14.2 M ODALITÀ DI CALCOLO DELLE STATISTICHE ........................................114 14.2.1 14.2.2 14.2.3 14.2.4
Andamento richieste per tipo ...........................................114 Totale richieste per tipo .....................................................115 Percentuale soddisfazione clienti .....................................115 Grafico X and Moving R sulle richieste ............................115
Specifiche del Progetto Software
28
Appendice
7.INTRODUZIONE
7.1Scopo Questo documento contiene una descrizione dettagliata del sistema software STATCRM. I destinatari sono i codificatori.
7.2Glossario Nel presente documento vengono usati i seguenti termini: •
CRM: Acronimo di Customer Relationship Management (gestione rapporti con la clientela). Generalmente si riferisce a un sistema software che fornisce funzionalità integrate per marketing, vendite, supporto alla clientela e richieste al call center;
•
Gadget: componenti eseguiti su differenti computer con i quali gli utenti possono interagire direttamente attraverso il portale;
•
Microsoft .Net Framework: un ambiente completo per lo sviluppo, implementazione ed esecuzione di XML Web service e altre applicazioni. L’infrastruttura è composta da 3 parti principali, ovvero il Common Language Runtime, le classi Framework e ASP.NET;
•
Microsoft .Net Runtime Callable-Wrapper: le componenti COM sono accessibili dal .NET Framework mediante l'uso di un wrapper richiamabile a runtime (RCW). Tale wrapper trasforma l'interfaccia COM esposta dalla componente COM in un'intefaccia compatibile con il .NET Framework. Un RCW può essere generato automaticamente a partire dal componente COM compilato;
•
Microsoft .Net WebService Proxy: classe che rappresenta localmente le funzionalità esposte di un XML Web service. La classe proxy definisce i metodi che rappresentano i metodi attualmente esposti dall'XML Web service. Quando l'applicazione client crea un'istanza della classe proxy, è in grado di invocare i metodi dell'XML Web service come se l'XML Web service fosse una componente disponibile localmente;
•
Microsoft COM: acronimo di Component Object Model. Una specifica sviluppata da Microsoft per la produzione di componenti software che possono essere assemblate in programmi o aggiungere funzionalità a programmi esistenti che girano su piattaforme Microsoft Windows;
Specifiche del Progetto Software
29
Appendice
•
XML WebService: gli XML Web Service sono elementi della logica applicativa che forniscono dati e servizi ad altre applicazioni. Le applicazioni possono accedere ai servizi Web XML tramite protocolli Web e formati di dati standard quali HTTP, XML e SOAP, indipendentemente dalla modalità di implementazione di ogni singolo servizio Web XML;
7.3Presentazione Il presente documento è organizzato nel modo seguente: il capitolo 8 riporta il modello logico del sistema (diagrammi delle classi e organizzazione della base di dati); il capitolo 9 riporta il modello comportamentale del sistema (casi d’uso); il capitolo 10 riporta l’architettura del sistema (diagrammi delle componenti e di allocazione); il capitolo 11 riporta la descrizione dell’interfaccia esterna del sistema (interfaccia utente e verso altri sistemi); il capitolo 12 riporta la definizione dell’ambiente di sviluppo in termini di risorse hardware e software; il capitolo 13 riporta la definizione della piattaforma hardware e software del sistema; infine il capitolo 14 di appendice contiene la descrizione del funzionamento della componente DataBanker Server e le modalità di calcolo delle varie statistiche.
Specifiche del Progetto Software
30
Appendice
8.MODELLO LOGICO
8.1Diagrammi delle classi Viene di seguito riportato il diagramma dei package del sistema:
Statistica Server
Gadget
Statistics Server
DataBanker Server
Excel Server
8.1.1Gadget 8.1.1Gadget Package
Specifiche del Progetto Software
31
Appendice
Specifiche del Progetto Software
32
Appendice
Specifiche del Progetto Software
33
Appendice
8.1.1.1Descrizione 8.1.1.1Descrizione della classe Gadget Definizione Pagina client presentata all’utente. E’ l’interfaccia : principale del sistema con l’utente Attributi: n/a Metodi: n/a
8.1.1.2Descrizione 8.1.1.2Descrizione della classe Settings Form Definizione Form nel quale l’utente può impostare i settaggi per : la statistica. Attributi: Statistica: nome della statistica da visualizzare VisualizzaCome: modalità con cui mostrare la statistica (grafico o tabella) NumeroRighePerPagin numero di righe della tabella da a: visualizzare per pagina Gruppo: gruppo di utenti che hanno inserito richieste su cui effettuare la statistica Periodo: intervallo di tempo su cui effettuare la statistica Tipi: tipi di richieste su cui effettuare la statistica SoddisfazioneCliente: livelli di soddisfazione su cui effettuare la statistica Stati: stati delle richieste su cui effettuare la statistica Metodi: n/a
8.1.1.3Descrizione 8.1.1.3Descrizione della classe Statistic Settings Definizione Pagina client presentata all’utente per permettergli di : modificare i settaggi della statistica
Specifiche del Progetto Software
34
Appendice
Attributi: n/a Metodi: aggiornaTipi() Introduzione :
aggiorna nel form la lista dei tipi di richieste con quelle relative al ruolo scelto
Parametri di interfaccia: n/a closeAll() Introduzione :
chiude la finestra senza registrare le modifiche ai settaggi
Parametri di interfaccia: n/a checkForm() Introduzione :
controlla la correttezza dei dati immessi nel form: almeno un elemento selezionato per i campi Tipi, SoddisfazioneCliente e Stati
Parametri di interfaccia: n/a Nome: tipi Direzione: Input Dominio: DOM Object Nome: sodd Direzione: Input Dominio: DOM Object Nome: stati Direzione: Input Dominio: DOM Object
8.1.1.4Descrizione 8.1.1.4Descrizione della classe User Prefs
Specifiche del Progetto Software
35
Appendice
Definizione Pagina client che invita l’utente a modificare i : settaggi del gadget da link sul gadget stesso Attributi: n/a Metodi: n/a
8.1.1.5Descrizione 8.1.1.5Descrizione della classe doPage.asp Definizione Server page che prepara il sistema a mostrare : all’utente la pagina della tabella da lui selezionata nel gadget Attributi: n/a Metodi: main() Introduzione :
effettua il cambiamento di pagina
Parametri di interfaccia: n/a 8.1.1.6Descrizione 8.1.1.6Descrizione della classe Utilities.asp Definizione Pagina server contenente funzioni di utilità : Attributi: n/a Metodi:
Specifiche del Progetto Software
36
Appendice
traduciStringa() Introduzione :
restituisce la versione localizzata di una stringa nella lingua selezionata nelle preferenze del portale
Parametri di interfaccia: Nome: codiceStringa Direzione: Input Dominio: String redirect() Introduzione :
Redirige l’utente alla pagina personale dell’utente nel portale
Parametri di interfaccia: n/a getUserGroups() Introduzione :
restituisce tutti i gruppi a cui l’utente appartiene nel portale
Parametri di interfaccia: Nome: userId Direzione: Input Dominio: String Nome: groups Direzione: Output Dominio: String
Specifiche del Progetto Software
37
Appendice
loadXmlString() Introduzione :
crea un documento XML da una stringa con il suo contenuto
Parametri di interfaccia: Nome: content Direzione: Input Dominio: String Nome: xml Direzione: Output Dominio: XMLDOM Document
Specifiche del Progetto Software
38
Appendice
loadXmlFile() Introduzione :
crea un documento Xml caricandolo da file
Parametri di interfaccia: Nome: name Direzione: Input Dominio: String Nome: xml Direzione: Output Dominio: XMLDOM Document
salvaDocumento() Introduzione :
salva su disco un documento Xml
Parametri di interfaccia: Nome: documento Direzione: Input Dominio: XMLDOM Document Nome: nomeFile Direzione: Input Dominio: String getRedirectUrl() Introduzione :
restituisce l’URL della pagina personale dell’utente nel portale
Parametri di interfaccia: Nome: redirectUrl Direzione: Output Dominio: String
Specifiche del Progetto Software
39
Appendice
getGadgetID() Introduzione :
restituisce l’identificatore univoco del gadget dell’utente all’interno del portale
Parametri di interfaccia: Nome: gadgetID Direzione: Output Dominio: String
Specifiche del Progetto Software
40
Appendice
8.1.1.7Descrizione 8.1.1.7Descrizione della classe setPrefs.asp Definizione Pagina server che redirige l’utente al portale dopo : aver visionato la pagina client User Prefs Attributi: n/a Metodi: main() Introduzione :
effettua la redirezione al portale
Parametri di interfaccia: n/a
8.1.1.8Descrizione 8.1.1.8Descrizione della classe gadget.asp Definizione Server page che si occupa di costruire l’interfaccia : utente del sistema Attributi: pageNumeber: numero di pagina corrente della tabella GSrowsPerPage numero di righe per pagina da mostrare per : la tabella
Metodi: main() Introduzione :
costruisce all’utente
la
pagina
client
da
mostrare
Parametri di interfaccia:
Specifiche del Progetto Software
41
Appendice
8.1.1.9Descrizione 8.1.1.9Descrizione della classe setVisualSettings.asp Definizione Pagina server che registra i nuovi settaggi della : statistica scelti dall’utente Attributi: n/a Metodi: main() Introduzione :
rende effettivi i cambiamenti registrando i valori nelle variabili utente del portale
Parametri di interfaccia: n/a
8.1.1.10Descrizione 8.1.1.10Descrizione della classe statUtilities.asp Definizione Server page contenente una serie di funzioni di utilità : utilizzate dal sistema Attributi: n/a Metodi:
getStatisticName() Introduzione restituisce il nome della statistica : corrispondente a un codice Parametri di interfaccia: Nome: code Direzione: Input Dominio: String Nome: name Direzione: Output Dominio: String
getMetadati()
Specifiche del Progetto Software
42
Appendice
Introduzione restituisce i metadati delle statistiche : effettuabili dal sistema contattando il sottosistema Statistics Server Parametri di interfaccia: Nome: xml1 Direzione: Output Dominio: XMLDOM Document
makeTable() Introduzione costruisce la parte della tabella con le righe : da mostrare all’utente nella pagina da lui selezionata Parametri di interfaccia: Nome: doNumberRows Direzione: Input Dominio: Boolean Nome: firstRowHeader Direzione: Input Dominio: Boolean Nome: lastRowTotal Direzione: Input Dominio: Boolean Nome: table Direzione: Output Dominio: String
makeImgTag() Introduzione costruisce il tag HTML per mostrare : l’immagine nel gadget Parametri di interfaccia:
Specifiche del Progetto Software
43
Appendice
Nome: imgTag Direzione: Output Dominio: String
createTableNavigator() Introduzione costruisce la barra per navigare tra le : pagine della tabella Parametri di interfaccia: Nome: rowsNumber Direzione: Input Dominio: Integer Nome: rowsPerPage Direzione: Input Dominio: Integer Nome: pageNumber Direzione: Input Dominio: Integer Nome: navigatorTable Direzione: Output Dominio: String
doStatisticAsTable()
Specifiche del Progetto Software
44
Appendice
Introduzione :
restituisce la tabella in formato HTML da visualizzare nel gadget del portale
Parametri di interfaccia: Nome: NewStatistica Direzione: Input Dominio: String Nome: NewGruppo Direzione: Input Dominio: String Nome: NewPeriodo Direzione: Input Dominio: String Nome: NewTipi Direzione: Input Dominio: String Nome: NewSoddisfazioni Direzione: Input Dominio: String Nome: NewStati Direzione: Input Dominio: String Nome: table Direzione: Output Dominio: String
doStatisticAsChart()
Specifiche del Progetto Software
45
Appendice
Introduzione restituisce il riferimento all’immagine in : formato HTML da visualizzare nel portale Parametri di interfaccia: Nome: NewStatistica Direzione: Input Dominio: String Nome: NewGruppo Direzione: Input Dominio: String Nome: NewPeriodo Direzione: Input Dominio: String Nome: NewTipi Direzione: Input Dominio: String Nome: NewSoddisfazioni Direzione: Input Dominio: String Nome: NewStati Direzione: Input Dominio: String Nome: chart Direzione: Output Dominio: String
Base64Decode()
Specifiche del Progetto Software
46
Appendice
Introduzione data una stringa contenente un file : codificato secondo lo standard Base64, salva su file il contenuto in formato binario (il nome del file è costruito in modo univoco dall’ID del gadget) Parametri di interfaccia: Nome: textStream Direzione: Input Dominio: String
8.1.1.11Descrizione 8.1.1.11Descrizione della classe visualSettings.asp Definizione Server page che costruisce la pagina client Visual : Settings da mostrare all’utente Attributi: n/a Metodi:
getVisualizzaComeComboBox() Introduzione restituisce il combobox in HTML per la scelta : della modalità di visualizzazione della statistica Parametri di interfaccia: Nome: visualizzaCome Direzione: Input Dominio: String Nome: combobox Direzione: Output Dominio: String isAbilitatoAVederla()
Specifiche del Progetto Software
47
Appendice
Introduzione controlla se un utente è abilitato a : visualizzare una determinata statistica Parametri di interfaccia: Nome: gruppiAppartieneUtente Direzione: Input Dominio: String Nome: gruppiAbilitatiAllaStatistica Direzione: Input Dominio: String Nome: isAbilitato Direzione: Output Dominio: Boolean
getPeriodoComboBox() Introduzione restituisce il combobox in HTML per la scelta : dell’intervallo di tempo su cui effettuare la statistica Parametri di interfaccia: Nome: xmlDoc Direzione: Input Dominio: XMLDOM Document Nome: periodo Direzione: Input Dominio: String Nome: combobox Direzione: Output Dominio: String getStatisticaComboBox()
Specifiche del Progetto Software
48
Appendice
Introduzione restituisce il combobox in HTML per la scelta : della statistica da visualizzare Parametri di interfaccia: Nome: xmlDoc Direzione: Input Dominio: XMLDOM Document Nome: gruppi Direzione: Input Dominio: String Nome: statisticaCorrente Direzione: Input Dominio: String Nome: combobox Direzione: Output Dominio: String
main() Introduzione prepara la pagina client Statistic Settings da : mostrare all’utente Parametri di interfaccia: n/a
getRuoloComboBox()
Specifiche del Progetto Software
49
Appendice
Introduzione restituisce il combobox in HTML per la scelta : del gruppo di utenti su cui effettuare la statistica Parametri di interfaccia: Nome: xmlDoc Direzione: Input Dominio: XMLDOM Document Nome: ruolo Direzione: Input Dominio: String Nome: combobox Direzione: Output Dominio: String
getTipiSelectBox() Introduzione restituisce la lista in HTML per la scelta dei : tipi su cui effettuare la statistica Parametri di interfaccia: Nome: xmlDoc Direzione: Input Dominio: XMLDOM Document Nome: tipi Direzione: Input Dominio: String Nome: ruolo Direzione: Input Dominio: String Nome: selectBox Direzione: Output Dominio: String
Specifiche del Progetto Software
50
Appendice
getSoddisfazioniSelectBox() Introduzione restituisce la lista in HTML per selezionare i : valori di soddisfazione del cliente su cui effettuare la statistica Parametri di interfaccia: Nome: xmlDoc Direzione: Input Dominio: XMLDOM Document Nome: soddisfazioni Direzione: Input Dominio: String Nome: selectBox Direzione: Output Dominio: String
getStatiSelectBox() Introduzione restituisce la lista in HTML per selezionare : gli stati su cui effettuare la statistica Parametri di interfaccia: Nome: xmlDoc Direzione: Input Dominio: XMLDOM Document Nome: stati Direzione: Input Dominio: String Nome: selectBox Direzione: Output Dominio: String 8.1.1.12Descrizione 8.1.1.12Descrizione della classe userPrefs.asp
Specifiche del Progetto Software
51
Appendice
Definizione Server page che costruisce la pagina client User Prefs : Attributi: n/a Metodi: main() Introduzione :
costruisce la pagina HTML User Prefs da mostrare all’utente
Parametri di interfaccia: n/a
N.B. le classi e le interfacce appartenenti a COTS o altri package del sistema stesso non vengono qui riportate. In quest’ultimo caso riferirsi alla documentazione di tali package per ulteriori informazioni.
Specifiche del Progetto Software
52
Appendice
8.1.2Statistics 8.1.2Statistics Server Package «interface» Statistics Server
«interface» Statistica Server::Statistica Server
+
GetMetadata()
+
GetStatisticAsChart()
+
GetStatisticAsGraph()
+
GetStatisticAsTable()
+
GetStatisticAsTable()
«interface»
+
GetStatisticAsChart()
+
GetStatisticAsTable()
«realize»
«call»
Excel Server::Excel Server
StatServer «call»
Table +
GetMetadata()
+
GetStatisticAsGraph()
+
TableAsString:
«interface»
+
GetStatisticAsTable()
+
Rows:
DataBanker Server::DataBanker Server
-
ReadMetadata()
+
Cols:
-
GetStatisticIndex()
+
GetData()
+
GetMetadata()
«call»
1 Vedere diagramma delle classi relativo al Databanker Server per ulteriori dettagli
1
MetadatiPubblici
1..*
1
1..*
StatisticaPub
DataBanker Server::Metadati
Specifiche del Progetto Software
MetadatiPrivati
-
Codice:
-
Nome:
-
Gruppi:
StatisticaPriv -
Generatore:
-
InformazioniRisultati:
-
InformazioniRisultatiTitoloTabella:
-
RaggruppamentoRisultati:
-
OrdineRisultati:
53
Appendice
8.1.2.1Descrizione 8.1.2.1Descrizione della classe MetadatiPrivati Definizione metadati privati sulle statistiche : all’esterno del sottosistema
non
visibili
Attributi: n/a Metodi: n/a
8.1.2.2Descrizione 8.1.2.2Descrizione della classe MetadatiPubblici Definizione metadati pubblici sulle statistiche visibili all’esterno : del sottosistema Attributi: n/a Metodi: n/a
8.1.2.3Descrizione 8.1.2.3Descrizione della classe StatServer Definizione implementazione del WebService : Attributi: n/a Metodi: GetMetadata() Introduzione restituisce i metadati sulle statistiche : Parametri di interfaccia: Nome: MetadatiPubblici Direzione: Output Dominio: MetadatiPubblici
ReadMetadata() Introduzione carica i metadati del sistema da file : Parametri di interfaccia: n/a
Specifiche del Progetto Software
54
Appendice
GetStatisticAsTable() Introduzione restituisce la statistica in formato di tabella : Parametri di interfaccia: Nome: StatisticaNome Direzione: Input Dominio: String Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: table Direzione: Output Dominio: Array of String
GetStatisticAsGraph()
Specifiche del Progetto Software
55
Appendice
Introduzione restituisce la statistica in formato di : immagine Parametri di interfaccia: Nome: StatisticaNome Direzione: Input Dominio: String Nome: ID Direzione: Input Dominio: String Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: encodedGraph Direzione: Output Dominio: String
GetStatisticIndex()
Specifiche del Progetto Software
56
Appendice
Introduzione restituisce l’indice della statistica all’interno : della lista delle statistiche disponibili Parametri di interfaccia: Nome: StatisticaNome Direzione: Input Dominio: String Nome: i Direzione: Output Dominio: Integer
8.1.2.4Descrizione 8.1.2.4Descrizione della classe StatisticaPriv Definizione metadati privati di una singola statistica : Attributi: Generatore: applicazione con cui è generata la statistica (Excel o Statistica) InformazioniRisultati: campi richiesti per l’interrogazione al databanker (vedere Appendice) InformazioniRisultatiTitoloTabella nomi dei campi della : tabella risultante dall’interrogazione del databanker (vedere Appendice) RaggruppamentoRisultati: campi per cui raggruppare i risultati dell’interrogazione al databanker (vedere Appendice) OrdineRisultati: campi per cui ordinare i risultati dell’interrogazione al databanker (vedere Appendice)
Specifiche del Progetto Software
57
Appendice
Metodi: n/a
8.1.2.5Descrizione 8.1.2.5Descrizione della classe StatisticaPub Definizione metadati pubblici di una singola statistica : Attributi: codice: codice interno della statistica nome: nome della statistica gruppi: gruppi di utenti del visualizzare la statistica
portale
abilitati
a
Metodi: n/a
8.1.2.6Descrizione 8.1.2.6Descrizione della classe Table Definizione risultati della statistica in forma tabellare : Attributi: TableAsString contenuto della tabella come vettore : Rows: numero di righe della tabella Cols: numero di colonne della tabella Metodi: n/a
8.1.2.7Descrizione 8.1.2.7Descrizione dell’interfaccia Statistics Server Definizione interfaccia alla classe StatServer : Attributi: n/a Metodi: metodi pubblici della classe di cui è interfaccia
Specifiche del Progetto Software
58
Appendice
N.B. le classi e le interfacce appartenenti a COTS o altri package del sistema stesso non vengono qui riportate. In quest’ultimo caso riferirsi alla documentazione di tali package per ulteriori informazioni.
Specifiche del Progetto Software
59
Appendice
8.1.3Statistica 8.1.3Statistica Server Package «interface» Statistica Server +
GetStatisticAsChart()
+
GetStatisticAsTable()
8 . 1 . 3.1D 3.1D Statsoft Statistica
«realize»
«interface» Statistica.Application
StatServerStatistica
Vedere diagramma delle classi relativo al Databanker Server per ulteriori dettagli
-
openStatistica()
-
closeStatistica()
+
GetStatisticAsChart()
+
GetStatisticAsTable()
-
getPeriodoIndex()
-
doST4()
-
getChartStatistica()
-
getTableStatistica()
«interface» Statistica.Spreadsheet
«call»
DataBanker Server::Metadati
«interface» DataBanker Server::DataBanker Server +
GetData()
+
GetMetadata()
escrizione dell’interfaccia Statistica Server Definizione interfaccia alla classe StatServerStatistica : Attributi: n/a Metodi: metodi pubblici della classe di cui è interfaccia
8.1.3.2Descrizione 8.1.3.2Descrizione della classe StatServerStatistica Definizione implementazione del WebService Statistica Server :
Specifiche del Progetto Software
60
Appendice
Attributi: n/a Metodi:
getPeriodoIndex() Introduzione restituisce l’indice di un determinato : periodo all’interno della lista dei periodi su cui è possibile effettuare la statistica Parametri di interfaccia: Nome: NomePeriodo Direzione: Input Dominio: String Nome: i Direzione: Output Dominio: Integer
openStatistica() Introduzione effettua l’apertura dell’applicazione Statsoft : Statistica Parametri di interfaccia: n/a
closeStatistica() Introduzione effettua la chiusura : Statsoft Statistica
dell’applicazione
Parametri di interfaccia: Nome: closeWB Direzione: Input Dominio: Boolean
getChartStatistica()
Specifiche del Progetto Software
61
Appendice
Introduzione restituisce l’immagine della : formato stringa codificato standard Base64
statistica secondo
in lo
Parametri di interfaccia: Nome: ID Direzione: Input Dominio: String Nome: s64 Direzione: Output Dominio: String
getTableStatistica() Introduzione restituisce la tabella con : statistica in formato vettore
i
dati
della
Parametri di interfaccia: Nome: lastRow Direzione: Input Dominio: Integer Nome: lastCol Direzione: Input Dominio: Integer Nome: result Direzione: Output Dominio: Array of String
Specifiche del Progetto Software
62
Appendice
doST4() Introduzione esegue le elaborazioni necessarie ad : effettuare la statistica di codice ST4 (vedere Appendice) Parametri di interfaccia: Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: InformazioniRisultatiTitoloTabella Direzione: Input Dominio: String Nome: exlpos Direzione: Output Dominio: Integer
Specifiche del Progetto Software
63
Appendice
GetStatisticAsChart() Introduzione restituisce il risultato della statistica in formato : immagine Parametri di interfaccia: Nome: StatisticaNom e Direzione: Input Dominio: String Nome: ID Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String
Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String
Nome: Stati Direzione: Input Dominio: String Nome: RaggruppamentoRisultati Direzione: Input Dominio: String Nome: InformazioniRisultati Direzione: Input Dominio: String Nome: InformazioniRisultatiTitoloTabella Direzione: Input Dominio: String Nome: OrdineRisultati Direzione: Input Dominio: String
Specifiche del Progetto Software
Nome: result Direzione Output : Dominio: String
64
Appendice
GetStatisticAsTable() Introduzione restituisce il risultato della statistica in : formato di tabella Parametri di interfaccia: Nome: StatisticaNom e Direzione: Input Dominio: String Nome: Gruppo Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String
Nome: Periodo Direzione Input : Dominio: String Nome: Tipi Direzione Input : Dominio: String Nome: Stati Direzione Input : Dominio: String
Nome: RaggruppamentoRisultati Direzione: Input Dominio: String Nome: InformazioniRisultati Direzione: Input Dominio: String Nome: InformazioniRisultatiTitoloTabella Direzione: Input Dominio: String Nome: OrdineRisultati Direzione: Input Dominio: String Nome: result Direzione: Output Dominio: String
Specifiche del Progetto Software
65
Appendice
N.B. le classi e le interfacce appartenenti a COTS o altri package del sistema stesso non vengono qui riportate. In quest’ultimo caso riferirsi alla documentazione di tali package per ulteriori informazioni.
Specifiche del Progetto Software
66
Appendice
8.1.4Excel 8.1.4Excel Server Package
«interface» Excel Server +
GetStatisticAsChart()
+
GetStatisticAsTable()
«realize»
«interface» DataBanker Server::DataBanker Server +
GetData()
+
GetMetadata()
«call»
«interface»
StatServerExcel +
GetStatisticAsChart()
+
GetStatisticAsTable()
-
callWebService()
-
getDataBankerMetadata()
-
getDataBankerData()
-
doST1()
-
doST2()
-
doST3()
-
openExcel()
-
closeExcel()
-
doTableHeader()
-
getCellsFromRange()
-
base64Encode()
-
getChartExcel()
-
getNumSheets()
JSBin «call» Microsoft Excel «interface» Excel.Worksheet
«call» «interface» «call»
Excel.Application
«call» «interface» Excel.Workbook
8.1.4.1D 8.1.4.1D ione
escriz dell’interfaccia Excel Server Definizione interfaccia alla classe StatServerExcel : Attributi: n/a Metodi: metodi pubblici della classe di cui è interfaccia
8.1.4.2Descrizione 8.1.4.2Descrizione della classe StatServerExcel Definizione implementazione del WebService Excel Server
Specifiche del Progetto Software
67
Appendice
: Attributi: n/a Metodi:
openExcel() Introduzione effettua l’apertura : Microsoft Excel
dell’applicazione
Parametri di interfaccia: n/a
closeExcel() Introduzione effettua la chiusura : Microsoft Excel
dell’applicazione
Parametri di interfaccia: n/a
doTableHeader() Introduzione inserisce i titoli dei campi della tabella nel : foglio Excel Parametri di interfaccia: Nome: InformazioniRisultatiTitoloTabella Direzione: Input Dominio: String
getNumSheets() Introduzione restituisce il numero di fogli di lavoro in un : documento Excel Parametri di interfaccia: Nome: NumSheets Direzione: Output Dominio: Integer
getDataBankerMetadata()
Specifiche del Progetto Software
68
Appendice
Introduzione restituisce i metadati del databanker : Parametri di interfaccia: Nome: xml1 Direzione: Output Dominio: XMLDOM Document
getCellsFromRange() Introduzione restituisce il contenuto di un foglio Excel : dato il range, sottoforma di vettore Parametri di interfaccia: Nome: sheet Direzione: Input Dominio: String Nome: top Direzione: Input Dominio: String Nome: bottom Direzione: Input Dominio: String Nome: datamatrix Direzione: Output Dominio: Array of String
Specifiche del Progetto Software
69
Appendice
base64Encode() Introduzione restituisce il contenuto di un file codificato : secondo lo standard Base64 Parametri di interfaccia: Nome: dir Direzione: Input Dominio: String Nome: fileName Direzione: Input Dominio: String Nome: base64Encode Direzione: Output Dominio: String
getChartExcel() Introduzione restituisce l’immagine della statistica in : formato stringa codificato secondo lo standard Base64 Parametri di interfaccia: Nome: name Direzione: Input Dominio: String Nome: ID Direzione: Input Dominio: String Nome: result Direzione: Output Dominio: String
Specifiche del Progetto Software
70
Appendice
GetStatisticAsTable() Introduzione restituisce il risultato della statistica in : formato di tabella Parametri di interfaccia: Nome: StatisticaNom e Direzione: Input Dominio: String Nome: Gruppo Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String
Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String
Nome: RaggruppamentoRisultati Direzione: Input Dominio: String Nome: InformazioniRisultati Direzione: Input Dominio: String Nome: InformazioniRisultatiTitoloTabella Direzione: Input Dominio: String Nome: OrdineRisultati Direzione: Input Dominio: String
Specifiche del Progetto Software
Nome: result Direzione: Output Dominio: String
71
Appendice
GetStatisticAsChart() Introduzione restituisce il risultato della statistica in : formato immagine Parametri di interfaccia: Nome: StatisticaNom e Direzione: Input Dominio: String Nome: ID Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String
Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Soddisfazion i Direzione: Input Dominio: String
Nome: Stati Direzione: Input Dominio: String Nome: RaggruppamentoRisultati Direzione: Input Dominio: String Nome: InformazioniRisultati Direzione: Input Dominio: String Nome: InformazioniRisultatiTitoloTabella Direzione: Input Dominio: String Nome: OrdineRisultati Direzione: Input Dominio: String
Nome: result Direzione Output : Dominio: String
callWebService()
Specifiche del Progetto Software
72
Appendice
Introduzione effettua l’invocazione : WebService
del
metodo
di
un
Parametri di interfaccia: Nome: SoapServer Direzione: Input Dominio: String Nome: SoapPath Direzione: Input Dominio: String Nome: SoapNamespace Direzione: Input Dominio: String Nome: SoapAction Direzione: Input Dominio: String Nome: SoapTemplate Direzione: Input Dominio: XMLDOM Document Nome: xmlhttp1 Direzione: Output Dominio: Server XMLHTTP
getDataBankerData()
Specifiche del Progetto Software
73
Appendice
Introduzione restituisce i dati risultanti : un’interrogazione al databanker
da
Parametri di interfaccia: Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: RaggruppamentoRisultati Direzione: Input Dominio: String Nome: InformazioniRisultati Direzione: Input Dominio: String Nome: OrdineRisultati Direzione: Input Dominio: String Nome: xml1 Direzione: Output Dominio: XMLDOM Document
Specifiche del Progetto Software
74
Appendice
doST1() Introduzione esegue le elaborazioni necessarie ad : effettuare la statistica di codice ST1 (vedere Appendice) Parametri di interfaccia: Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: exlpos Direzione: Output Dominio: String
Specifiche del Progetto Software
75
Appendice
doST2 Introduzione esegue le elaborazioni necessarie ad : effettuare la statistica di codice ST2 (vedere Appendice) Parametri di interfaccia: Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: exlpos Direzione: Output Dominio: String
Specifiche del Progetto Software
76
Appendice
doST3() Introduzione esegue le elaborazioni necessarie ad : effettuare la statistica di codice ST3 (vedere Appendice) Parametri di interfaccia: Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: exlpos Direzione: Output Dominio: String
N.B. le classi e le interfacce appartenenti a COTS o altri package del sistema stesso non vengono qui riportate. In quest’ultimo caso riferirsi alla documentazione di tali package per ulteriori informazioni.
Specifiche del Progetto Software
77
Appendice
8.1.5DataBanker 8.1.5DataBanker Server Package
«interface»
Gruppo
DataBanker Server +
Codice:
+
Descrizione:
1..*
+
GetData()
+
GetMetadata()
Periodo +
Nome:
+
DataInizio:
+
DataFine:
+
NumeroGiorni:
«realize»
Metadati
1..*
DBServer 1
Tipo 1..* +
Codice:
+
Descrizione:
+
GruppoAppartenenza:
MetadatiPrivati
SoddisfazioneCliente +
Codice:
+
Descrizione:
1..*
Stato 1..*
-
Provider:
-
DataSource:
-
UserID:
-
Password:
-
Table:
-
CGruppo:
-
CPeriodo:
-
CTipo:
+
Codice:
-
CSodd:
+
Descrizione:
-
CStato:
1
+
GetData()
+
GetMetadata()
-
ReadMetadata()
-
createPeriodo()
-
createOrCondition()
-
createRisultati()
8.1.5.1Descrizione 8.1.5.1Descrizione dell’interfaccia DataBanker Server Definizione interfaccia alla classe DBServer : Attributi: n/a Metodi: metodi pubblici della classe di cui è interfaccia
8.1.5.2Descrizione 8.1.5.2Descrizione della classe DBServer Definizione implementazione del WebService DataBanker Server : Attributi: n/a
Specifiche del Progetto Software
78
Appendice
Metodi: GetMetadata Introduzione restituisce i metadati della parte della base : di dati di interesse per il sistema Parametri di interfaccia: Nome: MetadatiAttuali Direzione: Output Dominio: Metadati
createPeriodo() Introduzione restituisce la parte della query SQL relativa : all’intervallo di tempo Parametri di interfaccia: Nome: periodoCode Direzione: Input Dominio: String Nome: periodoSQL Direzione: Output Dominio: String
Specifiche del Progetto Software
79
Appendice
GetData() Introduzione restituisce i risultati di una interrogazione : sulla base di dati Parametri di interfaccia: Nome: Gruppo Direzione: Input
Nome: Periodo Direzione: Input
Dominio: String
Dominio: String
Nome: Tipi Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String Nome: RaggruppamentoRisultati Direzione: Input Dominio: String Nome: InformazioniRisultati Direzione: Input Dominio: String Nome: OrdineRisultati Direzione: Input Dominio: String Nome: DS Direzione: Output Dominio: DataSet
Specifiche del Progetto Software
80
Appendice
createOrCondition() Introduzione dati una lista di nomi di campi e una dei : relativi contenuti, restituisce la parte WHERE della query SQL Parametri di interfaccia: Nome: field Direzione: Input Dominio: String Nome: codes Direzione: Input Dominio: String Nome: conditionSQL Direzione: Output Dominio: String
ReadMetadata() Introduzione carica i metadati da file : Parametri di interfaccia: n/a
createRisultati()
Specifiche del Progetto Software
81
Appendice
Introduzione crea la corrispondenza tra gli elementi : richiesti nei risultati e i nomi effettivi dei campi nella tabella Parametri di interfaccia: Nome: fields Direzione: Input Dominio: String Nome: selectField Direzione: Input Dominio: Boolean Nome: sqlCode Direzione: Output Dominio: String
8.1.5.3Descrizione 8.1.5.3Descrizione della classe Gruppo Definizione gruppo di appartenenza degli utenti che possono : effettuare richieste al sistema CRM Attributi: Codice: codice interno del gruppo Descrizione descrizione testuale del gruppo : Metodi: n/a
8.1.5.4Descrizione 8.1.5.4Descrizione della classe Metadati Definizione metadati della parte della base di dati di interesse : per il sistema da rendere visibili all’esterno Attributi: n/a Metodi: n/a
Specifiche del Progetto Software
82
Appendice
8.1.5.5Descrizione 8.1.5.5Descrizione della classe MetadatiPrivati Definizione metadati della parte della base di dati di interesse : per il sistema da non rendere visibili all’esterno Attributi: Provider: nome del driver ODBC per accedere al database DataSource nome dell’origine dati ODBC per accedere al : database UserID: userid per accedere all’origine dati ODBC Password: password per accedere all’origine dati ODBC Table: tabella del database contenente le richieste del sistema CRM CGruppo: nome del campo della tabella contenente il gruppo dell’utente che ha effettuato la richiesta CPeriodo: nome del campo della tabella contenente la data dell’ultimo cambiamento effettuato alla richiesta CTipo: nome del campo della tabella contenente il tipo della richiesta CSodd: nome del campo della tabella contenente il valore di soddisfazione del cliente per la risposta alla richiesta CStato: nome del campo della tabella contenente lo stato della richiesta Metodi: n/a
8.1.5.6Descrizione 8.1.5.6Descrizione della classe Periodo Definizione intervallo di tempo su cui è possibile effettuare : statistiche sulle richieste del sistema CRM Attributi:
Specifiche del Progetto Software
83
Appendice
Nome: nome dell’intervallo di tempo DataInizio: data di inizio dell’intervallo DataFine: data di fine dell’intervallo NumeroGiorni durata in giorni dell’intervallo : Metodi: n/a
8.1.5.7Descrizione 8.1.5.7Descrizione della classe SoddisfazioneCliente Definizione valore di soddisfazione del cliente per la risposta alla : sua richiesta Attributi: Codice: codice interno del livello di soddisfazione Descrizione descrizione testuale del livello di soddisfazione : Metodi: n/a
8.1.5.8Descrizione 8.1.5.8Descrizione della classe Stato Definizione stato in cui si può trovare una richiesta : Attributi: Codice: codice interno dello stato Descrizione descrizione testuale dello stato : Metodi: n/a 8.1.5.9Descrizione 8.1.5.9Descrizione della classe Tipo Definizione tipo di richiesta che può essere effettuata : Attributi:
Specifiche del Progetto Software
84
Appendice
Codice: codice interno del tipo Descrizione: descrizione testuale del tipo GruppoAppartenenza gruppo di utenti che possono effettuare : richieste di questo tipo Metodi: n/a
N.B. le classi e le interfacce appartenenti a COTS o altri package del sistema stesso non vengono qui riportate. In quest’ultimo caso riferirsi alla documentazione di tali package per ulteriori informazioni.
Specifiche del Progetto Software
85
Appendice
8.2Organizzazione dalla base di dati 8.2.1Base 8.2.1Base di dati del sistema CRM Di seguito viene presa in considerazione solo la parte della base di dati di interesse per il sistema. Inoltre della parte presa in considerazione non verranno descritti gli elementi non utilizzati dal sistema. 8.2.1.1Diagramma 8.2.1.1Diagramma delle dipendenze La base di dati del sistema CRM è già esistente inoltre di tutta la base di dati, viene considerata dal sistema solo una tabella, quindi non è necessario rappresentare le relazioni tra i campi della base di dati. 8.2.1.2Descrizione 8.2.1.2Descrizione delle dipendenze La base di dati del sistema CRM è già esistente inoltre di tutta la base di dati, viene considerata dal sistema solo una tabella, quindi non è necessario rappresentare le dipendenze tra i campi della base di dati. 8.2.1.3Schema 8.2.1.3Schema della base di dati Di seguito viene riportata solo la parte della tabella di interesse per il sistema:
HD_INCIDENT «column» OWNER_GRP: «column» TYPE: «column» CHANGE_DT: «column» CUST_SATIS: «column» STATE:
8.2.1.4
Descrizione delle strutture dati
Di seguito vengono descritti solo i campi della tabella di interesse per il sistema HD_INCIDENT
Specifiche del Progetto Software
86
Appendice
Definizione: Contiene tutte le richieste effettuate al callcenter del sistema CRM Campi:
OWNER_GR Gruppo di appartenenza VARCHAR2 P dell’utente che ha effettuato la richiesta TYPE Codice del tipo di richiesta CHANGE_DT Data dell’ultima modifica alla richiesta CUST_SATIS Codice del livello di soddisfazione per la richiesta STATE Codice dello stato della richiesta
VARCHAR2 DATE VARCHAR2
VARCHAR2
Chiave n/a Primaria:
Specifiche del Progetto Software
87
Appendice
8.2.2Base 8.2.2Base di dati del sistema I dati del sistema sono immagazzinati in file XML, pertanto la descrizione della base di dati sarà leggermente differente da quella delle basi di dati relazionali classiche. 8.2.2.1Schema 8.2.2.1Schema della base di dati Metadati DataBase CRM
N.B. gli attributi degli elementi sono indicati sotto il rettangolo dell’elemento stesso
Specifiche del Progetto Software
88
Appendice
Metadati Statistiche
8.2.2.2Descrizione 8.2.2.2Descrizione delle strutture dati Statistica Definizione: Contiene tutte le informazioni sulle statistiche effettuabili dal sistema
Specifiche del Progetto Software
89
Appendice
Campi:
codice Codice della statistica generatore Applicativo che genera la statistica nome Nome della statistica gruppi Gruppi utenti del portale abilitati a visualizzarla
String String String String
informazioni campi richiesti per l’interrogazione al Risultati databanker (vedere Appendice A)
String
informazioni nomi dei campi della tabella risultante Risultati dall’interrogazione TitoloTabella del databanker (vedere Appendice A)
String
raggruppament campi per cui o raggruppare i risultati Risultati dell’interrogazione al databanker (vedere Appendice A)
String
ordineRisultati campi per cui ordinare i risultati dell’interrogazione al databanker (vedere Appendice A)
String
Chiave codice Primaria: Database Definizione: Contiene tutte le informazioni per stabilire una connessione con il database del sistema CRM
Specifiche del Progetto Software
90
Appendice
Campi:
Table Nome tabella contenente le richieste del CRM Provider Tipo di connessione al database
String String
DataSource Nome della connessione al database
String
UserId Login di accesso al database
String
Password Password di accesso al database
String
Chiave n/a Primaria:
Gruppi Definizione: Contiene tutte le informazioni per accedere ai dati sui gruppi Campi:
campo Nome campo, nella tabella, contenente il gruppo di chi ha inserito una richiesta
String
Chiave n/a Primaria:
Gruppo Definizione: Contiene tutte le informazioni sui gruppi su cui è possibile effettuare statistiche Campi:
codice Codice del gruppo
String
descrizione Descrizione testuale del gruppo
String
Chiave codice Primaria:
Tipi Definizione: Contiene tutte le informazioni per accedere ai dati sui tipi di richieste Campi:
campo Nome campo, nella
Specifiche del Progetto Software
String
91
Appendice
tabella, contenente il tipo della richiesta Chiave n/a Primaria:
Tipo Definizione: Contiene tutte le informazioni sui tipi di richieste su cui è possibile effettuare statistiche Campi:
ownergrp Nome del gruppo di utenti che possono effettuare richieste di tal tipo codice Codice del tipo di richiesta descrizione Descrizione testuale del tipo di richiesta
String
String String
Chiave codice Primaria: Periodi Definizione: Contiene tutte le informazioni per accedere ai dati sulle date delle richieste Campi:
campo Nome campo, nella tabella, contenente la data della richiesta
String
Chiave n/a Primaria: Periodo Definizione: Contiene tutte le informazioni sugli intervalli di tempo su cui è possibile effettuare statistiche
Specifiche del Progetto Software
92
Appendice
Campi:
numerogiorn Durata in giorni i dell’intervallo nome Nome dell’intervallo
Integer String
datainizio Data di inizio dell’intervallo
String
datafine Data di fine dell’intervallo
String
Chiave nome Primaria:
SoddisfazioniCliente Definizione: Contiene tutte le informazioni per accedere ai dati sui livelli di soddisfazione del cliente Campi:
campo Nome campo, nella tabella, contenente il livello di soddisfazione
String
Chiave n/a Primaria:
SoddisfazioneCliente Definizione: Contiene tutte le informazioni sui livelli di soddisfazione su cui è possibile effettuare statistiche Campi:
codice Codice del livello di soddisfazione
String
descrizione Descrizione testuale del livello di soddisfazione
String
Chiave codice Primaria:
Stati Definizione: Contiene tutte le informazioni per accedere ai dati sugli stati delle richieste Campi:
campo Nome campo, nella tabella, contenente lo stato della richiesta
Specifiche del Progetto Software
String
93
Appendice
Chiave n/a Primaria: Stato Definizione: Contiene tutte le informazioni sugli stati delle richieste su cui è possibile effettuare statistiche Campi:
codice Codice dello stato della richiesta descrizione Descrizione testuale dello stato della richiesta
String String
Chiave codice Primaria:
Specifiche del Progetto Software
94
Appendice
9.MODELLO COMPORTAMENTALE
9.1Casi d’uso
9.1.1Descrizione 9.1.1Descrizione dei casi d’uso 9.1.1.1Caso 9.1.1.1Caso d’uso Personalizzare Statistiche Nome attore: Utente Portale Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la personalizzazione delle statistiche alle quali è autorizzato ad accedere Relazioni:
•
L’Utente Portale accede alla sezione del gadget di personalizzazione delle statistiche;
•
Il sistema presenta all’Utente Portale un form per la personalizzazione;
•
L’Utente Portale effettua la modifica dei dati;
•
Il sistema registra i cambiamenti.
Descrizione dello scenario:
Specifiche del Progetto Software
95
Appendice
Scenario 1:
Inserimento nuovi settaggi
Specifiche del Progetto Software
96
Appendice
Scenario 2: Annullamento inserimento nuovi settaggi
Specifiche del Progetto Software
97
Appendice
9.1.1.2Caso 9.1.1.2Caso d’uso Visualizzare Statistica Nome attore: Utente Portale, Sistema CRM Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la visualizzazione delle statistiche alle quali è autorizzato ad accedere secondo le proprie preferenze. L’attore Sistema CRM è il sistema che ospita l’applicazione CRM sui dati della quale verranno effettuate le statistiche. Relazioni:
•
l’Utente Portale accede al gadget;
•
il sistema recupera i dati dal Sistema CRM ed effettua le statistiche;
•
il sistema presenta all’Utente Portale i risultati dell’elaborazione.
Descrizione dello scenario:
Specifiche del Progetto Software
98
Appendice
Scenario 1: Visualizzazione come immagine generata da Excel WS
Specifiche del Progetto Software
99
Appendice
Scenario 2: Visualizzazione come tabella generata da Excel WS
Specifiche del Progetto Software
100
Appendice
Scenario 3: Visualizzazione come immagine generata da Statistica WS
Specifiche del Progetto Software
101
Appendice
Scenario 4: Visualizzazione come tabella generata da Statistica WS
Specifiche del Progetto Software
102
Appendice
10.ARCHITETTURA DI SISTEMA
10.1Diagrammi delle componenti 10.1.1Gadget 10.1.1Gadget Server
setVisualSettings.asp
E' inclusa in tutte le Server Page asp, ma per chiarezza del grafico non vengono indicate le relazioni
visualSettings.asp «call»
«use»
«use»
Utilities.asp «library» Plumtree GadgetServer
«call»
SetPrefs.asp
gadget.asp
userPrefs.asp «call»
«call»
«WebDocument» GetMetadata.xml
«call» «call»
doPage.asp
«use» «WebDocument» GetStatisticAsGraph.xml
«import»
«use»
«use»
statUtilities.asp «use»
«use» «WebDocument» GetStatisticAsTable.xml
«use»
«library» JSBin
Specifiche del Progetto Software
103
Appendice
10.1.2Statistics 10.1.2Statistics Server .Net Web Service Proxies «.Net WS Proxy» StatServerExcel.vb
«.Net WS Proxy DLL» «call»
StatServerExcel.dll
«use» «ASP.Net WS» StatServer.asmx
«access»
«use»
«.Net WS Proxy» DBServer.vb
«.Net WS Proxy DLL» «call»
DBServer.dll
«use» «.Net WS Proxy» StatServerStatistica.vb
«XML Document» MetadatiStatistiche.xml
«.Net WS Proxy DLL» «call»
StatServerStatistica. dll
Sono generati automaticamente dal tool di sviluppo
10.1.3Statistica 10.1.3Statistica Server .Net Web Service Proxies
«ASP.Net WS» StatServerStatistica.asmx
«use»
«call»
«Statistica Macro» Macro1.svb
Specifiche del Progetto Software
«.Net WS Proxy» DBServer.vb
«.Net WS Proxy DLL» «call»
DBServer.dll
Sono generati automaticamente dal tool di sviluppo
104
Appendice
10.1.4Excel 10.1.4Excel Server SOAP Toolkit WS Wrapper
«library» JSBin.dll
«SOAP Document» GetData.xml «WS DLL Wrapper»
«use»
«VB DLL Source» StatServer.cls
«use»
StatServer.dll «use»
«build»
«SOAP Document» GetMetadata.xml
«call» «build»
StatServerExcel.asp
1
«VB Project» StatServerExcel.vbp
«use»
«WSML Document» StatServerExcel.wsml
«use»
«WSDL Document» StatServerExcel.wsdl
Sono generati automaticamente dal tool di sviluppo
10.1.5DataBanker 10.1.5DataBanker Server
«ASP.Net WS» DBServer.asmx
«access»
«XML Document» MetadatiDataBase.xml
Specifiche del Progetto Software
105
Appendice
10.2Diagramma di allocazione
Serlab10 «library»
Gadget
«library»
COM
Plumtree GadgetServer
COM
JSBin
HTTP/SOAP
Serlab23 «library» «WebService»
JSBin
Statistics WebService «executable»
GetMetadata()
Statsoft Statistica
COM
«executable»
GetStatisticAsGraph() GetStatisticAsTable()
Microsoft Excel
COM
HTTP/SOAP
HTTP/SOAP
COM
«WebService»
«WebService»
Statistica WebService
Excel WebService
GetStatisticAsChart() GetStatisticAsTable()
GetStatisticAsTable()
HTTP/SOAP
GetStatisticAsChart()
HTTP/SOAP
HTTP/SOAP
Serlab26 «WebService» DataBanker WebService
«ODBC»
«DBMS» Oracle 8i DB
GetData() GetMetadata()
Specifiche del Progetto Software
106
Appendice
11.INTERFACCIA ESTERNA 11.1Interfaccia utente L’interazione tra il sistema e l’utente avviene mediante un’interfaccia Web-Based. Il client sarà un comune browser installato sul computer dell’utente del portale. Tutte le maschere saranno quindi realizzate in HTML seguendo lo stile del portale che ospiterà il gadget, in particolare per quanto riguarda colori e formattazione del testo.
11.1.1Maschere 11.1.1Maschere 11.1.1.1Gadget 11.1.1.1Gadget Descrizione: Gadget che comparirà all’interno del portale e che sarà l’interfaccia principale con l’utente Elementi: Gadget: Spazio che portale
comparirà
all’interno
del
Immagine/Tabella: Spazio riservato a contenere la statistica rappresentata come immagine o come tabella. Nel caso di tabella sarà presente una barra per navigare tra le eventuali pagine della tabella stessa. SettaggiStatistica Link per accedere alla finestra : cambiare i settagli della statistica
per
Gadget Immagine/Tabella
11.1.1.2
Settaggi Statistica
Descrizione: Finestra pop-up che consentirà personalizzare la statistica Elementi:
Specifiche del Progetto Software
all’utente
di
SettaggiStatistica
107
Appendice
Statistica: Spazio che comparirà all’interno del portale VisualizzaCome: Spazio riservato a contenere la statistica rappresentata come immagine o come tabella NumeroRighePerPagin Link per accedere alla finestra per a: cambiare i settagli della statistica Periodo: ComboBox per la scelta del periodo in cui effettuare la statistica Gruppo: ComboBox per la scelta del gruppo di appartenenza degli utenti che hanno effettuato le richieste su cui effettuare la statistica Tipi: Lista per la selezione dei tipi di richiesta su cui effettuare la statistica SoddisfazioniClienti Lista per la selezione dei livelli di soddisfazione dei clienti su cui effettuare la statistica Stati: Lista per la selezione degli stati delle richieste su cui effettuare la statistica Conferma: Pulsante per confermare i cambiamenti apportati Annulla: Pulsante per annullare i cambiamenti apportati
Settaggi Statistica Statistica VisualizzaCome NumeroRighePerPagina Periodo Gruppo Tipi
SoddisfazioniCliente
Stati
Specifiche del Progetto Software
Conferma
Annulla
108
Appendice
11.1.2Menu 11.1.2Menu Il sistema non prevede la presenza di menu.
11.1.3Report 11.1.3Report Il sistema non prevede la produzione di reportistica.
11.2Interfaccia verso altri sistemi Il sistema interagisce con i seguenti applicativi: •
Microsoft Excel 2000: l’interazione avviene mediante interfaccia Microsoft COM. La libreria di oggetti viene fornita nel pacchetto Microsoft Office 2000;
•
Statsoft Statistica 6 DA-DM-QC: l’interazione avviene mediante interfaccia Microsoft .Net RCW (Runtime Callable-Wrapper). La libreria di oggetti viene fornita dal produttore nel pacchetto VB.Net CustomStats Example. Inoltre ci si serve di un file macro (Macro1.svb) nel formato di Statsoft Statistica Visual Basic.
•
Oracle 8i DB: l’interazione avviene mediante interfaccia ADO.Net. La libreria di oggetti viene fornita nel pacchetto Microsoft .Net Framework e nel pacchetto Oracle 8i DBClient;
•
Applix iEnterprise CRM: l’interazione avviene indirettamente mediante il DataBase usato dal sistema CRM, quindi in modo data-driven;
•
Plumtree Corporate Portal 4.5: l’interazione avviene tramite interfaccia Microsoft COM. La libreria di oggetti è fornita dal produttore nei pacchetti Plumtree GadgetServer e Plumtree ASP-GDK.
Inoltre il sistema è composto dai seguenti sottosistemi: •
Statistics Server
•
Excel Server
•
Statistica Server
•
DataBanker Server
Specifiche del Progetto Software
109
Appendice
L’interazione tra tutti i sottosistemi avviene seguendo le specifiche standard per gli XML WebService, quindi mediante protocolli HTTP per il trasporto, SOAP per l’invocazione dei metodi e WSDL per la descrizione dei WebService stessi.
Specifiche del Progetto Software
110
Appendice
12.DEFINIZIONE DELL’AMBIENTE DI SVILUPPO 12.1Risorse Hardware L’hardware utilizzato durante la fase di sviluppo è quello disponibile nel laboratorio SER_Lab, in particolare i computer denominati Serlab10 e Serlab23.
12.2Risorse Software Il software utilizzato durante la fase di sviluppo è il seguente: •
Microsoft Visual Basic 6: realizzazione della DLL che compone il componente Excel Server;
•
Microsoft Interdev 6: realizzazione della componente Gadget;
•
Microsoft ASP.Net Web Matrix: realizzazione delle componenti Statistics Server, Statistica Server e DataBanker Server;
•
Microsoft SOAP Toolkit 3: esposizione della DLL che compone il componente Excel Server come WebService;
•
Microsoft Excel 2000: testing del codice per generare i grafici delle statistiche;
•
Microsoft .Net Framework SDK: realizzazione dei .Net WebService;
•
Statsoft Statistica 6 DA-DM-QC: realizzazione della macro Macro1.svb;
•
Enterprise Architect 3.5: realizzazione dei diagrammi UML;
•
Altova XML-SPY 5 Enterprise: realizzazione dei file XML con i metadati e testing dei WebService;
•
Oracle 8i DBA Studio: reverse engineering della base di dati del sistema CRM;
•
Oracle 8i SQL+: testing delle query SQL effettuate dal databanker;
•
Microsoft Word 2000: realizzazione della documentazione.
Specifiche del Progetto Software
111
Appendice
13.DEFINIZIONE DELLA PIATTAFORMA HARDWARE/SOFTWARE
13.1Risorse Hardware Il sistema richiede le risorse presenti nel laboratorio SER_Lab, in particolare i computer denominati Serlab10, Serlab23 e Serlab26.
13.2Risorse Software Il sistema richiede le seguenti risorse software: •
Microsoft Windows 2000 Professional o Server;
•
Microsoft Internet Information Service 5 (IIS 5);
•
Microsoft ASP.Net Web Matrix WebServer;
•
Microsoft Excel 2000;
•
Microsoft .Net Framework;
•
Statsoft Statistica 6 DA-DM-QC;
•
Oracle 8i DB;
•
Plumtree Corporate Portal 4.5;
Specifiche del Progetto Software
112
Appendice
14.APPENDICE 14.1Funzionamento del DataBanker Server La componente DataBanker Server è in grado di effettuare interrogazioni sulla base di dati del sistema CRM. E’ costruita in modo da essere parametrizzabile, in particolare dal punto di vista della locazione (nome della macchina su cui è installato il database), dei diritti d’accesso (userid e password d’accesso), del tipo di DBMS, della struttura della tabella che contiene le richieste effettuate al call center del sistema CRM oltre che della struttura della singola richiesta. Come si è detto nella specifica dei requisiti, una richiesta è caratterizzata da data, tipo, gruppo, soddisfazione del cliente e stato. A ognuna di queste caratteristiche è assegnato un nome simbolico, rispettivamente Periodo, Tipo, Gruppo, SoddisfazioneCliente, Stato. Tramite tali nomi simbolici sarà possibile richiedere al data banker informazioni, sarà suo compito creare la corrispondenza con i campi reali della tabella al fine di generare la query SQL da eseguire. Una query SQL standard ha la seguente forma: SELECT campi FROM tabella WHERE condizione GROUP BY campi ORDER BY campi
Tale query viene generata in automatico dal data banker sulla base dei parametri ad esso passati nel metodo GetData() e i dati contenuti nei metadati del data banker stesso, in particolare: •
InformazioniRisultati: servirà a costruire i campi della clausola SELECT, i nomi simbolici verranno prima convertiti in quelli reali della tabella. E’ possibile anche specificare l’operatore aggregato SQL count();
•
RaggruppamentoRisultati: servirà a costruire i campi della clausola GROUP BY, i nomi simbolici verranno prima convertiti in quelli reali della tabella;
•
OrdineRisultati: servirà a costruire i campi della clausola ORDER BY, i nomi simbolici verranno prima convertiti in quelli reali della tabella;
•
tramite le informazioni presenti nei metadati ricavato il nome della tabella nella clausola FROM;
•
Gruppo, Periodo, Tipi, Soddisfazioni e Stati: serviranno a costruire la condizione della clausola WHERE. In particolare dal nome del Periodo verrà creata una condizione di confronto su un intervallo di date. Inoltre per
Specifiche del Progetto Software
viene
113
Appendice
Tipi, Soddisfazioni e Stati verrà creata una condizione in OR; Ad esempio una chiamata del metodo GetData() del data banker con i seguenti parametri:
Gruppo: STUDENTI Periodo: Settembre (01/09/2002 - 30/09/2002) Tipi: STUDENTE-CARENZA DI SPAZI, STUDENTE-VARIE Soddisfazioni: Indifferente, Insoddisfatto Stati: Assegnata, Ricevuta, Chiusa InformazioniRisultati: Periodi,Tipi,count(Tipi) RaggruppamentoRisultati: Periodi,Tipi OrdineRisultati: Tipi,Periodi
Produrrà, secondo le attuali informazioni contenute nei metadati, la seguente query SQL:
SELECT CHANGE_DT, TYPE, count(TYPE) FROM HD_INCIDENT WHERE OWNER_GRP=’STUDENTI’ AND (CHANGE_DT BETWEEN TO_DATE(‘01-09-2002 01:00:00 AM’, 'DD-MM-YYYY HH12:MI:SS PM') AND TO_DATE(‘30-09-2002 11:59:59 PM’, 'DD-MM-YYYY HH12:MI:SS PM') ) AND (TYPE=’STUDENTE-CARENZA DI SPAZI’ OR TYPE=’STUDENTE-VARIE’) AND (CUST_SATIS=’Indifferente’ OR CUST_SATIS=’Insoddisfatto’) AND (STATE=’Assegnata’ OR STATE=’Ricevuta’ OR STATE=’Chiusa’) GROUP BY CHANGE_DT, TYPE ORDER BY TYPE, CHANGE_DT;
Il risultato dell’esecuzione della query, secondo lo standard ADO.Net, è contenuto in un oggetto di tipo DataSet. Tale oggetto viene restituito direttamente dal metodo GetData().
14.2Modalità di calcolo delle statistiche Le quattro statistiche attualmente calcolate dal sistema sono “Andamento richieste per tipo” (ST1), “Totale richieste per tipo” (ST2), “Percentuale soddisfazione clienti” (ST3) e “Grafico X and Moving R sulle richieste” (ST4). Le prime tre vengono calcolate dal sottosistema Excel Server, la quarta da Statistica Server.
14.2.1Andamento 14.2.1Andamento richieste per tipo La modalità di calcolo è la seguente:
Specifiche del Progetto Software
114
Appendice
•
Richiedere al data banker una tabella composta da una colonna con tutte le date del periodo in esame, una colonna con, per ogni data, tutti i tipi presi in esame e una colonna con, per ogni tipo di una data, il totale di richieste di tale tipo in tale data;
•
Nel caso di visualizzazione come grafico, creare un grafico di tipo “Line Markers”, aggiungendo una serie per ogni singolo tipo di richiesta (seconda colonna), impostando le date (prima colonna) sull’asse delle X e il totale di richieste per tipo (terza colonna) sull’asse delle Y.
14.2.2Totale 14.2.2Totale richieste per tipo La modalità di calcolo è la seguente: •
Richiedere al data banker una tabella composta da una colonna con tutti i tipi di richiesta presi in esame, una colonna con, per ogni richiesta, il totale di richieste di tale tipo nel periodo in esame;
•
Nel caso di visualizzazione come grafico, creare un grafico di tipo “Bar Clustered”, usando come range la tabella di cui sopra.
14.2.3Percentuale 14.2.3Percentuale soddisfazione clienti La modalità di calcolo è la seguente: •
Richiedere al data banker una tabella composta da una colonna con tutti i livelli di soddisfazione presi in esame e una colonna con, per ogni livello, il totale di richieste con tale livello nel periodo in esame;
•
Nel caso di visualizzazione come grafico, creare un grafico di tipo “3D Pie Exploded”, usando come range la tabella di cui sopra.
14.2.4Grafico 14.2.4Grafico X and Moving R sulle richieste La modalità di calcolo è la seguente: •
Richiedere al data banker una tabella composta da una colonna con tutte le date del periodo in esame e una colonna con, per ogni data, la somma di tutte le richieste prese in esame in tale data;
Specifiche del Progetto Software
115
Appendice
•
Nel caso di visualizzazione come grafico, effettuare un’analisi di tipo “Industrial statistics & Six Sigma”, grafico “Individuals & moving range” nella sezione “Qualità control charts” sulla variabile 2 (la seconda colonna).
Specifiche del Progetto Software
116