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); di Specifica dei Requisiti Software (SRS)

documento di Specifica della Progettazione Software (SPS), (pagina 25).

Specifiche del Progetto Software

2

Appendice

SISTEMA SOFTWARE STATCRM

S PECIFICHE

DEI

R EQUISITI S OFTWARE

Specifiche del Progetto Software

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 4.1 R EQUISITI
DEI

R EQUISITI ...................................................... 9

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
TECNICI ...........................................................................20 DINAMICI .........................................................................16

STATICI ..............................................................................9

4.2 R EQUISITI

4.3 R EQUISITI

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.2 O RGANIZZAZIONE

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
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

10.2 D IAGRAMMA

Gadget Server .....................................................................103 Statistics Server .................................................................104 Statistica Server .................................................................104 Excel Server ........................................................................105 DataBanker Server .............................................................105

DI ALLOCAZIONE .........................................................106

11. I NTERFACCIA E STERNA .....................................................107 11.1 I NTERFACCIA
UTENTE ....................................................................107

11.2 I NTERFACCIA

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
VERSO ALTRI SISTEMI ...................................................109 DELL ’ AMBIENTE DI SVILUPPO ..............................111

12. D EFINIZIONE

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. controllando

Le funzioni di cui sopra sono realizzate automaticamente i dati immessi dall’utente.

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 generale 4.1.1Descrizione
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 delle classi 4.1.2Diagramma
Sistema STATCRM

consente accesso

modifica

Gadget Portale

Personalizzazione Statistiche

Settaggi Statistiche

visualizza

accede

utilizza

Statistica + + + Nome: GruppiUtenti: Risultati: genera

Generatore Statistiche + + GetStatisticAsTable() GetStatisticAsGraph()

analizza Sistema CRM

Richiesta + + + + + Data: Tipo: Gruppo: SoddisfazioneCliente: Stato:

Specifiche del Progetto Software

9

Appendice

4.1.3Descrizione delle classi 4.1.3Descrizione
4.1.3.1Descrizione della classe Gadget Portale 4.1.3.1Descrizione 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 della classe Personalizzazione Statistiche 4.1.3.2Descrizione 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 della classe Settaggi Statistiche 4.1.3.3Descrizione 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 della classe Statistica 4.1.3.4Descrizione 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 della classe Generatore Statistiche 4.1.3.5Descrizione 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 della classe Richiesta 4.1.3.6Descrizione 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 delle relazioni 4.1.4Descrizione
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 d’uso 4.2.1Casi

4.2.1.1Descrizione del caso d’uso Visualizzare Statistiche 4.2.1.1Descrizione 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 del caso d’uso Personalizzare Statistiche 4.2.1.2Descrizione 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 recuperare settaggi valori da modificare nuovi settaggi aggiornare statistica aggiornata registrare Settaggi Statistiche

Specifiche del Progetto Software

19

Appendice

4.3Requisiti tecnici
4.3.1Vincoli di progetto 4.3.1Vincoli
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 di prestazione 4.3.2Requisiti
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 dell’interfaccia esterna 4.3.3Requisiti
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

P ROGETTO S OFTWARE

Specifiche del Progetto Software

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 4.1 R EQUISITI
DEI

R EQUISITI ...................................................... 9

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
TECNICI ...........................................................................20 DINAMICI .........................................................................16

STATICI ..............................................................................9

4.2 R EQUISITI

4.3 R EQUISITI

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.2 O RGANIZZAZIONE

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
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

10.2 D IAGRAMMA

Gadget Server .....................................................................103 Statistics Server .................................................................104 Statistica Server .................................................................104 Excel Server ........................................................................105 DataBanker Server .............................................................105

DI ALLOCAZIONE .........................................................106

11. I NTERFACCIA E STERNA .....................................................107 11.1 I NTERFACCIA
UTENTE ....................................................................107

11.2 I NTERFACCIA

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
VERSO ALTRI SISTEMI ...................................................109 DELL ’ AMBIENTE DI SVILUPPO ..............................111

12. D EFINIZIONE

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 Package 8.1.1Gadget

Specifiche del Progetto Software

31

Appendice

Specifiche del Progetto Software

32

Appendice

Specifiche del Progetto Software

33

Appendice

8.1.1.1Descrizione della classe Gadget 8.1.1.1Descrizione 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 della classe Settings Form 8.1.1.2Descrizione 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 della classe Statistic Settings 8.1.1.3Descrizione 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 della classe User Prefs 8.1.1.4Descrizione

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 della classe doPage.asp 8.1.1.5Descrizione 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 della classe Utilities.asp 8.1.1.6Descrizione 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 della classe setPrefs.asp 8.1.1.7Descrizione 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 della classe gadget.asp 8.1.1.8Descrizione 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 della classe setVisualSettings.asp 8.1.1.9Descrizione 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 della classe statUtilities.asp 8.1.1.10Descrizione 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 della classe visualSettings.asp 8.1.1.11Descrizione 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 della classe userPrefs.asp 8.1.1.12Descrizione

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 Server Package 8.1.2Statistics
«interface» «interface» Statistica Server::Statistica Server + + GetStatisticAsChart() GetStatisticAsTable() + + + Statistics Server GetMetadata() GetStatisticAsGraph() GetStatisticAsTable()

«interface» Excel Server::Excel Server + + GetStatisticAsChart() GetStatisticAsTable() «call» + + «interface» DataBanker Server::DataBanker Server + + GetData() GetMetadata() «call» + «call»

«realize»

StatServer Table GetMetadata() GetStatisticAsGraph() GetStatisticAsTable() ReadMetadata() GetStatisticIndex() + + + TableAsString: Rows: Cols:

1 Vedere diagramma delle classi relativo al Databanker Server per ulteriori dettagli MetadatiPubblici

1 MetadatiPrivati

1 DataBanker Server::Metadati -

1..* StatisticaPub Codice: Nome: Gruppi: -

1..* StatisticaPriv Generatore: InformazioniRisultati: InformazioniRisultatiTitoloTabella: RaggruppamentoRisultati: OrdineRisultati:

Specifiche del Progetto Software

53

Appendice

8.1.2.1Descrizione della classe MetadatiPrivati 8.1.2.1Descrizione Definizione metadati privati sulle statistiche : all’esterno del sottosistema Attributi: n/a Metodi: n/a non visibili

8.1.2.2Descrizione della classe MetadatiPubblici 8.1.2.2Descrizione Definizione metadati pubblici sulle statistiche visibili all’esterno : del sottosistema Attributi: n/a Metodi: n/a

8.1.2.3Descrizione della classe StatServer 8.1.2.3Descrizione 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 della classe StatisticaPriv 8.1.2.4Descrizione 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 della classe StatisticaPub 8.1.2.5Descrizione 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 Metodi: n/a portale abilitati a

8.1.2.6Descrizione della classe Table 8.1.2.6Descrizione 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 dell’interfaccia Statistics Server 8.1.2.7Descrizione 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 Server Package 8.1.3Statistica
«interface» Statistica Server + + GetStatisticAsChart() GetStatisticAsTable()

8 . 1 . 3.1D 3.1D
Statsoft Statistica «interface»

«realize»

StatServerStatistica + + Vedere diagramma delle classi relativo al Databanker Server per ulteriori dettagli openStatistica() closeStatistica() GetStatisticAsChart() GetStatisticAsTable() getPeriodoIndex() doST4() getChartStatistica() getTableStatistica()

Statistica.Application

«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 della classe StatServerStatistica 8.1.3.2Descrizione 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 Parametri di interfaccia: Nome: closeWB Direzione: Input Dominio: Boolean dell’applicazione

getChartStatistica()

Specifiche del Progetto Software

61

Appendice

Introduzione restituisce l’immagine della : formato stringa codificato standard Base64 Parametri di interfaccia: Nome: ID Direzione: Input Dominio: String Nome: s64 Direzione: Output Dominio: String

statistica secondo

in lo

getTableStatistica() Introduzione restituisce la tabella con : statistica in formato vettore Parametri di interfaccia: Nome: lastRow Direzione: Input Dominio: Integer Nome: lastCol Direzione: Input Dominio: Integer Nome: result Direzione: Output Dominio: Array of String i dati della

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: 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 Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Soddisfazioni Direzione: Input Dominio: String

Specifiche del Progetto Software

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 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 Nome: Periodo Direzione Input : Dominio: String Nome: Tipi Direzione Input : Dominio: String Nome: Stati Direzione Input : Dominio: String

Nome: RaggruppamentoRisultati

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 Server Package 8.1.4Excel

«interface» Excel Server + + GetStatisticAsChart() GetStatisticAsTable() «interface» DataBanker Server::DataBanker Server + + GetData() GetMetadata()

«realize» StatServerExcel + + GetStatisticAsChart() GetStatisticAsTable() callWebService() getDataBankerMetadata() getDataBankerData() doST1() doST2() doST3() openExcel() closeExcel() doTableHeader() getCellsFromRange() base64Encode() getChartExcel() getNumSheets()

«call»

«interface» JSBin «call» Microsoft Excel «interface» Excel.Worksheet

«call» «interface» «call» Excel.Application

«call» «interface» Excel.Workbook

escriz dell’interfaccia Excel Server Definizione interfaccia alla classe StatServerExcel : Attributi: n/a Metodi: metodi pubblici della classe di cui è interfaccia

8.1.4.1D 8.1.4.1D ione

8.1.4.2Descrizione della classe StatServerExcel 8.1.4.2Descrizione Definizione implementazione del WebService Excel Server

Specifiche del Progetto Software

67

Appendice

: Attributi: n/a Metodi:

openExcel() Introduzione effettua l’apertura : Microsoft Excel Parametri di interfaccia: n/a dell’applicazione

closeExcel() Introduzione effettua la chiusura : Microsoft Excel Parametri di interfaccia: n/a dell’applicazione

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 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 Nome: Periodo Direzione: Input Dominio: String Nome: Tipi Direzione: Input Dominio: String Nome: Stati Direzione: Input Dominio: String

Nome: RaggruppamentoRisultati

Specifiche del Progetto Software

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: 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 callWebService() Nome: result Direzione Output : Dominio: String Nome: Gruppo Direzione: Input Dominio: String Nome: Periodo Direzione: Input Dominio: String Nome: Soddisfazion i Direzione: Input Dominio: String

Specifiche del Progetto Software

72

Appendice

Introduzione effettua l’invocazione : WebService 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

del

metodo

di

un

getDataBankerData()

Specifiche del Progetto Software

73

Appendice

Introduzione restituisce i dati risultanti : un’interrogazione al databanker 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

da

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 Server Package 8.1.5DataBanker

Gruppo + + Codice: Descrizione: Periodo + + + + Nome: DataInizio: DataFine: NumeroGiorni: 1..* Metadati 1..* + +

«interface» DataBanker Server GetData() GetMetadata()

«realize»

DBServer Tipo 1..* + + + Codice: Descrizione: GruppoAppartenenza: SoddisfazioneCliente + + Codice: Descrizione: Stato 1..* + + Codice: Descrizione: 1..* Provider: DataSource: UserID: Password: Table: CGruppo: CPeriodo: CTipo: CSodd: CStato: 1 MetadatiPrivati 1 + + GetData() GetMetadata() ReadMetadata() createPeriodo() createOrCondition() createRisultati()

8.1.5.1Descrizione dell’interfaccia DataBanker Server 8.1.5.1Descrizione Definizione interfaccia alla classe DBServer : Attributi: n/a Metodi: metodi pubblici della classe di cui è interfaccia

8.1.5.2Descrizione della classe DBServer 8.1.5.2Descrizione 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 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 Nome: Periodo Direzione: Input Dominio: String

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 della classe Gruppo 8.1.5.3Descrizione 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 della classe Metadati 8.1.5.4Descrizione 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 della classe MetadatiPrivati 8.1.5.5Descrizione 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 della classe Periodo 8.1.5.6Descrizione 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 della classe SoddisfazioneCliente 8.1.5.7Descrizione 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 della classe Stato 8.1.5.8Descrizione 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 della classe Tipo 8.1.5.9Descrizione 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 di dati del sistema CRM 8.2.1Base
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 delle dipendenze 8.2.1.1Diagramma 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 delle dipendenze 8.2.1.2Descrizione 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 della base di dati 8.2.1.3Schema 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 Chiave n/a Primaria: VARCHAR2 DATE VARCHAR2

VARCHAR2

Specifiche del Progetto Software

87

Appendice

8.2.2Base di dati del sistema 8.2.2Base
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 della base di dati 8.2.2.1Schema 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 delle strutture dati 8.2.2.2Descrizione 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 informazioni campi richiesti per l’interrogazione al Risultati databanker (vedere Appendice A) informazioni nomi dei campi della tabella risultante Risultati dall’interrogazione TitoloTabella del databanker (vedere Appendice A) raggruppament campi per cui o raggruppare i risultati Risultati dell’interrogazione al databanker (vedere Appendice A) ordineRisultati campi per cui ordinare i risultati dell’interrogazione al databanker (vedere Appendice A)

String String String String

String

String

String

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 DataSource Nome della connessione al database UserId Login di accesso al database Password Password di accesso al database

String String String String 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 descrizione Descrizione testuale del gruppo Chiave codice Primaria: String String

Tipi Definizione: Contiene tutte le informazioni per accedere ai dati sui tipi di richieste Campi: campo Nome campo, nella String

Specifiche del Progetto Software

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 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 String

String 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 datainizio Data di inizio dell’intervallo datafine Data di fine dell’intervallo

Integer String String 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 descrizione Descrizione testuale del livello di soddisfazione Chiave codice Primaria: String String

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 String

Specifiche del Progetto Software

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 Chiave codice Primaria: String String

Specifiche del Progetto Software

94

Appendice

9.MODELLO COMPORTAMENTALE

9.1Casi d’uso

9.1.1Descrizione dei casi d’uso 9.1.1Descrizione
9.1.1.1Caso d’uso Personalizzare Statistiche 9.1.1.1Caso 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 d’uso Visualizzare Statistica 9.1.1.2Caso 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 Server 10.1.1Gadget

setVisualSettings.asp «call»

visualSettings.asp

E' inclusa in tutte le Server Page asp, ma per chiarezza del grafico non vengono indicate le relazioni

«use» «library»

«use» Utilities.asp

Plumtree GadgetServer

«call»

«use» SetPrefs.asp «call» userPrefs.asp

«use»

«import»

gadget.asp «call»

«WebDocument» GetMetadata.xml

«call» «call»

«use» «WebDocument» GetStatisticAsGraph.xml statUtilities.asp «use»

doPage.asp

«use» «WebDocument» GetStatisticAsTable.xml «use»

«library» JSBin

Specifiche del Progetto Software

103

Appendice

10.1.2Statistics Server 10.1.2Statistics
.Net Web Service Proxies «.Net WS Proxy» StatServerExcel.vb «.Net WS Proxy DLL» «call» StatServerExcel.dll

«use» «ASP.Net WS» StatServer.asmx «.Net WS Proxy» DBServer.vb «.Net WS Proxy DLL» «call» DBServer.dll

«use»

«access»

«use» «.Net WS Proxy» StatServerStatistica.vb «.Net WS Proxy DLL» «call» StatServerStatistica. dll

«XML Document» MetadatiStatistiche.xml

Sono generati automaticamente dal tool di sviluppo

10.1.3Statistica Server 10.1.3Statistica
.Net Web Service Proxies

«ASP.Net WS» StatServerStatistica.asmx

«use»

«.Net WS Proxy» DBServer.vb

«.Net WS Proxy DLL» «call» DBServer.dll

«call»

«Statistica Macro» Macro1.svb

Sono generati automaticamente dal tool di sviluppo

Specifiche del Progetto Software

104

Appendice

10.1.4Excel Server 10.1.4Excel
«library» JSBin.dll SOAP Toolkit WS Wrapper «SOAP Document» GetData.xml «WS DLL Wrapper» «use» «build» «call» «build» 1 StatServer.dll «use» «SOAP Document» GetMetadata.xml «use»

«VB DLL Source» StatServer.cls

StatServerExcel.asp

«VB Project» StatServerExcel.vbp

«use»

«use» Sono generati automaticamente dal tool di sviluppo

«WSML Document» StatServerExcel.wsml

«WSDL Document» StatServerExcel.wsdl

10.1.5DataBanker Server 10.1.5DataBanker

«ASP.Net WS» DBServer.asmx

«access»

«XML Document» MetadatiDataBase.xml

Specifiche del Progetto Software

105

Appendice

10.2Diagramma di allocazione

Serlab10 «library» Plumtree GadgetServer COM Gadget COM «library» JSBin

HTTP/SOAP

Serlab23 «library» «WebService» Statistics WebService «executable» Statsoft Statistica GetMetadata() GetStatisticAsGraph() GetStatisticAsTable() COM «executable» Microsoft Excel JSBin

COM

HTTP/SOAP

HTTP/SOAP COM «WebService» Excel WebService GetStatisticAsTable() GetStatisticAsChart()

«WebService» Statistica WebService GetStatisticAsChart() GetStatisticAsTable() HTTP/SOAP

HTTP/SOAP

HTTP/SOAP

Serlab26 «WebService» DataBanker WebService GetData() GetMetadata() «ODBC» «DBMS» Oracle 8i DB

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
Gadget Immagine/Tabella

per

11.1.1.2

Settaggi Statistica all’utente di

Descrizione: Finestra pop-up che consentirà personalizzare la statistica Elementi:
SettaggiStatistica

Specifiche del Progetto Software

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

108

Conferma

Annulla

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 FRO tabella M W HERE 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; viene

• •

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

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 richieste per tipo 14.2.1Andamento
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 richieste per tipo 14.2.2Totale
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 soddisfazione clienti 14.2.3Percentuale
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 X and Moving R sulle richieste 14.2.4Grafico
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