UNIVERSITÀ DEGLI STUDI DI GENOVA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI GENOVA"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI GENOVA FACOLTÀ DI INGEGNERIA TESI DI LAUREA IN INGEGNERIA ELETTRONICA Performance measurement system per la gestione di eventi industriali complessi Relatore accademico Dott. Ing. Marco Baglietto Correlatore accademico Dott. Ing. Flavio Tonelli Relatore aziendale Dott. Marco Genta Candidato Adriano Moretti 20/05/2011 Anno accademico

2 Performance measurement system for complex industrial events management Abstract The here proposed thesis dealt with the problem of measuring key performance indicators in industrial plants. The absence of affordable and widespread tools to achieve this goal led to the implementation of a software experimental prototype for measuring the "Overall Equipment Effectiveness" performance metric. Such experimental prototype has the capability to operate on data coming from production lines and the capability of carrying comparison with evaluation rules and emitting possible alerts. The prototype underwent a validation phase highlighting its correct behaviour. II

3 Alla Commissione di Laurea e di Diploma Alla Commissione Tirocini e Tesi Sottopongo la tesi redatta dallo studente Adriano Moretti dal titolo Performance measurement system per la gestione di eventi industriali complessi. Ho esaminato, nella forma e nel contenuto, la versione finale di questo elaborato scritto, e propongo che la tesi sia valutata positivamente assegnando i corrispondenti crediti formativi. Il Relatore Accademico Prof. Marco Baglietto III

4 Ringraziamenti Al Prof. Baglietto e al Prof. Tonelli, che mi hanno risposto sempre con i consigli giusti alle mie domande e perplessità. Al Dott. Marco Genta e ai ragazzi del laboratorio di programmazione di Atomos, che mi hanno avuto la pazienza di insegnarmi un linguaggio di programmazione nuovo e i trucchi del mestiere. Alla mia famiglia, che mi ha supportato e sopportato durante il corso di studi e mi ha dato la possibilità di giungere fino a questo punto. Dedico questa tesi a mio nonno Giacomo IV

5 If you can not measure it, you can not improve it. Lord Kelvin V

6 Simboli ed abbreviazioni in ambito informatico ed elettronico API Application Program Interface CPU Central processing unit CSS Cascade Style Sheet DB DataBase DCS Distributed Control System DCS Distributed Control System EEPROM Electrically Erasable Read-Only Memory HTML Hypertext Markup Language IDE Integrated Development Environment IP Internet Protocol IT Information Technology LAN Local Area Network OLAP On Line Analytical Processing OLTP On Line Transaction Processing PLC Programmable Logic Controller RAM Random Access Memory ROM Read-Only Memory RTU Remote Terminal Unit SCADA Supervisory Control and Data Acquisition SQL Standard Query Language WAN Wide Area Network Wi-Fi "Wireless Fidelity" XML extensible Markup Language VI

7 Simboli ed abbreviazioni in ambito produttivo e industriale BAM BI BPM DMAIC E&AM EFQM ERP KPI MES OEE PM(s) RTE SC Business Activity Monitoring Business Intelligence Business Process Management Define, Measure, Analyze, Improve, Control Event Management and Alerting European Foundation for Quality Management Enterprise Resource Planning Key Performance Indicator Manufacturing Execution System Overall Equipment Effectiveness Performance Measure(s) Real Time Enterprise Supply Chain VII

8 Prefazione Il lavoro svolto per questa tesi è correlato al settore dell'automazione industriale, in particolare si colloca nell'ambito della misura e della valutazione di prestazione dei processi produttivi. È un compito che tocca le discipline diverse, dall'elettronica per i sensori, gli attuatori e il trasferimento dei dati, alla gestione dei processi e delle informazioni, passando per l'informatica che ha permesso di tradurre le informazioni nascoste nei dati in resoconti comprensibili. Lo stretto legame tra tecnologia informatica e processi aziendali non è più una novità: i calcolatori consentono sempre maggiori funzionalità e i progetti di centralizzazione delle informazioni sono sempre più consistenti. Sono nati nuovi strumenti, sotto il nome di Business Intelligence, con lo scopo di integrare le informazioni provenienti dalle vari componenti che costituiscono un'azienda, per ottenere una visione d'insieme più ampia e per raggiungere un'eccellenza operazionale. Non sempre è facile ottenere una perfetta integrazione tra i sistemi di ogni livello, ma le soluzioni di Business Intelligence sono in fase di costante sviluppo ed evoluzione per fare di un'impresa tradizionale, un'impresa in cui ogni sua parte dialoga con le altre in tempo reale. Ottenere misure corrette, precise e velocemente permette un'individuazione delle risorse con performance non adeguata alle richieste di produzione, individuazione seguita da azioni di controllo volte a correggere i fattori con impatto negativo sulla performance stessa. VIII

9 Indice generale 1 Monitoraggio e controllo di sistemi industriali complessi Il problema della definizione e utilizzo di indicatori di performance per il controllo di sistemi industriali complessi Misura della performance Misure individuali di performance e sistema di misura come entità Interazione tra ambiente e sistema di misura della performance Metodologie per lo sviluppo di misure in un particolare ambiente Misurazione della performance di un sistema produttivo Manufacturing Execution System e misura della performance Strumenti e tecnologie a supporto Soluzioni esistenti e fabbisogni emergenti Stato dell'arte Vantaggi e problemi dell'estrazione e confronto di dati da fonti eterogenee Soluzione per un caso reale Origine dei dati trattati Architettura del sistema Programmable Logic Control L'acquisizione dei dati Definizione di un modello semplificato Tecnologie IT a supporto della soluzione Data Warehouse Data Mart Extract Transform & Load Event & Alert Management Strumenti Ambiente di sviluppo Delphi Database relazionale Oracle File di configurazione e supporto...33 IX

10 3 Realizzazione del prototipo sperimentale Metodo di sviluppo Descrizione generale e schema a blocchi Descrizione dei moduli software sviluppati Anagrafica indicatori Modulo E.T.L Modulo gestione eventi e notifiche Il database relazionale Verifica e validazione del prototipo sperimentale Ambiente e condizioni di verifica Fase di test funzionale Calcolo dell'overall Equipment Effectiveness Limiti e problemi Conclusioni e sviluppi futuri Considerazioni Possibili miglioramenti e sviluppi futuri...80 X

11 1 Monitoraggio e controllo di sistemi industriali complessi 1.1 Il problema della definizione e utilizzo di indicatori di performance per il controllo di sistemi industriali complessi Le misurazioni sono la base di ogni tentativo di progredire perché offrono un idea chiara dello stato raggiunto e cosa parimenti importante, indicano la direzione verso la quale ci si sta muovendo. Sono proprio le misurazioni, dunque, che possono guidare gradualmente verso il raggiungimento degli obiettivi che ci è prefissati di raggiungere. Per trarre un reale vantaggio dal processo di misurazione, però, bisogna capire bene quali sono le caratteristiche giuste da misurare e le motivazioni che stanno alla base di questa raccolta di dati. La misurazione delle performance delle attività e dei processi aziendali richiede la definizione di un sistema di indicatori che permetta di individuare le prestazioni critiche dei processi aziendali e sia orientato al controllo operativo. La successiva valutazione delle misure ottenute tramite il sistema di indicatori consente di effettuare un'analisi del divario tra obbiettivi e risultati e in base a questa porre in atto eventuali azioni correttive. Tale retroazione è l'attuazione di un controllo volto migliorare, cioè ad eliminare o ridurre gli elementi penalizzanti dei processi al di sotto degli obbiettivi. Questa tesi si concentra in particolare sul processo di misurazione e valutazione attraverso l'uso indicatori chiave di performance di un sistema produttivo industriale automatizzato raccolti tramite processi informatici. 1

12 1.1.1 Misura della performance La misura della performance è un argomento spesso discusso ma raramente definito chiaramente. Letteralmente è il processo di quantificare l'azione, dove la misura è il processo di quantificazione mentre l'azione è ciò che determina la performance. Secondo la prospettiva del marketing, le organizzazioni raggiungono i loro obiettivi, ovvero hanno una buona performance, se riescono a soddisfare i propri clienti con maggiore efficienza ed efficacia rispetto ai loro concorrenti [1]. I termini efficienza ed efficacia in questo contesto sono utilizzati con precisione. Efficacia si riferisce al grado con il quale vengono soddisfatte le richieste dei clienti, mentre efficienza è una misura di come siano utilizzate economicamente le risorse dell'azienda fornendo un livello stabilito di soddisfazione dei clienti. Ciò è una questione importante perché non solo definisce le due dimensioni fondamentali della performance, ma evidenzia inoltre che possono sussistere sia fattori esterni (clientela, territorio), sia interni (processi di produzione, innovazioni) per perseguire specifici percorsi d'azione [2]. Si prenda a titolo di esempio una delle dimensioni della performance correlata alla qualità, l'affidabilità del prodotto. In termini di efficacia, raggiungere un livello superiore di affidabilità del prodotto, può condurre a una maggiore soddisfazione della clientela. In termini di efficienza, può ridurre i costi sostenuti dall'azienda a causa di un calo dei guasti e delle richieste di sostituzione in garanzia. Di conseguenza il livello di performance che un'azienda consegue è una funzione dell'efficienza e dell'efficacia delle azioni che intraprende. Quindi è possibile definire la misurazione della performance come il processo di identificare l'efficienza e l'efficacia di un'azione una misura di performance come metrica utilizzata per quantificare l'efficienza e/o l'efficacia di un'azione un sistema di misura della performance come un insieme di metriche utilizzate per quantificare sia l'efficienza sia l'efficacia delle azioni [3]. 2

13 Kennerly e Neely affermano che un sistema di misurazione della performance è costituito da tre parti [4]: le misure individuali che quantificano l'efficienza e l'efficacia delle azioni un insieme di misure combinate per valutare globalmente la performance di un'organizzazione un'infrastruttura di supporto che permetta di acquisire, confrontare, ordinare, analizzare, interpretare e diffondere i dati I Key Performance Indicators (KPI) aiutano a definire e misurare i progressi compiuti per raggiungere gli obiettivi della propria organizzazione. Dopo che l'azienda ha analizzato la sua missione, identificato tutti i suoi concorrenti e definito gli obiettivi, essa necessita di un modo per misurare il raggiungimento di tali obiettivi. I KPI sono proprio tali misure. Un'organizzazione sceglie un insieme ridotto di misure chiave con le quali intende monitorare i progressi del proprio operato. I singoli stabilimenti e reparti hanno spesso diverse misure aggiuntive che forniscono un'analisi più dettagliata dei fattori che influenzano la produzione ai manager, ai supervisori o agli operatori. Troppe misure possono essere fonte di confusione e possono oscurare la direzione strategica dell'azienda. Devono essere scelte un numero sufficientemente piccolo di misure in modo che le persone possano capirle e usarle efficacemente Misure individuali di performance e sistema di misura come entità Leong, Snyder e Ward, riguardo la letteratura sulla strategia della produzione, sostengono che sia ampiamente accettato che i processi manifatturieri, e di conseguenza le dimensioni chiave della performance della produzione, possano essere definiti in termini di qualità, tempo, affidabilità, costo e flessibilità [5]. Nonostante tale affermazione, uno dei problemi nella letteratura sulla misura della performance è la diversità delle prospettive, cioè ciascuno dei singoli autori si sono soffermati maggiormente su aspetti diversi della progettazione di un sistema di misura 3

14 della performance. Ad esempio gli analisti e gli studiosi del comportamento dell'organizzazione hanno studiato più a fondo il fondamento logico sottostante l'uso della misura della performance rispetto alla comunità della produzione e gestione delle operazioni. Poiché in questo contesto non è conveniente analizzare a fondo tutte le possibili misure della performance di produzione, vengono di seguito presentate le definizioni delle cinque dimensioni chiave precedentemente menzionate. Tradizionalmente la qualità è stata definita in termini di conformità alle specifiche e di conseguenza le misure basate sulla qualità si focalizzano su problemi come il numero di difetti prodotti e il costo della qualità [6]. Il tempo è stato descritto sia come origine di vantaggio competitivo, sia come misura fondamentale della performance produttiva [7][8]. Assume un ruolo fondamentale nella filosofia della produzione Just in Time (JIT) [9] e della Optimized Production Technology [10]. Il costo riguarda l'economicità della produzione di beni o servizi. Tradizionalmente si parla di Return of Interests (ROI) cioè di ritorno di interessi [11], Activity-Based Costing, ovvero l'effettiva incidenza dei costi associati a ciascun prodotto e ciascun servizio venduto [12] [13] e infine di produttività, definita come rapporto tra le uscite e le entrate [14]. L'affidabilità viene definita come la percentuale di ordini corretti nei tempi previsti Le dimensioni della flessibilità sono identificate con l'estensione, cioè quanto è possibile cambiare il sistema di produzione e la risposta, ovvero quanto rapidamente ed economicamente è possibile cambiarlo [15]. Nella letteratura manifatturiera è spesso discusso il fatto che le misure di prestazione debbano derivare dalle scelte strategiche, ovvero esse debbano essere scelte per rafforzare l'importanza di certe variabili strategiche. Sebbene ciò non sembri accadere sempre nella realtà [16], il legame esistente tra performance e strategia è stato esplorato estensivamente nella letteratura delle strategie di business. Molti dei primi analisti, quali Andrews e Ansoff, sostennero che strategia e pianificazione 4

15 fossero sinonimi. In realtà le strategie hanno una natura molto più complessa perché evolvono via via che le decisioni vengono prese e il percorso delle azioni viene perseguito [17]. Il punto fondamentale è la consistenza, tra le decisioni e le azioni, perché una strategia viene realizzata soltanto una volta prese le decisioni e perseguiti i percorsi d'azione La misura della performance e i test per la valutazione e miglioramento di attività e processi aziendali sono diventati aspetti rilevanti a partire dagli anni '90 Determinare il migliore modo per valutare la performance aziendale è un problema molto complesso a causa delle diversità dei criteri e delle dimensioni della performance che devono essere considerate. Alcuni modelli di performance presentati nella letteratura sostengono l'introduzione di un numero selezionato di aree chiavi di performance al fine di ottenere una visione olistica valida dell'azienda. I framework esistenti per la misura della performance mostrano un numero di caratteristiche chiave che sono di supporto all'azienda nell'individuazione di un appropriato insieme di misure per valutare la proprie prestazioni. [18]. Il lavoro di Kaplan e Norton, la Balanced Scorecard pone l'enfasi sul fatto che l'insieme delle misure deve fornire un quadro bilanciato dell'azienda secondo quattro prospettive: prospettiva finanziaria (gli azionisti), prospettiva del consumatore, prospettiva interna dell'impresa (i processi) e prospettiva di innovazione [19]. Esso è il framework più conosciuto. Altri framework simili ma meno conosciuti sono la Performance Measure Matrix di Keegan [20], che pone in esame misure di performance interne/esterne e di costo/non-costo. Nel modello EFQM l'azienda viene analizzata in base a molti criteri, poi raggruppati in nove criteri principali, ciascuno con un proprio peso che concorre alla valutazione finale dell'azienda. I criteri di distinzione sono basati su due aree. Fattori abilitanti, cioè azioni intraprese per raggiungere buoni risultati: Leadership, Gestione del personale, Politiche e strategie, Gestione delle risorse, Processi. Risultati cioè cosa produce l'azienda: Soddisfazione del personale, Soddisfazione del cliente, Impatto sulla società, Risultati di business. 5

16 Il modello EFQM che viene indicato dalla letteratura come il modello che fornisce la più ampia indicazione sulle prestazioni da misurare [21]. Altro framework è il Performance Prism, sviluppato in cooperrazione tra il Centre for Business Performance at Cranfield School ed il Process Excellence Core Capability Group of Andersen Consulting. Esso è composto da 5 prospettive tra loro interrelate (Stakeholder Satisfaction, Stakeholder Contribution, Strategies, Processes, Capabilities). Altri autori propongono ulteriori modelli, quali l'insieme di linee guida di Globerson [22], i Seven Principles di Maskell [23] e una metodologia strutturata per la revisione di Dixon [24]. Quello che emerge come punto comune tra tutti i framework/modelli è la necessità delle aziende di implementare un insieme di misure di prestazioni che sia multidimensionale. Questo riflette il bisogno di misurare tutte le aree della performance che siano rilevanti per il successo dell'azienda. Nonostante l'interesse accademico verso sistemi di controllo strategico, c'è una ricerca sul campo scarsamente sviluppata e studi effettuati su 200 industrie britanniche hanno evidenziato che fino a pochi anni fa solamente 11% ne fossero dotate [25]. 1.2 Interazione tra ambiente e sistema di misura della performance Metodologie per lo sviluppo di misure in un particolare ambiente Le misure possono trovare applicazione in un'azienda per sviluppare, mantenere e migliorare sia gli aspetti strategici sia quelli operativi. Ciò accade per aziende che vogliono utilizzare le informazioni per supportare lo sviluppo di un nuovo sistema di gestione o mantenere e migliorarne uno già esistente. Secondo quanto affermato da Triantis esistono un numero di principi di misurazione che forniscono una guida nella fase di sviluppo di un sistema informativo di qualità di un' azienda [26]. In primo luogo la misurazione non è praticata invano, ma con l'intento di facilitare il 6

17 miglioramento dei processi e migliorare la capacità dell'azienda di mettere in pratica una gestione di qualità totale. In secondo luogo le misure dovrebbero indicare i risultati della qualità di gestione. Il miglioramento della qualità può essere successivamente visto come raggiunto attraverso miglioramenti dei processi (riduzione della variabilità) o attraverso il potenziamento della capacità aziendale di affinare la qualità delle attività di gestione. Molte aziende discutono, analizzano, esaminano, studiano e valutano errori, guasti, difetti e problemi ed esse concordano per la maggior parte nel credere che uno dei metodi più efficienti per migliorare la qualità e la produttività sia eliminare gli errori al momento noti in modo da assicurare che essi non si verifichino nuovamente. Ciò avviene migliorando la sottostante produzione e processi di gestione che hanno generato gli errori in prima istanza. Così in questo modo gli errori sono resi pubblici indicando le misure rilevanti. Per quanto riguarda le misure in sé è spesso sostenuto che sia importante iniziare con un piccolo insieme che possa essere facilmente utilizzato e che abbia le seguenti caratteristiche : ben definito pratico quantificabile i dati da cui provengono le misure siano facilmente accessibili conveniente le misure devono essere facilmente comprese le misure siano appropriate per un sistema di raccolta dati automatizzato È importante motivare l'utenza dell'utilità delle misure, evidenziando come l'accesso a un sistema informativo di qualità abbia un impatto positivo sull'intera organizzazione. Inoltre il processo di misura deve essere visto in una prospettiva di continuo progresso che richiede regolari revisioni. Tale continuo sviluppo implica la rimozione di alcune delle misure iniziali; molte organizzazioni conducono test pilota sui propri sistemi di misura, sapendo che alcune parti supereranno lo scrutinio ed altre avranno necessità di essere 7

18 corrette. Così, questi programmi di misurazione pilota possono aiutare le organizzazioni a imparare come cambiare e identificare le misure che non hanno pregio di essere inserite nel sistema. È da tenere presente che le misurazioni e i processi di miglioramento richiedono tempo, diversi anni, e devono essere continuamente rafforzati affinché possano essere sostenuti e possano svilupparsi. Tale approccio utilizza una metodologia strutturata, progettata per essere utilizzata in molteplici contesti e che ben sia adatta alle industrie di produzione. La progettazione di un framework per misurazione della performance di sistemi complessi richiede che in primo luogo si indichino un numero di richieste/necessità di misurazione. Il processo inizia con una dettagliata analisi del sistema che cattura i meccanismi di controllo e la struttura del flusso di informazioni. Tale compito risulta difficile a priori, dal momento che le misure stesse sono sempre specifiche per un'azienda e devono quindi essere sviluppate individualmente con grande livello di dettaglio e accuratezza. La selezione di misure rappresenta uno strumento importante per una efficiente ed efficace definizione ed una realizzazione pratica. I passi essenziali per progettare un'appropriata misura di performance possono essere ricondotte ai seguenti quattro punti: Definizione e sviluppo di misure generiche. Determinare cosa deve essere misurato al fine di ottenere una visione complessiva del grado di buon funzionamento del sistema. Rifinire le misure generiche secondo uno specifico ambiente di lavoro. Evidenziare ogni misura e definirla all'interno del contesto del particolare ambiente. Aggiungere misure addizionali che non siano derivate dalla lista delle misure generiche. Ciascuna di esse deve essere pertinente all'ambito lavorativo e non deve essere già inclusa nella lista generica. Eliminare le misure generiche che non si adattano allo specifico ambito selezionato. vengono eliminate le misure nella lista generica che non sono adatte o non sono necessarie nella lista specifica. 8

19 Stakeholders Needs and Requirements Agree Business Objectives Design Appropriate PM Test and agree the set of measures Implement and review Define and develop generic measures Tailor generic measure to a specific environment Add measures not derived from generic ones Delete measures from generic list not applying to work environment Illustrazione 1.1: Metodologia per sviluppare misure in un particolare ambiente Adattamento da "A Structured Methodology for Developing Performance Measures in any Environment" Applicando la metodologia illustrata si ottiene un insieme di misure che sono di natura quantitativa e qualitativa. Appropriate unità di misura devono essere applicate alle prime e scale significative per le seconde Misurazione della performance di un sistema produttivo Un sistema di produzione può essere definito come un insieme di uomini, macchine, attrezzature ed organizzazione legati da un flusso comune di materiali e di informazioni finalizzato alla trasformazione di materiale grezzo in prodotti finiti. Identificare le prospettive chiave di performance è importante, ma tale aspetto da solo non è sufficiente a fornire le informazioni alla dirigenza per incrementare la performance. Kaydos [27] identifica le variabili che devono essere misurate per monitorare appropriatamente un processo produttivo, sia che si tratti di un reparto, di una persona o di un processo fisico : Resource inputs sono identificate con denaro, forza lavoro e materiali utilizzati per ottenere il prodotto finito. 9

20 Work inputs sono le richieste inviate al sistema di produzione. Enviromental Factors sono forze o condizioni esterne in grado di influenzare la performance del sistema. Quality inputs sono misure della qualità del lavoro in entrata (misure effettuate su semilavorati o parti in ingresso). Operational Variance rappresenta qualsiasi deviazione dalle condizioni ideali alle quali il processo di produzione dovrebbe attenersi. Product outputs sono prodotti o servizi utili forniti. Productivity è il rapporto tra ingressi ed uscite, come già discusso nel paragrafo Waste ovvero gli scarti; sono presenti nella maggior parte dei processi. Sebbene generalmente si pensi agli scarti in termini di materiali, ogni risorsa che non sia utilizzata in modo tale da produrre uscita è da considerarsi come scarto. La maggior parte delle industrie produce un eccesso di scarti senza esserne coscienti. Quality outputs misurano il grado di bontà dei beni o servizi prodotti e la conformità alle specifiche. Variance outputs sono una tipologia speciale di misura di qualità. Performance, behavior, diagnostic possono essere distinti come segue. Le misure di performance sono indicatori di livello superiore di quanto il sistema di produzione operi bene o male. Le misure di comportamento sono fattori di secondo livello che mostrano l'interazione tra le maggiori componenti del sistema di produzione. Le misure diagnostiche sono utilizzate per isolare i problemi al loro livello impugnabile. Nel mondo reale una determinata misura può essere etichettata in tutti e tre i modi allo stesso tempo; la questione non è inserire ogni misura in una classe o un'altra ma ragionare su tali scopi quando si decide cosa deve essere misurato. Constraints. Possono essere fisici, come limiti di capacità, o concettuali, come il tempo massimo di evasione di un ordine. Misurare la corretta variabile in un sistema di produzione è la prima condizione per un 10

21 sistema di misura della performance efficace, ma non è sufficiente. Per essere efficiente deve anche soddisfare i requisiti di validità, completezza e sufficiente dettaglio. Validità: le misure di performance devono essere valide; esse devono rilevare ciò che realmente importa e devono essere comprese dagli utenti. Completezza: le misure di produttività e qualità devono essere progettate per evitare azioni sbagliate e parimenti spingere a compiere quelle corrette. La misura deve essere chiusa nel senso che comprenda ogni aspetto di equilibrio dell'azione che deve essere compiuta. Sufficiente dettaglio: nella teoria dell'informazione esiste il concetto di varietà,che può essere definito come i modi di risposta di un'entità. Al crescere della varietà di un sistema, aumenta il numero di informazioni necessarie a descrivere il suo comportamento Manufacturing Execution System e misura della performance Il quadro teorico fino qui esposto trova la sua concreta applicazione nell'ambito dell'automazione industriale, per risolvere il problema della valutazione della performance di un sistema produttivo attraverso una serie di Indicatori Chiave di Prestazione, funzionali all'analisi del gap tra obiettivi previsti e risultati conseguiti. A tale analisi seguono azioni correttive per minimizzare la differenza evidenziata e nuove misure vengono effettuate. Illustrazione 1.2: Modello DMAIC 11

22 Ogni Catena di Distribuzione (Supply Chain) rappresenta un sistema complesso di processi interdipendenti. Partendo da questo assunto, gli studiosi ed i professionisti hanno implementato un insieme generale di sistemi di pianificazione e controllo per la gestione dei processi. Un sistema di pianificazione permette il coordinamento dei processi ed il mantenimento dell efficienza produttiva, mentre un sistema di controllo esecutivo permette la valutazione della capacità di realizzazione del piano preventivato e di collezione delle informazioni relative alle performance registrate. Proprio su queste ultime informazioni, fornite dal Manufactury Execution System, si focalizza l'interesse di questo lavoro. Nei capitoli 2 e 3 verrà discusso come questo insieme di informazioni raccolte automaticamente possano essere filtrate veicolate ai sistemi di pianificazione gestionale di livello superiore solo quando esse risultino rilevanti ai fini delle decisioni strategiche. Con Manufacturing Execution System (MES) si indica un sistema informatizzato che ha la principale funzione di gestire e controllare la funzione produttiva di un'azienda. La gestione coinvolge il dispaccio degli ordini, gli avanzamenti in quantità e tempo, il versamento a magazzino, nonché il collegamento diretto ai macchinari per dedurre informazioni utili ad integrare l'esecuzione della produzione come a produrre informazioni per il controllo della produzione stessa. Il Manufacturing Execution System si colloca al livello 3 dei 5 definiti dallo standard internazionale ISA-95, basati sul modello Purdue Reference Model [28]: 12

23 Illustrazione 1.3: Standard ISA Adattamento da Industrial Performance Measurementand Management: an internal operational perspective focused on efficiency improvement,tonelli F., July 2009 Livello 0: dispositivi fisici. Livello 1: strumentazione, misurazione e stato dei dispositivi. Livello 2: automazione, gestione delle risorse e acquisizione dei dati di processo. Livello 3: gestione delle operazioni, esecuzione del flusso, e gestione documentale. Livello 4: gestione delle iniziative basate sulle transazioni (ERP). Il Manufacturing Execution System agisce come middleware tra i livelli ai quali operano i sistemi SCADA e DCS e quello superiore della pianificazione. I sistemi SCADA e DCS verranno esaminati nel paragrafo

24 2 Strumenti e tecnologie a supporto 2.1 Soluzioni esistenti e fabbisogni emergenti Stato dell'arte Nel paragrafo è stato accennato alla necessità di selezionare dall'insieme di informazioni raccolte automaticamente dal MES solo quelle rilevanti ai fini dell'enterprise Resource Planning (ERP); questo capitolo riprende e approfondisce la problematica. I soli sistemi MES non hanno la capacità di generare informazioni direttamente utilizzabili dall'erp. Esiste un divario tra i dati relativi alle linee di produzione e le informazioni di pianificazione ad alto livello. A causa di ciò sono stati sviluppati e tutt'ora sono in costante fase di studio e sviluppo diversi strumenti di analisi per la Business Intelligence (BI) ovvero strumenti di supporto alle decisioni che implementano logiche ad hoc per la realtà in cui sono inseriti [29][30]. La Business Intelligence può essere applicata ai seguenti obiettivi: 1. Misurazione: programmi per la creazione di gerarchie di metriche della performance e loro valutazione rispetto a termini di confronto; questo approccio prende il nome di Business Performance Management. 2. Analisi: programmi che costruiscono insiemi di dati su cui effettuare operazioni di Datamining, analisi statistiche e predittive, modellazione predittiva. 3. Reporting: programmi in grado di creare un'infrastruttura software per la rendicontazione strategica 4. Collaborazione: programmi di condivisione tra aree differenti e lavoro collaborativo basato sullo scambio di dati 5. Gestione della conoscenza: programmi per identificare, creare, rappresentare distribuire e mettere in pratica esperienze proprie della Business Intelligence. 14

25 In relazione al punto 1, che è quello di rilievo ai fini di questo lavoro, si può puntualizzare che Business Process Management è un approccio olistico di gestione focalizzato sull'allineamento di ogni aspetto dell'azienda verso le richieste del cliente. Promuove l'efficacia e l'efficienza e propugna l'innovazione, la flessibilità e l'integrazione tecnologica. Allo stato attuale dell'arte, le suite di programmi in grado di realizzare tale approccio olistico sono poche e costose. Multinazionali del calibro di Oracle, IBM, Siemens, SAP, Microsoft hanno sviluppato e continuano a sviluppare. Per trasformare la propria impresa in una Real Time Enterprise (RTE) è necessaria una soluzione di Business Intelligence che fornisca l'accesso completo ai dati, incorpori dati storici ed attuali quando richiesti. Avere accesso completo ad ogni singola informazione è solo la base di partenza; la Business Intelligence aggiunge proprio l'intelligenza per estrarre informazioni significative e tendenze emergenti dall'unione delle singole parti formanti il sistema imprenditoriale, che altrimenti resterebbero sepolte in Gigabyte di dati Vantaggi e problemi dell'estrazione e confronto di dati da fonti eterogenee L'applicazione della Business Intelligence comporta i vantaggi che già sono stati illustrati, che se applicati ad un grado di eccellenza portano a realizzare un' impresa in tempo reale in cui le informazioni fluiscono senza ostacolo, ed i processi di business sono costantemente monitorati per permettere reazioni rapide, di solito automatizzate, secondo regole di business predefinite. Tuttavia mettere in pratica le soluzioni proposte in letteratura non è immediato né semplice. Il maggiore problema è rappresentato dall'integrazione con le infrastrutture informatiche preesistenti che andranno a diventare fonte dei dati del nuovo sistema di BI: non si tratta solo di integrare le informazioni della pianificazione con quelle relative alla produzione, ma si tratta anche di uniformare dati dallo stesso contenuto concettuale ma dalla struttura differente. Come esemplificazione di un caso estremo si può pensare a due reparti di uno stesso stabilimento che debbano avere un interscambio di dati tra database e fogli di calcolo. Si pensi ancora ad integrare i dati provenienti dai Manufacturing Execution 15

26 System di due stabilimenti diversi che abbiano attributi leggermente differenti per descrivere uno stesso tipo di indicatore, oppure pur avendo gli stessi attributi possano essere espresse o memorizzate in forme differenti, (es. gg/mm/aaaa e mm/gg/aa) o unità di misura differenti (es. centimetri e pollici). Risolvere questo problema porta porta il beneficio di avere un insieme organico di indicatori che risultano trasversali a tutta la filiera con conseguente miglioramento della visione globale della performance aziendale. Inoltre, avere dati organici e normalizzati tra loro permette di effettuare confronti in modo più rapido e preciso per verificare se gli indicatori di performance, che sono KPI di lagging, cioè riferiti a istanti o periodi passati, si discostano dagli indicatori di leading, cioè KPI il cui valore è predittivo dei risultati da raggiungere. Potere effettuare confronti più rapidamente significa ridurre l'intervallo di tempo tra la misura e la successiva azione di controllo. La possibilità di avere a disposizione una vasta mole di informazioni provenienti dal Manufacturing Execution system (e più in generale dalla Supply Chain), rappresenta di per sé un vantaggio potenziale rispetto ad aziende che non utilizzano la raccolta dati. Tuttavia avere accesso a tali dati non è sufficiente a trasformare il vantaggio da potenziale ad effettivo, poiché è necessario saper interpretarli e utilizzarli correttamente. Il problema è mettere correttamente in relazione tra loro dati che possono anche essere 'distanti' tra loro. Per mettere in relazione indicatori di alto livello può essere necessario effettuare diversi passi di aggregazione di indicatori a livelli inferiori, oppure per valutare come un indicatore di basso livello influisce, come componente, nel calcolo di un indicatore superiore Soluzione per un caso reale Nel panorama delle Software House dedite allo sviluppo di applicativi gestionali è presente Atomos S.p.A., azienda nata nel 1988, da un progetto di ricerca sulle metodologie di schedulazione a capacità finita sviluppato all'interno di una tesi presso l'università di Genova, facoltà di Ingegneria Elettronica. 16

27 Chi si rivolge ad Atomos, sia che si tratti di piccole e medie imprese, sia che si tratti di realtà industriali più affermate, ha essenzialmente due tipi di esigenze: disporre di software per il controllo della produzione e disporre di software per la pianificazione. L'esigenza di monitorare la produzione viene soddisfatta con un applicativo il cui compito primario è controllare in tempo reale i dati di produzione, l'avanzamento dei lavori, il conteggio delle quantità prodotte e del tempo impiegato. Quello che è stato definito precedentemente con il nome di Manufactury Execution System. Le necessità dell'enterprise Resource Planning vengono invece soddisfatte da altri applicativi della suite preposti alla simulazione degli ordini, alla schedulazione ed ottimizzazione delle risorse tramite un'analisi sia temporale, tramite anticipo o posticipo del fabbisogno, sia spaziale, tramite l'utilizzo di risorse alternative. Come già esposto in precedenza, sussiste il problema di come rendere fruibili le misure di performance provenienti dal MES agli applicativi ERP. Si è valutata la possibilità di eliminare la separazione tra i due livelli sia attraverso l'utilizzo di componenti software di terzi, sia attraverso lo sviluppo di un prototipo sperimentale. È stata scelta la realizzazione di un prototipo dalle capacità ridotte e solo per la misurazione della performance (vedere punto 1 del paragrafo precedente), ma comunque utile per capire studiare il grado di difficoltà che comporta lo sviluppo di questo tassello mancante. La scelta di integrare software proprietario di terze parti è stato scartata principalmente per l'elevato costo e in secondo luogo per la sovrapposizione di alcune funzioni già offerte dalla suite Atomos. Percorrere la via della realizzazione prototipale avrebbe potuto significare aprire la strada per un ulteriore sviluppo commerciale, in caso di risultati incoraggianti. Con questi presupposti si è proceduto allo studio e all'implementazione di un prototipo sperimentale in grado di estrarre e trasformare dati da sorgenti differenti, effettuare un confronto sui dati risultanti dalla trasformazione ed emettere eventuali notifiche in caso di scostamento dai valori stabiliti. 17

28 2.2 Origine dei dati trattati Architettura del sistema Come già discusso nel paragrafo 1.2.3, il Manufacturing Execution System (MES) è il sistema informatizzato con funzione di gestione e controllo delle operazioni produttive. Strettamente correlato al MES è il sistema SCADA, acronimo di Supervisory Control and Data Acquisition. Il termine è generalmente riferito ai sistemi industriali di controllo di supervisione e acquisizione dati. I sistemi SCADA e DCS operano al livello 1 e 2 dello standard ISA-95. Esistono diverse generazioni di sistemi SCADA, differenziate in base all'utilizzo dell'hardware e al grado di decentralizzazione. La prima generazione Monolitica ha visto impiegati i Mainframe decenni addietro, quando la rete non esisteva ancora al tempo in cui i primi sistemi scada vennero concepiti. Era previsto l'utilizzo di un Mainframe di backup in caso di guasto. La possibilità di comunicazione tra sistemi separati è stata integrata solo successivamente mediante l'uso di terminali remoti. La generazione successiva Distribuita ha permesso di dislocare il processamento su più stazioni connesse tramite LAN (Local Area Network) e di scambiarsi informazioni in tempo reale. Ogni stazione è responsabile di un compito particolare rendendo più economico il loro utilizzo rispetto ai sistemi della generazione precedente. Le implementazioni SCADA di questa generazione sono spesso caratterizzate da protocolli proprietari che le rendono chiuse. La generazione corrente di sistemi SCADA è denominata Networked. È caratterizzata da architetture aperte piuttosto che da implementazioni specifiche controllate dai produttori. L'utilizzo di standard aperti ha permesso il collegamento di periferiche di terze parti quali stampanti e supporti di memorizzazione esterni. I protocolli utilizzati sono anch'essi di standard aperto, facilitando l'interconnessione e la distribuzione delle funzionalità attraverso LAN e nelle implementazioni di scala maggiore attraverso WAN (Wide Area Network). Il Protocollo Internet (IP) è uno di questi e permette la comunicazione tra la 18

29 stazione principale e gli apparati remoti. Esiste un certo grado di confusione tra sistemi SCADA e DCS (Distributed Control Systems) dovuta alla sovrapposizione di alcune funzionalità tra i due sistemi. Essa è una conseguenza della crescente innovazione tecnologica che ha permesso di integrare nello stesso hardware capacità di acquisizione dati, controllo, supervisione e distribuzione. La discriminante tra SCADA e DCS è la filosofia con cui sono concepiti i due tipi di sistemi: SCADA DCS Orientati all'acquisizione dati Orientati al processo Event-driven State-driven Utilizzati per applicazioni distribuite su Usati comunemente in singoli stabilimenti vaste aree geografiche Progettati per lavorare anche in assenza di Sempre connessi alla fonte dei dati connettività Tabella 2.1: differenze tra SCADA e DCS Un sistema SCADA è composto generalmente dai seguenti sottosistemi: Un'Interfaccia Macchina-Uomo (HMI) è un apparato in grado di presentare i dati relativi al processo all'operatore umano, il quale osserva e controlla il processo medesimo Un Computer Supervisore con comunicazione bidirezionale che raccoglie i dati e invia i comandi al processo. Terminali Remoti (RTU) connessi ai sensori di misura. Inviano i segnali convertiti in forma digitale al Computer Supervisore Infrastruttura di comunicazione tra i Sistemi di Supervisione e i Terminali Remoti Controllori a Logica Programmabile (PLC) usati come come dispositivi di campo; sono più economici, versatili e flessibili dei Terminali Remoti single-purpose. 19

30 SERVER DB MANAGER SERVER POLLING MES POSTAZIONE DI SUPERVISIONE Stampante ETHERNET Access Point scanner link PLC PC MACCHINE/LINEE Terminal e Palmare POSTAZIONI DI LAVORO Ethernet Ethernet-wireless Internet Illustrazione 2.1: Architettura per la raccolta dati, il controllo e la supervisione Alcuni esempi di sensori: Contapezzi elettromeccanici (schede 'link'); è la tipologia di sensori più semplice: un pezzo viene rilevato dalla chiusura di un interruttore con il passaggio del pezzo stesso. Sensori ottici: un fascio luminoso viene interrotto al passaggio del pezzo ed un fotodiodo rileva la variazione del flusso luminoso. Sensori di livello (per liquidi, polveri e materiali granulari): possono essere anch'essi di tipo ottico, oppure resistivo, capacitivo, ultrasonico Scanner ottici per codici a barre: sono utilizzati per decifrare i codici contenenti le informazioni utili sulla gestione del magazzino e sul movimento delle merci. 20

31 2.2.2 Programmable Logic Control I PLC trovano sempre più spazio d'impiego nei sistemi SCADA per via della loro flessibilità e scalabilità. Un PLC è composto da una CPU, da una memoria ROM contenente il firmware, una Memoria Utente di tipo EEPROM per ospitare il programma e una memoria volatile RAM. Hanno la possibilità di essere espansi con schede dotate di ingressi o uscite, ambedue in forma analogica o digitale. Sfruttando le grandi potenzialità offerte dall'uso dei microcontrollori, i PLC sono in grado di garantire, oltre ai requisiti di flessibilità, prestazioni impensabili per qualsiasi apparecchiatura elettromeccanica quali elaborazione di segnali analogici effettuazione di operazioni matematiche memorizzazione dati visualizzazione dati trasferimento dati collegamenti operativi con altri PLC, con calcolatori e con controlli numerici. Illustrazione 2.2: Schema a blocchi dell'hardware di un PLC 21

32 Un PLC può quindi essere definito come un sistema elettronico che consente di realizzare, in modo flessibile, l'unità di elaborazione di un comando automatico e, più in generale, di qualsiasi controllo industriale. I PLC sono progettati per il funzionamento in intervalli di temperatura estesi, sono immuni ai disturbi elettromagnetici e possono subire sollecitazioni meccaniche dovute a vibrazioni e impatti. Le principali differenze tra un pc desktop ed un PLC sono riassunte nella tabella 2.2 Caratteristica Spostamento di dati PC > kbyte/sec PLC < 10 kbyte/s Dimensione dei programmi > kbyte < 10 kbyte Operazioni binarie tipiche spostamento di 32 bit operazioni su 1 bit singolo > 1 GHz < 100 MHz 8 ore al giorno 24 ore su 24 scarsa elevata interno climatizzato da 0 a 55 C Frequenza Microprocessore Funzionamento tipico Immunità a disturbi elettrici Condizioni ambientali Tabella 2.2: Differenze tra pc e PLC L'elaborazione dei PLC è ciclica. Ad inizio ciclo, denominato ciclo di scansione, avviene la lettura degli ingressi (analogici o digitali), on board o su bus di campo. Il passo successivo è la scrittura in memoria nel registro immagine degli ingressi; la fase seguente consiste nell'elaborazione da parte della CPU della sequenza di istruzioni. Il risultato ottenuto dall'elaborazione viene salvato nel registro immagine delle uscite. L'ultimo passo è la scrittura dei valori sulle uscite fisiche che vengono attivate. L'intero ciclo dura qualche decina di millisecondi L'acquisizione dei dati Come visibile dall'illustrazione 2.1 fanno parte dell'architettura hardware anche due server, 22

33 in comunicazione tramite rete ethernet con i terminali remoti (RTU) e i controllori a logica programmabile (PLC). Il server denominato Server Polling Mes ha il compito, come il nome stesso suggerisce, di richiedere ciclicamente a tutte le unità di output il valore salvato nei registri di uscita; durante questa operazione il valore viene associato in modo univoco al dispositivo che lo ha prodotto. Il Server Db Manager assolve al compito di rendere persistenti sul suo database i dati raccolti prima che vengano sovrascritti da un successivo ciclo di polling. Nell'implementazione di Atomos esistono in realtà due gruppi di tabelle strutturalmente identiche, ma differenti dal punto di vista del contenuto, suddiviso in base a un semplice criterio temporale. I record contenuti nelle tabelle real-time vengono spostati ed accorpati ogni ventiquattr'ore ore a quelli presenti nelle tabelle dello storico dati. Le tabelle per i dati real-time sono tabelle allocate nella memoria RAM e permettono di avere accesso istantaneo al loro contenuto. Poiché la memoria fisica allocabile è in quantità finita si rende necessario il trasferimento delle informazioni dalla memoria volatile ad unità di memorizzazione permanente di massa contenenti lo storico dei dati. Oltre allo storico dati è presente anche un archivio storico dati contenente anche dati aggregati calcolati a partire da storico dati. Tempo di produzione per singoli pezzi, tempo di fermo dei macchinari, tempi di guasto e manutenzione, quantità di pezzi prodotti per unità di tempo, pezzi totali prodotti e pezzi difettosi, sono alcune tra le misure significative effettuate dal Manufacturing Execution System, in linea con i principi teorici espressi nel capitolo 1; è già stato discusso quali siano le cinque dimensioni chiave (qualità, costo, tempo, flessibilità e affidabilità) della misura della performance di produzione entro le quali i dati raccolti sono da collocare. Dal punto di vista operativo ogni indicatore ha un insieme di misure, che corrispondono ad altrettanti record salvati su database. Ogni record contiene una serie di attributi che identificano in modo univoco la misura di un indicatore effettuata su una particolare macchina della linea di produzione. In particolare deve contenere almeno i seguenti attributi: Valore: è il numero che esprime il risultato della misurazione. Una nome/identificativo univoco: serve per distinguere di quale indicatore sia il 23

34 valore misurato Istante di acquisizione: indica il momento in cui la misurazione è stata effettuata Unità di misura: esprime la quantità fisica. Esistono anche indicatori adimensionali, risultanti da rapporti di quantità dello stesso tipo. Per una trattazione completa degli attributi si rimanda al paragrafo sul database relazionale. La base di dati così strutturata risulta contenere le misure a livello atomico dei processi di produzione monitorati. Questo approccio di natura bottom-up, caratterizzato da un ottimo dettaglio ai bassi livelli della Supply Chain, permette di salire a livelli superiori attraverso operazioni di aggregazioni sugli indicatori di partenza. L'approccio bottom-up unisce sistemi per dare vita ad altri sistemi di dimensioni maggiori, rendendo così i sistemi originali sottosistemi di quello emergente. Il processo di unione può essere ripetuto a più livelli fino ad ottenere un sistema di livello massimo. 2.3 Definizione di un modello semplificato Per la valutazione della performance aziendale è stato scelto l'overall Equipment Effectiveness (OEE) che risulta largamente diffuso ed apprezzato per valutare la produttività degli impianti in special modo per la produzione. È una metrica di Best Practice e il suo utilizzo comporta alcuni vantaggi, primo tra tutti la sua semplicità; è di semplice comprensione e calcolo poiché il suo prodotto è composto solamente da tre fattori. Se i dati sono acquisiti automaticamente, come nel caso in esame, può essere calcolato in tempo reale continuamente. È una metrica standardizzata che permette di comparare la performance tra diversi processi, reparti, stabilimenti, od aziende intere. Permette di monitorare l'efficienza degli impianti e catalogare le più comuni fonti di perdita di produttività. L'Overall Equipment Effectiveness è così definito: OEE= prestazioni disponibilità qualità 24

35 L'OEE è adimensionale, essendo il prodotto di tre fattori anch'essi adimensionali, risultanti da rapporti di quantità dello stesso tipo. disponibilità= prestazioni = tempo di funzionamento tempo disponibile tempo ciclo teorico unitario pezzi prodotti tempo di funzionamento qualità = pezzi validi pezzi prodotti Disponibilità (Availability): è il rapporto tra il tempo effettivo di produzione e il tempo pianificato per la produzione. Questo parametro è una misura delle perdite causate dalle fermate significative non pianificate (Downtime Losses). Prestazioni (Performance Rate): nel discreto è dato dal rapporto tra il numero totale di pezzi prodotti e quello ideale calcolato in base alla velocità dichiarata. Questo parametro misura il throughput effettivo di un apparato rispetto a quello teorico, denotando l incidenza delle perdite legate alle riduzioni di velocità di funzionamento e alle fermate brevi (Speed Losses). Qualità (Quality Rate): nel discreto è dato dal rapporto tra il numero di pezzi buoni ed il numero di pezzi totali prodotti. È una misura delle perdite causate da produzione di scarti o rilavorati (Quality Loss). Il valore dell'oee può variare da 0 a 100% anche se difficilmente si incontrano nella pratica valori superiori all'85% [31][32]. Il tempo totale attribuibile alle perdite sottratto al tempo pianificato fornisce il tempo di produzione ideale, in cui ipoteticamente l apparato lavora senza subire fermate, alla velocità dichiarata e senza produrre scarti. Poiché l'oee è una metrica in grado di abbracciare l'intera Supply Chain e quindi id aumentarne la sua visibilità, risulta uno strumento fondamentale per realizzare l'eccellenza operazionale proposta dal modello DMAIC (par ). 25

36 Illustrazione 2.3: Fattori di perdita OEE L'Overall Equipment Effectiveness viene calcolato a partire dai dati provenienti dal Manufacturing Execution System; i fattori concorrenti al suo prodotto sono il risultato di aggregazioni su dati atomici acquisiti automaticamente dalle schede interfacciate alla linea di produzione. Nel capitolo 4 verrà affrontato in maggiore dettaglio l'esatta identità dei dati utilizzati per il calcolo. 2.4 Tecnologie IT a supporto della soluzione Il presente paragrafo analizza alcune soluzioni dell IT che dovrebbero essere adottate dall azienda per conseguire gli obiettivi esposti dal modello concettuale. Per realizzare la misura e la valutazione dell'overall Equipment Effectiveness sono necessarie alcune soluzioni tecnologiche note con i termini di Datawarehousing, Datamarting, Extraction Transform & Load, e Event & Alert Management. 26

37 2.4.1 Data Warehouse Il Data Warehouse (DW), come da traduzione letterale, è un Magazzino di Dati strutturato tramite un normale database ed è creato da una applicazione gestionale. L'integrazione dei dati costituisce la principale caratteristica distintiva del DW rispetto ad altri sistemi di supporto alle decisioni. Le caratteristiche distintive di un Data Warehouse sono [33]: Integrazione: in esso confluiscono dati provenienti da più sistemi transazionali (ad esempio il Manufacturing Execution System) e da fonti esterne. L'obiettivo dell'integrazione può essere raggiunto percorrendo differenti strade: mediante l'utilizzo di metodi di codifica uniformi, mediante il perseguimento di una omogeneità semantica di tutte le variabili, mediante l'utilizzo delle stesse unità di misura. Orientamento al soggetto: il DW è orientato a temi aziendali specifici piuttosto che alle applicazioni o alle funzioni. In un DW i dati vengono archiviati in modo da essere facilmente letti o elaborati dagli utenti. Si tratta di una modellazione dei dati che consenta una visione multidimensionale degli stessi. Variabilità nel tempo: i dati archiviati all'interno di un DW coprono un orizzonte temporale molto più esteso rispetto a quelli archiviati in un sistema operazionale. Nel DW sono contenute una serie di informazioni relative alle aree di interesse che colgono la situazione relativa ad un determinato fenomeno in un determinato intervallo temporale piuttosto esteso. Ciò differisce da quanto si verifica in un sistema transazionale, nel quale i dati corrispondono sempre ad una situazione aggiornata, solitamente incapace di fornire un quadro storico del fenomeno analizzato. Non volatilità: tale caratteristica indica la non modificabilità dei dati contenuti nel DW che consente accessi in sola lettura. Il Data Warehouse, quindi, descrive il processo di acquisizione, trasformazione e distribuzione di informazioni presenti all'interno o all'esterno delle aziende. 27

38 2.4.2 Data Mart Un Data Mart è un raccoglitore di dati specializzato in un particolare soggetto. Un Data Mart contiene un'immagine dei dati che permette di formulare strategie sulla base degli andamenti passati. Normalmente si colloca a valle di un Data Warehouse globale ed è un sottoinsieme logico o fisico di un Data Warehouse di maggiori dimensioni. La necessità di creare un sistema separato per il Data Mart rispetto al Data Warehouse può riassumersi nelle seguenti motivazioni: Accesso facilitato a dati usati frequentemente Migliorare le performance separando l'hardware dedicato. Garantire una maggiore sicurezza dovendo autorizzare l'accesso ad un insieme minore di dati Extract Transform & Load Per trasferire i dati dai database operazionali al DW occorre effettuare un operazione di caricamento dati controllata, per far si che le informazioni contenute nel DW siano corrette. È necessario definire quali dati scrivere sul datawarehouse, non solo perché non è detto che sia necessario portare tutti i dati nel datawarehouse. Bisogna dunque sapere quali dati prendere da quali database operazionali e con quale semantica. Questo tipo di problema è affrontato dagli strumenti che ricadono sotto la categoria di ETL (Extract, Trasform, Load). La prima parte di un processo ETL coinvolge l'estrazione dei dati sistemi sorgenti. La maggior parte dei progetti di Data Warehouse consolida dati da differenti sorgenti, che possono utilizzare differenti formati di memorizzazione; tra le sorgenti più comuni si annoverano Database e file testuali ( plaintext ). Lo scopo della fase estrattiva è la conversione in un unico formato appropriato per la successiva fase di trasformazione. Parte integrante delle operazioni di estrazione è il parsing, processo dal quale dipende l'accettazione o meno dei dati in base all'aderenza 28

39 della struttura o pattern desiderati. Illustrazione 2.4: Schema di un processo ETL Adattamento da ETL-Tools.info La fase di Trasformazione applica una serie di regole o funzioni ai dati estratti, al fine di derivare un nuovo set di dati da caricare nella destinazione. Alcuni dati possono richiedere manipolazioni modeste o nulle. In altri casi possono essere necessarie operazioni di selezione, codifica o decodifica, derivazione di nuovi valori, ordinamento, aggregazione, trasposizioni e pivoting e validazione. Nel caso in cui la validazione abbia esito negativo, essa può comportare la completa o parziale reiezione dei dati. La fase di Caricamento (Loading) inserisce i dati consolidati dalla trasformazione nel Data Warehouse. Gli intervalli di aggiornamento del Data Warehouse dipendo fortemente dal tipo di azienda e possono variare da ore a giorni. All'atto dell'inserimento nel Data Warehouse vengono applicati i vincoli definiti nello schema del database: integrità referenziale, unicità obbligatorietà degli attributi. Questi controlli contribuiscono alla consistenza e alla qualità finale dei dati. Occorre sempre prestare particolare attenzione alla granularità delle informazioni da 29

40 memorizzare nella struttura a valle che non solo devono essere aggregate in modo da non avere un dettaglio eccessivo), ma devono anche mantenere una granularità che consenta di effettuare le necessarie analisi sui dati Event & Alert Management La gestione degli eventi e delle notifiche si riferisce ai metodi che un'impresa utilizza per automatizzare il processo di inoltro di informazioni IT specifiche verso destinatari specifici. La gestione degli eventi e delle notifiche è innescata ogniqualvolta vengano rilevate condizioni significative per i servizi dell'infrastruttura. Lo scopo dell'e&ma è quello di stabilire procedure standardizzate per la manipolazione degli eventi IT attraverso la memorizzazione, classificazione, definizione e implementazioni delle azioni. L'Event & Alert Management contribuisce all'integrazione dei sistemi attraverso i seguenti compiti: Memorizzazione di ogni evento e informazioni correlate Elaborazione degli eventi attraverso attività standardizzate Inoltro selettivo delle notifiche a destinatari specifici Gli eventi possono essere distinti in base al significato: stati/operazioni regolari stati/operazioni che meritano attenzione e ulteriore approfondimento stati/operazioni critiche che richiedono azioni immediate Ognuna di tali condizioni può essere il risultato dell'applicazione delle logiche decise dell'utente sull'insieme delle informazioni in ingresso, applicate ad ambienti definiti sempre dall'utente stesso; ad esempio un evento può essere un allarme critico per un 30

41 reparto ma essere invece una semplice notifica per un altro. Nello sviluppo del prototipo sperimentale sono stati trascurati alcuni aspetti, data la complessità di realizzazione, riguardo la selezione appropriata del destinatario delle notifiche; ci si è limitati a realizzare la parte relativa alla generazione e classificazione delle notifiche associate agli eventi. 2.5 Strumenti Ambiente di sviluppo Delphi Con il termine Delphi si definisce sia un linguaggio di programmazione (conosciuto anche precedentemente come Object Pascal) sia un ambiente di sviluppo integrato (IDE), creato da Borland nel 1995 e ora sviluppato da Embarcadero Technologies. È stato scelto per l'implementazione del prototipo sperimentale perché è la maggior parte del software prodotto da Atomos è stato implementato tramite di esso. Questo ha permesso il riutilizzo di alcune classi software, in linea con la filosofia del riuso del codice. Delphi, come qualsiasi altro ambiente di sviluppo integrato, permette di implementare programmi compatibili con i sistemi operativi della famiglia Windows, senza l'onere di dover sviluppare la maggior parte di componenti grafici. Infatti molte delle librerie vengono fornite all'interno dell'ide, permettendo a chi sviluppa un applicativo di dedicarsi con maggiore attenzione al codice sorgente della parte algoritmica senza doversi preoccupare di creare anche le componenti grafiche di base (finestre, pulsanti, aree di testo, tabelle, etc.). La libreria grafica di Delphi prende il nome di Visual Component Library (VCL). La separazione tra parte algoritmica e interfaccia grafica rende intrinsecamente il codice più mantenibile; inoltre risulta più facilmente espandibile e migliorabile. Delphi è un linguaggio fortemente tipizzato, obbliga a specificare il tipo di ogni elemento sintattico (numeri interi, numeri a virgola mobile, stringhe etc.), rendendo il programma meno prono ad errori ed eccezioni in fase di esecuzione. Sono state utilizzate alcune librerie sviluppate da Atomos, senza l'utilizzo delle quali lo sviluppo del prototipo sarebbe stato oltremodo oneroso e dispersivo. 31

42 Si citano le tre più importanti: un parser per la lettura dei documenti in formato XML, un parser per il calcolo del valore di alcune formule ed un wrapper per le connessioni al Database che è stato creato con lo scopo non solo di semplificare alcune operazioni di connessione al database, ma di fornire connettività a differenti tipi di Database e non solo a Oracle di cui ci si è serviti per gli scopi di questa tesi. Si ricorda che un parser è un algoritmo di riconoscimento sintattico di un linguaggio. Una piccola nota riguardo i programmi Delphi: i programmi scritti in Delphi sono di tipo compilato, il che li rende più veloci nell'esecuzione, a differenza dei programmi interpretati. Se dal punto di vista prototipale non sembra rilevante, la differenza può risultare notabile in casi di applicazioni reali che operano su milioni di record Database relazionale Oracle Oracle fa parte dei cosiddetti RDBMS (Relational DataBase Management System) ovvero di sistemi di database basati sul Modello relazionale che si è affermato come lo standard dei database dell'ultimo decennio. Un database relazionale accoppia i dati utilizzando attributi comuni all'interno dell'insieme di dati stessi. Dal punto di vista matematico una relazione è un insieme formato da elementi distinti fra loro; ciascun elemento è una n-upla dove ciascuna delle n componenti dell'elemento è presa da un determinato dominio (numeri interi, numeri decimali, stringhe, caratteri...). A livello di database si riprende (con poche e sottili differenze) la definizione matematica di relazione. Per lo sviluppo del prototipo sperimentale sono state utilizzate tabelle appartenenti allo stesso database fisico, senza creare appositi Data Warehouse e Data Mart. Questa scelta trova giustificazione nel fatto che le risorse richieste dal test e la quantità di dati da trattare non sono le stesse di un sistema in un ambiente di lavoro reale. Resta comunque valido il modello concettuale esposto nei paragrafi e È stato fatto uso anche di Toad, un'interfaccia grafica per la gestione completa di basi di dati. È stato utilizzato per creare e modificare le tabelle necessarie ai test, non essendo stata prevista per il prototipo alcuna funzionalità di questo tipo. 32

43 2.5.3 File di configurazione e supporto A supporto dei moduli sviluppati è stato fatto anche uso di file XML e, seppur limitato, file INI. I file XML sono stati utilizzati per descrivere le trasformazioni da operare sui dati in ingresso al modulo ETL. È stato scelto questo Metalinguaggio di Marcatura per la sua semplicità e capacità di creare documenti strutturati secondo le esigenze definite dal contesto, in questo caso le formule di estrazione e trasformazione. Un file INI, è un formato di file testuale utilizzato dai programmi per la memorizzazione delle opzioni di funzionamento. L'API di Windows fornisce tutte le funzioni necessarie per gestire in maniera semplice file INI dall'interno di un'applicazione, per questo è stato scelto tale formato per salvare alcune impostazioni dei moduli prototipali senza accollarsi l'onere di sviluppare le operazioni che già vengono gestite nativamente. 33

44 3 Realizzazione del prototipo sperimentale 3.1 Metodo di sviluppo Per la realizzazione del prototipo è stato seguito il paradigma della programmazione orientata agli oggetti, ovvero un metodo di programmazione basato sull'utilizzo di classi ed oggetti, dove per classe si intende una struttura dati complessa usata come modello per creare oggetti cioè istanze della classe stessa. Nelle righe seguenti si richiameranno alcune peculiarità della programmazione orientata agli oggetti, per rendere più agevole la comprensione di quanto verrà descritto riguardo i moduli software sviluppati. Il modello comprende campi (caratteristiche) e metodi (azioni) condivisi da tutti gli oggetti istanziati a partire dalla classe, che è l'unità di base di incapsulamento. L'incapsulamento è un meccanismo di programmazione che unisce il codice e i dati che gestisce, mantenendoli entrambi al sicuro da interferenze e utilizzi non appropriati. All'interno di un oggetto, i dati, il codice, o entrambi devono essere privati per quell'oggetto o pubblici. Codice o dati privati, sono conosciuti e accessibili solo da un'altra parte dell'oggetto. Quando il codice o i dati sono pubblici, altre parti del programma possono accedervi anche se sono definiti all'interno di un oggetto. Polimorfismo è la qualità che permette a un'interfaccia di accedere a una classe generale di azioni. L'azione specifica viene determinata dall'esatta natura della situazione. Il polimorfismo aiuta a ridurre la complessità, permettendo alla stessa interfaccia di essere usata per specificare un classe generale di azione. È compito poi del compilatore selezionare l'azione specifica. L'ereditarietà è il processo grazie al quale un oggetto può acquisire le proprietà di un altro oggetto. Ciò è importante, perché supporta il concetto di classificazione gerarchica. Senza l'uso delle gerarchie, ogni oggetto dovrebbe definire in modo esplicito tutte le sue caratteristiche. Con l'ereditarietà un oggetto deve definire solo le qualità che lo rendono unico all'interno della sua classe. Può ereditare gli attributi generali dai genitori. Delphi, rispetto ad altri linguaggi di programmazione, oltre a campi e metodi supporta le 34

45 properties. Una property assomiglia ad un campo, ma può agire come un metodo. Le properties prendono posto dei metodi di accesso e modifica, ma sono più flessibili e potenti. Le properties sono una delle caratteristiche vitali di Delphi, insieme agli eventi. Un evento ha il compito di associare ogni interazione dell'utente con l'interfaccia grafica ad alcuni metodi degli oggetti. Particolari utilizzi delle caratteristiche richiamate verranno discussi contestualmente alla descrizione del modulo che ne fa uso. 3.2 Descrizione generale e schema a blocchi Per realizzare praticamente quanto esposto nel capitolo 2 occorre sviluppare un prototipo che realizzi le funzioni di estrazione, trasformazione e caricamento di un processo ETL e che inoltre realizzi le funzioni base di event e alert management di base. Inoltre è necessario implementare una porzione del prototipo dedicata alla definizione degli indicatori coinvolti nelle misure ed una porzione dedicata all'impostazione dei valori di confronto utilizzati per le regole di alerting. Alla realizzazione di un programma unico è stata preferita la realizzazione di tre programmi specializzati in un compito specifico: 1. Modulo per la creazione e la gestione dell'anagrafica degli indicatori 2. Modulo ETL 3. Modulo per la gestione degli eventi e notifiche La separazione in tre diversi moduli è stata effettuata per potersi concentrare di volta in volta sulla tematica specifica e sui problemi ad essa correlati. Durante la fase di programmazione è molto comune non riuscire a compilare il programma per verificarne il funzionamento; i motivi che impediscono la compilazione sono molteplici e vanno necessariamente risolti. Tra i più comuni sono errori sintattici, metodi utilizzati impropriamente, operazioni non consentite tra due tipi di dato (ad esempio cercare di eseguire un confronto tra un numero intero e una stringa di caratteri). Altri errori sono riscontrabili runtime, cioè durante l'esecuzione del codice compilato e vanno dalla cattiva 35

46 gestione della creazione e distruzione degli oggetti alla classica divisione per 0. L'operazione di debugging può essere laboriosa e di non immediata conclusione, perciò sviluppare tre moduli separati ha permesso di dividere i problemi concettuali e di rimozione dei bachi dal codice A supporto del prototipo sperimentale è necessario un database dal quale attingere i dati grezzi e sul quale è possibile salvare i dati consolidati. Nei paragrafi e si è discusso sulle nozioni di Data Warehouse e DataMart, sul loro scopo e sul beneficio derivante. Anche per questo aspetto sono state effettuate delle semplificazioni, innanzitutto a livello fisico: il server che ospita alcuni database di test è un server fisico unico. Su di esso vengono virtualizzati diversi database, perciò gli aumenti di prestazione previsti dalla separazione su macchine fisiche differenti ospitanti Data Warehouse e Data Mart non vengono posti in essere. Il database specificatamente utilizzato per i test è pertanto uno soltanto ed ospita sia le tabelle sorgenti del DW sia quelle di destinazione del DM. A livello di test questa differenza comporta solo un calo della velocità dei dati in lettura o scrittura nell'evenienza che due differenti utenti stiano utilizzando le risorse del sistema contemporaneamente; ciò non comporta nessuna alterazione dei risultati in termini qualitativi e quantitativi. Fatta questa premessa manterremo sempre valida la distinzione concettuale tra Data Warehouse e Data Mart. Il tipico flusso delle operazioni potrebbe essere descritto secondo i seguenti passi: 1. Definizione o modifica degli indicatori chiave (KPI) secondo i metodi descritti dalla letteratura (capitolo 1). Definizione o modifica dei loro intervalli temporali di validità. Salvataggio su Data Mart. 2. Processo ETL a) Extract: estrazione dei dati sorgente presenti sul Data Warehouse in base a specifiche query definite nei file XML; eventuale conversione di altre sorgenti dati di tipo plaintext e successiva estrazione. b) Transform: trasformazione dei dati estratti seguendo le formule negli appositi file XML di per la definizione delle formule c) Load: Salvataggio dei dati consolidati sul Datamart 36

47 3. Event Management & Alerting a) Valutazione dei dati trasformati negli intervalli di validità temporali specificati nel modulo dell'anagrafica degli indicatori. b) Emissione di notifiche in base all'esito della valutazione. 1 Data Mart Anagrafica indicatori -Anagrafica KPI -Dati Consolidati -Notifiche Data Warehouse -Dati di origine 2.c 2.a Modulo E.T.L. File plaintext 3.b 2.b Query SQL Formule Modulo gestione eventi e notifiche Regole 3.a Pubblicatori Legenda File eseguibile Database File plaintext Notifiche File XML File HTML Illustrazione 3.1: Schema a blocchi 37

48 3.3 Descrizione dei moduli software sviluppati In questo paragrafo vengono analizzati i moduli scritti in Delphi, introdotti nello schema del paragrafo 3.1. Verranno introdotti frammenti di codice, per una visione completa dei sorgenti (escluse le classi di proprietà di Atomos) e dei relativi eseguibili compilati si consiglia di consultare il cd allegato Anagrafica indicatori Questo modulo è sostanzialmente un'interfaccia per la definizione degli indicatori chiave di prestazione (KPI), dei loro attributi e degli intervalli temporali di applicabilità dei valori di confronto. Gli intervalli temporali servono per definire un periodo entro il quale siano da considerarsi validi i valori di confronto; è possibile specificare una data di inizio e una di fine qualsiasi, anche se nella pratica si creano intervalli riferiti solo all'ultimo periodo di produzione. I valori di confronto sono parametri utilizzati nelle regole di comparazione all'interno del modulo di Event & Alerting Management. Se presenti, vanno inseriti in questo contesto, poiché è possibile creare un associazione tra indicatore e intervallo solo nel modulo dell'anagrafica. Il programma è stato sviluppato con un'interfaccia grafica divisa in due aree di lavoro di natura tabulare: nella parte superiore vengono gestite gli attributi intrinseci dell'indicatore, mentre in quella sottostante sono gestiti gli intervalli di validità e relativi valori di confronto. La tabella possiede un'intestazione contenente il nome degli attributi da assegnare agli indicatori; essi corrispondono ad altrettanti campi presenti nella tabella delle testate degli indicatori, denominata TV_KPI_HEAD, presente sul database, realizzando una mappatura 1:1 tra le celle della tabella e i campi del database. Un discorso del tutto analogo vale per la tabella degli intervalli di validità e quella presente sul database, denominata TV_KPI_VALIDSOGLIE. Nella tabella delle intestazioni tra le voci di rilievo si evidenziano alcuni attributi, di maggiore rilevanza rispetto agli altri, di cui si è già discusso nel paragrafo

49 KH_KPI_ID è un identificativo numerico univoco, in grado di distinguere l'indicatore in qualsiasi contesto; questo attributo è di vitale importanza in quanto relaziona la testata di un indicatore ai dati presenti in altre tabelle. KH_KPI_COD è il campo dell'identificativo letterale, di tipo mnemonico, associato all'identificativo univoco. Il buon senso suggerisce di utilizzare nomi univoci anche per questo attributo, tuttavia può accadere che esistano identificativi uguali, ma differenziati in base al codice dell'applicazione che ne fa uso. KH_KPI_DES: è il campo per una descrizione estesa dell'indicatore. Quando il l'identificativo letterale non è sufficientemente chiaro si ricorre ad una descrizione più comprensibile. KH_KPI_UM è l'unità di misura dell'indicatore. Si noti che nella tabella delle intestazioni non è previsto un attributo che definisca l'istante di misurazione dell'indicatore, invece presente nella tabella contenenti i valori degli indicatori. Per ogni nuovo indicatore inserito viene assegnato un nuovo ID numerico incrementato automaticamente. È stata comunque prevista la possibilità di bypassare tale meccanismo incrementale per poter inserire manualmente identificativi numerici di propria scelta. Questo risulta utile nel caso in cui si vogliano inserire degli insiemi di indicatori raggruppandoli per decadi o centinaia: ad esempio è possibile inserire un gruppo di indicatori riguardanti un certo tipo di macchine, supponiamo a partire da 300, e altri indicatori che ne riguardano un tipo differente a partire da 400. Reimpostando il programma per l'inserimento incrementale l'id univoco riprende dal valore successivo a quello manuale di valore massimo inserito. Tale impostazione può essere memorizzata su un un apposito file.ini, dalla struttura riportata di seguito, di configurazione ricaricato al successivo utilizzo del modulo. Tale file di configurazione è utilizzato anche dagli altri moduli, almeno per quanto riguarda la sezione [Credentials] contenente le informazioni di accesso al database: [Credentials] Alias=OracleSuLNX Username=******** Pwd=*********** [Settings] ProgressiveKPI=-1 39

50 Illustrazione 3.2: Interfaccia del modulo per anagrafica degli indicatori 40

51 RememberDB=-1 In ogni caso prima dell'inserimento definitivo su database viene effettuato un controllo per evitare duplicati. Gli attributi obbligatori per poter inserire un nuovo indicatore su database sono KH_KPI_COD e KH_KPI_DES; questo vincolo permette di lasciare libertà di decisione a posteriori sugli altri attributi ma evita nel contempo di popolare il database di record contenenti solo l'id univoco. Su ogni colonna sono applicabili filtri per ricercare, ordinare o eseguire semplici confronti sui record presenti. Per una descrizione completa di tutti i campi si rimanda al capitolo riguardante la struttura del database. Tali funzionalità sono implementate nativamente nel componente Delphi utilizzato per gestire le tabelle. La tabella degli intervalli di validità non mostra indiscriminatamente un elenco completo di tutti gli intervalli di validità, ma di volta in volta carica al suo interno solo quelli correlati alla sola e unica testata selezionata nella tabella sovrastante. Si tratta di una relazione uno (testata) a molti (intervalli). Tra i campi di rilievo della tabella relativa agli intervalli riportiamo alcuni attributi. KH_KPI_ID è lo stesso identificativo univoco descritto in precedenza. È uguale per tutti gli intervalli associati ad una testata. Per ovvi motivi di coerenza e consistenza dei dati, in questo caso non è modificabile dall'utente KV_VALID_ID è il campo numerico che identifica un ambito definibile dall'utente in cui gli intervalli di validità abbiano legittimità. Può essere pensato come il nome di un gruppo di intervalli riferiti ad un indicatore. KV_DATA_INI e KV_DATA_FINE sono campi che indicano data di inizio e fine dell'intervallo di validità Nei restanti campi KV_VAL_*, dove '*' indica un numero da 1 a 10, sono inseriti soglie e valori di riferimento. Un semplice controllo sulle date inserite ne controlla la coerenza. Anche su questa tabella sono applicabili i filtri già menzionati. Vale la pena spendere qualche parola sul codice sorgente per offrire una visione macroscopica del funzionamento interno del modulo. 41

52 All'atto della creazione della finestra principale vengono create anche alcune strutture atte ad accogliere in memoria gli insiemi dei dati che sono stati caricati caricati o che devono essere salvati su database. procedure TMainForm.FormCreate(Sender: TObject); begin //...altro codice... FKPITable := TkbmMemTable.Create(Self); FSmallThresholdTable := TkbmMemTable.Create(Self); FFullThresholdTable:=TkbmMemTable.Create(Self); DatasourceKPI.DataSet := FKPITable; DatasourceThreshold.DataSet:= FSmallThresholdTable; //...altro codice... FSettings := TSettings.Create; FSettings.LoadSettings(IncludeTrailingPathDelimiter(GetCurr entdir) + 'settings.ini'); //...altro codice... end; FKPITable è una tabella in memoria RAM dedicata ad ospitare i valori degli attributi di ogni testata indicatore; FSmallThresholdTable è una tabella dedicata ad ospitare gli attributi degli intervalli di validità associati alla testata selezionata in un dato istante; FfullThresholdTable è una tabella ospitante tutti gli intervalli e serve come archivio locale per evitare di connettersi inutilmente al database ogni volta che si seleziona una testata e richiedere gli intervalli relativi. I tre oggetti appena nominati sono del tipo TkbMemTable, utilizzato in diversi frangenti dello sviluppo dei moduli prototipali per allocare in memoria tabelle prelevate da DB o altre sorgenti. Alle prime due tabelle sono associati i componenti grafici DataSourceKPI e DataSourceThreshold. A FfullThresholdTable non è associato alcun componente grafico, non dovendo mostrare a schermo il suo contenuto. L'oggetto Fsettings si occupa di recuperare le impostazioni di connessione al database (e anche le altre impostazioni), attraverso il metodo LoadSettings, da il file settings.ini di cui si è parlato nel paragrafo Ancora qualche dettaglio sulle connessioni al database: procedure TMainForm.Apri1Click(Sender: TObject); 42

53 begin //...altro codice... InitializeAliases(TRUE); FDatabase := TAtomosDbConnection.Create(Self); FAtomosAlias := TAtomosDbAliasesList.GetInstance.GetByName(FDBSettings.Alias) ; FAtomosAlias.UserName := FDBSettings.Username; FAtomosAlias.Password := FDBSettings.Pwd; FDatabase.Alias := FAtomosAlias; FDatabase.Open; FDatabase.Connected := TRUE; begin //...altro codice... CaricaSoglieDaDb(); CaricaKPIDaDB(); end //...altro codice... end; La porzione di codice compresa tra InitializeAliases e Fdatabase.Connected:=TRUE fa utilizzo di alcune delle funzioni di libreria Atomos cui è stato fatto riferimento nel paragrafo Con tale procedure viene assicurata la corretta connessione su server virtuale, porta e database specificando solo il nome simbolico del DB cui si desidera connettersi. Il nome simbolico viene associato ad un alias, ovvero un insieme di parametri che definiscono tutti i parametri della connessione, prelevato da un file di configurazione (esterno al modulo del prototipo e condiviso da più applicazioni Atomos) Modulo E.T.L. Il secondo modulo racchiude le funzioni necessarie per la realizzazione del processo di estrazione, trasformazione e caricamento. Nella maggior parte dei casi l'estrazione dei dati di partenza avviene da un database, ma essendo in questo caso disponibili anche dei file CSV (Comma Separated Value) si è provveduto ad implementare un metodo di importazione di questo ti po di file plaintext. Un file plaintext è un file dal contenente solo dati o testo, in forma umanamente leggibile, senza formattazione alcuna. Nel caso dei file CSV il contenuto ha struttura tabulare, 43

54 ovvero ogni riga corrisponde ad un insieme di dati ed ogni elemento compreso tra due ',' è un dato atomico. Ogni riga contiene lo stesso numero di separazioni, anche se uno o più elementi possono essere nulli. Nel paragrafo si è già discusso della capacità di estrazione da fonti differenti di un processo ETL e il caso specifico della lettura del contenuto di file CSV ne rappresenta un'implementazione specifica. Nel dettaglio, il contenuto di un file CSV che deve essere sottoposto al processo di estrazione è simile al testo di seguito riportato. "PROG=Integer,0,""Prog"","""",10,Data,""""" "RISORSA=String,15,""Risorsa"","""",15,Data,""""" "PARTIZIONE=DateTime,0,""Partizione"","""",18,Data,""""" //...altri descrittori... "VALMAX=Integer,0,""Valmax"","""",10,INV,Data,""""" "Prog","Risorsa","Partizione","Nrturno","Capacita","Lavoraz", "Attrezz","Avviam","Inritardo","Contoterzi","Overflow","Valma x", "1","CDL10","01/10/2009","0","24"," ","0","0", " ","0","0","0", "2","CDL10","02/10/2009","0"," ","0","0","0"," 0","0","0","0", "3","CDL10","03/10/2009","0","0","0","0","0","0","0","0",, //...altre righe di valori... In realtà il testo sopra riportato, oltre a contenere righe con valori separati da virgole racchiude anche alcune informazioni aggiuntive necessarie al modulo per capire come deve trattare i dati in ingresso. I termini compresi tra sono parole chiave riconosciute dall'oggetto di tipo TkbmCSVStreamFormat, un lettore di stream in formato CSV, con la funzione di fornire i dati ad un altro oggetto di tipo TKbMemTable ; in particolare TABLEDEF START e TABLEDEF END sono delimitatori contenenti descrittori. Ogni riga corrisponde alla descrizione della testata di un record, in modo simile (ma non 44

55 identico) al modulo dell'anagrafica. Dopo la sezione dei descrittori è presente una singola riga indicante l'ordine esatto col quale ogni riga successiva contiene i valori dei record: nel caso esaminato i valori dell'indicatore Prog sono contenuti nella prima posizione di ogni riga, i valori di Risorsa sono contenuti in seconda posizione, separati dal primo elemento con una ',' e via di seguito. Per migliaia o più di righe. Il caricamento in memoria del file avviene attraverso una funzione abbastanza semplice: procedure TTableFiller.LoadData(filename: string); var CSVFormat: TKbmCSVStreamFormat; begin CSVFormat := TKbmCSVStreamFormat.Create(nil); try FSimula_Table.LoadFromFileViaFormat(IncludeTrailingPath Delimiter(GetCurrentDir) + filename, CSVFormat); finally CSVFormat.Free; end; end; È possibile notare in questo frammento un tipico costrutto di Delphi utile per la gestione degli errori, try finally, in questo caso per errori relativi all'apertura del file. Più complicato, invece, è il salvataggio dei dati, una volta presenti in memoria, sul database: procedure TTableFiller.StoreData(tablename: string); var TempQuery: string; begin try //...altro codice per connessione al database... TempQuery:=GenerateQuery(TableName); FQueryStoreKpi.SQL.Append(TempQuery); FQueryStoreKpi.Prepare; FSimula_Table.First; while not FSimula_Table.Eof do begin begin AggiungiParametro ('PROG', FSimula_Table, FQueryStoreKPI, ftinteger); 45

56 //AggiungiParametro (... AggiungiParametro ('VALMAX', FSimula_Table, FQueryStoreKPI, ftinteger); end; FQueryStoreKpi.ExecSQL; FSimula_Table.Next; end; finally end; end; Innanzitutto occorre creare una connessione al Database come già illustrato in precedenza e creare una una query SQL per l'inserimento dei dati. Essa viene generata con l'ausilio della funzione GenerateQuery, che restituisce una stringa contenente statement SQL del tipo INSERT INTO nome_tabella VALUES (valore1, valore2, valore3,...). Ogni statement insert viene preparato attraverso un ciclo iterativo while do che scandisce le righe della TkbMemTable (contenente copia dei valori del file originario CSV) e ne preleva il contenuto. Grazie alla procedura di importazione di file testuali è possibile uniformare i dati provenienti dall'esterno del database (in questo frangente specifico del Data Warehouse) con quelli in esso già presenti. Il vantaggio di questa operazione consiste nell'arrivare ad ottenere dati in sole tabelle interrogabili query SQL. In questo modo è possibile sfruttare il motore del database per effettuare intersezioni, unioni, esclusioni e aggregazioni tra diverse tabelle senza dover progettare e realizzare un motore che esegua le stesse operazioni all'interno del modulo sperimentale. Se così fosse si dovrebbero implementare strutture complesse che carichino e mantengano contemporaneamente dati provenienti da tutte le sorgenti ed eseguano le stese operazioni del motore all'interno del database. 46

57 Una volta posti nella condizione di avere solo tabelle su database si può operare la trasformazione, che avviene grazie all'ausilio di file XML esterni al file eseguibile che assolvono la funzione di formulari. Nel file Queries_dictionary.XML vengono inserite le query per l'estrazione dei dati, mentre negli altri vengono inserite le formule di trasformazione. Il modulo è stato sviluppato con la possibilità di scegliere quali dizionari caricare. I restanti file hanno un nome specifico, derivato dal valore dell'attributo Name, definito all'interno di Queries_dictionary.XML e viene caricato automaticamente dopo di questo. Un possibile contenuto di Queries_dictionary.XML : <?XML version="1.0" encoding="windows-1252"?> <FormulasDictionary> <field Name="Query_A" QueryText="SELECT * FROM nome_tabella_1" /> <field Name="Query_B" QueryText="SELECT * FROM nome_tabella_2" /> </FormulasDictionary> Dopo aver letto le query dal dizionario ed averle inviata al database, il programma riceve in risposta altrettanti dataset contenenti i risultati desiderati e li alloca in memoria per essere trattati. Il passo successivo consiste nel creare un legame tra gli indicatori inseriti nell'anagrafica e i dati appena recuperati; per raggiungere tale scopo si utilizzano le formule specificate in nei file '*_dictionary.xml' dove * è sostituito dal valore dell'attributo Name del file precedente. Ogni nodo del documento XML contiene la coppia di attributi 'Name' e 'FormulaText' ed i relativi valori. Per semplicità di ragionamento ci riconduciamo ad alcune voci già incontrate nel file CSV: <?XML version="1.0" encoding="windows-1252"?> <FormulasDictionary> <field Name="KH_KPI_ID" FormulaText="KH_KPI_ID" /> <field Name="KR_GIORNO" FormulaText="PARTIZIONE" /> 47

58 <!--altri nodi XML --> <field Name="KR_VALORE" FormulaText="AVVIAM+LAVORAZ" /> </FormulasDictionary> L'attributo 'Name' indica quale colonna della tabella contenente i valori degli indicatori normalizzati andrà a includere il risultato della formula specificata per l'attributo 'FormulaTetx'. Per un'esposizione dettagliata dei campi di tale tabella si rimanda al paragrafo sul database relazionale. Il valore dell'attributo 'FormulaText' può essere atomico o il risultato di espressioni più complesse (ad esempio somma del valore di più campi) elaborate tramite un parser. Tra tutti i valori degli attributi 'Name' uno deve essere necessariemente KH_KPI_ID, ovvero l'id univoco specificato precedentemente nell'anagrafica. KH_KPI_ID è di vitale importanza giacché è ciò che lega tra di loro intestazione, intervalli e intervalli di validità e valore di un indicatore. Inoltre uno degli altri attributi 'Name' deve essere necessariamente KR_VALORE, cioè il valore estratto o calcolato per quell'indicatore. In sintesi l'algoritmo si occupa di preparare un nuovo dataset da salvare sulla tabella degli indicatori normalizzati, denominata TV_KPI_VAL : di questo dataset un campo è l'id univoco, un altro è il valore dell'indicatore e gli altri attributi contengono informazioni quali ad esempio il timestamp di estrazione, la risorsa utilizzata o l'impianto. Può essere utile osservare la definizione, senza entrare del dettaglio dell'implementazione effettiva delle funzioni, della classe TEngine fulcro del modulo ETL, per capire il suo funzionamento: TEngine = class strict private const // numero di colonne prefissato per la tabella dei KPI normalizzati NUM_OF_FIELDS = 19; var FInputDataset: Tdataset; FFormulasDictionary: TFormulasDictionary; FStrutturaCampi : array [0..NUM_OF_FIELDS] of TFieldInfo; 48

59 FParser : TTableEzParser; //...variabili per la connessione al DB... private procedure LoadFormulasDictionaryFromXML (path: string); procedure SetInputDataset(const Value: Tdataset); procedure AddParameter(FieldName: string; DestQuery: TAtomosQueryController; FieldType: TFieldType; avalore : Variant); function GenerateQuery (TableName: string) : string; function StoreValues():boolean; //...codice per la connessione al DB... public property InputDataset: Tdataset read FInputDataset write SetInputDataset; procedure InitTEngine(DictionaryName: string); procedure IterateInputDataset(); constructor Create; destructor Destroy; override; end; All'atto della creazione ( Create ) del motore del modulo vengono automaticamente inizializzati anche una serie di oggetti funzionali al suo utilizzo: il parser ( FParser ), la struttura residente in memoria che ospita le formule di trasformazione ( FFormulasDictionary ) e il descrittore della tabella di destinazione ( FStrutturaCampi ). Per ogni dataset restituito tramite query SQL, eseguita da una funzione chiamata in precedenza ed esterna al motore, esso viene caricato ( InitEngine ) con il dizionario delle formule di trasformazione e viene fatto iterare ( IterateInputDataset ) sul dataset al momento attivo; per ogni riga del dataset viene calcolato il valore delle formule tramite il parser e viene generata la query per l'inserimento ( GenerateQuery ), termine per termine attraverso la funzione AddParameter. Infine viene eseguita la query per il salvataggio su database ( StoreValues ). L'interfaccia di questo modulo è minimale poiché che il lavoro oneroso, svolto principalmente da un algoritmo iterativo avviene in modo invisibile all'utente. 49

60 Illustrazione 3.3: Interfaccia del modulo ETL Vale la pena però di menzionare un nano-editor integrato richiamabile dalla finestra principale per creare al volo i dizionari delle query e delle formule senza dover lanciare altri programmi di composizione testo Modulo gestione eventi e notifiche Il terzo modulo facente parte del prototipo ha il compito di gestire eventi e notifiche in base al risultato di confronti tra le misure degli indicatori normalizzati e i valori di confronto presenti nell'anagrafica degli intervalli di validità dei medesimi indicatori. Dal risultato di tale confronto possono essere generati eventi associabili a notifiche di differenti. Anche questo modulo svolge il suo compito attraverso l'utilizzo di cicli iterativi su dataset Le tabelle del Data Mart coinvolte in questo processo sono TV_KPI_VALIDSOGLIE, contenente i valori di riferimento per ogni intervallo di validità e TV_KPI_VAL, contenente gli indicatori normalizzati in precedenza. Un ciclo completo delle operazioni prevede il caricamento in memoria degli intervalli di validità di dalla tabella dell'anagrafica, la creazione di una lista per inserire eventuali eventi e tre cicli di scansioni annidate: una scansione di tutti gli intervalli per caricare gli indicatori del tipo cui tale 50

61 intervallo ne stabilisce la validità un sub-ciclo di scansione per ogni indicatore normalizzato per applicare le regole di confronto un ulteriore sub-ciclo annidato per applicare tutte le regole esistenti per quel tipo di indicatore. In base al risultato di questa ultima operazione può essere creato un evento. Quest'ultima entità altro non è che una struttura dati contenente tutti i campi dell'indicatore violante la regola ed altre informazioni aggiuntive quali il tipo di evento, la descrizione della violazione e il timestamp dell'istante in cui essa è stata riscontrata. Di seguito è riportata la funzione che si occupa di effettuare i primi due cicli. procedure TForm1.ScanThresholds(); var ConnectionKpiValues : TAtomosDbConnection; AtomosAlias : TAtomosDbAlias; QueryLoadKpiValues : TAtomosQuery; CurrentThresholdDefinition: TKpiValidSoglie; CurrentKPI : TKpi_Val; i: integer; begin for i := 0 to FThresholdsDefinitions.Count - 1 do begin FAlertCounter:=0; FWarningCounter:=0; CurrentThresholdDefinition:=FThresholdsDefinitions.GetThr esholdatpos(i); ConnectionKpiValues := TAtomosDbConnection.Create(nil); try //Codice per connessione al database... try QueryLoadKpiValues := TAtomosQuery.Create(nil, ConnectionKpiValues); QueryLoadKpiValues.SQL.Append('SELECT * FROM TV_KPI_VAL WHERE KH_KPI_ID=:AKPIID AND KR_GIORNO>=:DATAINI AND KR_GIORNO<=:DATAFINE'); QueryLoadKpiValues.Prepare; QueryLoadKpiValues.ParamByName('AKPIID').AsInteger := CurrentThresholdDefinition.kh_kpi_id; QueryLoadKpiValues.ParamByName('DATAINI').AsDate := CurrentThresholdDefinition.kv_data_ini; QueryLoadKpiValues.ParamByName('DATAFINE').AsDate := CurrentThresholdDefinition.kv_data_fine; QueryLoadKpiValues.Open; CurrentKPI := TKpi_Val.Create; try 51

62 while not QueryLoadKpiValues.Eof do begin CurrentKPI.LoadFromDataset(QueryLoadKpiValues.Dat aset); Compare(CurrentThresholdDefinition,CurrentKPI); QueryLoadKpiValues.Next; end; QueryLoadKpiValues.Close; finally //...altro codice... CurrentKPI.Free; end; finally QueryLoadKpiValues.Free; end; finally ConnectionKpiValues.Free; end; end; end; La funzione GetThresholdAtPos(i), all'interno del primo ciclo, seleziona dal primo all'ultimo seguendo l'incremento dell'indice 'i', l'intervallo di validità dei valori di soglia/confronto. In base agli estremi di tale intervallo, rappresentati da due date, viene preparata ed eseguita una query SQL ("QueryLoadKpiValues.SQL.Append", "QueryLoadKpiValues.Prepare", "QueryLoadKpiValues.Open"). Per ogni riga del dataset restituito, all'interno del secondo ciclo viene eseguita la funzione Compare, all'interno della quale vengono applicate le regole di confronto sul valore dell'indicatore. Per questo prototipo sono state implementate due regole di confronto: una regola per la violazione netta delle soglie limite inferiore e superiore una regola per la vicinanza del valore dell'indicatore alle soglie, basata su valori percentuali Per la prima regola è sufficiente un semplice comparazione per verificare se il valore è compreso tra soglia inferiore e superiore; per il secondo caso, viene calcolato un valore superiore alla soglia minima, di una percentuale pari ad un valore inserito dall'utente in uno dai campi KV_KPI_VAL* (in questo specifico caso KV_KPI_VAL1) che ricordiamo essere campi personalizzabili per l'inserimento di altre soglie o valori di riferimento 52

63 numerici: se ad esempio nell'anagrafica in tale campo è stato inserito '10', la regola indica se il valore dell'indicatore è in un intervallo compreso tra la soglia minima e il 10% in più della soglia minima; un discorso del tutto analogo vale per la soglia superiore e un valore ad esso inferiore di una percentuale scelta. È da fare una doverosa precisazione riguardo la definizione delle regole: esse sono codificate in Delphi all'interno del modulo, non sono caricate da file esterni come invece avviene per le formule di trasformazione. La possibilità di inserire regole definite dall'utente esternamente al codice avrebbe comportato la creazione di un linguaggio di scripting ad hoc ed un interprete di script; tale sviluppo sarebbe stato eccessivamente oneroso ai fini della tesi, quindi ci si è limitati ad utilizzare regole tramite codice inline. Se le regole non sono inseribili manualmente, resta la possibilità resta comunque la possibilità di impostare i valori di soglia tramite l'interfaccia per la gestione dell'anagrafica. Ogni qual volta sussiste una violazione delle regole viene creato un evento. È stato menzionato il fatto che esistono diversi tipi di eventi; si considerino le due regole descritte in precedenza, è chiaro che il superamento della soglia è un fatto di per sé più rilevante rispetto ad essere il 10% vicini alla soglia. Nel primo caso il tipo di evento è contrassegnato come 'alert', nel secondo caso come 'warning'. Per supportare questa differenziazione, in questo modulo è si è fatto uso di uno dei meccanismi tipici della programmazione ad oggetti: l'ereditarietà. Poiché si è deciso di implementare diversi tipi di eventi classificati in base al grado di attinenza alle regole si è deciso di sviluppare un oggetto progenitore, un evento generico, dal quale ogni altro evento specifico viene derivato. Si riporta il codice sorgente della definizione delle classi per illustrare come avviene nella pratica questo meccanismo: TdatamartEvent=class //Classe progenitrice private FIsOnKpi: boolean; FEventDate: TDateTime; FDescription: string; public property IsOnKpi: boolean read FIsOnKpi write FIsOnKpi; property EventDate: TDateTime read FEventDate write FEventDate; 53

64 property Description: string read FDescription write FDescription; end; TThresholdEvent = class (TdatamartEvent)//Classe derivata private FKh_kpi_cod: string; FKv_valid_id: smallint; FKpiData: Tkpi_val; FThresholdName: string; public Constructor Create; virtual; Destructor Destroy; override; function GetEventTypeString : string; virtual; abstract; property Kh_kpi_cod: string read FKh_kpi_cod write FKh_kpi_cod; property Kv_valid_id: smallint read FKv_valid_id write FKv_valid_id; property KpiData: Tkpi_val read FKpiData write FKpiData; property ThresholdName: string read FThresholdName write FThresholdName; end; TThresholdAlert = class (TthresholdEvent)//Casse derivata public function GetEventTypeString : string; override; end; TThresholdWarning = class (TthresholdEvent)//Classe derivata public function GetEventTypeString : string; override; end; La classe progenitrice è TdataMartEvent, rappresenta il modello per un evento generico, contiene alcuni campi e alcune properties di base, ereditati dalle classi derivate. TTHresholdEvent è classe derivata di TdataMartEvent e rappresenta il modello di un evento generato dal superamento di qualche soglia; oltre ad ereditare campi e properties della classe progenitrice, ne aggiunge alcune propri. TthresholdAlert e TthresholdWarning rappresentano un ulteriore grado di derivazione, specificando il tipo particolare di evento e implementando il metodo GetEventTypeString che nella classe padre è solo definito come astratto (cioè privo di implementazione). Tale procedimento ovviamente è estensibile per generare altre tipologie di eventi. 54

65 Al termine del ciclo di controllo di tutti gli indicatori si ottiene una lista di eventi, supponendo che si siano verificate violazioni; essa è l'anello di congiunzione tra la parte di gestione eventi e quella di emissione delle notifiche. L'emissione delle notifiche avviene ad opera dei pubblicatori, ovvero oggetti il cui compito è prelevare gli eventi dalla lista e formattarli secondo gli standard del formato di destinazione. Un evento diventa notifica nel momento in cui viene formattato e pubblicato. La differenza è più concettuale che pratica, dal momento che un evento e una notifica contengono le stesse informazioni. Per il prototipo sono stati implementati due pubblicatori: uno per database e uno per documenti HTML. Il primo è stato sviluppato per la semplice necessità di dover salvare in modo persistente gli eventi generati dai confronti con le regole; ad esso è affidato il semplice compito di creare un dataset e inserirlo su database tramite query SQL. Il pubblicatore HTML invece si occupa di aggiungere ai nomi dei campi e ai loro valori tutti i tag necessari per avere un documento rispondente alle specifiche W3C XHTML 1.0 Strict. L'aspetto finale del documento è di natura tabulare, con formattazione condizionata dal tipo di notifica (es. sfondo delle celle rosso per gli 'alert', giallo per i 'warning'). 55

66 Illustrazione 3.4: Pagina prodotta dal pubblicatore HTML Anche per questo modulo l'interfaccia è scarna perché le operazioni di confronto sono svolte da un algoritmo che non necessita interazione grafica. È presente una barra di menu per effettuare le operazioni di lettura del database. Alla finestra di esecuzione del programma è stato aggiunto un riquadro di log che mostra gli eventi a mano a mano che vengono rilevate violazioni delle regole. Non sostituisce i pubblicatori, ma è utile soprattutto se si è interessati solo a testare le regole senza essere obbligati a pubblicare gli eventi. Nel riquadro di log sono presentati il tipo di evento, il valore che lo ha generato e quello di riferimento; compaiono i contatori delle violazioni di regole e un timer che indica il tempo di elaborazione totale. 56

67 Illustrazione 3.5: Interfaccia grafica del modulo gestione eventi e notifiche Il database relazionale È già stato fatto riferimento al database nei capitoli precedenti, senza tuttavia soffermarsi in dettaglio sulle singole voci di ogni tabella. Si ricorda che Le tabelle sorgenti e di destinazione risiedono fisicamente sullo stesso database, la differenza tra Data Mart e Data Warehouse rimane a livello teorico. Per il Data Warehouse non è possibile stabilire a priori quali tabelle siano utilizzate in una specifica azienda né specificare quali indicatori siano in esso contenuti. Risulta invece possibile definire e costruire le tabelle da inserire nel Data Mart destinate a contenere gli indicatori sottoposti a processo ETL: TV_KPI_HEAD: contiene le testate degli indicatori chiave TV_KPI_VALIDSOGLIE: contiene gli intervalli di validità e le soglie TV_KPI_VAL: contiene i valori degli indicatori normalizzati TV_EVENTS: contiene la serie di violazione delle regole 57

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Oggi più che mai, le aziende italiane sentono la necessità di raccogliere,

Dettagli

White Paper. Operational DashBoard. per una Business Intelligence. in real-time

White Paper. Operational DashBoard. per una Business Intelligence. in real-time White Paper Operational DashBoard per una Business Intelligence in real-time Settembre 2011 www.axiante.com A Paper Published by Axiante CAMBIARE LE TRADIZIONI C'è stato un tempo in cui la Business Intelligence

Dettagli

Business Intelligence

Business Intelligence aggregazione dati Business Intelligence analytic applications query d a t a w a r e h o u s e aggregazione budget sales inquiry data mining Decision Support Systems MIS ERP data management Data Modeling

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

ADVANCED MES SOLUTIONS

ADVANCED MES SOLUTIONS ADVANCED MES SOLUTIONS PRODUZIONE MATERIALI QUALITA MANUTENZIONE HR IIIIIIIIIaaa Open Data S.r.l. all rights reserved About OPERA OPERA MES è il software proprietario di Open Data. È un prodotto completo,

Dettagli

t.fabrica wanna be smarter? smart, simple, cost effectiveness solutions for manufactoring operational excellence.

t.fabrica wanna be smarter? smart, simple, cost effectiveness solutions for manufactoring operational excellence. t.fabrica wanna be smarter? smart, simple, cost effectiveness solutions for manufactoring operational excellence. Per le aziende manifatturiere, oggi e sempre più nel futuro individuare ed eliminare gli

Dettagli

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo CAPITOLO 8 Tecnologie dell informazione e controllo Agenda Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale Sistemi di controllo a feedback IT e coordinamento

Dettagli

IT Plant Solutions Soluzioni MES e IT per l Industria

IT Plant Solutions Soluzioni MES e IT per l Industria IT Plant Solutions IT Plant Solutions Soluzioni MES e IT per l Industria s Industrial Solutions and Services Your Success is Our Goal Soluzioni MES e IT per integrare e sincronizzare i processi Prendi

Dettagli

Convegno 6 giugno 2013 Federlazio Frosinone

Convegno 6 giugno 2013 Federlazio Frosinone Convegno 6 giugno 2013 Federlazio Frosinone pag. 1 6 giugno 2013 Federlazio Frosinone Introduzione alla Business Intelligence Un fattore critico per la competitività è trasformare la massa di dati prodotti

Dettagli

www.bistrategy.it In un momento di crisi perché scegliere di investire sulla Business Intelligence?

www.bistrategy.it In un momento di crisi perché scegliere di investire sulla Business Intelligence? In un momento di crisi perché scegliere di investire sulla Business Intelligence? Cos è? Per definizione, la Business Intelligence è: la trasformazione dei dati in INFORMAZIONI messe a supporto delle decisioni

Dettagli

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A.

Università di Venezia Corso di Laurea in Informatica. Marco Fusaro KPMG S.p.A. Università di Venezia Corso di Laurea in Informatica Laboratorio di Informatica Applicata Introduzione all IT Governance Lezione 5 Marco Fusaro KPMG S.p.A. 1 CobiT: strumento per la comprensione di una

Dettagli

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

IT FINANCIAL MANAGEMENT

IT FINANCIAL MANAGEMENT IT FINANCIAL MANAGEMENT L IT Financial Management è una disciplina per la pianificazione e il controllo economico-finanziario, di carattere sia strategico sia operativo, basata su un ampio insieme di metodologie

Dettagli

PLM Software. Answers for industry. Siemens PLM Software

PLM Software. Answers for industry. Siemens PLM Software Siemens PLM Software Monitoraggio e reporting delle prestazioni di prodotti e programmi Sfruttare le funzionalità di reporting e analisi delle soluzioni PLM per gestire in modo più efficace i complessi

Dettagli

IT FOR BUSINESS AND FINANCE

IT FOR BUSINESS AND FINANCE IT FOR BUSINESS AND FINANCE Business Intelligence Siena 14 aprile 2011 AGENDA Cos è la Business Intelligence Terminologia Perché la Business Intelligence La Piramide Informativa Macro Architettura Obiettivi

Dettagli

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement BRM BusinessRelationshipManagement Tutte le soluzioni per la gestione delle informazioni aziendali - Business Intelligence - Office Automation - Sistemi C.R.M. I benefici di BRM Garantisce la sicurezza

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

Sistemi di supporto alle decisioni

Sistemi di supporto alle decisioni Sistemi di supporto alle decisioni Introduzione I sistemi di supporto alle decisioni, DSS (decision support system), sono strumenti informatici che utilizzano dati e modelli matematici a supporto del decision

Dettagli

dal Controllo di Gestione alla Business Intelligence

dal Controllo di Gestione alla Business Intelligence dal Controllo di Gestione alla strumenti strategici per la gestione delle imprese Giovanni Esposito Bergamo, 29 Ottobre 2012 dal Controllo di Gestione alla 25/10/2012 1 Agenda 14:00 Benvenuto Il Sistema

Dettagli

GESTIONE ATTREZZATURE

GESTIONE ATTREZZATURE SOLUZIONE COMPLETA PER LA GESTIONE DELLE ATTREZZATURE AZIENDALI SWSQ - Solution Web Safety Quality srl Via Mons. Giulio Ratti, 2-26100 Cremona (CR) P. Iva/C.F. 06777700961 - Cap. Soc. 10.000,00 I.V. -

Dettagli

Business Process Management

Business Process Management Corso di Certificazione in Business Process Management Progetto Didattico 2015 con la supervisione scientifica del Dipartimento di Informatica Università degli Studi di Torino Responsabile scientifico

Dettagli

SISTEMA DI CONTROLLO DISTRIBUITO DI UN IMPIANTO DI PRODUZIONE DI ENERGIA ELETTRICA DA RIFIUTI NON PERICOLOSI

SISTEMA DI CONTROLLO DISTRIBUITO DI UN IMPIANTO DI PRODUZIONE DI ENERGIA ELETTRICA DA RIFIUTI NON PERICOLOSI SISTEMA DI CONTROLLO DISTRIBUITO DI UN IMPIANTO DI PRODUZIONE DI ENERGIA ELETTRICA DA RIFIUTI NON PERICOLOSI s.d.i. automazione industriale ha fornito e messo in servizio nell anno 2003 il sistema di controllo

Dettagli

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

Business Intelligence RENDE STRATEGICHE LE INFORMAZIONI

Business Intelligence RENDE STRATEGICHE LE INFORMAZIONI Business Intelligence RENDE STRATEGICHE LE INFORMAZIONI Business Intelligence RENDE STRATEGICHE LE INFORMAZIONI CSC ritiene che la Business Intelligence sia un elemento strategico e fondamentale che, seguendo

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

DAT@GON. Gestione Gare e Offerte

DAT@GON. Gestione Gare e Offerte DAT@GON Gestione Gare e Offerte DAT@GON partecipare e vincere nel settore pubblico La soluzione sviluppata da Revorg per il settore farmaceutico, diagnostico e di strumentazione medicale, copre l intero

Dettagli

MES & EMI DI WONDERWARE. Real Collaboration. Real-Time Results.

MES & EMI DI WONDERWARE. Real Collaboration. Real-Time Results. MES & EMI DI WONDERWARE Real Collaboration. Real-Time Results. Wonderware ci ha dato la possibilita` di implementare una soluzione per la gestione di produzione e performance estesa a tutti i nostri diversi

Dettagli

white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo

white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo White paper La Process Intelligence migliora le prestazioni operative del settore assicurativo Pagina 2 Sintesi

Dettagli

REALIZZARE UN MODELLO DI IMPRESA

REALIZZARE UN MODELLO DI IMPRESA REALIZZARE UN MODELLO DI IMPRESA - organizzare e gestire l insieme delle attività, utilizzando una piattaforma per la gestione aziendale: integrata, completa, flessibile, coerente e con un grado di complessità

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

Analisi per tutti. Panoramica. Considerazioni principali. Business Analytics Scheda tecnica. Software per analisi

Analisi per tutti. Panoramica. Considerazioni principali. Business Analytics Scheda tecnica. Software per analisi Analisi per tutti Considerazioni principali Soddisfare le esigenze di una vasta gamma di utenti con analisi semplici e avanzate Coinvolgere le persone giuste nei processi decisionali Consentire l'analisi

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

Progettare, sviluppare e gestire seguendo la Think it easy philosophy

Progettare, sviluppare e gestire seguendo la Think it easy philosophy Progettare, sviluppare e gestire seguendo la Think it easy philosophy CST Consulting è una azienda di Consulenza IT, System Integration & Technology e Servizi alle Imprese di respiro internazionale. E

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

Dalla Mappatura dei Processi al Business Process Management

Dalla Mappatura dei Processi al Business Process Management Dalla Mappatura dei Processi al Business Process Management Romano Stasi Responsabile Segreteria Tecnica ABI Lab Roma, 4 dicembre 2007 Agenda Il percorso metodologico Analizzare per conoscere: la mappatura

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

Storia ed evoluzione dei sistemi ERP

Storia ed evoluzione dei sistemi ERP Storia ed evoluzione dei sistemi ERP In questo breve estratto della tesi si parlerà dei sistemi ERP (Enterprise Resource Planning) utilizzabili per la gestione delle commesse; questi sistemi utilizzano

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

Milano, Settembre 2009 BIOSS Consulting

Milano, Settembre 2009 BIOSS Consulting Milano, Settembre 2009 BIOSS Consulting Presentazione della società Agenda Chi siamo 3 Cosa facciamo 4-13 San Donato Milanese, 26 maggio 2008 Come lo facciamo 14-20 Case Studies 21-28 Prodotti utilizzati

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Il sistema di rilevazione dati per il controllo globale delle macchine di produzione

Il sistema di rilevazione dati per il controllo globale delle macchine di produzione 1 Il sistema di rilevazione dati per il controllo globale delle macchine di produzione Per automatizzare Ia raccolta dati di produzione e monitorare in tempo reale il funzionamento delle macchine, Meta

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Sistemi ERP e i sistemi di BI

Sistemi ERP e i sistemi di BI Sistemi ERP e i sistemi di BI 1 Concetti Preliminari Cos è un ERP: In prima approssimazione: la strumento, rappresentato da uno o più applicazioni SW in grado di raccogliere e organizzare le informazioni

Dettagli

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione.

ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. ALLEGATO al verbale della riunione del 3 Settembre 2010, del Dipartimento di Elettrotecnica e Automazione. COMPETENZE MINIME- INDIRIZZO : ELETTROTECNICA ED AUTOMAZIONE 1) CORSO ORDINARIO Disciplina: ELETTROTECNICA

Dettagli

Classificazioni dei sistemi di produzione

Classificazioni dei sistemi di produzione Classificazioni dei sistemi di produzione Sistemi di produzione 1 Premessa Sono possibili diverse modalità di classificazione dei sistemi di produzione. Esse dipendono dallo scopo per cui tale classificazione

Dettagli

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi IL GESTIONALE DEL FUTURO L evoluzione del software per l azienda moderna Gestirsi / Capirsi / Migliorarsi IL MERCATO ITALIANO L Italia è rappresentata da un numero elevato di piccole e medie aziende che

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Business Intelligence. Il data mining in

Business Intelligence. Il data mining in Business Intelligence Il data mining in L'analisi matematica per dedurre schemi e tendenze dai dati storici esistenti. Revenue Management. Previsioni di occupazione. Marketing. Mail diretto a clienti specifici.

Dettagli

Realizzare un architettura integrata di Business Intelligence

Realizzare un architettura integrata di Business Intelligence Realizzare un architettura integrata di Business Intelligence Un sistema integrato di Business Intelligence consente all azienda customer oriented una gestione efficace ed efficiente della conoscenza del

Dettagli

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis

Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis Sempre attenti ad ogni dettaglio Bosch Intelligent Video Analysis 2 Intervento immediato con Bosch Intelligent Video Analysis Indipendentemente da quante telecamere il sistema utilizza, la sorveglianza

Dettagli

Cos è la Businèss Intèlligèncè

Cos è la Businèss Intèlligèncè Cos è la Businèss Intèlligèncè di Alessandro Rezzani Il sistema informativo aziendale... 2 Definizione di Business Intelligence... 6 Il valore della Business Intelligence... 7 La percezione della Business

Dettagli

THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA

THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA SAP World Tour 2007 - Milano 11-12 Luglio 2007 THUN con ARIS: dall'ottimizzazione dei processi verso l enterprise SOA Agenda Presentazione Derga Consulting Enterprise SOA Allineamento Processi & IT Il

Dettagli

La Business Intelligence

La Business Intelligence Parte 1 La Business Intelligence Capitolo 1 Cos è la Business Intelligence 1.1 Il sistema informativo aziendale Sempre la pratica dev essere edificata sopra la buona teorica. Leonardo da Vinci Le attività,

Dettagli

ARTICOLO 61 MARZO/APRILE 2013 LA BUSINESS INTELLIGENCE 1. http://www.sinedi.com

ARTICOLO 61 MARZO/APRILE 2013 LA BUSINESS INTELLIGENCE 1. http://www.sinedi.com http://www.sinedi.com ARTICOLO 61 MARZO/APRILE 2013 LA BUSINESS INTELLIGENCE 1 L estrema competitività dei mercati e i rapidi e continui cambiamenti degli scenari in cui operano le imprese impongono ai

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali

ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali Cos è un progetto? Un iniziativa temporanea intrapresa per creare un prodotto o un servizio univoco (PMI - Project Management

Dettagli

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE???

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Opportunità di lavoro: ICT - Information and Communication Technology in Azienda Vendite Acquisti Produzione Logistica AFM SIA ICT

Dettagli

Manufacturing Execution Systems

Manufacturing Execution Systems Manufacturing Execution Systems Soluzioni per la gestione della produzione FAST SpA, azienda leader nel settore dell automazione industriale dal 1982, è in grado di affiancare alla fornitura di sistemi

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

DigitPA egovernment e Cloud computing

DigitPA egovernment e Cloud computing DigitPA egovernment e Cloud computing Esigenze ed esperienze dal punto di vista della domanda RELATORE: Francesco GERBINO 5 ottobre 2010 Agenda Presentazione della Società Le infrastrutture elaborative

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana Storie di successo Microsoft per le Imprese Scenario: Software e Development Settore: Servizi In collaborazione con Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

Dettagli

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione Piazza delle Imprese alimentari Viale delle Manifatture Via della Produzione PASSEPARTOUT MEXAL è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente

Dettagli

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:! Scrum descrizione I Principi di Scrum I Valori dal Manifesto Agile Scrum è il framework Agile più noto. E la sorgente di molte delle idee che si trovano oggi nei Principi e nei Valori del Manifesto Agile,

Dettagli

IT Service Management, le best practice per la gestione dei servizi

IT Service Management, le best practice per la gestione dei servizi Il Framework ITIL e gli Standard di PMI : : possibili sinergie Milano, Venerdì, 11 Luglio 2008 IT Service Management, le best practice per la gestione dei servizi Maxime Sottini Slide 1 Agenda Introduzione

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e'

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il continuous improvement ed e' ITIL v3 ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e' giusto che lo applichi anche a se' stessa... Naturalmente una

Dettagli

Utilizzato con successo nei più svariati settori aziendali, con Passepartout Mexal BP ogni utente può disporre di funzionalità

Utilizzato con successo nei più svariati settori aziendali, con Passepartout Mexal BP ogni utente può disporre di funzionalità PASSEPARTOUT MEXAL BP è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente flessibile, sia dal punto di vista tecnologico sia funzionale. Con più di

Dettagli

BOARD in Eisai: crescere con il Performance Management

BOARD in Eisai: crescere con il Performance Management BOARD in Eisai: crescere con il Performance Management Gli aspetti maggiormente apprezzabili nell utilizzo di BOARD sono la tempestività nel realizzare ambienti di analisi senza nessun tipo di programmazione

Dettagli

Corso Base ITIL V3 2008

Corso Base ITIL V3 2008 Corso Base ITIL V3 2008 PROXYMA Contrà San Silvestro, 14 36100 Vicenza Tel. 0444 544522 Fax 0444 234400 Email: proxyma@proxyma.it L informazione come risorsa strategica Nelle aziende moderne l informazione

Dettagli

L idea. 43.252.003.274.489.856.000 combinazioni possibili di cui solo una è quella corretta

L idea. 43.252.003.274.489.856.000 combinazioni possibili di cui solo una è quella corretta Guardare oltre L idea 43.252.003.274.489.856.000 combinazioni possibili di cui solo una è quella corretta I nostri moduli non hanno altrettante combinazioni possibili, ma la soluzione è sempre una, PERSONALIZZATA

Dettagli

BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT

BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT BOLOGNA BUSINESS school Dal 1088, studenti da tutto il mondo vengono a studiare a Bologna dove scienza, cultura e tecnologia si uniscono a valori, stile di

Dettagli

OLTRE IL MONITORAGGIO LE ESIGENZE DI ANALISI DEI DATI DEGLI ASSET MANAGER

OLTRE IL MONITORAGGIO LE ESIGENZE DI ANALISI DEI DATI DEGLI ASSET MANAGER Asset Management Day Milano, 3 Aprile 2014 Politecnico di Milano OLTRE IL MONITORAGGIO LE ESIGENZE DI ANALISI DEI DATI DEGLI ASSET MANAGER Massimiliano D Angelo, 3E Sales Manager Italy 3E Milano, 3 Aprile

Dettagli

La suite Dental Trey che semplifica il tuo mondo.

La suite Dental Trey che semplifica il tuo mondo. La suite Dental Trey che semplifica il tuo mondo. impostazioni di sistema postazione clinica studio privato sterilizzazione magazzino segreteria amministrazione sala di attesa caratteristiche UNO tiene

Dettagli

Caratteristiche raccomandate del Network in un progetto di Home Automation

Caratteristiche raccomandate del Network in un progetto di Home Automation Caratteristiche raccomandate del Network in un progetto di Home Automation Uno degli aspetti progettuali più importanti di un sistema Control4 è la rete. Una rete mal progettata, in molti casi, si tradurrà

Dettagli

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

PMI. Management Maturity Model, OPM3 Second Edition 2008

PMI. Management Maturity Model, OPM3 Second Edition 2008 Nuovi standard PMI, certificazioni professionali e non solo Milano, 20 marzo 2009 PMI Organizational Project Management Maturity Model, OPM3 Second Edition 2008 Andrea Caccamese, PMP Prince2 Practitioner

Dettagli

IMPORTANZA DELLE PREVISIONI TECNOLOGICHE NEI PROCESSI PRODUTTIVI 1

IMPORTANZA DELLE PREVISIONI TECNOLOGICHE NEI PROCESSI PRODUTTIVI 1 1. Introduzione IMPORTANZA DELLE PREVISIONI TECNOLOGICHE NEI PROCESSI PRODUTTIVI 1 Ottobre 1970 Caratteristica saliente dell'epoca odierna sembra essere quella della transitorietà. E- spansione, andamento

Dettagli

Schema Tipologia a Stella

Schema Tipologia a Stella Cos'e' esattamente una rete! Una LAN (Local Area Network) è un insieme di dispositivi informatici collegati fra loro, che utilizzano un linguaggio che consente a ciascuno di essi di scambiare informazioni.

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

PASSIONE PER L IT PROLAN. network solutions

PASSIONE PER L IT PROLAN. network solutions PASSIONE PER L IT PROLAN network solutions CHI SIAMO Aree di intervento PROFILO AZIENDALE Prolan Network Solutions nasce a Roma nel 2004 dall incontro di professionisti uniti da un valore comune: la passione

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

DOCUMENTO TECNICO Un sistema più intel igente per control are i punti vendita: sorveglianza IP

DOCUMENTO TECNICO Un sistema più intel igente per control are i punti vendita: sorveglianza IP DOCUMENTO TECNICO Un sistema più intelligente per controllare i punti vendita: sorveglianza IP Guida descrittiva dei vantaggi dei sistemi di gestione e di sorveglianza IP per i responsabili dei punti vendita

Dettagli

Consulenza tecnologica globale

Consulenza tecnologica globale Orientamento al cliente Innovazione Spirito di squadra Flessibilità Un gruppo di professionisti dedicati alle imprese di ogni settore merceologico e dimensione, capaci di supportare il Cliente nella scelta

Dettagli

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI Prefazione Autori XIII XVII Capitolo 1 Sistemi informativi aziendali 1 1.1 Introduzione 1 1.2 Modello organizzativo 3 1.2.1 Sistemi informativi

Dettagli

Corso di Specializzazione IT SERVICE MANAGEMENT

Corso di Specializzazione IT SERVICE MANAGEMENT Corso di Specializzazione IT SERVICE MANAGEMENT Con esame ufficiale di certificazione ITIL V3 Foundation INTRODUZIONE Un numero crescente di organizzazioni appartenenti ai più diversi settori produttivi

Dettagli

Sizing di un infrastruttura server con VMware

Sizing di un infrastruttura server con VMware Sizing di un infrastruttura server con VMware v1.1 Matteo Cappelli Vediamo una serie di best practices per progettare e dimensionare un infrastruttura di server virtuali con VMware vsphere 5.0. Innanzitutto

Dettagli

Completezza funzionale KEY FACTORS Qualità del dato Semplicità d'uso e controllo Tecnologie all avanguardia e stabilità Integrabilità

Completezza funzionale KEY FACTORS Qualità del dato Semplicità d'uso e controllo Tecnologie all avanguardia e stabilità Integrabilità Armundia Group è un azienda specializzata nella progettazione e fornitura di soluzioni software e consulenza specialistica per i settori dell ICT bancario, finanziario ed assicurativo. Presente in Italia

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Integrazione tra sistemi MES e ERP

Integrazione tra sistemi MES e ERP ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA SEDE DI CESENA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze e Tecnologie Informatiche Integrazione tra sistemi MES e ERP Relazione

Dettagli