tesi di laurea: documentazione tecnica
DESCRIPTION
Allegato alla tesi di laurea contenente la documentazione tecnica utilizzando il formalismo UML e lo standard ISO per la struttura dei documentiTRANSCRIPT
UNIVERSITA’ DEGLI STUDI DI BARI
FACOLTA’ DI SCIENZE MATEMATICHE FISICHE E NATURALI
CORSO DI LAUREA IN INFORMATICA
TESI DI LAUREA
IN
INGEGNERIA DEL SOFTWARE
INTEGRAZIONE SOFTWARE VIA WEB-SERVICES
(ALLEGATO)
Relatori:
Chiar.mo Prof Giuseppe VISAGGIO
Dott. Danilo CAIVANO
Laureando:
Damiano Diego de Felice
ANNO ACCADEMICO 2001 - 2002
Appendice
IINTRODUZIONENTRODUZIONE
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 di Specifica dei Requisiti Software (SRS) (pagina 2);
documento di Specifica della Progettazione Software (SPS), (pagina 19).
Specifiche del Progetto Software 1
Appendice
SSISTEMAISTEMA S SOFTWAREOFTWARE STATCRM STATCRM
SPECIFICHE DEI REQUISITI SOFTWARE
Specifiche del Progetto Software 2
Appendice
1.1. IINDICENDICE
2. INTRODUZIONE.............................................................5
2.1 FINALITÀ DEL DOCUMENTO..........................................................52.2 FINALITÀ DEL PRODOTTO.............................................................52.3 PRESENTAZIONE..........................................................................5
3. DESCRIZIONE GENERALE................................................6
3.1 PROSPETTIVE DEL PRODOTTO.......................................................63.2 FUNZIONI DEL PRODOTTO............................................................63.3 CARATTERISTICHE UTENTE..........................................................6
4. SPECIFICHE DEI REQUISITI.............................................7
4.1 REQUISITI STATICI.......................................................................74.1.1 Descrizione generale...........................................................74.1.2 Diagramma delle classi.......................................................74.1.3 Descrizione delle classi.......................................................8
4.1.3.1 Descrizione della classe Gadget Portale....................84.1.3.2 Descrizione della classe Personalizzazione Statistiche.......................................................................................84.1.3.3 Descrizione della classe Settaggi Statistiche...........84.1.3.4 Descrizione della classe Statistica.............................94.1.3.5 Descrizione della classe Generatore Statistiche......94.1.3.6 Descrizione della classe Richiesta............................11
4.1.4 Descrizione delle relazioni...............................................124.2 REQUISITI DINAMICI..................................................................14
4.2.1 Casi d’uso...........................................................................144.2.1.1 Descrizione del caso d’uso Visualizzare Statistiche
144.2.1.2 Descrizione del caso d’uso Personalizzare Statistiche.....................................................................................16
4.3 REQUISITI TECNICI....................................................................174.3.1 Vincoli di progetto.............................................................174.3.2 Requisiti di prestazione....................................................174.3.3 Requisiti dell’interfaccia esterna.....................................17
5. APPENDICE................................................................19
5.1 DESCRIZIONE DELL’ORGANIZZAZIONE.........................................195.2 Statistiche effettuabili dal sistema...................................19
Specifiche del Progetto Software 3
Appendice
2.2. IINTRODUZIONENTRODUZIONE
2.12.1 Finalità del documentoFinalità del documentoQuesto 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.22.2 Finalità del prodottoFinalità del prodottoIl 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.32.3 PresentazionePresentazioneIl 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 4
Appendice
3.3. DDESCRIZIONEESCRIZIONE G GENERALEENERALE
3.13.1 Prospettive del prodottoProspettive del prodottoIl 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.23.2 Funzioni del prodottoFunzioni del prodottoIl sistema software STATCRM permette di:
Effettuare statistiche sulle richieste inserite nel sistema CRM e presentarle all’utente in varie forme (grafico e tabella). Consultare l’appendice per una lista delle statistiche effettuabili;
Permettere all’utente di personalizzare le statistiche di cui sopra.
Le funzioni di cui sopra sono realizzate controllando automaticamente i dati immessi dall’utente.
3.33.3 Caratteristiche UtenteCaratteristiche UtenteL’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 5
Appendice
4.4. SSPECIFICHEPECIFICHE DEIDEI R REQUISITIEQUISITI
4.14.1 Requisiti staticiRequisiti statici
4.1.14.1.1 Descrizione generaleDescrizione generale
Il Gadget Portale è l’interfaccia principale al sistema. Esso è in grado sia di visualizzare una Statistica elaborata dal sotto sistema Generatore Statistiche, sia di permettere l’accesso alla sezione di Personalizzazione Statistiche. Tramite quest’ultima sezione, l’utente ha la possibilità di modificare i Settaggi Statistiche, sulla base dei quali il sotto sistema Generatore Statistiche elaborerà la Statistica. L’accesso al sotto sistema Generatore Statistiche è effettuato solo dal Gadget Portale.
4.1.24.1.2 Diagramma delle classiDiagramma delle classi
Specifiche del Progetto Software 6
Sistema STATCRM
Sistema CRM
Statistica
+ Nome:
+ GruppiUtenti:
+ Risultati:
Gadget Portale
Richiesta
+ Data:
+ Tipo:
+ Gruppo:
+ SoddisfazioneCliente:
+ Stato:
Generatore Statistiche
+ GetStatisticAsTable()
+ GetStatisticAsGraph()
Personalizzazione Statistiche Settaggi Statistiche
modifica
analizza
genera
util izza
consente accesso
accedevisualizza
Appendice
4.1.34.1.3 Descrizione delle classiDescrizione delle classi
4.1.3.14.1.3.1 Descrizione della classe Gadget PortaleDescrizione della classe Gadget Portale
Definizione:
Interfaccia principale per accedere al sistema, realizzata secondo lo standard del portale su cui viene mostrata.
Attributi: n/a
Metodi: n/a
4.1.3.24.1.3.2 Descrizione della classe Personalizzazione StatisticheDescrizione della classe Personalizzazione Statistiche
Definizione:
Parte dell’interfaccia del sistema che permette all’utente di personalizzare le statistiche da lui richiedibili;
Attributi: n/a
Metodi: n/a
4.1.3.34.1.3.3 Descrizione della classe Settaggi StatisticheDescrizione della classe Settaggi Statistiche
Definizione:
consente di immagazzinare i settaggi scelti dall’utente per la personalizzazione delle statistiche;
Attributi:
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
Specifiche del Progetto Software 7
Appendice
Stati: stati delle richieste su cui effettuare la statistica
Metodi: n/a
4.1.3.44.1.3.4 Descrizione della classe StatisticaDescrizione della classe Statistica
Definizione:
statistica effettuabile dal sistema. Vedere Appendice.
Attributi:
Nome: nome della statistica
GruppiUtenti:
gruppi di utenti (figure) del portale abilitati a effettuarla
Risultati: risultati della statistica in forma tabellare o grafica
Metodi: n/a
4.1.3.54.1.3.5 Descrizione della classe Generatore StatisticheDescrizione della classe Generatore Statistiche
Definizione:
componente del sistema che si occupa di effettuare le statistiche
Attributi: n/a
Metodi:
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:
Specifiche del Progetto Software 8
Appendice
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
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:
Specifiche del Progetto Software 9
Appendice
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.64.1.3.6 Descrizione della classe RichiestaDescrizione della classe Richiesta
Definizione:
richiesta effettuata al call center del sistema CRM.
Attributi:
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.44.1.4 Descrizione delle relazioniDescrizione delle relazioni
Nome: Gadget Portale consente accesso Personalizzazione Statistiche
Specifiche del Progetto Software 10
Appendice
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
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 11
Appendice
4.24.2 Requisiti dinamiciRequisiti dinamici
4.2.14.2.1 Casi d’usoCasi d’uso
4.2.1.14.2.1.1 Descrizione del caso d’uso Visualizzare StatisticheDescrizione del caso d’uso Visualizzare Statistiche
Nome attore: Utente Portale, Sistema CRM
Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la visualizzazione delle statistiche alle quali è autorizzato ad accedere secondo le proprie preferenze. L’attore Sistema CRM è il sistema che ospita l’applicazione CRM sui dati della quale verranno effettuate le statistiche.
Relazioni: l’Utente Portale accede al gadget;
il sistema recupera i dati dal Sistema CRM ed effettua le statistiche;
il sistema presenta all’Utente Portale i risultati dell’elaborazione.
Descrizione dello scenario:
Specifiche del Progetto Software 12
Appendice
4.2.1.24.2.1.2 Descrizione del caso d’uso Personalizzare StatisticheDescrizione del caso d’uso Personalizzare Statistiche
Nome attore: Utente Portale
Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la personalizzazione delle statistiche alle quali è autorizzato ad accedere
Relazioni: L’Utente Portale accede alla sezione del gadget di personalizzazione delle statistiche;
L’Utente Portale effettua la modifica dei dati;
Il sistema registra i cambiamenti.
Descrizione dello scenario:
Specifiche del Progetto Software 13
Utente PortaleGadget Portale
Settaggi Statistiche
Personalizzazione Statistiche
accedererichiamare
recuperare
settaggivalori da modificare
nuovi settaggiregistrare
aggiornare
statistica aggiornata
Appendice
4.34.3 Requisiti tecniciRequisiti tecnici
4.3.14.3.1 Vincoli di progettoVincoli di progetto
Il sistema deve tener conto delle varie figure che possono avere accesso ad esso, in particolare in termini di quali statistiche possono essere visualizzate da ogni figura. Il sistema deve adattarsi automaticamente all’utente, presentandogli solo ed esclusivamente le statistiche abilitate ad essere visualizzate da esso.
Il sistema deve essere realizzato in modo da permettere l’aggiunta futura di nuove statistiche eseguibili con il minor sforzo possibile e demandando quanto più l’elaborazione di tali statistiche ad applicazioni preesistenti nell’organizzazione. Tali applicazioni andranno quindi integrate nell’intero sistema.
4.3.24.3.2 Requisiti di prestazioneRequisiti di prestazione
Il sistema sarà eseguito all’interno di un portale. Data la natura multiutente di quest’ultimo si suppone che al sistema possa accedere più di una persona contemporaneamente. Il sistema dovrà quindi essere progettato in modo da sopportare un carico di utenti maggiore di uno. Data la natura sperimentale del sistema, tale requisito non è momentaneamente essenziale.
4.3.34.3.3 Requisiti dell’interfaccia esternaRequisiti dell’interfaccia esterna
L’interfaccia del sistema deve essere realizzata in modo da essere visualizzata all’interno del portale preesistente nell’organizzazione, ovvero Plumtree Corporate Portal 4.5, ciò implica che l’interfaccia utente deve essere realizzata in HTML rispettando lo stile del portale e l’interfaccia per interagire il portale deve essere quella fornita dal produttore Plumtree, ovvero il Plumtree Gadget Developer Studio. la tecnologia di interazione adottata è di uso comune (video, tastiera e mouse). L'uso della tastiera è richiesto solo per inserire dati testuali e non per invocare l'esecuzione di comandi. Presso l’utente non è richiesta l’installazione di software particolare, se non un comune browser Internet per accedere al portale, pertanto non esistono particolari richieste hardware presso l’utente.
L’interazione con il sistema CRM deve avvenire nel modo più semplice possibile, senza apportare modifiche ad esso, preferibilmente accedendo ai suoi dati. Inoltre, data la natura prototipale del sistema CRM, progettare il sistema d’accesso ai dati in modo da essere il più indipendente possibile da esso, sia in termini di assunzione della tecnologia usata per la base di dati, sia
Specifiche del Progetto Software 14
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 15
Appendice
5.5. AAPPENDICEPPENDICE
5.15.1 Descrizione dell’organizzazioneDescrizione dell’organizzazioneL’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.25.2 Statistiche effettuabili dal sistemaStatistiche 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:
Totale 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 16
Appendice
Percentuale 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 17
Appendice
Specifiche del Progetto Software 18
Appendice
SSISTEMAISTEMA S SOFTWAREOFTWARE STATCRM STATCRM
SPECIFICHE DEL PROGETTO SOFTWARE
Specifiche del Progetto Software 19
Appendice
6.6. IINDICENDICE
5. INTRODUZIONE...........................................................26
5.1 SCOPO.....................................................................................265.2 GLOSSARIO..............................................................................265.3 PRESENTAZIONE.......................................................................27
6. MODELLO LOGICO.......................................................28
6.1 DIAGRAMMI DELLE CLASSI.........................................................286.1.1 Gadget Package.................................................................29
6.1.1.1 Descrizione della classe Gadget...............................296.1.1.2 Descrizione della classe Settings Form...................306.1.1.3 Descrizione della classe Statistic Settings..............316.1.1.4 Descrizione della classe User Prefs..........................326.1.1.5 Descrizione della classe doPage.asp........................326.1.1.6 Descrizione della classe Utilities.asp.......................336.1.1.7 Descrizione della classe setPrefs.asp......................366.1.1.8 Descrizione della classe gadget.asp........................366.1.1.9 Descrizione della classe setVisualSettings.asp......376.1.1.10 Descrizione della classe statUtilities.asp................376.1.1.11 Descrizione della classe visualSettings.asp...........426.1.1.12 Descrizione della classe userPrefs.asp...................47
6.1.2 Statistics Server Package.................................................486.1.2.1 Descrizione della classe MetadatiPrivati.................496.1.2.2 Descrizione della classe MetadatiPubblici...............496.1.2.3 Descrizione della classe StatServer.........................496.1.2.4 Descrizione della classe StatisticaPriv.....................526.1.2.5 Descrizione della classe StatisticaPub.....................536.1.2.6 Descrizione della classe Table..................................536.1.2.7 Descrizione dell’interfaccia Statistics Server.........54
6.1.3 Statistica Server Package.................................................556.1.3.1 Descrizione dell’interfaccia Statistica Server.........556.1.3.2 Descrizione della classe StatServerStatistica.........56
6.1.4 Excel Server Package........................................................626.1.4.1 Descrizione dell’interfaccia Excel Server................626.1.4.2 Descrizione della classe StatServerExcel................63
6.1.5 DataBanker Server Package.............................................736.1.5.1 Descrizione dell’interfaccia DataBanker Server.....736.1.5.2 Descrizione della classe DBServer...........................746.1.5.3 Descrizione della classe Gruppo...............................776.1.5.4 Descrizione della classe Metadati............................776.1.5.5 Descrizione della classe MetadatiPrivati.................786.1.5.6 Descrizione della classe Periodo...............................796.1.5.7 Descrizione della classe SoddisfazioneCliente.......796.1.5.8 Descrizione della classe Stato..................................796.1.5.9 Descrizione della classe Tipo....................................80
6.2 ORGANIZZAZIONE DALLA BASE DI DATI.......................................81
Specifiche del Progetto Software 20
Appendice
6.2.1 Base di dati del sistema CRM...........................................816.2.1.1 Diagramma delle dipendenze....................................816.2.1.2 Descrizione delle dipendenze...................................816.2.1.3 Schema della base di dati..........................................816.2.1.4 Descrizione delle strutture dati................................82
6.2.2 Base di dati del sistema....................................................836.2.2.1 Schema della base di dati..........................................836.2.2.2 Descrizione delle strutture dati................................84
7. MODELLO COMPORTAMENTALE......................................90
7.1 CASI D’USO..............................................................................907.1.1 Descrizione dei casi d’uso................................................90
7.1.1.1 Caso d’uso Personalizzare Statistiche.....................907.1.1.2 Caso d’uso Visualizzare Statistica............................93
8. ARCHITETTURA DI SISTEMA..........................................98
8.1 DIAGRAMMI DELLE COMPONENTI................................................988.1.1 Gadget Server....................................................................988.1.2 Statistics Server.................................................................998.1.3 Statistica Server................................................................998.1.4 Excel Server.....................................................................1008.1.5 DataBanker Server..........................................................100
8.2 DIAGRAMMA DI ALLOCAZIONE..................................................101
9. INTERFACCIA ESTERNA...............................................102
9.1 INTERFACCIA UTENTE..............................................................1029.1.1 Maschere...........................................................................102
9.1.1.1 Gadget........................................................................1029.1.1.2 Settaggi Statistica....................................................103
9.1.2 Menu..................................................................................1049.1.3 Report................................................................................104
9.2 INTERFACCIA VERSO ALTRI SISTEMI..........................................104
10. DEFINIZIONE DELL’AMBIENTE DI SVILUPPO....................106
10.1 RISORSE HARDWARE...........................................................10610.2 RISORSE SOFTWARE............................................................106
11. DEFINIZIONE DELLA PIATTAFORMA HARDWARE/SOFTWARE
107
11.1 RISORSE HARDWARE...........................................................10711.2 RISORSE SOFTWARE............................................................107
12. APPENDICE..............................................................108
12.1 FUNZIONAMENTO DEL DATABANKER SERVER.........................10812.2 MODALITÀ DI CALCOLO DELLE STATISTICHE...........................110
12.2.1 Andamento richieste per tipo........................................11012.2.2 Totale richieste per tipo.................................................110
Specifiche del Progetto Software 21
Appendice
12.2.3 Percentuale soddisfazione clienti..................................11112.2.4 Grafico X and Moving R sulle richieste.........................111
Specifiche del Progetto Software 22
Appendice
7.7. IINTRODUZIONENTRODUZIONE
7.17.1 ScopoScopoQuesto documento contiene una descrizione dettagliata del
sistema software STATCRM. I destinatari sono i codificatori.
7.27.2 GlossarioGlossarioNel 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 23
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.37.3 PresentazionePresentazioneIl 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 24
Appendice
8.8. MMODELLOODELLO L LOGICOOGICO
8.18.1 Diagrammi delle classiDiagrammi delle classiViene di seguito riportato il diagramma dei package del sistema:
8.1.18.1.1 Gadget PackageGadget Package
Specifiche del Progetto Software 25
DataBanker Server
Excel Server
Gadget
Statistica Server
Statistics Server
Appendice
Specifiche del Progetto Software 26
Appendice
8.1.1.18.1.1.1 Descrizione della classe GadgetDescrizione della classe Gadget
Definizione:
Pagina client presentata all’utente. E’ l’interfaccia principale del sistema con l’utente
Attributi: n/a
Metodi: n/a
8.1.1.28.1.1.2 Descrizione della classe Settings FormDescrizione della classe Settings Form
Definizione:
Form nel quale l’utente può impostare i settaggi per la statistica.
Attributi:
Statistica: nome della statistica da visualizzare
VisualizzaCome: modalità con cui mostrare la statistica (grafico o tabella)
NumeroRighePerPagina:
numero di righe della tabella da 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.38.1.1.3 Descrizione della classe Statistic SettingsDescrizione della classe Statistic Settings
Definizione: Pagina client presentata all’utente per permettergli di modificare i settaggi della statistica
Specifiche del Progetto Software 27
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
Specifiche del Progetto Software 28
Appendice
8.1.1.48.1.1.4 Descrizione della classe User PrefsDescrizione della classe User Prefs
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.58.1.1.5 Descrizione della classe doPage.aspDescrizione della classe doPage.asp
Definizione:
Server page che prepara il sistema a mostrare all’utente la pagina della tabella da lui selezionata nel gadget
Attributi: n/a
Metodi:
main()
Introduzione:
effettua il cambiamento di pagina
Parametri di interfaccia: n/a
8.1.1.68.1.1.6 Descrizione della classe Utilities.aspDescrizione della classe Utilities.asp
Definizione:
Pagina server contenente funzioni di utilità
Attributi: n/a
Metodi:
traduciStringa()
Introduzione:
restituisce la versione localizzata di una stringa nella lingua selezionata nelle preferenze del portale
Parametri di interfaccia:
Specifiche del Progetto Software 29
Appendice
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
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 30
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 31
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 32
Appendice
8.1.1.78.1.1.7 Descrizione della classe setPrefs.aspDescrizione della classe setPrefs.asp
Definizione:
Pagina server che redirige l’utente al portale dopo aver visionato la pagina client User Prefs
Attributi: n/a
Metodi:
main()
Introduzione:
effettua la redirezione al portale
Parametri di interfaccia: n/a
8.1.1.88.1.1.8 Descrizione della classe gadget.aspDescrizione della classe gadget.asp
Definizione:
Server page che si occupa di costruire l’interfaccia utente del sistema
Attributi:
pageNumeber: numero di pagina corrente della tabella
GSrowsPerPage:
numero di righe per pagina da mostrare per la tabella
Metodi:
main()
Introduzione:
costruisce la pagina client da mostrare all’utente
Parametri di interfaccia:
Specifiche del Progetto Software 33
Appendice
8.1.1.98.1.1.9 Descrizione della classe setVisualSettings.aspDescrizione della classe setVisualSettings.asp
Definizione:
Pagina server che registra i nuovi settaggi della statistica scelti dall’utente
Attributi: n/a
Metodi:
main()
Introduzione:
rende effettivi i cambiamenti registrando i valori nelle variabili utente del portale
Parametri di interfaccia: n/a
8.1.1.108.1.1.10 Descrizione della classe statUtilities.aspDescrizione della classe statUtilities.asp
Definizione:
Server page contenente una serie di funzioni di utilità utilizzate dal sistema
Attributi: n/a
Metodi:
getStatisticName()
Introduzione:
restituisce il nome della statistica corrispondente a un codice
Parametri di interfaccia:
Nome: code
Direzione: Input
Dominio: String
Nome: name
Direzione: Output
Dominio: String
getMetadati()
Specifiche del Progetto Software 34
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:
Nome: imgTag
Direzione: Output
Specifiche del Progetto Software 35
Appendice
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()
Introduzione: restituisce la tabella in formato HTML da visualizzare nel gadget del portale
Parametri di interfaccia:
Specifiche del Progetto Software 36
Appendice
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()
Introduzione:
restituisce il riferimento all’immagine in formato HTML da visualizzare nel portale
Parametri di interfaccia:
Specifiche del Progetto Software 37
Appendice
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()
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:
Specifiche del Progetto Software 38
Appendice
Nome: textStream
Direzione: Input
Dominio: String
8.1.1.118.1.1.11 Descrizione della classe visualSettings.aspDescrizione della classe visualSettings.asp
Definizione:
Server page che costruisce la pagina client Visual Settings da mostrare all’utente
Attributi: n/a
Metodi:
getVisualizzaComeComboBox()
Introduzione:
restituisce il combobox in HTML per la scelta della modalità di visualizzazione della statistica
Parametri di interfaccia:
Nome: visualizzaCome
Direzione: Input
Dominio: String
Nome: combobox
Direzione: Output
Dominio: String
isAbilitatoAVederla()
Introduzione:
controlla se un utente è abilitato a visualizzare una determinata statistica
Parametri di interfaccia:
Specifiche del Progetto Software 39
Appendice
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()
Introduzione:
restituisce il combobox in HTML per la scelta della statistica da visualizzare
Parametri di interfaccia:
Specifiche del Progetto Software 40
Appendice
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()
Introduzione:
restituisce il combobox in HTML per la scelta del gruppo di utenti su cui effettuare la statistica
Parametri di interfaccia:
Specifiche del Progetto Software 41
Appendice
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
getSoddisfazioniSelectBox()
Introduzione:
restituisce la lista in HTML per selezionare i valori di soddisfazione del cliente su cui effettuare la statistica
Specifiche del Progetto Software 42
Appendice
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.128.1.1.12 Descrizione della classe userPrefs.aspDescrizione della classe userPrefs.asp
Definizione:
Server page che costruisce la pagina client User Prefs
Attributi: n/a
Metodi:
main()
Specifiche del Progetto Software 43
Appendice
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 44
Appendice
8.1.28.1.2 Statistics Server PackageStatistics Server Package
Specifiche del Progetto Software 45
«interface»
Statistics Server
+ GetMetadata()
+ GetStatisticAsGraph()
+ GetStatisticAsTable()
StatServer
+ GetMetadata()
+ GetStatisticAsGraph()
+ GetStatisticAsTable()
- ReadMetadata()
- GetStatisticIndex()
«interface»
Statistica Server::Statistica Server
+ GetStatisticAsChart()
+ GetStatisticAsTable()
«interface»
Excel Server::Excel Server
+ GetStatisticAsChart()
+ GetStatisticAsTable()
«interface»
DataBanker Server::DataBanker Server
+ GetData()
+ GetMetadata()
MetadatiPrivatiMetadatiPubblici
Table
+ TableAsString:
+ Rows:
+ Cols:
DataBanker Server::Metadati
StatisticaPub
- Codice:
- Nome:
- Gruppi:
StatisticaPriv
- Generatore:
- InformazioniRisultati:
- InformazioniRisultatiTitoloTabella:
- RaggruppamentoRisultati:
- OrdineRisultati:
Vedere diagramma delle classi relativo al Databanker Server per ulteriori dettagli
1..*1..*1
11
«call»
«call»
«call»
«realize»
Appendice
8.1.2.18.1.2.1 Descrizione della classe MetadatiPrivatiDescrizione della classe MetadatiPrivati
Definizione:
metadati privati sulle statistiche non visibili all’esterno del sottosistema
Attributi: n/a
Metodi: n/a
8.1.2.28.1.2.2 Descrizione della classe MetadatiPubbliciDescrizione della classe MetadatiPubblici
Definizione:
metadati pubblici sulle statistiche visibili all’esterno del sottosistema
Attributi: n/a
Metodi: n/a
8.1.2.38.1.2.3 Descrizione della classe StatServerDescrizione della classe StatServer
Definizione:
implementazione del WebService
Attributi: n/a
Metodi:
GetMetadata()
Introduzione:
restituisce i metadati sulle statistiche
Parametri di interfaccia:
Nome: MetadatiPubblici
Direzione: Output
Dominio: MetadatiPubblici
ReadMetadata()
Introduzione:
carica i metadati del sistema da file
Parametri di interfaccia: n/a
GetStatisticAsTable()
Specifiche del Progetto Software 46
Appendice
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()
Introduzione:
restituisce la statistica in formato di immagine
Specifiche del Progetto Software 47
Appendice
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()
Introduzione:
restituisce l’indice della statistica all’interno della lista delle statistiche disponibili
Parametri di interfaccia:
Specifiche del Progetto Software 48
Appendice
Nome: StatisticaNome
Direzione: Input
Dominio: String
Nome: i
Direzione: Output
Dominio: Integer
8.1.2.48.1.2.4 Descrizione della classe StatisticaPrivDescrizione della classe StatisticaPriv
Definizione:
metadati privati di una singola statistica
Attributi:
Generatore: applicazione con cui è generata la statistica (Excel o Statistica)
InformazioniRisultati: campi richiesti per l’interrogazione al databanker (vedere Appendice)
InformazioniRisultatiTitoloTabella:
nomi dei campi della tabella risultante dall’interrogazione del databanker (vedere Appendice)
RaggruppamentoRisultati: campi per cui raggruppare i risultati dell’interrogazione al databanker (vedere Appendice)
OrdineRisultati: campi per cui ordinare i risultati dell’interrogazione al databanker (vedere Appendice)
Metodi: n/a
Specifiche del Progetto Software 49
Appendice
8.1.2.58.1.2.5 Descrizione della classe StatisticaPubDescrizione della classe StatisticaPub
Definizione:
metadati pubblici di una singola statistica
Attributi:
codice: codice interno della statistica
nome: nome della statistica
gruppi: gruppi di utenti del portale abilitati a visualizzare la statistica
Metodi: n/a
8.1.2.68.1.2.6 Descrizione della classe TableDescrizione della classe Table
Definizione:
risultati della statistica in forma tabellare
Attributi:
TableAsString:
contenuto della tabella come vettore
Rows: numero di righe della tabella
Cols: numero di colonne della tabella
Metodi: n/a
8.1.2.78.1.2.7 Descrizione dell’interfaccia Statistics ServerDescrizione dell’interfaccia Statistics Server
Definizione:
interfaccia alla classe StatServer
Attributi: n/a
Metodi: metodi pubblici della classe di cui è interfaccia
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 50
Appendice
8.1.38.1.3 Statistica Server PackageStatistica Server Package
8.1.3.18.1.3.1DeDescrscriziizionone e
dell’interfaccia Statistica Serverdell’interfaccia Statistica Server
Definizione:
interfaccia alla classe StatServerStatistica
Attributi: n/a
Metodi: metodi pubblici della classe di cui è interfaccia
8.1.3.28.1.3.2 Descrizione della classe StatServerStatisticaDescrizione della classe StatServerStatistica
Definizione:
implementazione del WebService Statistica Server
Specifiche del Progetto Software 51
Statsoft Statistica
«interface»
DataBanker Server::DataBanker Server
+ GetData()
+ GetMetadata()
«interface»
Statistica Server
+ GetStatisticAsChart()
+ GetStatisticAsTable()
StatServerStatistica
- openStatistica()
- closeStatistica()
+ GetStatisticAsChart()
+ GetStatisticAsTable()
- getPeriodoIndex()
- doST4()
- getChartStatistica()
- getTableStatistica()
DataBanker Server::Metadati
Vedere diagramma delle classi relativo al Databanker Server per ulteriori dettagli
«interface»
Statistica.Application
«interface»
Statistica.Spreadsheet
«call»
«realize»
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 dell’applicazione Statsoft Statistica
Parametri di interfaccia:
Nome: closeWB
Direzione: Input
Dominio: Boolean
getChartStatistica()
Introduzione:
restituisce l’immagine della statistica in formato stringa codificato secondo lo standard Base64
Parametri di interfaccia:
Specifiche del Progetto Software 52
Appendice
Nome: ID
Direzione: Input
Dominio: String
Nome: s64
Direzione: Output
Dominio: String
getTableStatistica()
Introduzione:
restituisce la tabella con i dati della 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
Specifiche del Progetto Software 53
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 54
Appendice
GetStatisticAsChart()
Introduzione:
restituisce il risultato della statistica in formato immagine
Parametri di interfaccia:
Nome: StatisticaNome
Nome: Gruppo
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: ID Nome: Periodo
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: Tipi Nome: Soddisfazioni
Direzione: Input Direzione: Input
Dominio: String 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 Nome: result
Direzione: Input Direzione:
Output
Dominio: String Dominio: String
Specifiche del Progetto Software 55
Appendice
GetStatisticAsTable()
Introduzione:
restituisce il risultato della statistica in formato di tabella
Parametri di interfaccia:
Nome: StatisticaNome
Nome: Periodo
Direzione: Input Direzione:
Input
Dominio: String Dominio: String
Nome: Gruppo Nome: Tipi
Direzione: Input Direzione:
Input
Dominio: String Dominio: String
Nome: Soddisfazioni Nome: Stati
Direzione: Input Direzione:
Input
Dominio: String Dominio: String
Nome: RaggruppamentoRisultati
Direzione: Input
Dominio: String
Nome: InformazioniRisultati
Direzione: Input
Dominio: String
Nome: InformazioniRisultatiTitoloTabella
Direzione: Input
Dominio: String
Nome: OrdineRisultati
Direzione: Input
Dominio: String
Nome: result
Direzione: Output
Dominio: String
Specifiche del Progetto Software 56
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 57
Appendice
8.1.48.1.4 Excel Server PackageExcel Server Package
8.1.4.18.1.4.1
Descrizione dell’interfaccia Excel ServerDescrizione dell’interfaccia Excel Server
Definizione:
interfaccia alla classe StatServerExcel
Attributi: n/a
Metodi: metodi pubblici della classe di cui è interfaccia
8.1.4.28.1.4.2 Descrizione della classe StatServerExcelDescrizione della classe StatServerExcel
Definizione:
implementazione del WebService Excel Server
Specifiche del Progetto Software 58
Microsoft Excel
«interface»
Excel Server
+ GetStatisticAsChart()
+ GetStatisticAsTable()
«interface»
DataBanker Server::DataBanker Server
+ GetData()
+ GetMetadata()
StatServerExcel
+ GetStatisticAsChart()
+ GetStatisticAsTable()
- callWebService()
- getDataBankerMetadata()
- getDataBankerData()
- doST1()
- doST2()
- doST3()
- openExcel()
- closeExcel()
- doTableHeader()
- getCellsFromRange()
- base64Encode()
- getChartExcel()
- getNumSheets() «interface»
Excel.Workbook
«interface»
Excel.Application
«interface»
Excel.Worksheet
«interface»
JSBin
«call»
«call»
«call»
«call»«realize»
«call»
Appendice
Attributi: n/a
Metodi:
openExcel()
Introduzione:
effettua l’apertura dell’applicazione Microsoft Excel
Parametri di interfaccia: n/a
closeExcel()
Introduzione:
effettua la chiusura dell’applicazione Microsoft Excel
Parametri di interfaccia: n/a
doTableHeader()
Introduzione:
inserisce i titoli dei campi della tabella nel foglio Excel
Parametri di interfaccia:
Nome: InformazioniRisultatiTitoloTabella
Direzione: Input
Dominio: String
getNumSheets()
Introduzione:
restituisce il numero di fogli di lavoro in un documento Excel
Parametri di interfaccia:
Nome: NumSheets
Direzione: Output
Dominio: Integer
getDataBankerMetadata()
Introduzione:
restituisce i metadati del databanker
Specifiche del Progetto Software 59
Appendice
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 60
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 61
Appendice
GetStatisticAsTable()
Introduzione:
restituisce il risultato della statistica in formato di tabella
Parametri di interfaccia:
Nome: StatisticaNome
Nome: Periodo
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: Gruppo Nome: Tipi
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: Soddisfazioni Nome: Stati
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: RaggruppamentoRisultati
Direzione: Input
Dominio: String
Nome: InformazioniRisultati
Direzione: Input
Dominio: String
Nome: InformazioniRisultatiTitoloTabella
Direzione: Input
Dominio: String
Nome: OrdineRisultati Nome: result
Direzione: Input Direzione: Output
Dominio: String Dominio: String
Specifiche del Progetto Software 62
Appendice
GetStatisticAsChart()
Introduzione:
restituisce il risultato della statistica in formato immagine
Parametri di interfaccia:
Nome: StatisticaNome
Nome: Gruppo
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: ID Nome: Periodo
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: Tipi Nome: Soddisfazioni
Direzione: Input Direzione: Input
Dominio: String 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 Nome: result
Direzione: Input Direzione:
Output
Dominio: String Dominio: String
callWebService()
Introduzione:
effettua l’invocazione del metodo di un WebService
Specifiche del Progetto Software 63
Appendice
Parametri di interfaccia:
Nome: SoapServer
Direzione: Input
Dominio: String
Nome: SoapPath
Direzione: Input
Dominio: String
Nome: SoapNamespace
Direzione: Input
Dominio: String
Nome: SoapAction
Direzione: Input
Dominio: String
Nome: SoapTemplate
Direzione: Input
Dominio: XMLDOM Document
Nome: xmlhttp1
Direzione: Output
Dominio: Server XMLHTTP
getDataBankerData()
Introduzione:
restituisce i dati risultanti da un’interrogazione al databanker
Parametri di interfaccia:
Specifiche del Progetto Software 64
Appendice
Nome: Gruppo
Direzione: Input
Dominio: String
Nome: Periodo
Direzione: Input
Dominio: String
Nome: Tipi
Direzione: Input
Dominio: String
Nome: Soddisfazioni
Direzione: Input
Dominio: String
Nome: Stati
Direzione: Input
Dominio: String
Nome: RaggruppamentoRisultati
Direzione: Input
Dominio: String
Nome: InformazioniRisultati
Direzione: Input
Dominio: String
Nome: OrdineRisultati
Direzione: Input
Dominio: String
Nome: xml1
Direzione: Output
Dominio: XMLDOM Document
Specifiche del Progetto Software 65
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 66
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 67
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 68
Appendice
8.1.58.1.5 DataBanker Server PackageDataBanker Server Package
8.1.5.18.1.5.1DeDescscrizrizioionene
dell’interfaccia DataBanker Serverdell’interfaccia DataBanker Server
Definizione:
interfaccia alla classe DBServer
Attributi: n/a
Metodi: metodi pubblici della classe di cui è interfaccia
8.1.5.28.1.5.2 Descrizione della classe DBServerDescrizione della classe DBServer
Definizione:
implementazione del WebService DataBanker Server
Attributi: n/a
Specifiche del Progetto Software 69
«interface»
DataBanker Server
+ GetData()
+ GetMetadata()
DBServer
+ GetData()
+ GetMetadata()
- ReadMetadata()
- createPeriodo()
- createOrCondition()
- createRisultati()
MetadatiPrivati
- Provider:
- DataSource:
- UserID:
- Password:
- Table:
- CGruppo:
- CPeriodo:
- CTipo:
- CSodd:
- CStato:
Metadati
Gruppo
+ Codice:
+ Descrizione:
Periodo
+ Nome:
+ DataInizio:
+ DataFine:
+ NumeroGiorni:
SoddisfazioneCliente
+ Codice:
+ Descrizione:
Tipo
+ Codice:
+ Descrizione:
+ GruppoAppartenenza:
Stato
+ Codice:
+ Descrizione:
1..*
1..*
1..*
1..*
1..*
1
1
«realize»
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 70
Appendice
GetData()
Introduzione:
restituisce i risultati di una interrogazione sulla base di dati
Parametri di interfaccia:
Nome: Gruppo Nome: Periodo
Direzione: Input Direzione: Input
Dominio: String Dominio: String
Nome: Tipi
Direzione: Input
Dominio: String
Nome: Soddisfazioni
Direzione: Input
Dominio: String
Nome: Stati
Direzione: Input
Dominio: String
Nome: RaggruppamentoRisultati
Direzione: Input
Dominio: String
Nome: InformazioniRisultati
Direzione: Input
Dominio: String
Nome: OrdineRisultati
Direzione: Input
Dominio: String
Nome: DS
Direzione: Output
Dominio: DataSet
Specifiche del Progetto Software 71
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()
Introduzione:
crea la corrispondenza tra gli elementi richiesti nei risultati e i nomi effettivi dei campi nella tabella
Parametri di interfaccia:
Specifiche del Progetto Software 72
Appendice
Nome: fields
Direzione: Input
Dominio: String
Nome: selectField
Direzione: Input
Dominio: Boolean
Nome: sqlCode
Direzione: Output
Dominio: String
8.1.5.38.1.5.3 Descrizione della classe GruppoDescrizione della classe Gruppo
Definizione:
gruppo di appartenenza degli utenti che possono effettuare richieste al sistema CRM
Attributi:
Codice: codice interno del gruppo
Descrizione:
descrizione testuale del gruppo
Metodi: n/a
8.1.5.48.1.5.4 Descrizione della classe MetadatiDescrizione della classe Metadati
Definizione:
metadati della parte della base di dati di interesse per il sistema da rendere visibili all’esterno
Attributi: n/a
Metodi: n/a
8.1.5.58.1.5.5 Descrizione della classe MetadatiPrivatiDescrizione della classe MetadatiPrivati
Definizione:
metadati della parte della base di dati di interesse per il sistema da non rendere visibili all’esterno
Specifiche del Progetto Software 73
Appendice
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.68.1.5.6 Descrizione della classe PeriodoDescrizione della classe Periodo
Definizione:
intervallo di tempo su cui è possibile effettuare statistiche sulle richieste del sistema CRM
Attributi:
Nome: nome dell’intervallo di tempo
DataInizio: data di inizio dell’intervallo
DataFine: data di fine dell’intervallo
Specifiche del Progetto Software 74
Appendice
NumeroGiorni:
durata in giorni dell’intervallo
Metodi: n/a
8.1.5.78.1.5.7 Descrizione della classe SoddisfazioneClienteDescrizione della classe SoddisfazioneCliente
Definizione:
valore di soddisfazione del cliente per la risposta alla sua richiesta
Attributi:
Codice: codice interno del livello di soddisfazione
Descrizione:
descrizione testuale del livello di soddisfazione
Metodi: n/a
8.1.5.88.1.5.8 Descrizione della classe StatoDescrizione della classe Stato
Definizione:
stato in cui si può trovare una richiesta
Attributi:
Codice: codice interno dello stato
Descrizione:
descrizione testuale dello stato
Metodi: n/a
8.1.5.98.1.5.9 Descrizione della classe TipoDescrizione della classe Tipo
Definizione:
tipo di richiesta che può essere effettuata
Attributi:
Codice: codice interno del tipo
Descrizione: descrizione testuale del tipo
GruppoAppartenenza:
gruppo di utenti che possono effettuare richieste di questo tipo
Specifiche del Progetto Software 75
Appendice
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 76
Appendice
8.28.2 Organizzazione dalla base di datiOrganizzazione dalla base di dati
8.2.18.2.1 Base di dati del sistema CRMBase di dati del sistema CRM
Di seguito viene presa in considerazione solo la parte della base di dati di interesse per il sistema. Inoltre della parte presa in considerazione non verranno descritti gli elementi non utilizzati dal sistema.
8.2.1.18.2.1.1 Diagramma delle dipendenzeDiagramma delle dipendenze
La base di dati del sistema CRM è già esistente inoltre di tutta la base di dati, viene considerata dal sistema solo una tabella, quindi non è necessario rappresentare le relazioni tra i campi della base di dati.
8.2.1.28.2.1.2 Descrizione delle dipendenzeDescrizione delle dipendenze
La base di dati del sistema CRM è già esistente inoltre di tutta la base di dati, viene considerata dal sistema solo una tabella, quindi non è necessario rappresentare le dipendenze tra i campi della base di dati.
8.2.1.38.2.1.3 Schema della base di datiSchema della base di dati
Di seguito viene riportata solo la parte della tabella di interesse per il sistema:
8.2.1.48.2.1.4 Descrizione delle strutture datiDescrizione delle strutture dati
Di seguito vengono descritti solo i campi della tabella di interesse per il sistema
HD_INCIDENT
Specifiche del Progetto Software 77
HD_INCIDENT
«column» OWNER_GRP:
«column» TYPE:
«column» CHANGE_DT:
«column» CUST_SATIS:
«column» STATE:
Appendice
Definizione: Contiene tutte le richieste effettuate al call-center del sistema CRM
Campi: OWNER_GRP
Gruppo di appartenenza dell’utente che ha effettuato la richiesta
VARCHAR2
TYPE Codice del tipo di richiesta
VARCHAR2
CHANGE_DT Data dell’ultima modifica alla richiesta
DATE
CUST_SATIS Codice del livello di soddisfazione per la richiesta
VARCHAR2
STATE Codice dello stato della richiesta
VARCHAR2
Chiave Primaria:
n/a
Specifiche del Progetto Software 78
Appendice
8.2.28.2.2 Base di dati del sistema Base di dati del sistema
I dati del sistema sono immagazzinati in file XML, pertanto la descrizione della base di dati sarà leggermente differente da quella delle basi di dati relazionali classiche.
8.2.2.18.2.2.1 Schema della base di datiSchema della base di dati
Metadati DataBase CRM
N.B. gli attributi degli elementi sono indicati sotto il rettangolo dell’elemento stesso
Specifiche del Progetto Software 79
Appendice
Metadati Statistiche
8.2.2.28.2.2.2 Descrizione delle strutture datiDescrizione delle strutture dati
Statistica
Definizione: Contiene tutte le informazioni sulle statistiche effettuabili dal sistema
Campi: codice Codice della statistica
String
generatore Applicativo che genera la statistica
String
nome Nome della statistica String
gruppi Gruppi utenti del portale abilitati a visualizzarla
String
informazioni
Risultati
campi richiesti per l’interrogazione al databanker (vedere Appendice A)
String
informazioni
Risultati
TitoloTabella
nomi dei campi della tabella risultante dall’interrogazione del databanker (vedere Appendice A)
String
Specifiche del Progetto Software 80
Appendice
raggruppamento
Risultati
campi per cui raggruppare i risultati dell’interrogazione al databanker (vedere Appendice A)
String
ordineRisultati campi per cui ordinare i risultati dell’interrogazione al databanker (vedere Appendice A)
String
Chiave Primaria:
codice
Database
Definizione: Contiene tutte le informazioni per stabilire una connessione con il database del sistema CRM
Campi: Table Nome tabella contenente le richieste del CRM
String
Provider Tipo di connessione al database
String
DataSource Nome della connessione al database
String
UserId Login di accesso al database
String
Password Password di accesso al database
String
Chiave Primaria:
n/a
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 Primaria:
n/a
Specifiche del Progetto Software 81
Appendice
Gruppo
Definizione: Contiene tutte le informazioni sui gruppi su cui è possibile effettuare statistiche
Campi: codice Codice del gruppo String
descrizione Descrizione testuale del gruppo
String
Chiave Primaria:
codice
Tipi
Definizione: Contiene tutte le informazioni per accedere ai dati sui tipi di richieste
Campi: campo Nome campo, nella tabella, contenente il tipo della richiesta
String
Chiave Primaria:
n/a
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
String
codice Codice del tipo di richiesta
String
descrizione Descrizione testuale del tipo di richiesta
String
Chiave Primaria:
codice
Periodi
Definizione: Contiene tutte le informazioni per accedere ai dati sulle date delle richieste
Specifiche del Progetto Software 82
Appendice
Campi: campo Nome campo, nella tabella, contenente la data della richiesta
String
Chiave Primaria:
n/a
Periodo
Definizione: Contiene tutte le informazioni sugli intervalli di tempo su cui è possibile effettuare statistiche
Campi: numerogiorni
Durata in giorni dell’intervallo
Integer
nome Nome dell’intervallo String
datainizio Data di inizio dell’intervallo
String
datafine Data di fine dell’intervallo
String
Chiave Primaria:
nome
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 Primaria:
n/a
SoddisfazioneCliente
Definizione: Contiene tutte le informazioni sui livelli di soddisfazione su cui è possibile effettuare statistiche
Campi: codice Codice del livello di soddisfazione
String
descrizione Descrizione testuale del livello di soddisfazione
String
Chiave codice
Specifiche del Progetto Software 83
Appendice
Primaria:
Stati
Definizione: Contiene tutte le informazioni per accedere ai dati sugli stati delle richieste
Campi: campo Nome campo, nella tabella, contenente lo stato della richiesta
String
Chiave Primaria:
n/a
Stato
Definizione: Contiene tutte le informazioni sugli stati delle richieste su cui è possibile effettuare statistiche
Campi: codice Codice dello stato della richiesta
String
descrizione Descrizione testuale dello stato della richiesta
String
Chiave Primaria:
codice
Specifiche del Progetto Software 84
Appendice
9.9. MMODELLOODELLO COMPORTAMENTALECOMPORTAMENTALE
9.19.1 Casi d’usoCasi d’uso
9.1.19.1.1 Descrizione dei casi d’usoDescrizione dei casi d’uso
9.1.1.19.1.1.1 Caso d’uso Personalizzare StatisticheCaso d’uso Personalizzare Statistiche
Nome attore: Utente Portale
Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la personalizzazione delle statistiche alle quali è autorizzato ad accedere
Relazioni: L’Utente Portale accede alla sezione del gadget di personalizzazione delle statistiche;
Il sistema presenta all’Utente Portale un form per la personalizzazione;
L’Utente Portale effettua la modifica dei dati;
Il sistema registra i cambiamenti.
Descrizione dello scenario:
Specifiche del Progetto Software 85
Appendice
Scenario 1: Inserimento nuovi settaggi
Specifiche del Progetto Software 86
Appendice
Scenario 2: Annullamento inserimento nuovi settaggi
Specifiche del Progetto Software 87
Appendice
9.1.1.29.1.1.2 Caso d’uso Visualizzare StatisticaCaso d’uso Visualizzare Statistica
Nome attore: Utente Portale, Sistema CRM
Definizione: L’attore Utente Portale è un utente iscritto al portale che richiede la visualizzazione delle statistiche alle quali è autorizzato ad accedere secondo le proprie preferenze. L’attore Sistema CRM è il sistema che ospita l’applicazione CRM sui dati della quale verranno effettuate le statistiche.
Relazioni: l’Utente Portale accede al gadget;
il sistema recupera i dati dal Sistema CRM ed effettua le statistiche;
il sistema presenta all’Utente Portale i risultati dell’elaborazione.
Descrizione dello scenario:
Specifiche del Progetto Software 88
Appendice
Scenario 1: Visualizzazione come immagine generata da Excel WS
Specifiche del Progetto Software 89
Appendice
Scenario 2: Visualizzazione come tabella generata da Excel WS
Specifiche del Progetto Software 90
Appendice
Scenario 3: Visualizzazione come immagine generata da Statistica WS
Specifiche del Progetto Software 91
Appendice
Scenario 4: Visualizzazione come tabella generata da Statistica WS
Specifiche del Progetto Software 92
Appendice
10.10. AARCHITETTURARCHITETTURA DIDI S SISTEMAISTEMA
10.110.1 Diagrammi delle componentiDiagrammi delle componenti
10.1.110.1.1 Gadget ServerGadget Server
Specifiche del Progetto Software 93
gadget.asp
visualSettings.asp
userPrefs.asp
statUtil ities.asp
setVisualSettings.asp
SetPrefs.asp
«WebDocument»GetMetadata.xml
«WebDocument»GetStatisticAsGraph.xml
«WebDocument»GetStatisticAsTable.xml
«library»
Plumtree GadgetServer
Util ities.asp
doPage.asp
«library»
JSBin
E' inclusa in tutte le Server Page asp, ma perchiarezza del grafico non vengono indicate le relazioni
«use»
«call»
«use»
«call»
«call»
«call»
«use»
«use»
«import»
«use»
«use»
«use»
«use»
«call»
«call»
Appendice
10.1.210.1.2 Statistics ServerStatistics Server
10.1.310.1.3 Statistica ServerStatistica Server
Specifiche del Progetto Software 94
.Net Web Service Proxies
«ASP.Net WS»StatServer.asmx
«XML Document»MetadatiStatistiche.xml
«.Net WS Proxy»DBServer.vb
«.Net WS Proxy»StatServerExcel.vb
«.Net WS Proxy»StatServerStatistica.vb
«.Net WS Proxy DLL»
StatServerExcel.dll
«.Net WS Proxy DLL»
DBServer.dll
«.Net WS Proxy DLL»
StatServerStatistica.dll
Sono generati automaticamente dal tool di sviluppo
«call»
«call»
«use»
«use»
«use»
«access»
«call»
.Net Web Service Proxies
«.Net WS Proxy»DBServer.vb
«.Net WS Proxy DLL»
DBServer.dll
«ASP.Net WS»StatServerStatistica.asmx
«Statistica Macro»Macro1.svb
Sono generati automaticamente dal tool di sviluppo
«call»«use»
«call»
Appendice
10.1.410.1.4 Excel ServerExcel Server
10.1.510.1.5 DataBanker ServerDataBanker Server
Specifiche del Progetto Software 95
«ASP.Net WS»DBServer.asmx
«XML Document»MetadatiDataBase.xml
«access»
SOAP Toolkit WS Wrapper
«WS DLL Wrapper»
StatServer.dll
«VB DLL Source»StatServer.cls
«VB Project»StatServerExcel.vbp
«WSDL Document»StatServerExcel.wsdl
«WSML Document»StatServerExcel.wsml
StatServerExcel.asp
«SOAP Document»GetData.xml
«SOAP Document»GetMetadata.xml
Sono generati automaticamentedal tool di sviluppo
«library»
JSBin.dll
«use»«use»
«call»
«use»
«build»
1
«build» «use»
«use»
Appendice
10.210.2 Diagramma di allocazioneDiagramma di allocazione
Specifiche del Progetto Software 96
Serlab26
Serlab23
Serlab10
«WebService»
DataBanker WebService
GetData()
GetMetadata()
«DBMS»
Oracle 8i DB
«WebService»
Statistics WebService
GetMetadata()
GetStatisticAsGraph()
GetStatisticAsTable()
«WebService»
Excel WebService
GetStatisticAsTable()
GetStatisticAsChart()
«WebService»
Statistica WebService
GetStatisticAsChart()
GetStatisticAsTable()
«executable»
Microsoft Excel
«executable»
Statsoft Statistica
Gadget «library»
JSBin
«library»
JSBin
«library»
Plumtree GadgetServer
HTTP/SOAP
COM
«ODBC»
HTTP/SOAP
HTTP/SOAP
COM
HTTP/SOAP
COM
HTTP/SOAP
HTTP/SOAP
COM
COM
Appendice
11.11. IINTERFACCIANTERFACCIA E ESTERNASTERNA
11.111.1 Interfaccia utenteInterfaccia utenteL’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.111.1.1 MaschereMaschere
11.1.1.111.1.1.1 GadgetGadget
Descrizione: Gadget che comparirà all’interno del portale e che sarà l’interfaccia principale con l’utente
Elementi:
Gadget: Spazio che comparirà all’interno del portale
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 per cambiare i settagli della statistica
11.1.1.211.1.1.2 Settaggi Settaggi StatisticaStatistica
Descrizione: Finestra pop-up che consentirà all’utente di personalizzare la statistica
Elementi:
Statistica: Spazio che comparirà all’interno del portale
Specifiche del Progetto Software 97
Gadget
SettaggiStatistica
Immagine/Tabella
Appendice
VisualizzaCome: Spazio riservato a contenere la statistica rappresentata come immagine o come tabella
NumeroRighePerPagina:
Link per accedere alla finestra per 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
Specifiche del Progetto Software 98
Settaggi Statistica
VisualizzaCome
Statistica
NumeroRighePerPagina
Periodo
Tipi
SoddisfazioniCliente
Conferma Annulla
Stati
Gruppo
Appendice
11.1.211.1.2 MenuMenu
Il sistema non prevede la presenza di menu.
11.1.311.1.3 ReportReport
Il sistema non prevede la produzione di reportistica.
11.211.2 Interfaccia verso altri sistemiInterfaccia verso altri sistemiIl 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 DB-Client;
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 Gadget-Server e Plumtree ASP-GDK.
Inoltre il sistema è composto dai seguenti sottosistemi:
Statistics Server
Excel Server
Statistica Server
DataBanker Server
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 99
Appendice
Specifiche del Progetto Software 100
Appendice
12.12. DDEFINIZIONEEFINIZIONE DELLDELL’’AMBIENTEAMBIENTE DIDI SVILUPPOSVILUPPO
12.112.1 Risorse HardwareRisorse HardwareL’hardware utilizzato durante la fase di sviluppo è quello
disponibile nel laboratorio SER_Lab, in particolare i computer denominati Serlab10 e Serlab23.
12.212.2 Risorse SoftwareRisorse SoftwareIl 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 101
Appendice
13.13. DDEFINIZIONEEFINIZIONE DELLADELLA PIATTAFORMAPIATTAFORMA HHARDWAREARDWARE/S/SOFTWAREOFTWARE
13.113.1 Risorse HardwareRisorse HardwareIl sistema richiede le risorse presenti nel laboratorio SER_Lab, in
particolare i computer denominati Serlab10, Serlab23 e Serlab26.
13.213.2 Risorse SoftwareRisorse SoftwareIl 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 102
Appendice
14.14. AAPPENDICEPPENDICE
14.114.1 Funzionamento del DataBanker ServerFunzionamento 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 campiFROM tabellaWHERE condizioneGROUP BY campiORDER 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 viene ricavato il nome della tabella nella clausola FROM;
Gruppo, Periodo, Tipi, Soddisfazioni e Stati: serviranno a costruire la condizione della clausola WHERE. In particolare dal nome del Periodo verrà creata una condizione di confronto su un intervallo di date. Inoltre per
Specifiche del Progetto Software 103
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: STUDENTIPeriodo: Settembre (01/09/2002 - 30/09/2002)Tipi: STUDENTE-CARENZA DI SPAZI, STUDENTE-VARIESoddisfazioni: Indifferente, InsoddisfattoStati: Assegnata, Ricevuta, ChiusaInformazioniRisultati: Periodi,Tipi,count(Tipi)RaggruppamentoRisultati: Periodi,TipiOrdineRisultati: Tipi,Periodi
Produrrà, secondo le attuali informazioni contenute nei metadati, la seguente query SQL:
SELECT CHANGE_DT, TYPE, count(TYPE)FROM HD_INCIDENTWHERE 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, TYPEORDER 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.214.2 Modalità di calcolo delle statisticheModalità di calcolo delle statisticheLe 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.114.2.1 Andamento richieste per tipoAndamento richieste per tipo
La modalità di calcolo è la seguente:
Richiedere al data banker una tabella composta da una colonna con tutte le date del periodo in esame, una
Specifiche del Progetto Software 104
Appendice
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.214.2.2 Totale richieste per tipoTotale richieste per tipo
La modalità di calcolo è la seguente:
Richiedere al data banker una tabella composta da una colonna con tutti i tipi di richiesta presi in esame, una colonna con, per ogni richiesta, il totale di richieste di tale tipo nel periodo in esame;
Nel caso di visualizzazione come grafico, creare un grafico di tipo “Bar Clustered”, usando come range la tabella di cui sopra.
14.2.314.2.3 Percentuale soddisfazione clientiPercentuale soddisfazione clienti
La modalità di calcolo è la seguente:
Richiedere al data banker una tabella composta da una colonna con tutti i livelli di soddisfazione presi in esame e una colonna con, per ogni livello, il totale di richieste con tale livello nel periodo in esame;
Nel caso di visualizzazione come grafico, creare un grafico di tipo “3D Pie Exploded”, usando come range la tabella di cui sopra.
14.2.414.2.4 Grafico X and Moving R sulle richiesteGrafico X and Moving R sulle richieste
La modalità di calcolo è la seguente:
Richiedere al data banker una tabella composta da una colonna con tutte le date del periodo in esame e una colonna con, per ogni data, la somma di tutte le richieste prese in esame in tale data;
Nel caso di visualizzazione come grafico, effettuare un’analisi di tipo “Industrial statistics & Six Sigma”, grafico “Individuals & moving range” nella sezione
Specifiche del Progetto Software 105
Appendice
“Qualità control charts” sulla variabile 2 (la seconda colonna).
Specifiche del Progetto Software 106