Università degli Studi di Pisa Facoltà di Ingegneria C.d.L. Magistrale in Ingegneria Informatica per la Gestione d’Azienda Tesi di Laurea in Sistemi Informativi L-S Sviluppo di un sistema di business intelligence utilizzando un approccio metodologico Lean-Agile Candidato Relatore Vittorio Netti Prof. Francesco Marcelloni Secondo Relatore Prof.ssa Beatrice Lazzerini Relatore Aziendale Dott. Paolo Rodeghiero Anno Accademico 2012-2013 INDICE Introduzione ............................................................................................................................. i Capitolo 1. I sistemi di data warehousing ............................................................................ 1 1.1 Il Data Warehouse ....................................................................................................... 1 L’architettura di un Data Warehouse.................................................................................. 2 1.1.1 Il Data Mart .......................................................................................................... 2 1.1.2 I metadati .............................................................................................................. 3 1.1.3 Accesso ai dati: tipologie di applicazioni. ............................................................ 3 1.2 Data Warehouse vs. Database OLTP. .......................................................................... 4 1.3 Il ciclo di vita di un Data Warehouse. ......................................................................... 6 1.3.1 Pianificazione del Progetto ................................................................................... 6 1.3.2 Definizione dei requisiti del Business .................................................................. 7 1.3.3 Il modello multidimensionale ............................................................................... 7 1.3.4 Il progetto fisico ................................................................................................... 7 1.3.5 Extraction, Transformation & Loading (ETL) .................................................... 7 1.3.6 Il progetto dell’architettura tecnologica .............................................................. 8 1.3.7 Selezione dei prodotti e installazione ................................................................... 8 1.3.8 Specifiche delle applicazioni utente ..................................................................... 8 1.3.9 Sviluppo delle applicazioni utente ........................................................................ 9 1.3.10 Integrazione .......................................................................................................... 9 1.3.11 Manutenzione e crescita ....................................................................................... 9 1.3.12 Gestione del progetto ............................................................................................ 9 1.4 Il Modello Multidimensionale ................................................................................... 10 1.4.1 Dimensioni ......................................................................................................... 10 1.4.2 Attributi e gerarchie ............................................................................................ 11 1.4.3 Fatti e misure ...................................................................................................... 11 1.5 Implementazione del modello multidimensionale ..................................................... 12 1.5.1 I Database Multidimensionali ............................................................................. 13 1.5.2 I database relazionali .......................................................................................... 16 1.6 Le differenti architetture di un sistema OLAP ........................................................... 17 1.6.1 L’architettura MOLAP ....................................................................................... 17 1.6.2 L’architettura ROLAP ........................................................................................ 18 1.6.3 L’architettura HOLAP ........................................................................................ 19 1.6.4 L’architettura DOLAP ........................................................................................ 19 Capitolo 2. La Metodologia Agile ..................................................................................... 21 2.1 Concetti preliminari ................................................................................................... 21 2.1.1 I modelli di progettazione ................................................................................... 21 2.2 Introduzione all’Agile ................................................................................................ 24 2.2.1 Principi su cui si fondano le tecniche Agile ....................................................... 24 2.3 Sviluppare in Agile .................................................................................................... 25 Capitolo 3. Lo strumento di sviluppo: QlikView .............................................................. 30 3.1 QlikView in breve ...................................................................................................... 30 3.1.1 Struttura di QlikView ......................................................................................... 30 3.1.2 L’architettura di QlikView ................................................................................. 31 3.2 QlikView Best practices ............................................................................................ 36 3.2.1 Segmentazione delle cartelle di progetto ............................................................ 36 3.2.2 Flusso base di un progetto .................................................................................. 41 Capitolo 4. Il caso di studio: Amplifon DE ....................................................................... 42 4.1 Descrizione Funzionale .............................................................................................. 43 4.1.1 Scopo del progetto .............................................................................................. 43 4.1.2 Il processo di business ........................................................................................ 44 4.1.3 Il modello analitico ............................................................................................. 49 4.1.4 Architettura del sistema ...................................................................................... 56 4.1.5 End User Interface .............................................................................................. 58 4.2 Analisi dello sviluppo progettuale ............................................................................. 62 4.2.1 Stima delle attività .............................................................................................. 62 4.2.2 Il modello applicato (incrementale) .................................................................... 64 4.2.3 I soggetti coinvolti .............................................................................................. 65 4.3 Sviluppo del sistema .................................................................................................. 68 4.3.1 Solution Analysis ................................................................................................ 69 4.3.2 Modeling DataMart ............................................................................................ 72 4.3.3 Staging Area ....................................................................................................... 74 4.3.4 Metadata Definition ............................................................................................ 80 4.3.5 Developing UAT Reports .................................................................................. 84 4.3.6 Technical Documentation ................................................................................... 93 4.3.7 Formation ........................................................................................................... 95 Capitolo 5. Evoluzioni (CR Sales) .................................................................................... 97 5.1 Evoluzioni Funzionali ................................................................................................ 97 5.2 Analisi e Sviluppo CR Sales .................................................................................... 100 Capitolo 6. Conclusioni ................................................................................................... 105 6.1.1 Miglioramenti della soluzione sviluppata ........................................................ 105 6.1.2 Competenze acquisite ....................................................................................... 107 Bibliografia ......................................................................................................................... 109 Introduzione Questa tesi si propone come obiettivo di descrivere la progettazione e lo sviluppo di un sistema di supporto alle decisioni, partendo dalla costruzione del data warehouse, fino alla costruzione dell’applicazione vera e propria. Per raggiungere questo obiettivo si è intrapresa una strada nuova, basata su un approccio progettuale recente e comunemente detto: Metodologie Lean-Agile. Queste tecniche di progettazione permettono di sviluppare sistemi informativi secondo logiche snelle, efficaci ed efficienti. Lo scopo è quello di raggiungere quello che dovrebbe essere il valore massimo per un’azienda: la piena soddisfazione del cliente. Generalmente l’approccio base di un progetto è quello di affrontare lo sviluppo dall’inizio alla fine senza avere interazioni col cliente o avendone solo in minima parte. Questo comporta spesso un aumento dei tempi e dei costi dei progetti. Tramite l’approccio Agile, invece, si riescono a superare questi ostacoli. Infatti le continue interazioni col cliente portano ad avere una maggiore reattività alle richieste dello stesso, così da poter raggiungere la chiusura del progetto nei termini concordati e con grande soddisfazione dell'azienda medesima. Per dimostrare come questo sia possibile viene presentato un caso di studio reale. Come caso di studio è stato svolto un progetto per il reparto Marketing di Amplifon Germany (AMPMDE). Nell'elaborato dimostrerò come ho portato avanti la progettazione e lo sviluppo del sistema, che è in grado di fornire in tempi brevi, informazioni strategiche agli utilizzatori. Alla base del suddetto sistema ho progettato e costruito un Data warehouse in grado di rispondere a tutte le funzionalità previste. Il Data warehouse contiene le informazioni che successivamente vengono rese fruibili tramite un'applicazione che fornisce una dashboard (insieme di report: documenti in grado di presentare i dati trasformati, formattati ed organizzati in base alle specifiche aziendali, attraverso filtraggi e selezione dei dati da un database). Il sistema è stato sviluppato in tecnologia QlikView, uno degli strumenti di Business Intelligence attualmente più utilizzati per la realizzazione di dashboard. Oggi il sistema è in produzione, e viene utilizzato da tutti gli utenti del reparto Marketing. i Nella descrizione dell’elaborato sono stati mascherati tutti i dati, per motivi di privacy aziendale, in quanto sono coperti dal diritto di segretezza. Di seguito vengono descritti in breve i sei capitoli in cui l'elaborato si suddivide: Nella prima parte (Capitolo 1), introduttiva, saranno rapidamente introdotti i sistemi di data Warehousing, le procedure per lo sviluppo di un database multidimensionale e le possibili soluzioni adottabili. Nella seconda parte (Capitolo 2), verranno affrontate le tematiche riguardanti le possibili strategie di sviluppo, e il confronto con quella adottata: Lean-Agile. La terza parte (Capitolo 3) descriverò in breve il software di riferimento utilizzato, QlikView, e le best practices adottate per lo sviluppo del sistema. La quarta parte (Capitolo 4) è legata allo sviluppo. Si focalizzerà sullo sviluppo dell’applicazione nelle sue vari fasi progettuali, partendo dalle prime fasi (progettazione e modellazione del data warehouse), passando per la costruzione dell'applicazione, la Dashboard per il reparto marketing, e terminando con la fase di Training. Le fasi seguono l'esatta evoluzione del progetto, e sono organizzate seguendo l'approccio Agile. Nella quinta parte (Capitolo 5), descriverò le evoluzioni richieste in corso d’opera, di cui dimostrerò la capacità e la flessibilità con sono riuscito a rimediare tramite una corretta gestione della soluzione proposta. Nell’ultima parte (Capitolo 6) discuterò brevemente dei vantaggi ottenuti da parte dei clienti, dimostrando le differenze fra la soluzione precedentemente adottata e quella successivamente sviluppata, in termini di rapidità e immediatezza di analisi. In conclusione, dimostrerò come, seguendo procedure di Best practices, Iconsulting abbia acquisito la capacità di affrontare progetti in QlikView in modo molto più efficacie ed efficiente. ii iii Capitolo 1. I sistemi di data warehousing 1.1 Il Data Warehouse In questi ultimi anni le aziende hanno cambiato radicalmente il loro modo di concepire, progettare ed utilizzare i sistemi informativi. La principale innovazione apportata è stata quella di separare le attività di tipo operazionale o attività transazionali (transactional processing) da quelle di analisi dei dati e di pianificazione (analytical processing). Questo processo di separazione ha portato alla nascita di sistemi dedicati alle attività di analisi dei dati che vengono chiamati Sistemi di supporto alle decisioni oppure, utilizzando la terminologia inglese, Decision Support System (DSS). Una definizione più formale di questa classe di sistemi è la seguente: “Un sistema di supporto alle decisioni è un sistema in grado di fornire chiare informazioni agli utenti, in modo che essi possano analizzare dettagliatamente una situazione e prendere facilmente le opportune decisioni sulle azioni da intraprendere.” In altre parole, un DSS è un sistema informativo dedicato ad aiutare i responsabili del business in tutta la gestione d’impresa, in modo da permettere decisioni più veloci, più mirate e più efficaci. Questo sistema deve quindi avere un unico obiettivo: contribuire ad incrementare le performance economiche di un’impresa, attraverso la fornitura di informazioni strategiche in modo semplice e veloce. Un database analitico è pensato per gestire grandi volumi di dati, tipicamente in sola lettura, al fine di produrre le informazioni necessarie ai responsabili di un’organizzazione per prendere le decisioni. Chiameremo allora Data Warehouse “il database analitico che costituisce le fondamenta di un sistema di supporto alle decisioni”. 1 L’architettura di un Data Warehouse La figura 1.1 mostra il flusso, l’organizzazione e l’utilizzo dei dati all’interno di un data warehouse. Il processo di Data Integration si occupa di estrarre i dati dalle varie sorgenti OLTP presenti, di trasformarli e organizzarli opportunamente secondo regole ben definite, e di caricarli all’interno del data warehouse. Questo processo viene anche chiamato Extraction, Transformation & Loading. Sorg. Est. Data Warehouse Sorg. Data Data OLTP Data Mart Mart Data Integration Access Sorg. OLTP Sorg. Utenti OLTP Figura 1.1 - L’architettura di un Data Warehouse. Il data warehouse rappresenta quindi una sorgente di dati secondaria, popolata dai sistemi OLTP esistenti e da altre fonti dati esterne, al fine di facilitare i processi di analisi e di pianificazione. 1.1.1 Il Data Mart Spesso il data warehouse viene partizionato in sottoinsiemi logici chiamati Data Mart. Più formalmente: “Un Data Mart è un database analitico ottenuto come sottoinsieme dei dati presenti nel DW primario, progettato per soddisfare le esigenze di una specifica funzione del business in quanto contenente l’insieme delle informazioni rilevanti per una particolare divisione dell’azienda o una particolare categoria di soggetti.” Le principali metodologie di progettazione di un data warehouse si basano su uno dei seguenti approcci Errore. L'origine riferimento non è stata trovata.: Top-Down. Questo approccio prevede prima la costruzione del data warehouse, poi l’aggregazione e l’esportazione dei suoi dati verso i più specifici data mart. In 2 questo modo si dà al progetto una visione globale del business ma si rischia di dover richiedere all’utente molto tempo e molte risorse prima di ottenere dei risultati tangibili. Bottom-Up. Seguendo invece l’approccio opposto, si inizia la costruzione del data warehouse aziendale in modo scalabile. Questo significa che il progetto inizia focalizzando l’attenzione su specifiche aree del business, per costruire i relativi data mart, che successivamente vengono integrati per formare il data warehouse. E’ importante porre particolare attenzione alla scelta dei primi data mart da realizzare, che dovranno essere quelli più interessanti per il particolare business; inoltre è necessario seguire un modello standard per la progettazione dei singoli data mart, stabilito considerando l’intero business nel suo complesso. 1.1.2 I metadati La definizione anglosassone di metadati è “data about data”. Usando una terminologia più esplicativa, possiamo definire i metadati come “dati che descrivono altri dati”, cioè, il loro contenuto fornisce informazioni sulle strutture dei dati e sulle rispettive relazioni esistenti all’interno di un singolo database o fra più databaseErrore. L'origine riferimento non è stata trovata.. In un DSS esistono due tipi di metadati. Il primo tipo è composto dai data integration metadata e contiene i metadati associati alle informazioni provenienti dalle varie sorgenti OLTP. Questi metadati vengono utilizzati durante il processo di estrazione, trasformazione e caricamento (processo ETL). Il secondo tipo è invece composto dai DSS metadata. Questi metadati realizzano il binding delle informazioni contenute nel warehouse verso le applicazioni utente, nascondendo all’utente finale i dettagli implementativi del warehouse e presentandogli invece una interfaccia di lavoro che opera direttamente con termini propri del business. 1.1.3 Accesso ai dati: tipologie di applicazioni. Vediamo brevemente come è possibile utilizzare le informazioni contenute all’interno di un data warehouse per le necessità aziendali. 3
Description: