UNIVERSITÀ DEGLI STUDI DI PADOVA. Corso di Laurea Specialistica in Ingegneria Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DI PADOVA. Corso di Laurea Specialistica in Ingegneria Informatica"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI PADOVA Facoltà di Ingegneria dell'informazione Corso di Laurea Specialistica in Ingegneria Informatica Aree di misura ed Indicatori per l'applicazione open source Spago4Q: estrazione dei dati per il monitoraggio del processo di sviluppo del software Relatore: prof. Michele Moro Relatore Aziendale: dott. Davide Dalle Carbonare Laureando: Nicola Salier Anno Accademico

2 empty

3 empty Ai miei genitori

4 empty

5 Ringraziamenti empty Ringrazio i miei genitori, che in questi cinque anni hanno sempre cercato di aiutarmi in ogni momento. Li ringrazio per avermi sostenuto, aiutato, ascoltato, consigliato e per avermi concesso la loro ducia qualunque scelta facessi. Ringrazio Erika, mia sorella, che mi ha sempre aiutato in tutto, nel cammino universitario e in quello personale, e che inne, nonostante gli impegni di lavoro, ha saputo aiutarmi anche nella stesura di questa tesi. Ringrazio mia zia Amelia, che ha sempre pregato per me anché la vita mi sorridesse. E in qualche modo credo che lo stia facendo anche ora. Ringrazio la mia compagnia, per i weekend di svago trascorsi in questi ultimi anni, e le persone che hanno permesso che questa compagnia si formasse. Ringrazio Mitia, per la sua amicizia, i suoi consigli e il suo appoggio in ogni situazione. Ringrazio Gian, per tutti i momenti in cui mi ha aiutato e per quelli in cui mi ha saputo ascoltare, in un modo che nessuna Università ti può insegnare. Ringrazio i miei compagni d'appartamento, per avermi sopportato in questi anni di convivenza. Ringrazio Gabriele Ruatti per aver permesso che svolgessi lo stage che ha portato alla stesura di questa tesi, Davide Dalle Carbonare, che come relatore aziendale ha saputo dimostrarsi paziente in ogni situazione e si è sempre rivelato una presenza costante per aiutarmi durante lo svolgimento dello stage e nella stesura della tesi, Sergio Oltolina, che con la sua esperienza ha contribuito alla correzione dei contenuti di questa tesi, Nicola Bertazzo e tutti i ragazzi del gruppo Engineering. Ringrazio il prof. Michele Moro per la sua disponibilità e il supporto fornitomi in questi mesi.

6

7 Indice Sommario Introduzione 2 1 Engineering Ingegneria Informatica Divisione di mercato Scenario misure ed esigenze aziendali 11 3 Il processo di misura Il modello CMMI Spago4Q - Requisiti iniziali Requisiti Caratteristiche Contesto Infrastruttura di supporto Analisi metodologica degli strumenti di supporto Goal Question Metric Metriche e soglie per l'area Project Management Piattaforma e strumenti per lo sviluppo L'applicazione Spago4Q Componenti Meta-modello per la gestione dei KPI Meta-modello per gli estrattori

8 6.2 Strumenti per la gestione di progetto Microsoft Project Cardinis Ganttproject Microsoft Project Server Rappresentazione indicatori 57 8 Implementazione del sistema Analisi di Microsoft Project Web Services Costruzione estrattore Integrazione nell'ambiente Spago4Q Rappresentazione graca delle metriche Report Documenti KPI Conclusioni 97 A Codice sorgente 99 A.1 Estrattore A.2 Stubs Bibliograa 119

9 Sommario L'oggetto della tesi riguarda lo studio di metriche per il monitoraggio del processo di sviluppo del software attraverso la piattaforma software Spago4Q (SpagoBI for Quality). Con questo obiettivo è stata svolta un'attività di stage presso l'azienda Engineering S.p.A. durante la quale è stata estesa una soluzione open source esistente, fornendo un supporto per il software di project management Microsoft Project In particolare è stato implementato un estrattore dati che interfacciandosi con Project Server recupera le informazioni di interesse per il calcolo delle metriche e le veicola verso Spago4Q. Quest'ultima è una piattaforma per valutare l'adeguata maturità ed ecacia dei processi di sviluppo del software e dei prodotti realizzati. Attraverso l'uso di tecniche non invasive e indipendenti dall'ambiente adottato Spago4Q estrae i dati e analizza le misure raccolte, fornendo poi report graci utili alla valutazione del progresso di progetto. Tale sistema, che si appoggia all'infrastruttura di SpagoBI, un'altra soluzione open source, permette l'estensione delle proprie funzionalità da parte di sviluppatori esterni, impostando soltanto le linee guida che devono essere seguite, così da facilitare l'integrazione delle nuove parti con il sistema stesso. Una volta completata la costruzione della classe estrattore si è passati all'inserimento di questa nel sistema Spago4Q, attraverso la denizione dell'ambiente operativo necessario per il corretto popolamento del data warehouse aziendale. Inne, dai dati raccolti sono stati creati appositi documenti analitici che rappresentano le informazioni in una forma chiara e di rapida comprensione, utili alla valutazione dello stato di avanzamento del progetto e come supporto per l'individuazione delle azioni di miglioramento dei processi.

10 2

11 Introduzione L'azienda Engineering svolge da anni un ruolo leader nel campo dell'information technology (IT), attraverso lo sviluppo di prodotti software e come consulente strategico, proponendo soluzioni innovative e all'avanguardia per le piccole e medie imprese che vogliono migliorare i processi di sviluppo del software attraverso procedure organizzative complesse. In questo contesto, in cui si ricerca un incremento continuo della produttività, della qualità e dell'ecacia dei processi di sviluppo adottati, risulta evidente l'importanza della misurazione dei processi di produzione. Le varie fasi che portano al rilascio di un nuovo prodotto software sul mercato, infatti, devono essere monitorate costantemente, e i dati ottenuti attraverso l'analisi vanno mantenuti come fonte di informazione per i progetti successivi. In questo modo, basandosi sull'esperienza passata, i processi possono evolvere in modo da ottenere i risultati migliori. All'interno di questo ciclo di miglioramento si inserisce l'approccio di analisi e gestione della qualità SPI (Software Process Improvement) basato su framework di valutazione esterni, quali l'iso 9001:2000 o il CMMI. Tra i concetti che stanno alla base del CMMI, in particolare, vi sono cinque livelli di maturità che caratterizzano l'azienda in base alle capacità organizzative e produttive che dimostra. Inoltre il CMMI fornisce le linee guida che possono essere seguite al ne di migliorare la qualità globale e l'ecacia della prodotti realizzati. Spago4Q si inserisce in questo settore come piattaforma open-source per la valutazione della maturità e dell'ecacia dei processi di sviluppo del software. Implementato su un application server compatibile con la tecnologia Java, come ad esempio Apache Tomcat, Spago4Q, attraverso tecniche non invasive e indipendenti dagli strumenti utilizzati in fase di sviluppo, permette la raccolta di dati e la valutazione dei progressi in base 3

12 all'analisi degli indicatori di processo. Nell'infrastruttura che costituisce il sistema Spago4Q la parte iniziale del processo di analisi è costituita dagli estrattori di metriche. Questi componenti software, interfacciandosi direttamente con i software di gestione progetti utilizzati dai manager aziendali, ricavano i valori degli indicatori di interesse per l'azienda, li trasformano in base alle speciche degli strumenti analitici di Spago4Q e alimentano un data warehouse aziendale in cui sono conservati i dati storici ricavati da ogni progetto. L'argomento della tesi è centrato proprio sullo sviluppo di un estrattore dati per il software di project management Microsoft Project Tale estrattore è stato sviluppato utilizzando il linguaggio Java, in modo da garantire la massima compatibilità con la piattaforma Spago4Q. Inoltre è stato utilizzato Axis, estensione per la piattaforma Eclipse, che si è rivelato un notevole supporto nella creazione di client software per servizi web basati sul protocollo di comunicazione SOAP e le descrittori WSDL. La componente server del sistema Microsoft (Project Server 2007), infatti, integra un insieme di web services, ai quali è possibile accedere da postazioni remote, che forniscono delle funzionalità utili per il monitoraggio dei progetti e l'amministrazione delle risorse dell'organizzazione. Anche le procedure di autenticazione al sistema, necessaria per poter accedere al server e a tutti i servizi, sono comprese tra i servizi disponibili. Utilizzando i metodi messi a disposizione da alcuni di questi web services sono state estratte le informazioni relative ai progetti. I dataset ottenuti in questo modo, simili a documenti XML, sono stati analizzati e da questi sono stati ricavati soltanto gli indicatori di interesse, riguardanti la parte di gestione progetti del processo di sviluppo. Tali KPI (Key Process Indicator), dopo essere stati trasformati opportunamente e sottoposti al componente analitico di Spago4Q, sono stati memorizzati all'interno del data warehouse aziendale. Una volta completato il popolamento del data warehouse si è passati alla creazione dei documenti analitici e dei report graci, per rappresentare le informazioni estratte in una forma esplicativa e facilmente comprensibile, in modo da percepire immediatamente quale fosse lo stato di avanzamento dei progetti. Per la realizzazione di questi documenti è stato utilizzato il motore di reportistica JasperReports, integrato nello strumento di sviluppo ireport, 4

13 il quale mette a disposizione dell'utente un'interfaccia graca per la creazione del layout delle pagine. Inne i report sono stati integrati nella piattaforma Spago4Q, sono stati deniti gli indicatori, le soglie, l'ambiente di valutazione delle metriche, e sono stati costituiti i collegamenti tra questi elementi. Il risultato nale sono i documenti KPI, che comprendono un sistema di calcolo delle metriche per fornire le rappresentazioni grache corrette secondo le soglie di riferimento denite per ciascun indicatore. 5

14 6

15 Capitolo 1 Engineering Ingegneria Informatica Engineering è un player globale e il primo gruppo di system integration in Italia, leader nell'oerta integrata e completa lungo l'intera catena del valore del software: progettazione, sviluppo, servizi di outsourcing, prodotti e soluzioni verticali proprietarie, consulenza IT e strategica, su misura per i modelli di business dei clienti su tutti i mercati. Il gruppo Engineering opera con 7 business unit: Finance Pubblica Amministrazione Centrale Pubblica Amministrazione Locale Sanità Energy & Utilities Industria & Servizi Telecom supportate da 6 centri competenza trasversali rispetto alle business unit e ad elevata specializzazione e dalla Direzione Ricerca e Innovazione che ha il 7

16 Figura 1.1: L'approccio al mercato doppio ruolo di promuovere la ricerca sul software a livello internazionale e trasferire l'innovazione al ciclo produttivo delle strutture di business. Come certicazione di qualità Engineering è stata tra le prime società in Italia ad adottare agli inizi degli anni '90 la certicazione dei processi di produzione a norma ISO Dal 1996 la società ha adottato la certicazione AQAP 2110/160, standard NATO. Nell'ambito dello sviluppo software il gruppo detiene la certicazione al livello 3 secondo il modello CMMI (Capability Maturity Model Integration, version 1.2). Inne la sede di Pont Saint Martin del Gruppo, che ospita il data center, possiede dal 2006 la certicazione ISO 27001:2005 per i sistemi di gestione della sicurezza nelle tecnologie dell'informazione. 1.1 Divisione di mercato Il Gruppo ha un'organizzazione per divisioni di mercato specializzate nell'offering verticale e società operative autonome secondo gli obiettivi aziendali e diversicate per linee di competenza. All'interno della società si possono identicare diversi centri di competenza: SAP 8

17 Pont St. Martin, un centro europeo di managed operations Enterprise Content Management Automazione e Controlli Sicurezza Open Source e Business Intelligence In particolare è attraverso la collaborazione con il centro Open Source e Business Intelligence che si è svolto il lavoro esposto in questa tesi. Le principali competenze oerte dal Centro sono legate all'iniziativa SpagoWorld (http://www.spagoworld.org) che conta circa 20 progettisti e sviluppatori di Engineering attivi, nonché allo sviluppo di componenti e soluzioni open source, anche in ambito Business Intelligence (http://www.spagobi.org), a competenze speciche in ambito SOA/BPM, Enterprise Portals e Enterprise Content Management. Completano il quadro le competenze derivanti dalla gestione di comunità globali (quali Consorzio OW2, QualiPSo, NESSI OS Working Group, SpagoWorld), dalla contribuzione a progetti open source quali Eclipse STP/Intermediate Model, Apache ServiceMix, exo platform, Mondrian, Harvard JHOVE e dallo sviluppo di soluzioni infrastrutturali che applicative basate su Java EE, RedHat Enterprise Linux, Suse Novell Linux, JBoss AS, JOnAS, Ingres, Liferay, exo, JetSpeed, PHPNuke, Alfresco, Struts, Spring, JSF, ServiceMix, PEtALS, Lucene, Carrot2, CAS, OFBiz, OLAT, Talend, JasperSoft. La divisione di mercato che si occupa di Ricerca e Innovazione ha un doppio ruolo all'interno del ciclo produttivo del gruppo Engineering. Le risorse sviluppano innovazione e grazie alle sinergie operative con le business unit di mercato trasferiscono i risultati della ricerca nella fase progettuale verso i clienti, generando valore e nuove opportunità per le strategie ed i modelli di business richiesti dal mercato. La Direzione Ricerca e Innovazione ha denito una strategia di approccio fondata sull'utilizzo, la realizzazione e l'integrazione di soluzioni open source come opportunità di business e tecnologiche nell'oerta ai clienti. Per questo è strettamente correlata al centro di competenza Open Source e Business Intelligence anche attraverso la promozione e il supporto alle soluzioni 9

18 Figura 1.2: Il ruolo della Direzione Ricerca & Innovazione gestionali raccolte sotto il brand SpagoWorld, utilizzate in Italia e all'estero come piattaforma di riferimento per lo sviluppo di applicazioni in progetti per Pubblica Amministrazione, Finanza e Industria. 10

19 Capitolo 2 Scenario misure ed esigenze aziendali All'interno di un'azienda come Engineering la problematica della misurazione del processo di produzione del software assume un'importanza rilevante al ne di migliorare l'ecacia degli strumenti di pianicazione e controllo, e per questo è necessario applicare un ciclo di miglioramento continuo che favorisca l'incremento della qualità, della produttività e allo stesso tempo riduca i tempi di sviluppo. Un processo di sviluppo software per un'organizzazione IT è un insieme di processi che prevedono l'esecuzione delle diverse attività coinvolte nella realizzazione di un sistema software, processi che includono la conoscenza di cosa è accaduto in seguito allo sviluppo di precedenti progetti e quindi le informazioni o le consuetudini che hanno portato al successo e/o che consentono di evitare gli errori connessi alle attività di realizzazione. La caratteristica di tali processi è di evolvere nel tempo come conseguenza dell'evoluzione della tecnologia, della conoscenza, delle capacità delle persone e, in generale, di altre modiche di contesto (esigenze del mercato, altri attori coinvolti, ecc.). Sulla base della conoscenza e dell'esperienza i processi possono, o meglio, devono, essere messi a punto per consentire di ottenere i risultati migliori; questa messa a punto è ciò che costituisce il Software Process Improvement (SPI - miglioramento dei processi software). Poiché, per migliorare, un'organizzazione ha bisogno di: 11

20 conoscere la propria situazione attuale poter riutilizzare le conoscenze acquisite sul processo si rende evidente la necessità di stabilire un processo di produzione, tenerlo sotto controllo e raccogliere delle misure in modo da vericare il raggiungimento di alcuni obiettivi quanticabili. Tale attività di misura deve però essere adattata a diversi fattori, tra i quali il contesto, gli obiettivi preposti e chi ne utilizza i risultati. Ne consegue quindi che per aumentare la propria competitività un'azienda di produzione del software debba passare attraverso il miglioramento del suo processo di sviluppo e che quest'ultimo vada perfezionato in maniera incrementale e continua. Figura 2.1: Ciclo di miglioramento aziendale Il ciclo di miglioramento inizia con la caratterizzazione dell'azienda, dei suoi modelli di sviluppo e di obiettivi misurabili utili alla successiva valutazione di sistema. Per ogni singolo progetto si prosegue con: caratterizzazione e denizione di obiettivi misurabili in modo da individuare le opportune caratteristiche che consentano di classicarlo e raccogliere dati utilizzabili come feedback 12

21 scelta di un modello per il processo di sviluppo e di metodi, tecniche e strumenti utili per la sua denizione all'interno dei modelli di sviluppo aziendali esecuzione del processo di sviluppo con conseguente realizzazione del prodotto e parallela raccolta dei dati (di processo e di prodotto) richiesti dagli obiettivi ssati, dati che attraverso un'analisi in tempo reale forniscono immediati feedback al processo. Successivamente si torna a livello dell'azienda per un'analisi dei dati raccolti al ne di valutare i modelli scelti. Attraverso l'immissione di tali dati all'interno di un database aziendale è inoltre possibile consolidare la conoscenza acquisita in modo da riutilizzarla per successive correzioni dei modelli. Si possono individuare due diversi approcci di SPI: vengono analizzati i processi eettivamente praticati nell'organizzazione che vengono migliorati in funzione della distanza individuata rispetto agli obiettivi ssati. SPI interno: framework based SPI: viene utilizzato un framework esterno rispetto al quale analizzare i processi aziendali e che consente di individuare le azioni da intraprendere nel programma di miglioramento. I framework più utilizzati, già deniti anche come sistemi di conformità ad un insieme di regole, sono l'iso 9001:2000 ed il Capability Maturity Model Integration(CMMI). Mentre il primo denisce principalmente uno stadio qualitativo cui tendere, il secondo indica anche i passi del percorso di miglioramento da intraprendere per raggiungere il risultato ssato. Nel caso si decida di utilizzare un framework esterno è necessario utilizzarlo al meglio piuttosto che modicarlo. È inoltre fondamentale individuare misure semplici da raccogliere e che forniscano un immediato valore alla gestione del progetto, sia perché vi sia un incentivo alla loro raccolta sia perché un primo miglioramento sia visibile da subito. Engineering, che ha da tempo sviluppato un proprio Sistema di Qualità che presuppone la standardizzazione dei processi di sviluppo software, ha adottato l'approccio framework based, consolidandolo nelle diverse certicazioni 13

22 ottenute in ambito ISO 9001:2000 e NATO AQAP 110 e 150. Oggi ha individuato la certicazione secondo lo standard CMMI come elemento di ulteriore qualicazione e dierenziazione rispetto ad un mercato sempre più competitivo, dove è necessario emergere puntando sulla qualità dei propri prodotti piuttosto che sulla quantità: con questo obiettivo, ha rivisto il proprio Sistema di Qualità rendendolo ancora più adattabile alle mutate esigenze del mercato. 14

23 Capitolo 3 Il processo di misura Per realizzare il ciclo di miglioramento dei processi aziendali è necessario avviare un processo di misura la cui generica rappresentazione è la seguente: Figura 3.1: Processo di misura Le attività rappresentate in gura 3.1 che caratterizzano il processo di misura sono: 15

24 Pianicazione: comprende la denizione degli obiettivi di misura e la denizione di procedure organizzative e tools di infrastruttura che rendano possibile la raccolta dei dati. Realizzazione: comprende l'esecuzione del processo a cui segue la raccolta dei dati, la storicizzazione in un database aziendale e l'analisi dei dati raccolti. Miglioramento: comprende la valutazione delle misure associate agli obiettivi e l'attivazione delle azioni correttive necessarie al miglioramento del processo analizzato. Tale rappresentazione è anche allineata con quanto richiesto dai framework di qualità CMMI. 3.1 Il modello CMMI CMMI (Capability Maturity Model Integration) è un modello dei processi che possono essere utilizzati per l'acquisizione, lo sviluppo e la manutenzione di prodotti software, e per l'erogazione di servizi. È l'evoluzione del CMM for Software, pubblicato la prima volta nel 1993 dal SEI, Software Engineering Institute della Carnegie Mellon University, Pittsburgh, USA, che lo ha realizzato su richiesta del DOD (Dept. Of Defense, USA). Nella versione attuale integra e completa tre precedenti e distinti modelli: 1. Capability Maturity Model for Software (SW-CMM) v2.0 draft C [SEI 1997] 2. Systems Engineering Capability Model (SECM) [EIA 1998] 3. Integrated Product Development Capability Maturity Model (IPD- CMM)v0.98 [SEI1997a] CMMI è un insieme di regole ben denite e di best practices, utilizzabili per scopi diversi: dall'azienda, per denire una linea guida di modalità operative e/o per migliorare la ecienza ed ecacia dei propri processi lavorativi, dal Cliente per valutare la capacità potenziale di un fornitore di rispettare dei requisiti. Alla base del modello sono alcuni concetti chiave: 16

25 Process Area: insieme di attività e procedure tra loro correlate, eseguite collettivamente per raggiungere un obiettivo specico. Ogni Process Area comprende: degli obiettivi di processo (goals), specici e generali, da soddisfare; delle practices associate ai propri goals, cioè le attività che devono essere eseguite per raggiungere tali goals. Process Capability: è la capacità di uno specico processo di assicurare con continuità ed adabilità il livello di qualità atteso nei prodotti in uscita. Il livello di capability di un processo corrisponde: al grado di accuratezza con il quale in una organizzazione quel processo viene denito e poi messo in atto, controllato e misurato nella sua ecienza ed ecacia (capacità di produrre software con caratteristiche conformi alle aspettative); al livello di padronanza del processo nella organizzazione, al livello con cui questa padronanza è diusa e consolidata e permette di predire con adabilità il risultato del processo lavorativo. Maturity Level: La maturità di una organizzazione è il livello di capability raggiunto in un insieme predenito di processi. Nel CMMI non vengono considerati, al ne di determinare il livello di maturità complessivo dell'organizzazione, tutti i possibili processi che possono fare parte di una comune metodologia di sviluppo e gestione del software, ma solo alcuni di essi, considerati chiave ai ni del poter esprimere un giudizio sulla capacità lavorativa dell'organizzazione. I livelli di maturità deniti dal CMMI sono 5 (vedi gura 3.2). Ogni livello rappresenta uno stato di maturità raggiunto dalla organizzazione, che corrisponde alla capacità di attuare in modo controllato determinate pratiche. Process Performance: si intende la misura dei risultati eettivamente raggiunti attuando un determinato processo in uno specico progetto, rilevati a consuntivo. Le performances di una organizzazione in uno speci- 17

26 co progetto possono non rappresentare quelle potenzialmente raggiungibili dalla stessa organizzazione (la capability), in quanto il progetto può avere, ad esempio, dei vincoli di contesto che limitano le capacità dell'organizzazione (budget, risorse, obiettivi). Figura 3.2: La scala di maturità di una organizzazione Il CMMI propone due possibilità di rappresentazione della qualità dei processi: continuous e staged. Il modello continuous (continuo) descrive un processo in due dimensioni. Ciascuna area del processo viene valutata formalmente rispetto a una serie di obiettivi e pratiche sulla base di 6 livelli di capacità dell'organizzazione. La rappresentazione staged (a fasi) è quella adottata da Engineering: valuta il livello di maturità complessivo di un'organizzazione, calcolato sulla base della sua capacità di gestire un insieme di processi (le 25 process areas del modello). Le caratteristiche dei due approcci sono presentate comparativamente nella Tabella 3.1: 18

27 Rappresentazione a fasi Le aree di processo sono organizzate per maturity levels I progressi sono misurati utilizzando i maturity levels. I maturity levels: misurano l'istituzionalizzazione di un insieme di processi nell'intera azienda; vanno da 1 a 5 Rappresentazione Continua Le aree di processo sono organizzate per categorie I progressi sono misurati utilizzando i capability levels. I capability levels: misurano l'istituzionalizzazione di un particolare processo nell'intera azienda; vanno da 0 a 5 C'è solo un tipo di procedure speciche; non è utilizzato il concetto di procedure base e avanzate. Sono utilizzate tutte le procedure speciche, eccetto quando, nella rappresentazione continua, compare la coppia procedure base-avanzate, nel qual caso sono utilizzate solo quelle avanzate Per organizzare le procedure generiche sono utilizzate le Common Features Solo a livello 2 e 3 sono utilizzate le procedure generiche Ci sono due tipi di procedure speciche: base ed avanzate. Sono utilizzate tutte le procedure speciche I capability levels sono utilizzati per organizzare le procedure generiche Tutte le procedure generiche sono incluse in ogni area di processo Tabella 3.1: Confronto tra rappresentazioni del CMMI I livelli del modello staged sono: Livello 1 (Iniziale) - i processi non sono predeniti e i risultati non sono prevedibili. Il processo di produzione è instabile e disorganizzato, implicitamente denito di volta in volta da chi lo realizza, il usso delle attività è caotico. Solo l'eroismo delle singole persone è in grado di portare al successo i progetti Livello 2 (Gestito) - rappresenta un processo di produzione caratterizzato da performance ripetibili. Il processo di produzione è preventivamente pianicato, realizzato, monitorato, e controllato rispetto ad obiettivi di business predeniti 19

28 Livello 3 (Denito) - il lavoro è eettuato applicando processi 'standardizzati' dell'azienda. Il processo di produzione è fondato su ben denite metodologie, tecniche e tecnologie, sia per ciò che riguarda gli aspetti gestionali che per ciò che riguarda gli aspetti operativi; esiste un unico modello di riferimento per l'organizzazione, la gestione e la realizzazione di progetti Livello 4 (Gestito quantitativamente) - Il processo viene controllato usando tecniche quantitative e statistiche. Gli obiettivi di business dell'organizzazione sono controllati attraverso una loro comprensione in termini statistici Livello 5 (Ottimizzato) - è istituzionalizzata una politica di gestione della qualità, ovvero l'uso di metodi quantitativi, fondati su dati e misure ottenute per feedback dai processi realizzati, per il miglioramento del processo stesso, anche attraverso l'introduzione controllata di nuove metodologie, tecniche e tecnologie Figura 3.3: L'architettura del modello CMMI (Staged) 20

29 Capitolo 4 Spago4Q - Requisiti iniziali Spago4Q è un sistema per il miglioramento del processo di sviluppo Engineering con attività di raccolta dati e misura attraverso tecniche non invasive rispetto ai metodi e tools utilizzati in sede di sviluppo, che consentano di ottenere nel tempo l'adeguata maturità dei processi di sviluppo. Il sistema è stato costruito in modo da risultare estremamente essibile, reattivo ed adattabile a diversi contesti organizzativi. Inoltre la soluzione può essere diusa, in quanto distribuita come open source secondo la licenza GNU LGPL. In questo modo, grazie alla libertà di utilizzo che viene oerta, possano usufruirne anche le piccole medie imprese, che incontrano dicoltà nel dotarsi di procedure organizzative complete e metodi sosticati di misura. 4.1 Requisiti La soluzione individuata si basa su alcuni requisiti che, come si vedrà anche in seguito, possono essere soddisfatti con soluzioni facilmente adattabili a diversi contesti organizzativi e di progetto. In particolare i requisiti che una soluzione come Spago4Q deve rispettare sono: non è vincolante il tipo di processo di sviluppo adottato il processo di sviluppo deve essere supportato in tutte le fasi da tools i tools devono essere standard, ossia devono fornire un insieme di caratteristiche adeguate ad uno specico compito 21

30 la raccolta dei dati deve essere automatica, non invasiva e deve agire in background il tipo, numero e frequenza di raccolta dati deve essere congurabile. Elemento innovativo Innovazione proposta Vantaggi Soluzione adattabile a diversi contesti organizzativi Modello organizzativo di supporto essibile norme dierenziate per ambito progettuale scelta del tool di supporto più adatto Soluzione non invasiva Operatività in background con sistema ad elevata congurabilità Estensione a sistemi complessi di valutazione Modellazione predisposta per un'estensione verso un sistema di valutazione e calibratura complesso Processo di sviluppo Processo di sviluppo EwebMO, evolutivo/incrementale a pratiche agili) non si interferisce nel normale lavoro delle persone, né si chiede un loro intervento maggiore adabilità (integrità e correttezza) dei dati rilevati utilizzo delle misure per la calibratura dei parametri di supporto ai modelli aziendali attenzione ai requisiti del sistema adattamento continuo delle features del prodotto agli obiettivi di business elevata qualità della soluzione Tabella 4.1: Aspetti innovativi di Spago4Q Come mostrato nella tabella 4.1 gli elementi innovativi introdotti dalla soluzione Spago4Q riguardano essenzialmente: elevata adattabilità a diversi contesti organizzativi: la necessità di essere fortemente essibile rispetto alle esigenze e reattiva ai cambiamenti spinge Spago4Q ad appoggiarsi ad un modello organizzativo di supporto in cui le procedure organizzative siano dierenziate per ambito progettuale e sia fornita un'ampia disponibilità di tools di supporto che consentano la scelta del tool più adatto. non invasività della soluzione: Spago4Q reperisce le misure di riferimento del processo di sviluppo con azione diretta sui data base di supporto dei vari servizi oerti dai tools di sviluppo (data base di progetto) 22

31 senza interferire nel normale lavoro delle persone, né richiedere un loro intervento. Tali informazioni vengono estratte ad intervalli temporali deniti e ltrate in modo da garantire gli aspetti legati alla privacy (tecniche di ltering, replacement e data obfuscation). È garantita anche la sicurezza nell'accesso ai dati raccolti, grazie sia alla protezione intrinseca nella Intranet aziendale sia alla presenza di un servizio di Identity&Access Management al ne di assicurare che chiunque acceda ai dati sia precisamente autenticato ed autorizzato. estendibilità a sistemi complessi di valutazione: Spago4Q permette una agevole estensione ad un sistema di valutazione completo che attraverso la denizione di un data model di processo, la costruzione di procedure ETL (Extract, Transform and Load) e opportuni sistemi di regole, consenta l'inserimento dei dati in un data-mart da cui procedere ad eettuare le diverse analisi, tra cui, appunto, la calibratura dei parametri aziendali. processo di sviluppo: l'approccio utilizzato in fase di sviluppo è di tipo evolutivo/incrementale. In questo modo, attraverso l'uso di pratiche agili, è possibile garantire attenzione sui requisiti di sistema, un adattamento continuo delle caratteristiche del prodotto a quelli che sono gli obiettivi di business nonché un'elevata qualità della soluzione. 4.2 Caratteristiche Vedremo ora come Spago4Q soddisfa i requisiti per rappresentare una soluzione ecace anche presso altre realtà aziendali. Prescrittività: la forza di tutte le organizzazioni che operano nel mercato del software risiede nella loro essibilità ed in particolare nella capacità di adattare e modicare i propri processi alla mutevole realtà dei mercati moderni. Se un certo livello di prescrittività è un vantaggio in quanto semplica l'analisi dei requisiti e standardizza i processi favorendone la razionalizzazione e la gestione, quando viene inserita in un contesto esistente rischia di introdurre rigidità nel sistema con la conseguenza di 23

32 una minore reattività all'evolvere delle esigenze del mercato; nel caso dell'inserimento in un nuovo contesto invece può richiedere profonde mutazioni nel tessuto organizzativo aziendale che potrebbero produrre fallimentari implementazioni della sistema, e quando pure tale processo abbia successo, può far perdere parte della essibilità aziendale come nel caso precedente. Le procedure organizzative di supporto a Spago4Q devono pertanto adeguarsi alla struttura ed organizzazione dell'azienda rinunciando, in parte, alla propria prescrittività, e garantendo di contro una maggiore essibilità ed adattabilità alla realtà aziendale. Questo è assicurato dall'uso di procedure a bassa prescrittività, modelli e pratiche di supporto e dalla presenza di una varietà di processi di riferimento contestualizzabili. Modicabilità: il processo produttivo e quindi tutti i suoi sistemi di supporto devono tenere conto della essibilità intrinseca di una azienda di sviluppo software e deve essere pronto ad adattarsi ai cambiamenti aziendali. Per questo la progettazione del sistema è orientata agli oggetti ed utilizza un database di supporto volto a facilitare la raccolta e la distribuzione delle informazioni sul sistema stesso. 4.3 Contesto Il contesto aziendale in cui si inserisce Spago4Q, rappresentato in gura 4.1, è essenzialmente costituito da: Procedure (organizzative e tecniche) e strumenti a supporto dello sviluppo: in sintesi, strumenti e mezzi che a partire da una metodologia individuano un processo di sviluppo; Il processo di sviluppo, che coinvolge, oltre a quanto sopra individuato, le persone che realizzano il software le quali introducono nello sviluppo l'uso di strumenti di produttività individuale; Il Data Base di progetto, che contiene tutti i semi-lavorati ed i deliverables (più in generale, gli artifacts), sia di tipo documentale che 24

33 di tipo software (questi ultimi generalmente governati dai sistemi di congurazione); Il Repository aziendale che, mediante operazioni di ltraggio, preleva dai DB di progetto le informazioni rilevanti per l'azienda; L'aggiornamento dei parametri aziendali (processo di calibratura) a supporto della messa a punto delle procedure e tools di supporto (per esemplicazione, si pensi alla calibratura dei parametri di supporto al modello algoritmico di stima, quali fattori di costo e fattori di scala). Figura 4.1: Il contesto di Spago4Q 4.4 Infrastruttura di supporto Spago4Q, nato come verticalizzazione di SpagoBi, si appoggia all'implementazione di quest'ultimo estendendolo con un sistema di valutazione della qualità per i processi di sviluppo. SpagoBI, piattaforma open source per lo sviluppo di progetti di business intelligence, fonda la sua architettura sul framework Spago. Quest'ultimo costituisce un'infrastruttura software riutilizzabile, che permette l'erogazione di servizi applicativi multicanale e 25

34 l'integrazione su un vasto panorama di piattaforme che supportano la tecnologia Java. Spago implementa il pattern architetturale MVC (Model- View-Controller), rappresentato schematicamente in gura 4.4, nel quale: Figura 4.2: Struttura del pattern MVC il model fornisce i metodi per accedere ai dati utili all'applicazione il view fornisce l'interfaccia graca per l'utente in cui rappresentare i dati contenuti nel model il controller riceve i comandi dell'utente (in genere attraverso il view) e li attua modicando lo stato degli altri due componenti Dalla descrizione del paradigma si può dedurre la netta suddivisione dei settori di cui si occupano le componenti, tra layer di pubblicazione (view), logica applicativa (controller) e accesso ai dati (model). L'utilizzo di un adapter permette l'implementazione di servizi applicativi in modo indipendente dal canale su cui verranno erogati. Per questo è possibile erogare servizi su diversi canali (HTTP, WAP, Portlet) e tramite diversi protocolli (HTTP, SOAP, EJB, JMS, JBI). Viene inoltre introdotto il concetto di pagina come composizione logica di moduli, in cui diversi oggetti cooperano per soddisfare la richiesta di un servizio. Spago consente di pubblicare i servizi all'interno di soluzioni di portale aderenti allo standard JSR 168 Portlet Specication, dove si denisce il portale come una applicazione web-based che comunemente fornisce servizi di personalizzazione, Single Sign On, aggregazione e presentazione di contenuti provenienti da dierenti tipi di sorgenti e servizi. A dierenza della classica applicazione web, le pagine del portale pubblicano dinamicamente ed in modo autonomo frammenti dierenti di contenuti. Ogni frammento identica un servizio specico. I componenti che hanno l'incarico di gestire queste parti di pagina sono le portlet coordinate dal Portlet Container. In pratica, mentre una applicazione web denisce al suo interno la modalità di presentazione dell'intera pagina, la sicurezza ed altri aspetti applicativi, un 26

35 servizio del portale, attraverso la portlet, si occupa unicamente di pubblicare e gestire un frammento di informazione e lascia all'infrastruttura del portale l'incarico di gestire la presentazione delle pagine, il layout, la navigazione tra le pagine, le policy di sicurezza, l'amministrazione, ecc. Anche per la gestione delle credenziali di accesso relative alla sicurezza Spago si appoggia a sistemi esterni, come LDAP, database o XML. 27

36 28

37 Capitolo 5 Analisi metodologica degli strumenti di supporto Il metodo che l'azienda Engineering utilizza per l'analisi di nuovi indicatori si basa sull'approccio GQM (Goal Question Metric) associato alle speciche del modello CMMI. Il processo seguito consiste in una valutazione degli obiettivi principali per l'interesse dell'azienda attraverso le domande generate nella fase di GQM, successivamente i risultati ottenuti vengono valutati insieme alle pratiche presenti nel modello CMMI e vengono mantenuti soltanto gli indicatori comuni ai due approcci. 5.1 Goal Question Metric L'approccio GQM, acronimo per Goal Question Metric, si basa sull'assunzione che per eettuare delle misurazioni un'azienda abbia ben chiaro quali sono gli obiettivi che vuole raggiungere con un progetto; devono poi essere identicati i dati che possono aiutare a denire operativamente tali obiettivi e quindi un'infrastruttura adeguata ad interpretare i dati nel rispetto degli obiettivi pressati. A questo scopo è necessario capire quali siano le informazioni che servono all'azienda, quanticarle il più possibile e in base ai valori ottenuti determinare se gli obiettivi che ci si era posti nella prima fase sono stati raggiunti oppure no. Il risultato che si ottiene dall'applicazione dell'approccio GQM è un sistema di misura che punta ad un particolare in- 29

38 sieme di caratteristiche e regole per l'interpretazione dei dati valutati durante lo sviluppo di un progetto. Il modello di misura così ottenuto è caratterizzato da tre livelli: 1. Livello concettuale (GOAL): l'obiettivo (il goal) è denito per un oggetto in relazione a ad un determinato modello di qualità, a diversi punti di vista e ad un particolare ambiente di sviluppo. Gli oggetti di cui ci interessa calcolare le misure possono essere i prodotti, i processi di sviluppo oppure le risorse dell'organizzazione. 2. Livello operativo (QUESTION): a questo livello viene formulato un insieme di domande per denire le modalità di raggiungimento dell'obiettivo secondo uno specico modello; inoltre le domande devono caratterizzare l'oggetto da misurare in base allo specico risultato qualitativo che si vuole ottenere. 3. Livello quantitativo (METRIC): ad ogni domanda viene associato un insieme di dati quanticabili in modo da determinare il corretto raggiungimento dell'obiettivo. Questi dati possono essere oggettivi, se dipendono soltanto dall'oggetto considerato e non dal punto di vista dal quale sono estratte le misure, oppure soggettivi, se dipendono invece sia dall'oggetto che dal punto di vista considerato. Figura 5.1: Gerarchia GQM Come mostrato in gura 5.1 la struttura dell'approccio GQM è gerarchica. Comincia con un obiettivo, che per ogni misurazione denisce gli oggetti, le caratteristiche e il punto di vista da considerare. L'obiettivo è poi dettagliato attraverso alcune domande che deniscono anche le caratteristiche 30

39 più rilevanti dell'oggetto nito. Inne ad ogni domanda sono associate delle metriche, sia oggettive che soggettive, che possono rispondere a più di una domanda. All'interno di Engineering gli obiettivi da raggiungere sono suddivisi per ogni fase del processo di sviluppo del software, e ad ognuno di questi sono associate una serie di domande che permettono di valutare lo stato del progetto. Successivamente verrà considerato un esempio (fornito da Engineering stessa) per comprendere meglio la struttura di un documento GQM vero e proprio. Gli obiettivi preposti si riferiscono alle seguenti aree del processo di sviluppo: Gestione progetti L'obiettivo principale è riuscire a valutare il rendimento del progetto, sia in termini di ecienza temporale che di costi sostenuti durante il processo di sviluppo. Inoltre per garantire un controllo più dettagliato sulle singole fasi si vogliono ottenere dei consuntivi al raggiungimento di ogni milestone che riportino il peso di tale fase sul progetto complessivo. Rischi Per questa fase si vuole determinare quali siano i rischi maggiori legati ai requisiti del prodotto nale, quindi è necessario determinare quali requisiti sono stabili e quali invece possono variare nell'arco del processo di sviluppo. Inoltre è importante individuare la distribuzione dei requisiti sia in base alla categoria a cui appartengono, sia alla priorità che al loro stato. Bug Test Gli errori al software possono rappresentare una grave perdita per un'organizzazione, per questo è importante controllarne la distribuzione nel codice, l'entità del danno che causano, quali costi deve sostenere l'organizzazione per risolverli e quanto è ecace il processo di risoluzione dei bug. L'obiettivo in questa fase è valutare l'ecacia della fase di test, ossia quanti bachi vengono individuati prima del rilascio del prodotto. 31

40 Inoltre si vuole controllare che impatto abbiano i casi d'uso relativi a progetti precedenti in questa fase dello sviluppo. 5.2 Metriche e soglie per l'area Project Management Come già visto il paradigma GQM da solo non consente di denire i passi da attuare in un processo di valutazione della qualità dei progetti, ma concentra l'attenzione sugli obiettivi che si pone l'azienda e alla suddivisione di questi nelle varie fasi operative. CMMI fornisce un valido supporto nella denizione delle linee guida per le modalità operative e per il miglioramento dell'ecienza e dell'ecacia dei processi lavorativi. Come mostrato in gura 3.3 (nel paragrafo 3.1 Il modello CMMI), il CMMI denisce ciascuna area del processo in termini di obiettivi specici e delle relative pratiche speciche. Gli obiettivi specici stabiliscono le caratteristiche necessarie per garantire l'ecacia delle attività coinvolte in un'area del processo. Le pratiche speci- che ranano un obiettivo per denire un insieme di attività correlate al processo. Dall'analisi delle speciche del CMMI sono stati quindi estratte le informazioni riguardo le pratiche degli ambiti di maggior interesse per l'azienda e gli obiettivi risultanti dall'approccio GQM sono stati collegati a queste procedure operative. Nella tabella seguente sono riassunti i risultati dell'approccio GQM collegato alle corrispondenti aree di processo e pratiche nel CMMI. Codice Nome Descrizione KPI Process Area Practice Project Management PM-G1 Performance di progetto Monitoraggio costi e schedulazione del progetto Valutazione PM-Q1.1 Qual'è l'ecienza della schedulazione sul progetto? PM-M1.1.1 SPI schedule performance index PM-Q1.2 Qual'è l'ecienza dei costi sul progetto? dell'ecienza della schedulazione sul progetto Misura l'ecienza della schedulazione su un progetto Valutazione dell'ecienza dei costi sul progetto PM-KPI-1 PMC SP

41 PM-M1.2.1 PM-Q1.3 CPI cost performance index Il progetto procede come pianicato? Misura l'ecienza dei costi su un progetto Valutazione delle performance del progetto PM-M1.3.1 EV earned value Misura le performance del progetto (include tutte le metriche legate all'ev - AC, PV, EAC, ETC, CV, SV) PM-Q1.4 Quali sono i compiti completati? Valutazione delle milestones completate PM-M1.4.1 Milestones completate Misura delle milestones completate (in anticipo o in ritardo) PM-G2 Ecienza della fase di progetto PM-Q2.1 Qual'è l'impatto della fase sul progetto? Monitoraggio costi ed eort per ogni fase del progetto Valutazione dell'impatto della fase sul progetto PM-M2.1.1 Costo della fase Rapporto tra il costo della singola fase e il costo totale del progetto PM-Q2.2 PM-M2.2.1 PM-Q2.3 PM-M2.3.1 Qual'è l'ecienza dei costi per ogni fase sul progetto? Ecienza del costo della fase Qual'è l'ecienza dell'effort per ogni fase? Ecienza dell'eort per la fase Valutazione dell'ecienza dei costi di ogni fase Rapporto tra il costo attuale della fase e quello pianicato Valutazione dell'ecienza dell'eort per ciascuna fase Rapporto tra l'eort attuale della fase e quello pianicato PM-KPI-2 PMC SP 1.1 PM-KPI-3 PMC GP 2.8 PM-KPI-4 PMC GP 2.8 PMC GP 2.8 PMC GP 2.8 PMC GP 2.8 Requisiti REQ-G1 Valutazione dei rischi nella fase di analisi dei requisiti REQ-Q1.1 Quanti requisiti sono stabili o variabili? REQ-M1.1.1 Variabilità dei requisiti Tasso di variabilità dei requisiti REQ-VAR REQM SP 1.3 REQ-G2 Monitoraggio della distribuzione dei requisiti per categoria e priorità REQ-Q2.1 Quanti requisiti funzionali ci sono? Requisiti di interfaccia? Di prestazioni? REQ-M2.1.1 Tasso di requisiti per categoria REQ-CAT RD SP 2.3 REQ-Q2.2 Quanti requisiti ad alta (media, bassa,...) priorità ci sono? REQ-M2.2.1 Requisiti per priorità REQ-PRI RD GP 2.8 REQ-G3 Monitoraggio della distribuzione dei requisiti per stato REQ-Q3.1 Quanti requisiti sono stati modicati? REQ-M3.1.1 Tasso di distribuzione dei requisiti modicati REQ-DET RD GP

42 REQ-Q3.2 Quanti requisiti sono stati cancellati? REQ-M3.2.1 Tasso di distribuzione dei REQ-DET RD GP 2.8 requisiti cancellati REQ-Q3.3 Quanti nuovi requisiti ci sono? REQ-M3.3.1 Tasso di distribuzione dei REQ-DET RD GP 2.8 nuovi requisiti REQ-G4 Monitoraggio dei progressi del lavoro REQ-Q4.1 Quanti requisiti devono ancora essere completati? REQ-M4.1.1 Requisiti da completare Tasso requisiti da completare REQ-CMP RD GP 2.8 BUG-G1 Ecacia del processo di risoluzione dei bug BUG-Q1.1 Qual'è l'andamento del processo di risoluzione? (Le soglie sono derivate da progetti simili) BUG-M1.1.1 Tasso di risoluzione dei bug BUG-Q1.2 Quanto tempo è richiesto per risolvere i bug bloccanti (critici, maggiori, minori)? BUG-M1.2.1 Tempo di risoluzione dei bug (per gravità) BUG-G2 Monitoraggio della distribuzione dei bug BUG-Q2.1 Qual'è il livello di gravità dei bug? BUG-M2.1.1 Tasso di gravità dei bug (distribuzione dei bug per gravità) BUG-Q2.2 Quanti bug ci sono in stati distinti? BUG-M2.2.1 Distribuzione dei bug per gravità (per stato) BUG-Q2.3 Quanti bug vengono trovati durante le varie fasi del processo di sviluppo? BUG-M2.3.1 Distribuzione dei bug per fase (che ha creato il problema) e gravità BUG-Q2.4 Quanti bug ci sono per - ogni componente di sistema? BUG-M2.4.1 Distribuzione dei bug per componente e gravità BUG-G3 Monitoraggio dei costi e dell'eort Bug BUG-RES VAL SP 2.1 BUG-RES- TIME VAL SP 2.1 BUG-SEV VAL GP 2.8 BUG-SEV VAL GP 2.8 BUG-PHA VAL GP 2.8 BUG-COMP VAL GP

43 BUG-Q3.1 BUG-M3.1.1 TST-G1 TST-Q1.1 Qual'è la variazione tra l'eort attuale e quello previsto? Eort attuale rispetto a quello pianicato Ecacia della fase di test Quanti errori sono stati individuati durante i test di accettazione? Test BUG-EFF VAL GP 2.8 TST-M1.1.1 Bug successivi al rilascio TST-UAT VAL GP 2.8 TST-Q1.2 Quanti bug bloccanti o critici sono stati individuati durante la fase di accettazione? TST-M1.2.1 Bug successivi al rilascio (per gravità) TST-G2 Monitoraggio dei casi di test TST-Q2.1 C'è un numero suciente di casi di test? TST-M2.1.1 Copertura del processo di test TST-G3 Monitoraggio dell'esecuzione dei casi di test TST-Q3.1 Quanti casi di test sono stati eseguiti? TST-M3.1.1 Test eseguiti rispetto a quelli pianicati TST-Q3.2 Quanti casi di test hanno trovato un singolo errore? TST-UAT- SEV VAL GP 2.8 TST-PCOV VAL SP 1.2 TST-EXE VAL SP 2.1 TST-M3.2.1 Test con un singolo errore TST-BUG VAL SP 2.2 TST-Q3.3 Quanti casi di test hanno trovato più bug? TST-M3.3.1 Test con più bug TST-BUG-1 VAL SP 2.2 Tabella 5.1: Tabella di denizione del modello GQM 35

44 36

45 Capitolo 6 Piattaforma e strumenti per lo sviluppo In questo capitolo verranno analizzati e descritti in dettaglio gli strumenti utilizzati in sede aziendale che sono serviti come ambiente e supporto alle attività di progetto. Verrà descritta la piattaforma Spago4Q, punto centrale di tutta la tesi, alcuni sistemi per la gestione progetti (Microsoft Project, Cardinis e Ganttproject), e Microsoft Project Server 2007, sistema che completa il pacchetto Microsoft per il project management integrando funzionalità server come la gestione di database aziendali e la condivisione sicura attraverso la rete delle informazioni di progetto. 6.1 L'applicazione Spago4Q Spago4Q (SpagoBI for Quality) è una piattaforma per valutare l'adeguata maturità ed ecacia dei processi di sviluppo del software e dei prodotti realizzati. L'obiettivo è ottenuto analizzando i dati e le misure raccolte, con tecniche non invasive, dai tools utilizzati in sede di sviluppo. Spago4Q, ideata come verticalizzazione di SpagoBI (Business Intelligence Free Platform), è stata progettata per essere facilmente adattabile in contesti organizzativi complessi. Integra un sosticato meta-modello che rende Spago4Q indipendente dal processo di sviluppo adottato, dai tools di infrastruttura utilizzati per lo sviluppo e dal framework di assessment (es. CMMI, ISO 9001:2000). 37

46 Spago4Q è di supporto ad Aziende o altri tipi di Organizzazione impegnate a perseguire obiettivi di miglioramento continuo, sia nell'ambito di un processo di certicazione che più in generale nel monitoraggio di un proprio processo di sviluppo formalizzato. Nato come estensione delle funzionalità di Spago- BI, Spago4Q condivide con questo l'infrastruttura di supporto compatibile con qualunque tipo di application server costruito con tecnologia Java. Nelle sue precedenti implementazioni l'applicazione si basava su un sistema di portale, utilizzando il prodotto open source exo Platform che costituiva una soluzione completa e adatta allo scopo. Nell'ultima versione rilasciata, però, tale scelta progettuale è stata modicata in favore di una più semplice ed ecace soluzione servlet, facendo diventare Spago4Q a tutti gli eetti una Web Application Stand-alone. Rimane comunque la possibilità di utilizzare Spago4Q nella versione che si appoggia sul portale exo. L'application server che si occupa di gestire entrambe le soluzioni (portale e web application standalone) è Apache Tomcat, a causa della diusione di tale piattaforma libera nella comunità di sviluppo e la compatibilità con la maggior parte dei sistemi. In entrambe le possibili implementazioni Spago4Q si occupa sia della logica applicativa che della presentazione delle pagine da visualizzare; per quest'ultima sfrutta il sistema di pubblicazione del container utilizzato, servlet o portlet, mantenendo comunque, per entrambe, la maggior parte del codice indipendente. Nel caso di alcune tipologie di servizio, che possono essere richieste dall'utente, l'infrastruttura di Spago4Q si appoggia ad applicazioni esterne. Un caso d'esempio è la realizzazione della reportistica che si appoggia su dei motori come Jasper o Birt, ai quali vengono passati i parametri indicati dall'utente. Spago4Q si occupa della visualizzazione dell'output del servizio, ossia dell'inserimento del report prodotto all'interno del layout della pagina da presentare all'utente. Allo stesso modo la gestione degli utenti per Spago4Q si appoggia a database o gestori esterni. Nell'implementazione di portale utilizza le API di exo per richiedere a quest'ultimo le informazioni relative agli utenti. Sarà il software che gestisce l'infrastruttura di portale ad occuparsi delle liste di utenti, della loro creazione, modica e suddivisione in gruppi ai quali saranno assegnati privilegi dierenti. Quando invece è utilizzato come applicazione web stand-alone Spago4Q si appoggia a protocolli per la gestione di utenti, come LDAP, o software per la gestione di database 38

47 ai quali richiedere le credenziali per l'autenticazione al sistema. Figura 6.1: Architettura di Spago4Q Componenti In gura 6.1 è rappresentata l'architettura della piattaforma Spago4Q, i cui componenti principali che ne costituiscono l'infrastruttura sono: Estrattori: procedure per l'estrazione dei dati di interesse dagli strumenti utilizzati in fase di sviluppo. Gli estrattori, che possono essere sviluppati con diverse tecnologie, sono strumenti specializzati per l'estrazione da diverse sorgenti, in grado di caricare contemporaneamente più interfacce. Inoltre possono essere creati più estrattori per il medesimo strumento e ciascuno di questi può applicare determinate regole di- 39

48 namiche per il ltraggio o la trasformazione dei dati raccolti in modo da renderli compatibili con le interfacce. Interfacce: deniscono il formato e la tipologia dei dati utilizzati dai componenti analitici e nel calcolo dei KPI. Permettono così di creare una separazione tra gli estrattori e la logica analitica. Inoltre per ogni area di misura viene denita soltanto un'interfaccia per unicare il formato dei dati raccolti dai diversi strumenti o progetti e tale formato può essere denito utilizzando le funzionalità amministrative. Data Warehouse: deposito per tutti i dati ricavati dai progetti sviluppati da un'organizzazione. Questa parte del database è identicata con le tabelle il cui nome inizia per FT_ nel caso delle tabelle che rappresentano le interfacce, quelle in cui vengono memorizzati i dati raccolti, oppure DT_ per le tabelle utilizzate per descrivere l'ambiente o come fonti da cui raccogliere dati. Strumenti analitici: analizzano i dati e forniscono le rappresentazioni dei KPI. Attraverso il componente analitico, infatti, i dati inseriti nel data warehouse possono essere analizzati e successivamente utilizzati per la costruzione di documenti analitici. Questo modulo è stato sviluppato all'interno di SpagoBI, in modo da sfruttare una serie di servizi già presenti all'interno di quella soluzione. Utilizzare la piattaforma SpagoBI per implementare il componente analitico di Spago4Q sempli- ca la rappresentazione dei KPI, delle metriche e delle relative soglie come istanze dei documenti analitici già presenti all'interno di SpagoBI (report, dashboard, data mining, interrogazioni libere). Moduli di congurazione e amministrazione: indispensabili per denire le impostazioni del sistema. Attraverso questi moduli infatti possono essere congurati tutti gli altri componenti in quanto permettono: gestione dei modelli, degli indicatori KPI e dei valori delle soglie di riferimento controllo dei processi di estrazione che raccolgono i dati utilizzando gli estrattori e li adattano attraverso le interfacce 40

49 congurazione delle interfacce, che consentono la denizione delle strutture dati che devono immagazzinare le informazioni estratte dagli strumenti di sviluppo Meta-modello per la gestione dei KPI Il meta-modello su cui si basa Spago4Q è implementato secondo l'approccio Meta-Object Facility (MOF) proposto da Object Management Group (OMG). È strutturato in tre componenti principali: Process (i processi che devono essere monitorati), Measurement (le misurazioni di interesse) e Assessment (l'infrastruttura da utilizzare). Queste tre componenti sono state sviluppate in modo da risultare indipendenti, permettendo così di applicare la stessa infrastruttura a diversi processi oppure misurare un solo processo secondo diversi schemi di misura. Le interfacce tra i moduli di misura e quelli relativi ai processi sono realizzate attraverso la denizione di attributi misurabili delle attività di processo necessari al calcolo delle metriche. L'interfaccia tra i moduli di misura e quelli delle metriche è invece costituita da un set di KPI basati sulle misure eettuate. Il Process meta-model è stato denito partendo da una versione sempli- cata delle speciche OMG's SPEM (Software Process Engineering Metamodel) che descrivono un processo di sviluppo. Il Measurement meta-model adotta il paradigma Goal-Question-Metric (GQM), ed è strutturato in tre entità: measurableconcept: denisce l'obiettivo di misura measurableattribute: rappresentano gli attributi che devono essere misurati per valutare lo specico obiettivo KPI (Key Process Indicator) e metriche: forniscono la risposta quantitativa per valutare il raggiungimento dell'obbiettivo L'Assessment meta-model supporta, come framework di assessment, sia il CMMI (Capability Maturity Model Integration) che ISO 9001:2000. Ad esempio il raggiungimento dei goals associati a practices del CMMI è monitorato da speciche KPI e metriche confrontate con valori di soglia predeniti, permettendo a manager ed assessor il controllo dei processi. 41

50 A causa della sua complessità il meta-modello è stato suddiviso in 5 aree, ciascuna delle quali comprende un gruppo di tabelle correlate tra loro e che hanno delle connessioni con le altre aree. La gura 6.2 mostra lo schema logico del meta-modello considerato. Figura 6.2: Data Warehouse Si possono individuare cinque aree concettuali, una descrizione più dettagliata delle quali è la seguente: Organization: le tabelle qui presenti deniscono l'organizzazione, gli utenti, i ruoli e le autorizzazioni. Quest'area è collegata a quella Knowledge Base, in quanto l'organizzazione gestisce le risorse che devono essere misurate, e a Representation perché alcuni tipi di rappresentazione sono resi disponibili soltanto per alcuni membri dell'organizzazione. Model: in quest'area sono rappresentati il modello generale del sistema, quello per l'infrastruttura, per le misurazioni, e le denizioni delle soglie e dei KPI. È collegato alla Knowledge Base poiché i modelli sono cor- 42

51 relati alle risorse e all'area dei KPI dove sono istanziati gli indicatori deniti nel modello. Knowledge Base: rappresenta la parte del Data Warehouse nella quale sono memorizzate le rappresentazioni delle risorse da misurare. In quest'area possono essere aggiunte tabelle durante la fase di pianicazione di un progetto. Representation: comprende le tabelle che deniscono i documenti analitici e gli avvisi che devono essere creati. È strettamente legata alla Knowledge Base, perché è da qui che prende le informazioni sulle risorse, e a Model, in quanto una rappresentazione è l'istanza di un modello basata su una o più risorse. KPI: quest'area comprende una sola tabella per memorizzare tutti i valori dei KPI Meta-modello per gli estrattori La gestione degli estrattori, modicata radicalmente dalla precedente versione di Spago4Q, ha richiesto la denizione di un apposito meta-modello che specicasse le caratteristiche di integrazione necessarie. Per la costruzione dell'estrattore deve essere rispettato lo schema logico rappresentato nello schema ER di gura 6.3, le cui entità sono spiegate in dettaglio di seguito. Lo schema può essere suddiviso logicamente in tre gruppi, ciascuno dei quali si occupa di componenti dierenti coinvolte nel processo di estrazione: denizione delle sorgenti dati denizione delle interfacce denizione dei processi di estrazione 43

52 Figura 6.3: Struttura delle classi di Spago4Q che gestiscono il processo di estrazione Sorgenti dati S4Q_E_SOURCE_TYPE: Denisce la classe estrattore per n Data Source. Qui è dove viene utilizzata la classe dell'estrattore, la quale si occupa di reperire le informazioni sui progetti dal sistema di gestione progetti e creare una lista di dati (in formato String) da passare poi all'interfaccia di Spago4Q. esecuzione. S4Q_E_DATA_SOURCE: Istanza di un source_type. È l'oggetto che viene associato all'operazione di estrazione e che riceve in ingresso i parametri necessari alla sua S4Q_E_DATA_SOURCE_PARAMETER: Sono i parametri necessari all'estrattore per accedere alla sorgente dati. Nel caso questo si debba connettere ad un database sono l'indirizzo del database ed eventuali parametri come username e password da utilizzare. 44

53 Interfacce dati warehouse. S4Q_E_INTERFACE_TYPE: Contiene le denizioni delle interfacce disponibili. Per ogni interfaccia identica la tabella dei fatti (fact table) da creare e gestire nel data S4Q_E_INTERFACE_FIELD: Rappresenta ogni campo della singola interfaccia, ossia quali colonne verranno inserite. Vengono indicati, oltre al nome della colonna, anche il tipo (string, integer, double, boolean o date), se si tratta di un campo chiave e se è un campo sensibile. Se si tratta di un campo sensibile ed il suo valore varia tra un'estrazione e l'altra allora verrà inserita una nuova riga nella tabella contenente i nuovi dai, in caso contrario la tabella resterà invariata. In base alla cardinalità della relazione con cui è collegata a interface_type, inne, è possibile determinare quante colonne avrà la Fact Table. S4Q_E_DOMAIN_VALUE: alcuni campi dell'interfaccia possono assumere solamente un set nito di valori. In questa tabella, attraverso l'associazione con lo specico campo di un'interfaccia, si elencano tutti i valori possibili. Nella fact table in corrispondenza di un campo di questo tipo si riporta il codice identicativo del valore e non il valore stesso. Processo di estrazione S4Q_E_PROCESS: Gestore del processo di estrazione. Il suo scopo principale è quello eseguire tutte le operazioni associate al processo di estrazione; estrae i dati e li trasforma in accordo con le interfacce specicate dall'utente, inne si occupa di caricare questi dati nelle tabelle FT_. Ogni utente può creare un coordinatore personalizzato in base alle esigenze, altrimenti viene utilizzato il DefaultCoordinator già implementato all'interno del sistema. Ogni coordinatore inne è in grado di gestire più operazioni di estrazione sequenziali (in genere n operazioni). 45

54 S4Q_E_OPERATION: Operazione di estrazione. Ogni operazione ha associati il proprio coordinatore (ossia la classe che può istanziare l'operazione), una sorgente dati e un'interfaccia (denita all'interno di Spago4Q) nella quale memorizzare i dati estratti. Può essere considerata il punto centrale tra tutti gli altri elementi presenti nello schema logico, in quanto fornisce un collegamento tra essi. Inoltre questa operazione gestisce tutti i parametri che devono essere passati all'estrattore in modo da personalizzare il tipo di estrazione che si eettua. S4Q_E_OPERATION_PARAMETER: Lista dei parametri che devono essere utilizzati dall'estrattore. Permettono di denire su quali indicatori concentrare l'attenzione e con quale grado di dettaglio reperire le informazioni sui progetti. In caso l'estrattore sia connesso ad un database e ricavi i dati attraverso una query, all'interno dell'operation_parameter è memorizzata la sintassi della query da sottoporre. S4Q_E_OPERATION_FIELD: Costituisce l'elemento di associazione tra le liste di dati creati dall'estrattore e la tabella creata nel data warehouse. Qui infatti ogni elemento estratto (in genere gli indicatori degli strumenti di gestione progetti) ha un nome e può essere associato ad uno o più campi della Fact Table, in modo che durante il processo di estrazione i valori estratti siano inseriti nelle colonne corrette della tabella nel data warehouse. S4Q_E_SCRIPT: Nel caso alcuni degli elementi estratti siano in una forma non corretta per l'inserimento nella fact table (come ad esempio le date o i valori booleani), attraverso degli script (generalmente in linguaggio Javascript o Groovy) è possibile modicare tali valori e trasformarli secondo le esigenze. 46

55 S4Q_E_PERIODICITY: Periodicità con cui vengono schedulati i processi di estrazione. Contiene un oggetto di tipo Cron Expression, ossia una stringa composta da 6 o 7 caratteri che permette un'elevato grado di personalizzazione nella scelta degli istanti in cui eettuare l'estrazione. Inne un tipo di schedulazione può essere associata a più processi di estrazione. S4Q_LOG: La tabella di log tiene traccia di tutte le operazioni di estrazione che vengono eettuate dal sistema. Vengono memorizzati gli identicatori del processo e dell'operazione, la data in cui è eettuata l'estrazione, il numero delle righe estratte e il numero di righe inserite nella Fact Table (quelle in cui dei dati classicati come sensibili erano diversi rispetto all'estrazione precedente). 47

56 6.2 Strumenti per la gestione di progetto Nel panorama del Project Management si possono trovare una gran quantità di software che comprendono operazioni di schedulazione automatica, allocazione di risorse, controllo dei costi e gestione del budget, i quali possono essere un supporto fondamentale al lavoro dei project manager. Per la gestione di grandi progetti inoltre è conveniente utilizzare sistemi che facilitino le comunicazioni e la collaborazione tra i membri del team di sviluppo, che permettano di valutare la qualità dei prodotti e di avere un controllo accurato su tutte le fasi del progetto. I tre sistemi per la gestione dei progetti analizzati in seguito sono alcuni tra i più diusi e utilizzati anche all'interno di Engineering, in particolar modo Microsoft Project 2007 che è anche lo strumento di sorgente dati per l'estrattore sviluppato Microsoft Project 2007 Microsoft Project 2007 è un software per la gestione e pianicazione dei progetti sviluppato e commercializzato da Microsoft. È uno strumento per assistere i project manager nella pianicazione, nell'assegnazione delle risorse, nella verica del rispetto dei tempi, nella gestione dei budget e nell'analisi dei carichi di lavoro del personale dell'azienda durante tutte le fasi dello sviluppo di un progetto. Microsoft Project consente di applicare i procedimenti di gestione progettuale descritti nel PMBOK (Project Management Body of Knowledge) del PMI (Project Management Institute). Per un corretto uso, è possibile seguire il metodo del percorso critico (Critical Path Method o CPM) o il PERT (Program Evaluation and Review Technique - Tecnica di revisione e valutazione dei progetti). La visualizzazione della sequenza di attività avviene poi tramite diagrammi di Gantt. Project è inoltre in grado di gestire diverse classi di utenti, per dierenziare così i livelli di accesso ai dati relativi ai progetti. Consente la creazione di oggetti custom, necessari all'organizzazione per particolari caratteristiche delle attività, come calendari, viste, tabelle, ltri e campi, i quali sono tutti immagazzinati come dati globali e sono accessibili da tutte le tipologie di utenti. 48

57 Figura 6.4: Microsoft Project 2007 Il calcolo del budget è eettuato automaticamente una volta conclusa la stima del lavoro e l'allocazione delle risorse alle varie attività. I singoli mezzi dell'organizzazione (persone, materiale e attrezzature) possono inoltre essere condivise tra i vari progetti. Ogni risorsa può avere un calendario personale, che indica quando essa è disponibile, grazie al quale ognuna di esse può essere assegnata a più attività in diversi progetti e ad ogni attività possono essere assegnate diverse risorse, in quanto è l'applicazione a schedulare automaticamente il lavoro di ciascuna attività in base alla disponibilità dei mezzi. Poiché sostanzialmente Project è un'applicazione client e risiede su un'unica macchina nelle sue ultime versioni è stato esteso con l'introduzione di Microsoft Oce Project Server e Microsoft Project Web Access. Project Server consiste nell'installazione server, che può risiedere su una macchina dedicata alla quale accedono tutte le istanze client delle macchine remote. Questa memorizza i dati di progetto all'interno di un database centrale SQL, orendo la possibilità agli utenti di ispezionare e modicare i dati attraver- 49

58 so la rete. Web Access è lo strumento che gli utenti autorizzati utilizzano per accedere al database di Project Server direttamente da Internet. Include timesheets, uno strumento di analisi graca del carico di lavoro assegnato alle risorse e strumenti di amministrazione. L'ultima versione del software (Microsoft Oce Project 2007) integra i servizi di Windows SharePoint, in modo che i membri di un gruppo possano condividere le informazioni relative a ciascun progetto pubblicato. 50

59 6.2.2 Cardinis Suite Cardinis è un'applicazione web multilingua per il Project Management e Portfolio Management, nalizzata a soddisfare requisiti di Governance. La soluzione ha caratteristiche di integrazione orizzontale (prodotto, metodologia, competenze) e verticale (funzionalità dedicate per ogni livello aziendale) che abilitano il processo di comunicazione, condivisione e crescita della maturità dell'azienda. Questo risultato deriva anche dall'utilizzo di tecnologie web che permettono di centralizzare la conoscenza e le informazioni e realizzare strumenti per la loro diusione e comunicazione. Nella fase di pianicazione dei costi è messo a disposizione un tool per la valutazione delle iniziative (nuove e già in essere) alla luce di criteri di valutazione identicati, dei beneci e dei rischi attesi e del budget da esse richiesto, al ne di scegliere quelle che dovranno essere parte dei portfolio di riferimento. A supporto delle fasi di denizione e di valutazione dei portfolio sono forniti, in forma standard o personalizzabile, tabelle, graci, indicatori di trend con possibilità di attivare azioni di drill-down. Tra gli obiettivi che l'applicazione si propone di soddisfare ci sono: implementare una soluzione completa per le metodologie PMI, PRINCE2 ed altri approcci strutturati alla gestione progetti e di portfolio aderenza agli standard funzionalità complete ed esaustive integrabilità Il modulo di Project Management (che si distingue per essere incentrato più sulla WBS che sul diagramma di Gantt) aronta tra le altre tematiche: gestione dello scope interattiva (creazione/modica/stampa della WBS) gestione dei tempi interattiva (lo schedulatore supporta sia il Critical Path che il Critical Chain) Cost Management 51

60 EVM (Earned Value Management) Project Document Management gestione degli avanzamenti di progetto Resource Management 52

61 6.2.3 Ganttproject Ganttproject è un software di project management open source, rilasciato sotto licenza GPL (GNU General Public License) compatibile con i sistemi operativi Microsoft Windows, Linux e Mac OS X. Figura 6.5: Ganttproject chart view Comprende strumenti per la creazione di diagrammi di Gantt (per la schedulazione dei progetti) e tabelle per la distribuzione del carico delle risorse che mostrano come sono utilizzate le diverse risorse dell'organizzazione in un arco di tempo. Ha inoltre la possibilità di creare report in diversi formati (tra cui HTML e PDF) e importare documenti creati con Microsoft Project. Le caratteristiche salienti includono: gerarchizzazione e controllo delle dipendenze dei task diagrammi di Gantt tabelle sulla distribuzione di carico delle risorse 53

62 generazione dei diagrammi PERT creazione di report in formato HTML e PDF import/export da Microsoft Project scambio di dati con applicazioni spreadsheet workgroup basato su WebDAV 6.3 Microsoft Project Server 2007 Creato da Microsoft per supportare i team aziendali nello sviluppo di nuovi progetti, Microsoft Project Server consente la creazione di un server standalone sul quale possono essere raccolte le informazioni su tutti i progetti dell'organizzazione e al quale possono accedere tutti gli utenti autorizzati dell'organizzazione attraverso le installazioni client di Project. Il sistema ha come obiettivi: Elevata estensibilità: Project Server può essere utilizzato come strumento di supporto ed estensione ad altri software di project management, a prodotti di Microsoft Oce e ad applicazioni LOB (line-ofbusiness). Piattaforma di sviluppo: attraverso numerose funzionalità, come la PSI, i servizi Project Server Eventing e Project Server Queuing, il motore di schedulazione e i servizi di Windows SharePoint, il sistema si propone di essere una piattaforma di sviluppo completa. Semplicità d'utilizzo: gli sviluppatori che hanno familiarità con altri strumenti di sviluppo Microsoft possono sfruttare funzionalità già note senza aver la necessità di imparare l'interfaccia XML delle precedenti versioni. Produttività: I Web Services della PSI utilizzano oggetti di tipo DataSet di Microsoft ADO.NET 2.0. Utilizzando tali servizi non è necessario accedere direttamente al database di Project Server. 54

63 Firewall friendly: tutte le applicazioni client comunicano con il server attraverso i servizi della PSI utilizzando i protocolli HTTP e SOAP. Inoltre si può lavorare e garantire una maggiore sicurezza utilizzando un server distinto con Project Web Access. L'architettura di Project Server è sviluppata su più livelli. Il livello di presentazione include PWA (Project Web Access), Project Professional 2007 e applicazioni client. Il livello dei servizi applicativi include i Web services dell'interfaccia, la business logic e i servizi di Windows SharePoint. Il livello dei dati include il Data Access Layer e dei database SQL multipli. Uno schema dell'architettura è rappresentato in Figura 6.6 Figura 6.6: Architettura di Project Server 2007 La piattaforma supporta siti virtuali multipli di Project Web Access. Una o più istanze di PWA possono essere installate sul medesimo computer come componenti del nucleo di Project, oppure possono risiedere su altre macchine. Ogni istanza utilizza lo stesso nucleo di Project Server e altri servizi condivisi ma database distinti. Questo comporta che ciascun sito virtuale abbia una lista indipendente di utenti autorizzati memorizzata nel database dei 55

64 Windows SharePoint Services. Nelle sue precedenti versioni Project Server consentiva l'accesso diretto al database attraverso strumenti ODBC, che però non potevano essere utilizzati con la maggioranza dei rewall commerciali. In quest'ultima versione la necessità di un accesso diretto è stata eliminata in quanto sia Project Professional 2007 che tutte le applicazioni remote utilizzano la PSI per accedere ai dati relativi ai progetti. In questo modo è garantita una maggiore integrità e consistenza dei dati. La PSI (Project Server Interface) è l'interfaccia che sta tra l'applicazione e il livello dei Business Object. Questi ultimi sono i componenti che includono regole su come le entità logiche (progetti, attività, risorse e assegnazioni) possono essere modicate e su come interagiscono tra di loro e con gli altri componenti del sistema. Le entità logiche possono estendersi su diversi database ma, siccome tutte le applicazioni client utilizzano la stessa Business Logic, Project Server è in grado di mantenere le corrette dipendenze tra i vari oggetti. Inoltre non sono direttamente i business object ad accedere al database, ma questi a loro volta utilizzano il DAL (Data Access Layer) che gestisce le transazioni con le tabelle corrette. 56

65 Capitolo 7 Rappresentazione indicatori I dati relativi ai progetti che vengono estratti da un software di Project Management devono poter essere visualizzati dal manager di progetto in una forma diversa dalla semplice tabella all'interno di un database. Senza una rappresentazione graca adeguata, infatti, i valori memorizzati per gli indicatori non portano un'informazione suciente e solo attraverso una dicoltosa interpretazione permettono di capire se l'andamento del progetto soddisfa le aspettative oppure no. All'interno dell'ambiente fornito da Spago4Q esistono sostanzialmente due modi per rappresentare le informazioni. Un modo è utilizzare documenti analitici del tipo report (vedi esempio in gura 7.1), i quali fanno riferimento direttamente ai valori presenti nel data warehouse di Spago4Q. Questi documenti, sviluppati attraverso un motore di reportistica quale JasperReport o Birt, tramite query SQL ricavano i dati di interesse dal data warehouse e pubblicano documenti che mostrano l'andamento di parametri e metriche (ad esempio Earned Value, tasso di completamento delle milestones, ecc.) La maggior parte di questi documenti sono storici di progetto, in quanto non rappresentano i parametri in un unico istante ma in uno specico intervallo temporale. In questo modo è possibile un'immediata comprensione di quale sia l'andamento nello sviluppo del progetto anche rispetto alla situazione passata. Questo tipo di visualizzazione, però, fa riferimento diretto ai dati presenti nel data warehouse e per questo non utilizza modelli di calcolo, metriche o soglie. 57

66 Figura 7.1: Esempio di report Un secondo modo per la visualizzazione degli indicatori è utilizzare il motore di analisi delle metriche interno a Spago4Q. Il componente centrale di questo sistema è il modello dei KPI. Una volta denita la struttura al modello vengono associati gli indicatori di interesse per l'azienda, i cui valori vengono calcolati attraverso il DataSet. Dal modello si parte poi per denire il documento KPI, descritto in seguito, che visualizza i valori degli indicatori replicando la struttura descritta nel modello. I DataSet rappresentano la logica di calcolo del valore per ogni KPI a cui fanno riferimento. In questo modo possono esistere diversi modelli associati ciascuno a uno o più progetti attivi, con valori di soglia specici e dierenti in base al contesto in cui sono inseriti. Il DataSet ha la funzione di estrarre i dati relativi ai parametri di progetto dal data warehouse di Spago4Q, trasformarli secondo le speciche del modello e restituire alla ne dei valori di KPI che possano essere rappresentati all'interno di documenti analitici (in genere report o dashboard) per mostrare, sfruttando anche le soglie proprie per la tipologia di indicatore, quale sia la situazione attuale del progetto in modo 58

67 Figura 7.2: Sistema di rappresentazione degli indicatori in Spago4Q diretto e facilmente comprensibile. Per la visualizzazione degli indicatori di progetto nelle applicazioni di Business Intelligence si utilizzano rappresentazioni grache quali report, dashboard, balance scorecard oppure, come all'interno della piattaforma Spago4Q, i documenti per i KPI. Report Un report è un documento analitico centrato sui dati di interesse dell'azienda o di un particolare progetto durante la fase di sviluppo. Tale tipologia di documenti può analizzare in dettaglio tutti gli aspetti di un progetto in un particolare intervallo temporale, oppure può focalizzare l'attenzione su un particolare elemento di progetto (metafasi, milestone, ecc.) in un preciso istante. In questo modo è possibile rappresentare sia un trend storico del progetto sia un'istantanea sui valori dei principali indicatori in un momento del processo di sviluppo. La struttura di un report comprende sia tabelle, contenenti i valori numerici dei KPI, sia graci nei quali tali indicatori sono rappresentati in una forma più semplice da interpretare. Per la creazione di report si può fare ricorso a strumenti di reportistica (come JasperReport o Birt) che implementano funzioni per la denizione del layout graco 59

68 del report e per la connessione al data warehouse da cui devono essere estratti i dati necessari al popolamento delle tabelle e alla creazione dei graci del report stesso. Dashboard Le dashboard sono rappresentazioni grache ad alto impatto visivo delle prestazioni di un'azienda, la cui funzione principale è quella di presentare una grande varietà di dati in un'unica gura ottimizzata per una rapida comprensione del contenuto. In questo modo viene sempli- cato e reso più ecace il lavoro dei project manager che si possono rendere conto più rapidamente della qualità dei progetti sviluppati e di eventuali mancanze nei risultati attesi. Da un punto di vista tecnologico la dashboard può essere realizzata con un tool di business intelligence (se le funzionalità disponibili lo permettono) oppure costruito con linguaggi di programmazione. Questo secondo approccio è assolutamente sconsigliato per l'elevato costo di sviluppo della logica applicativa sottostante (se necessaria), di fatto già presente in qualunque prodotto BI di mercato. Una alternativa che rappresenta un compromesso tra i due approcci consiste nell'espandere le funzionalità di presentazione (non di calcolo) di un tool BI tramite ambienti di sviluppo standard (tipicamente ASP o Javascript). Balance Scorecard La Balance Scorecard (BS) è uno strumento di supporto nell'azione strategica di un'impresa che permette di isolare un insieme di misure di performance che rispecchino gli obiettivi e la strategia aziendale. Costituisce quindi un framework, non solo una rappresentazione graca di valori numerici. Attraverso l'uso della BS è possibile un controllo periodico degli indicatori di interesse per l'organizzazione (i KPI - Key Performance Indicator). In questo modo, grazie ad estrazioni ad intervalli regolari, viene costruito un trend di progetto, ossia un graco storico che descrive l'andamento dei progressi eettuati e in generale permette ai manager di avere una visione dettagliata dello stato di sviluppo dei progetti, di eventuali ritardi e di una pianicazione inadeguata dei costi. 60

69 Documento KPI Un documento per i KPI permette di visualizzare i modelli descritti all'interno della piattaforma Spago4Q. Ciascun modello è basato su un sistema di valutazione degli indicatori (come può essere GQM o CMMI) ed è caratterizzato da una struttura ad albero che può essere costituito da n livelli gerarchici. Ad ogni modello possono essere associate diverse risorse rispetto alle quali calcolare i valori degli indicatori. Tali risorse possono essere ad esempio progetti, processi o servizi. Ad ogni nodo del modello sono associati dei KPI i quali, all'esecuzione del documento, vengono visualizzati e contestualizzati rispetto a dei valori di soglia deniti dall'utente per ciascun indicatore, oltre ad una rappresentazione graca che permette una comprensione immediata riguardo la situazione attuale dei valori di progetto (gura 7.3). Figura 7.3: Indicatore KPI e soglie di riferimento 61

70 62

71 Capitolo 8 Implementazione del sistema La parte di maggior rilievo della tesi si concentra sull'implementazione della procedura ETL di estrazione dei dati da Microsoft Project Server 2007, come era stato indicato da Engineering durante la denizione dei requisiti del progetto. Gli strumenti analitici di Spago4Q e i software di project management descritti nei paragra precedenti sono infatti due elementi distinti nel processo di sviluppo del software ma per poter essere utilizzati in sintonia l'uno con l'altro hanno bisogno di alcuni punti di unione. Gli estrattori ETL hanno proprio lo scopo di fungere da ponte di collegamento tra questi due sistemi. Gli estrattori, infatti, attraverso procedure messe a disposizione dai programmi per la gestione di progetti (che possono essere web services, letture dei le archiviati, ecc.) ricavano da questi ultimi i valori degli indicatori di progetto di maggior interesse, li ltrano, li trasformano utilizzando le interfacce specicate all'interno di Spago4Q e inne li trasferiscono al data warehouse dove potranno venire utilizzati dagli strumenti analitici per la costruzione di documenti di report. La fase iniziale dell'attività di sviluppo riguarda l'analisi del sistema Microsoft, in modo da avere una conoscenza più accurata delle funzionalità messe a disposizione da questo e capire quali fossero realmente utili al ne pratico. Per l'implementazione dell'estrattore si è deciso di utilizzare il linguaggio di sviluppo Java in quanto, oltre ad essere un linguaggio potente e adatto 63

72 ad applicazioni web-based, è il linguaggio adottato per la creazione di tutta l'infrastruttura Spago4Q e questo avrebbe garantito la massima compatibilità tra i componenti sviluppati. Inoltre alcuni strumenti open source già presenti in rete avrebbero permesso una maggior ecacia dei test nelle fasi iniziali. Durante la realizzazione si è deciso innanzitutto di vericare le funzionalità messe a disposizione da Project Server attraverso una prima classe Java di test; successivamente le caratteristiche salienti presenti in questo componente sono state elaborate ed estese in un estrattore completo che soddisfasse i requisiti di integrazione con la piattaforma Spago4Q. Completata questa fase si è poi passati alla verica del processo di estrazione e della correttezza dei dati estratti. Inne sono stati costruiti dei report graci, anch'essi integrati successivamente all'interno dell'ambiente, per una ecace rappresentazione dei dati di interesse. 8.1 Analisi di Microsoft Project Sin dalle prime analisi di Microsoft Project 2007, il software di project management utilizzato in sede aziendale, è risultato evidente come, per poter eettuare un'estrazione di dati da applicazioni esterne, fosse necessario utilizzare le funzionalità di accesso remoto messe a disposizione dal sistema. Per la gestione dei progetti e la loro ispezione attraverso la rete, Project mette a disposizione un servizio di Web Access (PWA), che attraverso l'autenticazione al sistema da parte di utenti registrati permette di eettuare le principali operazioni di amministrazione sui progetti attivi, cioè quelli pubblicati dai project manager dell'organizzazione. Per usufruire di tale servizio viene sfruttata un'interfaccia web compatibile con i più comuni browser (Internet Explorer, Mozilla Firefox, Opera), la quale integra la visualizzazione di tabelle di consuntivi e diagrammi di Gantt utili al monitoraggio delle varie fasi dello sviluppo di un progetto (gura 8.2). Tale scelta progettuale preclude però l'utilizzo delle funzionalità oerte da PWA attraverso applicazioni esterne alla piattaforma Microsoft. Come tutte le applicazioni client di ultima generazione messe a disposizione da Microsoft, anche Project 2007 utilizza la PSI (Project Server Interface), un insieme di Web services basati su Microsoft.NET Framework 2.0, che possono essere 64

73 Figura 8.1: Interfaccia PWA Figura 8.2: Diagramma di Gantt per un progetto d'esempio utilizzati per accesso remoto anche da componenti di altre applicazioni. L'attenzione si è quindi incentrata sulle caratteristiche e su come poter sfruttare tali servizi per l'estrazione dei dati di interesse dai progetti pubblicati all'in- 65

74 terno di Microsoft Project. Attraverso l'uso della PSI, inoltre, non si rende più necessario accedere direttamente al database dei progetti per eventuali modiche ai dati; in questo modo si garantisce una maggiore consistenza e integrità dei dati in quanto è il servizio interno di gestione delle code (Project Server Queuing Service) ad occuparsi della loro elaborazione. Questa è anche una delle principali dierenze con il PDS (Project Data Service) presente nelle precedenti versioni di Project Server, il quale consisteva in un'interfaccia XML per accedere al database di sistema. Tutti i metodi messi a disposizione dalla PSI sono poi raggruppati in un set di servizi che condividono le medesime funzionalità o utilizzano gli stessi oggetti della logica applicativa. 66

75 8.2 Web Services Secondo la denizione data dal World Wide Web Consortium (W3C) un Web Service (servizio web) è un sistema software progettato per supportare l'interoperabilità tra diversi elaboratori su di una medesima rete; caratteristica fondamentale di un Web Service è quella di orire un'interfaccia software (descritta in un formato automaticamente elaborabile quale, ad esempio, il Web Services Description Language) utilizzando la quale altri sistemi possono interagire con il Web Service stesso attivando le operazioni descritte nell'interfaccia tramite appositi messaggi inclusi in una busta (come la nota busta SOAP): tali messaggi sono, solitamente, trasportati tramite il protocollo HTTP e formattati secondo lo standard XML. Proprio grazie all'utilizzo di standard basati su XML, tramite un'architettura basata sui Web Service, possono quindi essere utilizzate applicazioni software scritte in diversi linguaggi di programmazione e implementate su diverse piattaforme hardware. Attraverso le interfacce in formato WSDL che sono esposte pubblicamente e mediante l'utilizzo dei servizi oerti per lo scambio di informazioni è possibile far comunicare software scritti in diversi linguaggi (come Java, Python, C#) e diverse piattaforme hardware (Windows e Linux). I Web Services messi a disposizione dalla PSI del sistema Microsoft sono implementati attraverso interfacce distinte, risiedono su pagine.asmx e possono essere raggiunti in due modi: attraverso l'uso di un percorso virtuale all'url di Project Web Access, come ad esempio asmx in locale dall'url dello Shared Service Provider (SSP), del tipo Utilizzando un browser web per visitare tali indirizzi verrà visualizzato un elenco dei metodi messi a disposizione da ciascun servizio (Figura 8.3). Tramite un link è inoltre possibile visualizzare il descrittore del servizio in lin- 67

76 guaggio WSDL, necessario per la costruzione di un client in grado di utilizzare il relativo Web Service. Figura 8.3: Metodi per il servizio project Non è però presente una descrizione dei metodi ma solamente la struttura delle buste SOAP di richiesta e risposta, comprensive dei parametri che devono essere inviati nel messaggio (esempio in gura 8.4). Figura 8.4: Descrizione del metodo readproject Microsoft Project mette a disposizione dell'utente un insieme di 23 servizi, consentendo comunque la creazione e la personalizzazione di ulteriori servizi 68

77 per utilizzare funzionalità non ancora presenti. Dei servizi già disponibili alcuni sono per uso interno da parte di PWA e Microsoft Oce Project Professional Le seguenti sono le classi che contengono i metodi della PSI: 1. Admin: comprende metodi di amministrazione utilizzati nelle pagine di Project Web Access. 2. Archive: comprende metodi per la gestione di backup e ripristino dei progetti, campi personalizzati, risorse, impostazioni di sistema, viste e progetti globali dell'organizzazione. Archivia inoltre tutti i progetti o cancella uno specico documento già archiviato. 3. Authentication: ha metodi esclusivamente riservati ad un uso interno e vi si può accedere soltanto attraverso l'url SSP. 4. Calendar: gestisce i calendari dell'organizzazione e delle risorse. 5. CubeAdmin: gestisce le impostazioni dei cubi OLAP, la loro creazione e lo stato del database. 6. CustomFields: gestisce i campi personalizzati dell'organizzazione. 7. Events: legge le liste di eventi in Project Server e amministra le associazioni dei gestori di eventi. 8. LoginForms: fornisce i metodi di Login e Logo utilizzando il sistema di autenticazione di Project Server. 9. LoginWindows: fornisce i metodi di Login e Logo utilizzando il sistema di autenticazione di Windows. 10. LookupTable: gestisce le tabelle di lookup. 11. Notications: gestisce gli avvisi e i promemoria. 12. ObjectLinkProvider: amministra gli oggetti web, i collegamenti ai documenti e le liste di oggetti sui siti dei servizi di Windows SharePoint. 69

78 13. Project: servizio principale per la gestione progetti. Amministra la maggior parte delle operazioni relative ad un progetto presente nel database e può mettere in coda un messaggio per la pubblicazione. Può inoltre creare o eliminare entità all'interno di un progetto (attività, risorse, assegnamenti) e può recuperare tutte le informazioni sui singoli elementi di un progetto. 14. PWA: servizio ad utilizzo interno che contiene molti metodi ottimizzati per Project Web Access. Gli elementi che restituiscono i suoi metodi sono ridondanti con quelli di altri servizi e per questo non viene utilizzato. 15. QueueSystem: gestisce le code del sistema, la loro congurazione e tutti gli elementi presenti in coda. 16. Resource: amministra le risorse dell'organizzazione, comprese le autorizzazioni degli utenti che le possono utilizzare, le informazioni di sicurezza e gli assegnamenti per ogni risorsa. 17. ResourcePlan: si occupa delle impostazioni dei ResourcePlan dell'organizzazione. 18. Security: contiene metodi per amministrare la sicurezza di accesso e i permessi globali e dell'organizzazione. 19. Statusing: amministra gli aggiornamenti di stato e gli assegnamenti alle varie attività. 20. TimeSheet: amministra i fogli di presenza (timesheets). Recupera quelli in ritardo o in attesa di approvazione e può visualizzare la lista degli utenti in grado di vericarne la validità. 21. View: servizio interno, accessibile soltanto tramite SSP URL, per per la gestione delle viste e dei report. 22. WinProj: è un'entità di sistema destinata ad un uso esclusivo di Project Professional, quindi applicazioni esterne non dovrebbero utilizzarne i metodi. Inoltre è possibile accedervi soltanto attraverso l'indirizzo di Shared Service Provider. 70

79 23. WssInterop: amministra i workspace di progetto. Per le necessità di progetto i servizi su cui si è concentrata l'attenzione sono stati: LoginForms Necessario per autenticarsi al Server e poter utilizzare così gli altri servizi. LoginForms infatti è l'unico servizio libero e non protetto. Il metodo di login che include riceve come parametri username e password dell'utente e restituisce un oggetto booleano che indica se l'autenticazione è riuscita oppure no. CustomFields Contiene i campi personalizzati dell'organizzazione, quindi è necessario estrarre le informazioni che contengono per una corretta identicazione delle attività all'interno dei progetti (ad esempio un campo custom può indicare se un task è o no una metafase all'interno del progetto) Project Servizio principale che permette di risalire alla lista di progetti dell'organizzazione e a tutte le informazioni che contengono, alle caratteristiche delle singole attività, delle risorse utilizzate e ai valori dei KPI. Gli oggetti restituiti dai metodi sono del tipo DataSet, ossia dei database interni alla memoria che contengono ciascuno una gerarchia di oggetti del tipo DataTable, DataRow e DataFields. Tali oggetti possono essere interpretati come le XML in quanto ne possiedono la struttura e questo semplica le operazioni di lettura da parte dei metodi Java. 71

80 8.3 Costruzione estrattore Per la costruzione dell'estrattore è stato necessario seguire le speciche del team di sviluppo di Spago4Q in modo che l'estrattore soddisfasse i requisiti necessari alla successiva integrazione nel sistema. Per questo: è stata estesa l'interfaccia it.eng.spago4q.extractors.abstractextractor sono stati implementati i metodi protected void setup(); protected void teardown(); utili per gestire operazioni che non sono direttamente connesse con il processo di estrazione (come ad esempio i parametri di connessione ad un database). In questo caso, all'interno del metodo setup(), sono stati impostati i parametri dell'estrattore relativi alle credenziali utente con le quali accedere al server e quelli relativi alla granularità dei dati da estrarre. protected void setup() { USER = readdatasourceparametervalue("user"); PASSWORD = readdatasourceparametervalue("password"); parameter = Integer.parseInt(readDataSourceParameterValue ("GRANULARITY")); status = readdatasourceparametervalue("project_status"); I valori dei parametri sono stati impostati utilizzando il metodo String readdatasourceparametervalue(string key) 72

81 che permette di leggere i parametri della sorgente dati attraverso il loro nome (key), ossia quelli inseriti attraverso l'interfaccia utente di Spago4Q riguardo la congurazione di uno specico Data Source. è stato implementato il metodo necessario protected List<GenericItemInterface> extract() throws EMFUserError; all'interno del quale è denito il processo di estrazione dei dati vero e proprio. Qui viene costruita una lista di oggetti Java che contengono le informazioni estratte dagli strumenti di gestione progetti. Ciascun elemento della lista è un oggetto GenericItem che è essenzialmente una HashMap con coppie chiave/valore di tipo String. In seguito all'analisi dei Web Services utili per l'implementazione dell'estrattore di metriche è stato scelto il linguaggio di programmazione con cui realizzare il software. Come già anticipato la scelta si è orientata su Java, in quanto maggiormente compatibile con il resto del sistema Spago4Q nel quale l'applicazione si sarebbe dovuta integrare. Per la scrittura del codice è stata utilizzata la piattaforma Eclipse che, anche grazie al plugin Axis disponibile in rete, ha semplicato la fase di creazione del client per l'accesso ai servizi e le successive fasi di debug dell'applicazione. Axis, sviluppato dallo stesso team di sviluppatori della piattaforma Apache Tomcat, è essenzialmente un framework per la costruzione di gestori di messaggi SOAP (come client, server, gateway) scritto in Java. Oltre a questa funzionalità comprende anche un servizio server in grado di interfacciarsi con motori servlet come Tomcat, strumenti per il monitoraggio di pacchetti TCP/IP e alcuni programmi d'esempio. Fornisce inoltre un supporto approfondito al Web Service Description Language e uno strumento in grado di generare classi Java a partire da un documento WSDL. In questo modo è possibile costruire facilmente client per accedere a servizi remoti ed anche esportare le descrizioni dei propri servizi in linguaggio WSDL. Come già anticipato nel paragrafo precedente le pagine web dei servizi comprendono anche il descrittore dei servizi stessi, grazie al quale è stato 73

82 possibile utilizzare le funzionalità di Axis per la creazione del client. Il client realizzato consiste essenzialmente in una classe Locator che istanzia un gestore del servizio, una classe Stub per utilizzare il servizio vero e proprio, e diverse altre classi, una per ogni metodo messo a disposizione dal servizio. Poiché tutti i Web Services risiedono ad indirizzi diversi ed ognuno di essi ha un descrittore specico è stato necessario creare un client distinto per ciascuno, e questo ha reso più dicoltose le successive operazioni di autenticazione al server. 74

83 Autenticazione al Server Il metodo di login fornito dal servizio LoginForms riceve come parametri username e password di un utente e, se questo è già presente nel database di Project Server, restituisce un oggetto booleano impostato a true, altrimenti restituisce il valore false. Quest'operazione di login, però, autentica soltanto la sessione corrente ma non le successive chiamate a Web Service diversi. Dalle prove eettuate, infatti, l'invocazione di altri servizi restituiva l'errore 404 di autenticazione al server che indica l'assenza delle autorizzazioni necessarie. Monitorando il traco HTTP tra client e server durante l'operazione di login si è notato che nel pacchetto di risposta inviato dal server l'oggetto booleano è l'unico elemento presente nella busta SOAP ma nell'header del messaggio HTTP viene restituito un cookie che può essere utilizzato per identicare l'utente nelle chiamate successive. Il ciclo di vita di tale cookie è di venti minuti, intervallo più che suciente per l'estrazione dei dati di interesse. Scaduto quell'intervallo di tempo è necessario eettuare una nuova operazione di login in modo da ottenere un cookie aggiornato. Poiché nelle classi del client create da Axis non esiste un metodo esplicito per estrarre il cookie di un pacchetto HTTP ricevuto o per impostarne uno generato ad hoc in un messaggio inviato è stato necessario implementare successivamente tale operazione di gestione del cookie. Attraverso il debug dell'applicazione è stato recuperato il cookie (in formato String) dal pacchetto ricevuto in risposta all'operazione di login avvenuta con successo. Completata questa fase alla classe Stub degli altri Web Services è stato aggiunto il metodo setcookie(string cookie) per impostare l'header cookie di tutte le successive richieste. Utilizzo dei servizi Project e CustomFields Il servizio Project fornito da Microsoft consente l'estrazione di tutti i dati relativi ai progetti presenti nell'archivio ed è stato quello più importante ai ni del progetto. Il suo metodo readprojectlist() 75

84 che non necessita di alcun parametro, restituisce un DataSet che contiene l'elenco dei progetti registrati dall'organizzazione. Da questo elenco è poi possibile estrarre informazioni dettagliate sui singoli progetti utilizzando il metodo readproject(string projectuid, DataStoreEnum status) che ha come parametri il codice identicativo del progetto di interesse e un oggetto che identica lo stato del progetto (WorkingStore, Published- Store, VersionsStore o ReportingStore). Quest'ultimo metodo restituisce un DataSet nel quale, una volta interpretato come documento XML (gura 8.5), sono presenti tutte le informazioni globali sul progetto, sulle singole attività, sulle risorse e sui campi personalizzati dell'organizzazione che sono stati associati alle attività. Figura 8.5: DataSet estratto attraverso il metodo readproject Per un'analisi dettagliata di tali campi è stato però necessario ricorrere al metodo readcustom(string xmlfilter, boolean autocheckout) del Web Service CustomFields che estrae dal server un DataSet contenente l'elenco di tutti i custom elds registrati dell'organizzazione e tutte le informazioni su di essi. Una volta estratti dal database di Project Server i dati relativi ai progetti sono stati ltrati in modo da mantenere soltanto quelli 76

85 rilevanti alla valutazione dei KPI. I dati di interesse sono stati poi inseriti in una lista di oggetti di tipo GenericItem, ciascuno dei quali è essenzialmente una HashMap contenente coppie chiave/valore costituite da nome/valore del parametro in formato String, che deve essere elaborata dai componenti analitici di Spago4Q per l'inserimento nella tabella costruita appositamente all'interno del data warehouse aziendale. L'oggetto GenericItem creato durante il processo di estrazione contiene, oltre che i valori degli indicatori specicati da Project Server, anche altri tipi di parametri. Questi parametri sono stati inseriti appositamente per riuscire ad identicare in maniera più accurata il tipo di fasi di progetto a cui tali indicatori fanno riferimento. In particolare sono stati aggiunti dei campi per indicare il tipo di fase considerata (progetto, metafase o semplice attività), il progetto di appartenenza e un codice identicativo della metafase (denito preventivamente durante la fase organizzativa) per raggruppare le varie attività secondo la metafase di appartenenza. In questo modo è stata creata una struttura ad albero (vedi g. 8.6) che semplica il lavoro durante la fase di creazione dei report graci. Figura 8.6: Struttura ad albero del data warehouse 77

86 Tutti gli indicatori di interesse, utili per la valutazione dello stato di avanzamento del progetto, sono elencati nella tabella 8.1, che comprende la tag del documento XML relativa all'indicatore e una descrizione dell'indicatore stesso. Tag Descrizione <PROJECT_NAME> Nome del progetto a cui appartiene l'attività <METAFASE_NAME> Nome della metafase di progetto a cui appartiene l'attività <METAFASE_CODE> Codice identicativo della metafase; questo campo è diverso da null solo per le attività identicate come metafasi <PHASE_TYPE> Tipo della fase considerata; può essere un progetto, una metafase, o una semplice attività (task) <PROJ_UID> Codice univoco identicativo del progetto a cui appartiene il task <TASK_UID> Codice univoco identicativo del task <TASK_NAME> Nome dell'attività che viene visualizzato nel diagramma di Gantt <TASK_IS_MILESTONE> Indica se il task è una milestone oppure no <TASK_DUR> Durata dell'attività <TASK_DUR_VAR> Varianza della durata del task; è la differenza tra la durata prevista e l'attuale durata dell'attività <TASK_EAC> Estimate at completion: è il costo totale previsto per un task, basato sui costi già sostenuti, a cui viene aggiunto il costo pianicato per il lavoro rimanente <TASK_VAC> Variance at completion: è la dierenza tra TB_COST e TASK_EAC 78

87 <TASK_ACT_DUR> Durata attuale dell'attività. Rappresenta una stima basata sulla durata prevista per l'attività e sul lavoro rimanente o sulla percentuale di lavoro completato <TASK_REM_DUR> Tempo richiesto per completare la parte rimanente del task <TASK_PCT_COMP> La percentuale di completamento dell'attività è basata sul tempo trascorso confrontato con il tempo rimanente per l'attività <TASK_PCT_WORK_COMP> Percentuale di lavoro svolto confrontato con il lavoro restante <TASK_WORK> Tempo totale previsto per il completamento dell'attività <TASK_ACT_WORK> Lavoro svolto dalle risorse assegnate all'attività <TASK_REM_WORK> Tempo richiesto per il completamento dell'attività <TASK_COST> Costo dell'attività <TASK_ACT_COST> Costo attuale dell'attività <TASK_REM_COST> Costo rimanente per il completamento dell'attività <TB_COST> Il costo previsto dalla baseline per il completamento totale del task <TB_WORK> Lavoro previsto in origine che deve essere svolto dalle risorse assegnate all'attività <TB_DUR> Durata prevista per il completamento dell'attività <TASK_BCWS> Budgeted cost of work scheduled: costo previsto a budget <TASK_BCWP> Budgeted cost of work performed: è l'earned value, ossia un indicatore sul valore del lavoro eettivamente svolto <TASK_ACWP> Actual cost of work performed: costo eettivamente sostenuto per l'attività 79

88 <TASK_WBS> Work breakdown structure: codice che indica le relazioni tra i vari task e permette di ricostruire la struttura gerarchica del progetto <TASK_COST_VAR> La varianza di costo è la dierenza tra il costo previsto nella baseline e il costo totale di un'attività <TASK_CPI> Cost performance index: BCWP/ACWP. Consente di fare previsioni sui costi complessivi dell'intero progetto <TASK_CV> Varianza del costo. Calcolata come BCWP - ACWP <TASK_SV> Varianza della schedulazione. Vale BCWP - BCWS <TASK_TCPI> Task to complete performance index: rapporto tra il budget ancora disponibile e il costo previsto delle attività rimanenti <TASK_WORK_VAR> La varianza del lavoro è la dierenza tra il lavoro previsto nella baseline e il lavoro attuale che è stato schedulato <TASK_START_VAR> Dierenza tra l'inizio dell'attività previsto dalla baseline e quello eettivo. Permette di capire se un task è iniziato in ritardo rispetto a quanto previsto <TASK_START_DATE> Data di inizio dell'attività Tabella 8.1: KPI estratti da Microsoft Project Server Una volta terminata la parte relativa alla costruzione dell'estrattore si è dovuto procedere alla sua integrazione all'interno della piattaforma Spago4Q. 80

89 8.4 Integrazione nell'ambiente Spago4Q All'interno della piattaforma Spago4Q l'utilizzo di un estrattore presuppone la specica di un insieme di parametri che deniscano un processo di estrazione, una sorgente dati da cui estrarre gli indicatori e un'interfaccia nella quale memorizzarne i valori. Questi parametri sono già stati introdotti nel capitolo e sono quelli che costituiscono il meta-modello per gli estrattori. Per questo si manterrà anche in questo capitolo la suddivisione logica dei parametri relativi a sorgenti dai, interfacce e processo di estrazione. Sorgenti dati La prima fase corrisponde alla denizione di un source type; un data source è infatti un'istanza del source type. Come mostrato in gura 8.7 oltre al nome del source type è necessario indicare il nome della classe Java che si occuperà dell'estrazione. Figura 8.7: Denizione del Data Source Completata quest'operazione è stato denito il data source e i valori dei parametri necessari all'estrattore. In questo caso sono stati utilizzati come variabili username e password per l'autenticazione al server di Microsoft Project, il tipo di progetti da cui estrarre i dati e la granularità degli indicatori desiderati (solo indicatori di progetto, delle metafasi o di ogni attività del processo di sviluppo). Nel caso ci siano parametri protetti, come le password, esiste la possibilità di eettuare una cifratura su di essi, in modo da memorizzarli criptati all'interno di Spago4Q. 81

90 Interfacce dati Parallelamente alla denizione del data source viene creata l'interfaccia dati, nella quale verranno poi denite le tabelle dei fatti contenenti i valori degli indicatori estratti. Attraverso l'opzione Interfacce presente in Spago4Q viene prodotta una nuova interfaccia (gura 8.8), nella cui descrizione è anche indicato il nome della fact table da inserire nel data warehouse con il presso FT_. Figura 8.8: Denizione di un'interfaccia Prima di creare la tabella, però, è necessario specicare le caratteristiche dei campi che popoleranno la tabella (gura 8.9). Figura 8.9: Denizione di un campo dell'interfaccia Per ciascuno di essi deve essere indicato: il nome del campo; il tipo dei valori che verranno inseriti (String, Integer, Double, Boolean o Date); 82

91 se si tratta di un campo sensibile. In questo caso alle estrazioni successive verrà controllato se i campi sensibili sono stati modicati e in caso positivo verrà inserita una nuova riga contenente i nuovi valori; se si tratta di un campo chiave. Si ricorda che i campi chiave devono poter identicare univocamente un elemento all'interno del data warehouse. Processo di estrazione Una volta che sono stati specicati sia la sorgente dati che l'interfaccia può essere denito il processo di estrazione, che funge da ponte di collegamento tra queste due parti. Un processo di estrazione consiste in un insieme di operazioni, ciascuna delle quali estrae i dati dal data source, li trasforma e li carica nella fact table. Tale processo, che corrisponde all'entità logica S4Q_E_PROCESS del meta-modello, deve essere stabilito esplicitamente tramite l'interfaccia graca di Spago4Q (gura 8.10). Figura 8.10: Creazione del processo di estrazione Qui è possibile denire: Nome: identica il processo di estrazione Descrizione: è possibile fornire una descrizione testuale del processo Coordinatore: la classe coordinatore da utilizzare. Se il valore di questo campo non viene modicato viene utilizzato il DefaultCoordinator già disponibile nel sistema, altrimenti è possibile utilizzarne uno implementato in base alle proprie esigenze. 83

92 Periodicità: periodicità con cui eseguire l'estrazione dei dati dal datasource. È possibile scegliere tra alcuni valori predeniti ricordando che in ogni caso l'estrazione potrà avvenire nei tempi desiderati attraverso l'esecuzione manuale del processo. Una volta denito il processo di estrazione è stata creata l'operazione relativa, che collega il coordinatore del processo alla sorgente dati e alla tabella dei fatti dell'interfaccia. La gura 8.11 mostra appunto le impostazioni relative all'operazione di estrazione: Nome: identicatore per l'operazione Descrizione: una descrizione dell'operazione Data Source: la sorgente dati dalla quale estrarre i dati relativi ai progetti Interfaccia: l'interfaccia alla quale è associata l'operazione di estrazione. Nell'interfaccia, dove è stata denita la tabella dei fatti, verranno inseriti i valori degli indicatori estratti dai tool di project management. Figura 8.11: Creazione dell'operazione di estrazione Tra i dettagli dell'operazione è poi possibile aggiungere i parametri che devono essere utilizzati dall'estrattore; per l'estrattore utilizzato non si è resa necessaria l'introduzione di ulteriori variabili, ma nel caso di un estrattore da database qui può, ad esempio, essere specicata la query da sottoporre al database. 84

93 Terminata la fase di denizione dei tre ambienti le ultime operazioni da compiere prima di poter eettuare l'estrazione dei dati sono la mappatura degli indicatori estratti con i campi presenti nella fact table (gura 8.12) e la trasformazione dei dati estratti tramite script. Figura 8.12: Mappatura dei dati estratti nei campi della fact table Per la mappatura dei dati è suciente indicare il nome degli elementi presenti nel GenericItem creato dall'estrattore, il relativo campo dell'interfaccia e l'eventuale script di trasformazione da eseguire prima dell'inserimento del dato nella tabella. Lo script di trasformazione, generalmente scritto in linguaggio Groovy o Javascript, è necessario quando i dati vengono estratti in un formato non corretto rispetto a quanto atteso da MySQL (DBMS sul quale si basa la struttura del data warehouse), come nel caso delle date o dei valori booleani. Completata anche quest'ultima fase può essere eseguito il processo di estrazione: 1. il coordinatore avvia l'operazione di estrazione utilizzando i parametri specicati nell'operation parameter; 2. attraverso la classe estrattore indicata nel source type e con i parametri necessari al data source vengono estratti i dati dagli strumenti di gestione progetti; 3. tramite le speciche di mappatura espresse nell'operation eld i dati ricavati vengono inseriti nella tabella dei fatti specicata nell'interface type, eventualmente dopo la trasformazione tramite script In questo modo il data warehouse è popolato con tutti i dati, i quali dovranno poi essere utilizzati nella stesura dei documenti analitici per l'analisi accurata dei progetti. 85

94 8.5 Rappresentazione graca delle metriche Come anticipato nel capitolo 7, gli indicatori raccolti nel data warehouse di Spago4Q devono poter essere visualizzati in una forma chiara e signicativa, in modo da rappresentare una fonte di informazioni facilmente e rapidamente comprensibile per i manager di progetto. Una volta completato con successo il processo di estrazione dei dati da Microsoft Project Server si è passati alla creazione dei report graci da pubblicare poi all'interno della piattaforma Spago4Q. Questi documenti analitici possono essere di due tipi: report semplici, creati attraverso motori di reportistica esterni alla piattaforma Spago4Q e che quando vengono eseguiti prelevano i valori degli indicatori dal data warehouse e li inseriscono all'interno del layout graco specicato nel report documenti KPI, integrati con il motore di Spago4Q, che prevedono la valutazione delle metriche secondo i modelli KPI deniti nel sistema Nei paragra seguenti vengono descritte in dettaglio le operazioni compiute per la creazione di tali documenti e i risultati ottenuti Report ireport (gura 8.13), il software open source che si è deciso di utilizzare per lo sviluppo (distribuito sotto licenza GNU GPL), tramite un'interfaccia graca completa e intuitiva permette la costruzione di report, compatibili con qualunque tipo di applicazioni Java, attraverso l'uso delle librerie JasperReports. Per la creazione dei report si è cercato di mantenere un layout quanto più possibile chiaro ed ecace, tramite una tabella contenente soltanto le informazioni fondamentali e un indicatore graco facilmente comprensibile. Per ricavare i dati da inserire all'interno dei report ireport ricorre a query parametriche da sottoporre al data source specicato nella denizione dell'ambiente operativo. Un esempio di tale query è mostrato in gura I parametri utilizzati sono stati il nome del progetto di cui si vuole monitorare lo sviluppo e le date di riferimento per gli indicatori. Nel caso di report contenenti trend storici si sono considerate due date, quella di inizio e quella di 86

95 Figura 8.13: Interfaccia graca di ireport ne, che denissero un intervallo temporale. Per analisi puntuali invece, che richiedono la visualizzazione dello stato del progetto in un istante specico del processo di sviluppo, è stata utilizzata una sola data. Figura 8.14: Query di esempio all'interno di ireport Attraverso ireport è stato anche possibile vericare la correttezza dei re- 87

96 port creati, sia per quanto riguarda la struttura graca successiva alla compilazione del documento sia per i dati inseriti in esso. Prima dell'esecuzione del documento all'interno di Spago4Q è stato necessario inserire alcune speciche, riguardanti i parametri che vengono utilizzati nella query di reperimento dei dati dal data warehouse. Nella denizione dei LOV (List Of Values) sono state inserite delle piccole query che ricavassero dal data warehouse i nomi dei progetti inseriti. Queste LOV sono state poi associate a dei driver analitici, ossia i parametri considerati nella query. La denizione di un driver analitico, che verrà poi associato ad un report, consente la presentazione all'utente di un menu in cui scegliere il progetto di cui visualizzare gli indicatori. Sono stati quindi creati un driver analitico specico per i nomi dei progetti e uno per le date. Per la pubblicazione del documento all'interno di Spago4Q esiste un'apposita sezione dedicata alla costruzione di documenti analitici (gura 8.15). Figura 8.15: Form di creazione di un nuovo documento analitico All'interno della form di creazione è necessario indicare, tra gli altri, il tipo di documento che si sta producendo (generalmente o report o documenti KPI descritti nel paragrafo successivo), il motore di reportistica che si vuole utilizzare (KpiEngine, JasperReports o Birt), la visibilità del documento (ossia per quale categoria di utenti sarà disponibile) e il le creato con ireport che denisce il template del documento. Qui sono associati al documento anche i parametri deniti dai driver analitici (gura 8.16). 88

97 Figura 8.16: Form per l'associazione di un driver analitico al report Nella form deve essere indicato, oltre al nome del driver analitico considerato, anche quale nome assume il parametro all'interno del documento creato con ireport. Una volta completata la denizione dell'ambiente e di tutti i parametri, il documento analitico può essere eseguito. Nell'esempio mostrato in gura 8.17 vengono visualizzati gli indicatori relativi alla varianza dei costi delle metafasi del progetto Test_Project. Figura 8.17: Varianza dei costi delle metafasi di progetto 89

98 Come si può notare gli elementi principali sono tre: 1. il graco a torta mostra il peso che ogni metafase ha avuto sul costo complessivo del progetto 2. la tabella centrale riporta i valori numerici dettagliati dei costi di ciascuna metafase e della varianza rispetto a quanto pianicato 3. il graco a barre mostra la varianza del costo delle metafasi. Tramite questo graco è immediato identicare quali sono le fasi che hanno richiesto un lavoro del team di sviluppo superiore a quanto pianicato 90

99 8.5.2 Documenti KPI Come anticipato nel capitolo 7, la creazione di un documento KPI prevede la preventiva denizione di un modello di valutazione, che può essere basato sull'approccio GQM così come sul modello CMMI. Per questo, attraverso l'interfaccia di Spago4Q, è stato specicato un modello aderente alle caratteristiche espresse dal documento GQM di gura 5.2. Figura 8.18: Denizione del modello di valutazione In gura 8.18 si può notare che nella denizione del modello è necessario anche indicare il tipo di nodo che si sta creando, in quanto il modello stesso ha una struttura ad albero. Il primo nodo che dovrà essere creato, infatti, sarà il nodo di root. Per tutti gli altri nodi del modello la procedura da seguire sarà la stessa usata in precedenza, denendo per ciascuno se si tratta di un nodo generico oppure un nodo appartenente allo schema GQM (quindi goal, question o metric). Al modello devono poi essere associati i KPI di interesse. Per questo è necessario specicare all'interno del sistema la descrizione degli indicatori (gura 8.19), indicando l'algoritmo di calcolo dei KPI (una descrizione testuale), il nome della soglia a cui fanno riferimento, un eventuale documento analitico (come i report creati in precedenza) al quale si potrà accedere direttamente dal documento KPI e le regole di calcolo del DataSet che permettono il calcolo numerico dell'indicatore. In questa fase sono stati creati tutti i KPI considerati nel documento GQM di gura 5.2, utili alla valutazione dello stato di avanzamento del pro- 91

100 Figura 8.19: Denizione dei KPI getto durante ogni sua fase. Una volta completata la creazione dei KPI a questi vanno associate le relative soglie. Queste ultime vengono create attraverso l'interfaccia e ne vanno specicati i dettagli (gura 8.20), che nel caso di soglie che comprendono un intervallo di valori sono i valori minimo e massimo, il colore dell'intervallo nella rappresentazione graca e la gravità nel caso tali soglie vengano superate (per la gestione degli avvisi). Figura 8.20: Denizione delle caratteristiche dei valori di soglia Quando tutti gli indicatori e le soglie sono state denite, possono venire associate ad un'istanza del modello GQM creato in precedenza. Le istanze dei modelli forniscono il collegamento tra il modello stesso e gli indicatori e le soglie denite dall'organizzazione. Da questa interfaccia è anche possibile denire facoltativamente un intervallo temporale per l'applicazione del modello. In gura 8.21 si può vedere come nella costruzione di una nuova istanza vadano indicate le date di inizio e di ne del periodo di validità della stessa. 92

101 Figura 8.21: Costruzione di un'istanza del modello Ora è possibile visualizzare la struttura ad albero dell'istanza del modello (gura 8.22). Figura 8.22: Struttura ad albero del modello Tramite la creazione di nuovi nodi all'interno dell'istanza possono quindi essere deniti i collegamenti del modello con i KPI e i valori di soglia (gura 8.23). L'istanza del modello è poi associata alle risorse dell'organizzazione, come ad esempio i progetti. Inne viene creato un DataSet per il calcolo di ciascun KPI; nella form di denizione vengono specicate le regole di calcolo attraverso una query parametrica, dove i parametri indicano la risorsa sulla quale si eettua la valutazione, la data in cui viene calcolato l'indicatore ed eventualmente altri parametri (non standard come i due precedenti) che sono stati deniti preventivamente tra i driver analitici del dataset. Un esempio di denizione di un DataSet è presente in gura Qui viene estratto il valore 93

102 Figura 8.23: Associazione dei KPI ai nodi dell'istanza del modello dello SPI (schedule performance index) alla data di valutazione sul progetto desiderato (che qui è stato parametrizzato come $P{ParKpiResource. Figura 8.24: Denizione di un DataSet Completata anche quest'operazione l'ambiente di calcolo dei KPI è stato denito in ogni sua parte. Nell'ultima fase è stato creato un documento KPI, basato sull'ambiente appena specicato, utilizzando le medesime procedure descritte nel paragrafo Report. Una volta selezionato il nodo di interesse all'interno dell'albero di caratterizzazione del modello il documento appena creato può essere eseguito. Il risultato dell'esecuzione di un documento KPI di esempio è mostrato in gura

103 Figura 8.25: Documento KPI In questo documento è fornita una descrizione dei KPI e un graco che permette di comprendere rapidamente se i valori degli indicatori considerati oltrepassano i livelli di soglia massimi consentiti. 95

Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali

Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Tecnologie per la Società dell Informazione Implementazione del Modello QEST nd in Spago4Q RELATORE:

Dettagli

Centro Nazionale per l Informatica nella Pubblica Amministrazione. Gara a procedura aperta n. 1/2007. per l appalto dei

Centro Nazionale per l Informatica nella Pubblica Amministrazione. Gara a procedura aperta n. 1/2007. per l appalto dei Centro Nazionale per l Informatica nella Pubblica Amministrazione Gara a procedura aperta n. 1/2007 per l appalto dei Servizi di rilevazione e valutazione sullo stato di attuazione della normativa vigente

Dettagli

Sviluppo di applicazioni Internet: l'uso integrato di XML e Java

Sviluppo di applicazioni Internet: l'uso integrato di XML e Java UNIVERSITA' DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria - Sede di Modena Corso di Laurea in Ingegneria Infomatica Sviluppo di applicazioni Internet: l'uso integrato di XML e Java realizzata

Dettagli

DATA WAREHOUSING CON JASPERSOFT BI SUITE

DATA WAREHOUSING CON JASPERSOFT BI SUITE UNIVERSITÁ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Ingegneria di Enzo Ferrari Corso di Laurea Magistrale in Ingegneria Informatica (270/04) DATA WAREHOUSING CON JASPERSOFT BI SUITE Relatore

Dettagli

La prossima ondata di innovazione aziendale introdotta da Open Network Environment

La prossima ondata di innovazione aziendale introdotta da Open Network Environment Panoramica della soluzione La prossima ondata di innovazione aziendale introdotta da Open Network Environment Panoramica La crescente importanza dei ruoli assunti da tecnologie come cloud, mobilità, social

Dettagli

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management)

Thea PDM. Cos è Thea PDM? Il PDM (Product Data Management) Thea PDM Il PDM (Product Data Management) Nell'industria manifatturiera il PDM è un software per la raccolta ed organizzazione dei file nelle divere fasi di ideazione, progettazione, produzione ed obsolescenza

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Allegato 2: Prospetto informativo generale

Allegato 2: Prospetto informativo generale Gara a procedura ristretta accelerata per l affidamento, mediante l utilizzo dell Accordo Quadro di cui all art. 59 del D.Lgs. n. 163/2006, di Servizi di Supporto in ambito ICT a InnovaPuglia S.p.A. Allegato

Dettagli

RRF Reply Reporting Framework

RRF Reply Reporting Framework RRF Reply Reporting Framework Introduzione L incremento dei servizi erogati nel campo delle telecomunicazioni implica la necessità di effettuare analisi short-term e long-term finalizzate a tenere sotto

Dettagli

Tecnologie Enterprise Portal e soluzioni Open Source

Tecnologie Enterprise Portal e soluzioni Open Source Sede legale: Via Papa Giovanni XXIII, 12-66010 Miglianico (Chieti) Partita I.V.A. e Codice Fiscale 02068220694 Sede operativa: Via dei Marrucini, 11-65127 Pescara Capitale Sociale 16.000,00 i.v. Tel /

Dettagli

L INNOVAZIONE TECNOLOGICA E L OPEN SOURCE AL SERVIZIO DELLA PA INAIL CONSULENZA PER L INNOVAZIONE TECNOLOGICA Alessandro Simonetta Guido Borsetti

L INNOVAZIONE TECNOLOGICA E L OPEN SOURCE AL SERVIZIO DELLA PA INAIL CONSULENZA PER L INNOVAZIONE TECNOLOGICA Alessandro Simonetta Guido Borsetti L INNOVAZIONE TECNOLOGICA E L OPEN SOURCE AL SERVIZIO DELLA PA INAIL CONSULENZA PER L INNOVAZIONE TECNOLOGICA Alessandro Simonetta Guido Borsetti Premessa Il rapporto tra open source e innovazione è un

Dettagli

hdone 1 Overview 2 Features hdone Team 13 dicembre 2007

hdone 1 Overview 2 Features hdone Team 13 dicembre 2007 hdone hdone Team 13 dicembre 2007 1 Overview hdone è una web application che fornisce il supporto necessario a tutte le aziende che si occupano di fornire servizi di assistenza al cliente. Dopo gli anni

Dettagli

Business Intelligence. strumento per gli Open Data

Business Intelligence. strumento per gli Open Data Business Intelligence strumento per gli Open Data Progetti di innovazione Progetti di innovazione negli Enti Locali Perchè? Forte cultura dell'adempimento Minore sensibilità per la verifica dei servizi

Dettagli

GRUPPO PARTNERS ASSOCIATES IT GLOBAL INDUSTRY

GRUPPO PARTNERS ASSOCIATES IT GLOBAL INDUSTRY PROFILE 2015 GRUPPO PARTNERS ASSOCIATES IT GLOBAL INDUSTRY PA GROUP> Leader nel settore IT. Dal 1998 fornisce prodotti e soluzioni best in class nei diversi settori di competenza: Finanza, Industria, PA,

Dettagli

Sviluppo Applicazione di BI/DWH. con tecnologia Microsoft. per il supporto della catena logistica

Sviluppo Applicazione di BI/DWH. con tecnologia Microsoft. per il supporto della catena logistica UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Ingegneria Enzo Ferrari di Modena Corso di Laurea Magistrale in Ingegneria Informatica (270/04) Sviluppo Applicazione di BI/DWH con tecnologia

Dettagli

Scarica la versione di prova gratuita di Datapolis Workbox dal sito www.datapolis.com/it-it/workbox

Scarica la versione di prova gratuita di Datapolis Workbox dal sito www.datapolis.com/it-it/workbox Datapolis Workbox 2010 per Microsoft Sharepoint Datapolis Workbox è uno strumento grafico user-friendly per modellare e gestire i processi gestionali, il flusso di informazioni e di documenti nell'ambiente

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

L'Open Source, le imprese, gli utenti e le community

L'Open Source, le imprese, gli utenti e le community L'Open Source, le imprese, gli utenti e le community competenze, esperienze, soluzioni ed iniziative Palazzotti - Scamuzzo - Viele Gruppo Engineering 06/11/10 Name of Presenter 1 Come ci eravamo lasciati...

Dettagli

Ricca - Divisione I.T.

Ricca - Divisione I.T. Ricca - Divisione I.T. Information Technology & Security Partner Profilo B.U. e Offerta Servizi Ricca Divisione I.T. Information Technology & Security Partner La Mission La nostra missione è divenire il

Dettagli

Progettazione di interfacce web indipendenti dal dispositivo

Progettazione di interfacce web indipendenti dal dispositivo Progettazione di interfacce web indipendenti dal dispositivo Candidato Izzo Giovanni, Matr. 41/1305 Relatore Prof. Porfirio Tramontana 1 Panoramica su contesto ed obiettivi Il contesto della tesi è legato

Dettagli

Gestione centralizzata delle anagrafiche in uno scenario complesso con SAP NetWeaver MDM

Gestione centralizzata delle anagrafiche in uno scenario complesso con SAP NetWeaver MDM UNIVERSITÀ DI PISA Facoltà di Ingegneria Laurea Specialistica in Ingegneria Informatica per la Gestione d Azienda Tesi di Laurea Sessione di Laurea del 18/12/2008 Gestione centralizzata delle anagrafiche

Dettagli

Michele Sonnessa Politecnico di Torino. I portali come strategia di integrazione del software gestionale

Michele Sonnessa Politecnico di Torino. I portali come strategia di integrazione del software gestionale Michele Sonnessa Politecnico di Torino I portali come strategia di integrazione del software gestionale Centro Congressi Unione Industriale Torino 12 febbraio 2008 Dall'ERP ai Portali Anni '90, la decade

Dettagli

Titolo Perché scegliere Alfresco. Titolo1 ECM Alfresco

Titolo Perché scegliere Alfresco. Titolo1 ECM Alfresco Titolo Perché scegliere Alfresco Titolo1 ECM Alfresco 1 «1» Agenda Presentazione ECM Alfresco; Gli Strumenti di Alfresco; Le funzionalità messe a disposizione; Le caratteristiche Tecniche. 2 «2» ECM Alfresco

Dettagli

ACTIVITY TRACKING PER UNA MAGGIORE EFFICIENZA ALL INTERNO DELL IMPRESA

ACTIVITY TRACKING PER UNA MAGGIORE EFFICIENZA ALL INTERNO DELL IMPRESA ACTIVITY TRACKING PER UNA MAGGIORE EFFICIENZA ALL INTERNO DELL IMPRESA Activity Tracking è l applicazione ideata in Fiat Group Automobiles (FGA) e sviluppata da Cluster Reply per gestire la tracciabilità

Dettagli

GRAM 231. Global Risk Assessment & Management. Approccio metodologico ed informatico all applicazione del D.Lgs. 231/2001

GRAM 231. Global Risk Assessment & Management. Approccio metodologico ed informatico all applicazione del D.Lgs. 231/2001 GRAM 231 Global Risk Assessment & Management Approccio metodologico ed informatico all applicazione del D.Lgs. 231/2001 Sommario Proposta di applicazione pratica... 3 Quadro normativo... 3 Una soluzione...

Dettagli

KNOWLEDGE MANAGEMENT. Knowledge Management. Knowledge: : cos è. Dispense del corso di Gestione della Conoscenza d Impresa

KNOWLEDGE MANAGEMENT. Knowledge Management. Knowledge: : cos è. Dispense del corso di Gestione della Conoscenza d Impresa KNOWLEDGE MANAGEMENT Pasquale Lops Giovanni Semeraro Dispense del corso di Gestione della Conoscenza d Impresa 1/23 Knowledge Management La complessità crescente della società, l esubero di informazioni

Dettagli

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma

Dettagli

ACG Vision4 Service Bus V 1.3.0

ACG Vision4 Service Bus V 1.3.0 ACG Offering Team 16 settembre 2010 ACG Vision4 Service Bus V 1.3.0 ACGV4SVB 06 L evoluzione ACG: linee guida Punti fondamentali Strategia di evoluzione del prodotto ACG con particolare attenzione alla

Dettagli

tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Manganiello Felice Matr. 534/001569

tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Manganiello Felice Matr. 534/001569 tesi di laurea CONFRONTO TRA SOLUZIONI COMMERCIALI PER LA REALIZZAZIONE Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Manganiello Felice Matr. 534/001569 CONFRONTO TRA SOLUZIONI

Dettagli

1. Hard Real Time Linux (Laurea VO o specialistica)

1. Hard Real Time Linux (Laurea VO o specialistica) 20/9/06 Elenco Tesi Disponibili Applied Research & Technology Dept. La Società MBDA La MBDA Italia è un azienda leader nella realizzazione di sistemi di difesa che con i suoi prodotti è in grado di soddisfare

Dettagli

SOLUTION BRIEF CA ERwin Modeling. Come gestire la complessità dei dati e aumentare l'agilità del business

SOLUTION BRIEF CA ERwin Modeling. Come gestire la complessità dei dati e aumentare l'agilità del business SOLUTION BRIEF CA ERwin Modeling Come gestire la complessità dei dati e aumentare l'agilità del business CA ERwin Modeling fornisce una visione centralizzata delle definizioni dei dati chiave per consentire

Dettagli

Associazione Italiana Information Systems Auditors

Associazione Italiana Information Systems Auditors 20141 Milano Via Valla, 16 Tel. +39/02/84742365-70608405 Fax +39/02/700507644 E-mail: aiea@aiea.it P.IVA 10899720154 Iniziativa : "Sessione di Studio" a Verona Gentili Associati Il Consiglio Direttivo

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Open Source per la Qualità

Open Source per la Qualità Open Source per la Qualità Davide Dalle Carbonare IT Solution Architect Engineering's Competence Center for Quality Economia dell'informazione Padova, 5 Maggio 2010 www.spago4q.it Agenda -Qualità & Open

Dettagli

Università degli Studi di Roma Tor Vergata. Facoltà di Ingegneria. Corso di Informatica Mobile. http://mislash.googlecode.com

Università degli Studi di Roma Tor Vergata. Facoltà di Ingegneria. Corso di Informatica Mobile. http://mislash.googlecode.com Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Informatica Mobile http://mislash.googlecode.com Professore: Vincenzo Grassi Studenti: Simone Notargiacomo "Roscio" Tavernese Ibrahim

Dettagli

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA Elenco dei manuali Elenco dei manuali dell'utente di MEGA MEGA 2009 SP5 R7 1ª edizione (luglio 2012) Le informazioni contenute nel presente documento possono essere modificate senza preavviso e non costituiscono

Dettagli

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA Elenco dei manuali Elenco dei manuali dell'utente di MEGA MEGA 2009 SP4 1ª edizione (giugno 2010) Le informazioni contenute nel presente documento possono essere modificate senza preavviso e non costituiscono

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

Internet e la Banca. Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Banking Solutions & Technologies Gruppo AIVE

Internet e la Banca. Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Banking Solutions & Technologies Gruppo AIVE Internet e la Banca Relatore Andrea Falleni, Responsabile Prodotti e Soluzioni BST Gruppo AIVE 1 Scenario Le BANCHE in Italia, al contrario delle concorrenti europee, hanno proposto, sul mercato dei nuovi

Dettagli

Applicazione: Piattaforma di Comunicazione Unificata

Applicazione: Piattaforma di Comunicazione Unificata Riusabilità del software - Catalogo delle applicazioni: Amministrativi/Contabile Applicazione: Piattaforma di Comunicazione Unificata Amministrazione: Regione Piemonte - Direzione Innovazione, Ricerca

Dettagli

E.T.L. (Extract.Tansform.Load) IBM - ISeries 1/8

E.T.L. (Extract.Tansform.Load) IBM - ISeries 1/8 E.T.L. (Extract.Tansform.Load) IBM - ISeries Quick-EDD/ DR-DRm ETL 1/8 Sommario ETL... 3 I processi ETL (Extraction, Transformation and Loading - estrazione, trasformazione e caricamento)... 3 Cos è l

Dettagli

enclose CRM Engineering Cloud Services IL CRM AS A SERVICE DI ENGINEERING runs on Microsoft Dynamics CRM

enclose CRM Engineering Cloud Services IL CRM AS A SERVICE DI ENGINEERING runs on Microsoft Dynamics CRM enclose Engineering Cloud Services CRM runs on Microsoft Dynamics CRM IL CRM AS A SERVICE DI ENGINEERING EncloseCRM EncloseCRM è la proposta Software as a Service di Engineering per offrire al mercato

Dettagli

L ottimizzazione dei processi con Microsoft Office System: come generare e misurare il valore per le aziende

L ottimizzazione dei processi con Microsoft Office System: come generare e misurare il valore per le aziende MICROSOFT BUSINESS DESKTOP MICROSOFT ENTERPRISE CLUB Disponibile anche sul sito: www.microsoft.com/italy/eclub/ L ottimizzazione dei processi con Microsoft Office System: come generare e misurare il valore

Dettagli

ANALISI DI UN CASO DI EVOLUZIONE NELL ADOZIONE DELLA SOLUZIONE PROJECT AND PORTFOLIO MANAGEMENT DI HP.

ANALISI DI UN CASO DI EVOLUZIONE NELL ADOZIONE DELLA SOLUZIONE PROJECT AND PORTFOLIO MANAGEMENT DI HP. INTERVISTA 13 settembre 2012 ANALISI DI UN CASO DI EVOLUZIONE NELL ADOZIONE DELLA SOLUZIONE PROJECT AND PORTFOLIO MANAGEMENT DI HP. Intervista ad Ermanno Pappalardo, Lead Solution Consultant HP Software

Dettagli

Sistema ERP Dynamics AX

Sistema ERP Dynamics AX Equitalia S.p.A. Servizi di implementazione e manutenzione del nuovo Sistema Informativo Corporate Sistema ERP Dynamics AX Allegato 6 Figure professionali Sommario 1. Caratteri generali... 3 2. Account

Dettagli

Abstract. Reply e il Cloud Computing: la potenza di internet e un modello di costi a consumo. Il Cloud Computing per Reply

Abstract. Reply e il Cloud Computing: la potenza di internet e un modello di costi a consumo. Il Cloud Computing per Reply Abstract Nei nuovi scenari aperti dal Cloud Computing, Reply si pone come provider di servizi e tecnologie, nonché come abilitatore di soluzioni e servizi di integrazione, volti a supportare le aziende

Dettagli

CeBAS. Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009)

CeBAS. Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009) CeBAS Centrale Bandi e Avvisi Pubblici Regionali (DGR n. 1556 del 11.09.2009) Introduzione Il progetto CEBAS: la finalità è di migliorare l efficienza operativa interna dell Ente rispondere alle aspettative

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

TiQ Green Energy Management: La soluzione IT per il continuo miglioramento dell utlizzo dell energia. You cannot Manage What you cannot Measure

TiQ Green Energy Management: La soluzione IT per il continuo miglioramento dell utlizzo dell energia. You cannot Manage What you cannot Measure TiQ Green Energy Management: La soluzione IT per il continuo miglioramento dell utlizzo dell energia You cannot Manage What you cannot Measure 1. Moduli di GEM Energy Monitoring Misurare è il primo passo

Dettagli

Servizio HP Data Replication Solution per HP 3PAR Virtual Copy

Servizio HP Data Replication Solution per HP 3PAR Virtual Copy Servizio HP Data Replication Solution per HP 3PAR Virtual Copy Servizi HP Care Pack Caratteristiche tecniche Il servizio HP Data Replication Solution per HP 3PAR Virtual Copy prevede l'implementazione

Dettagli

Descrizione generale. Architettura del sistema

Descrizione generale. Architettura del sistema Descrizione generale Sister.Net nasce dall esigenza di avere un sistema generale di Cooperazione Applicativa tra Enti nel settore dell Informazione Geografica che consenta la realizzazione progressiva

Dettagli

Università degli Studi di Genova Facoltà di Ingegneria. Tesi di Laurea in Ingegneria Elettronica

Università degli Studi di Genova Facoltà di Ingegneria. Tesi di Laurea in Ingegneria Elettronica Università degli Studi di Genova Facoltà di Ingegneria Tesi di Laurea in Ingegneria Elettronica Performance measurement system per la gestione di eventi industriali complessi Candidato: Adriano Moretti

Dettagli

Syncope OpenSource IdM

Syncope OpenSource IdM Syncope OpenSource IdM Gestione delle identità in contesti aziendali Versione 1.2 / 2011-12-16 Syncope OpenSource IdM, da http://syncope.googlecode.comi, è distribuito con licenza Creative Commons Attribution

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

COMPA Bologna 7/8/9 novembre 2006. ITIL / CMDBuild: un esempio di progetto di BPR e riuso in ambito ICT

COMPA Bologna 7/8/9 novembre 2006. ITIL / CMDBuild: un esempio di progetto di BPR e riuso in ambito ICT COMPA Bologna 7/8/9 novembre 2006 ITIL / CMDBuild: un esempio di progetto di BPR e riuso in ambito ICT 1 Motivazioni del progetto (1) Il Servizio Sistemi Informativi e Telematici del Comune di Udine è

Dettagli

Microsoft Dynamics NAV 2009 REALIZZARE GLI OBIETTIVI

Microsoft Dynamics NAV 2009 REALIZZARE GLI OBIETTIVI Microsoft Dynamics NAV 2009 REALIZZARE GLI OBIETTIVI Una soluzione ERP integrata CONNETTERE Microsoft Dynamics NAV 2009 SEMPLIFICARE ANALIZZARE Microsoft Dynamics NAV 2009 è un ERP innovativo, flessibile

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

CMDBuild Significato di una soluzione open source per la gestione del CMDB

CMDBuild Significato di una soluzione open source per la gestione del CMDB ITIL e PMBOK Service management and project management a confronto CMDBuild Significato di una soluzione open source per la gestione del CMDB Firenze 1 luglio 2009 Il sistema CMDBuild è una applicazione

Dettagli

Organization Intelligence: Approccio e Tecnologia

Organization Intelligence: Approccio e Tecnologia Organization Intelligence: Approccio e Tecnologia [Knowledge] «In organizations it often becomes embedded not only in documents or repositories but also in organizational routines, processes, practices

Dettagli

BUSINESSOBJECTS EDGE STANDARD

BUSINESSOBJECTS EDGE STANDARD PRODOTTI BUSINESSOBJECTS EDGE STANDARD La business intelligence consente di: Conoscere meglio le attività Scoprire nuove opportunità. Individuare e risolvere tempestivamente problematiche importanti. Avvalersi

Dettagli

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo tesi di laurea Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque correlatore Ing. Catello di

Dettagli

JSIS JSIS L architettura JSIS

JSIS JSIS L architettura JSIS JSIS JSIS L architettura JSIS La piattaforma JSIS Java Solution Integrated Suites, interamente realizzata dai nostri laboratori di sviluppo software, è una soluzione che integra la gestione di diverse

Dettagli

Software. Engineering

Software. Engineering Software Il modello CMMI Engineering nelle organizzazioni software Agenda Focalizzazione sul processo CMMI come modello per il miglioramento dei processi Struttura del modello CMMI Aree di processo Riferimenti

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

Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi. [Presentazione del Corso]

Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi. [Presentazione del Corso] Presentazione del Corso 1 Premessa Il software libero/open source si è diffuso oltre le comunità di sviluppo, coinvolgendo altri attori che hanno individuato modelli di sviluppo sostenibili che lo rendono

Dettagli

Microsoft Dynamics NAV 2009 REALIZZARE GLI OBIETTIVI

Microsoft Dynamics NAV 2009 REALIZZARE GLI OBIETTIVI Microsoft Dynamics NAV 2009 REALIZZARE GLI OBIETTIVI Una soluzione ERP ALL AVANGUARDIA CONNETTERE Microsoft Dynamics NAV 2009 SEMPLIFICARE ANALIZZARE Microsoft Dynamics NAV 2009 è una soluzione di gestione

Dettagli

Self-Service Business Intelligence

Self-Service Business Intelligence Self-Service Business Intelligence VISUALIZZA DATI, SCOPRI LE TENDENZE, CONDIVIDI I RISULTATI Analysis offre a tutti gli utenti aziendali strumenti flessibili per creare e condividere le informazioni significative

Dettagli

Servizio di Conservazione a norma Service Level Agreement Sistema di Gestione per la Qualità - DQ_07.06 UNIMATICA S.p.A.

Servizio di Conservazione a norma Service Level Agreement Sistema di Gestione per la Qualità - DQ_07.06 UNIMATICA S.p.A. Servizio di Conservazione a norma Service Level Agreement Sistema di Gestione per la Qualità - DQ_07.06 pag. 1 di 12 Revisione Data Motivo Revisione Redatto da Approvato da 1.0 03/10/2009 Emissione Andrea

Dettagli

Eclipse Day 2010 in Rome

Eclipse Day 2010 in Rome Living IT Architectures Open Source per la realizzazione del modello XaaS www.spagoworld.org/openevents Engineering Engineering Group: Group: nuovo nuovo approccio approccio per per progetti progetti di

Dettagli

Sistema Gestione Dipendenti SGD

Sistema Gestione Dipendenti SGD Sistema Gestione Dipendenti SGD DOCUMENTO DEI REQUISITI INDICE 1. Introduzione... 4 1.1. Scopo del documento... 4 1.2. Scopo del prodotto... 5 1.3. Definizioni... 5 1.3.1. Termini di dominio... 5 1.3.2.

Dettagli

Quando SOA incontra l'enterprise 2.0 Alcune linee guida

Quando SOA incontra l'enterprise 2.0 Alcune linee guida Quando SOA incontra l'enterprise 2.0 Alcune linee guida Agenda SOA e Enterprise 2.0 Definizione di SOA Reference Model e Reference Architecture Architettura di integrazione SOA 10 Best Practices per l'introduzione

Dettagli

SISTEMA INFORMATIVO DIREZIONE E CONTROLLO

SISTEMA INFORMATIVO DIREZIONE E CONTROLLO LA SUITE JSIDIC La soluzione proposta, identificata da JSIDIC SISTEMA INFORMATIVO DIREZIONE E CONTROLLO, si presenta come un sistema capace di misurare le performance aziendali, con una soluzione unica

Dettagli

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence Introduzione Definizione di Business Intelligence: insieme di processi per raccogliere

Dettagli

gestione documentale dalla dematerializzazione dei documenti alla digitalizzazione dei processi fino all azienda digitale

gestione documentale dalla dematerializzazione dei documenti alla digitalizzazione dei processi fino all azienda digitale gestione documentale dalla dematerializzazione dei documenti alla digitalizzazione dei processi fino all azienda digitale Gestione documentale Gestione documentale Dalla dematerializzazione dei documenti

Dettagli

DOCUMENTAZIONE CONTENUTA NELLA CARTELLA PRADAC INFORMATICA. L azienda pag. 1. Gli asset strategici pag. 2. L offerta pag. 3

DOCUMENTAZIONE CONTENUTA NELLA CARTELLA PRADAC INFORMATICA. L azienda pag. 1. Gli asset strategici pag. 2. L offerta pag. 3 DOCUMENTAZIONE CONTENUTA NELLA CARTELLA L azienda pag. 1 Gli asset strategici pag. 2 L offerta pag. 3 Il management Pradac Informatica pag. 5 Scheda di sintesi pag. 6 Contact: Pradac Informatica Via delle

Dettagli

Novità di Visual Studio 2008

Novità di Visual Studio 2008 Guida al prodotto Novità di Visual Studio 2008 Introduzione al sistema di sviluppo di Visual Studio Visual Studio Team System 2008 Visual Studio Team System 2008 Team Foundation Server Visual Studio Team

Dettagli

Silk Learning Content Management. Collaboration, content, people, innovation.

Silk Learning Content Management. Collaboration, content, people, innovation. Collaboration, content, people, innovation. The Need for a Learning Content Management System In un mercato in continua evoluzione, dominato da un crescente bisogno di efficienza, il capitale intellettuale

Dettagli

La soluzione web-based. based per il Project Management. Afea srl. Via Montefiorino / 8 05100 / Terni. Tel +39.0744.20631 Fax +39.0744.

La soluzione web-based. based per il Project Management. Afea srl. Via Montefiorino / 8 05100 / Terni. Tel +39.0744.20631 Fax +39.0744. La soluzione web-based based per il Project Management Afea srl Via Montefiorino / 8 05100 / Terni Tel +39.0744.20631 Fax +39.0744.206311 www.afea.eu info@afea.eu Il contesto in cui nasce Project Care

Dettagli

Misura delle prestazioni dei processi aziendali con sistemi di integrazione dati open source

Misura delle prestazioni dei processi aziendali con sistemi di integrazione dati open source Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Enzo Ferrari di Modena Corso di Laurea in Ingegneria Informatica (509/99) Misura delle prestazioni dei processi aziendali con sistemi

Dettagli

PROGETTO - Ingegneria del Software. Università degli Studi di Milano Polo di Crema. Corso di laurea in Scienze Matematiche, Fisiche e Naturali

PROGETTO - Ingegneria del Software. Università degli Studi di Milano Polo di Crema. Corso di laurea in Scienze Matematiche, Fisiche e Naturali Università degli Studi di Milano Polo di Crema Corso di laurea in Scienze Matematiche, Fisiche e Naturali INFORMATICA Corso di Ingegneria del Software progetto IL SISTEMA CALENDAR Presentato al dott. Paolo

Dettagli

LIBERA L EFFICIENZA E LA COMPETITIVITÀ DEI TUOI STRUMENTI! Open Solutions, Smart Integration

LIBERA L EFFICIENZA E LA COMPETITIVITÀ DEI TUOI STRUMENTI! Open Solutions, Smart Integration LIBERA L EFFICIENZA E LA COMPETITIVITÀ DEI TUOI STRUMENTI! Open Solutions, Smart Integration COSA FACCIAMO SEMPLIFICHIAMO I PROCESSI DEL TUO BUSINESS CON SOLUZIONI SU MISURA EXTRA supporta lo sviluppo

Dettagli

Tech-Clarity Insight: Consolidamento delle soluzioni CAD. Vantaggi di una strategia CAD unificata

Tech-Clarity Insight: Consolidamento delle soluzioni CAD. Vantaggi di una strategia CAD unificata Tech-Clarity Insight: Consolidamento delle soluzioni CAD Vantaggi di una strategia CAD unificata Tech-Clarity, Inc. 2010 Sommario Sommario... 2 Panoramica... 3 Costi generali IT ridotti... 3 Riutilizzo...

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Dichiarazione ai fini del D.lgs. 33/2013 art. 15. Titolare di incarico specifico di servizi. Dichiaro che:

Dichiarazione ai fini del D.lgs. 33/2013 art. 15. Titolare di incarico specifico di servizi. Dichiaro che: Dichiarazione ai fini del D.lgs. 33/2013 art. 15 Titolare di incarico specifico di servizi Io sottoscritto in proprio Angelo Lupo Dichiaro che: 1. Sono stato incaricato da Fondazione CIMA in data 2-10-2015.

Dettagli

Innovazione. Tecnologia. Know How

Innovazione. Tecnologia. Know How > Presentazione FLAG Consulting S.r.L. Innovazione. Tecnologia. Know How SOMMARIO 01. Profilo aziendale 02. Gestione Documentale 03. Enterprise Document Platform 01. Profilo aziendale Il partner ideale

Dettagli

E-Mail. Scheduling. Modalità d invio. E-Mail

E-Mail. Scheduling. Modalità d invio. E-Mail BI BI Terranova, azienda leader in Italia per le soluzioni Software rivolte al mercato delle Utilities, propone la soluzione Software di Business Intelligence RETIBI, sviluppata per offrire un maggiore

Dettagli

COGITEK s.r.l. Via Fregene, 14 00183 ROMA Tel. 0689820236 Fax. 0689820213 Cod. Fisc. e Part. IVA 06012550015 Cap. Soc. 70.000 i.v.

COGITEK s.r.l. Via Fregene, 14 00183 ROMA Tel. 0689820236 Fax. 0689820213 Cod. Fisc. e Part. IVA 06012550015 Cap. Soc. 70.000 i.v. Sommario 1. I presupposti di GRAM AUDIT... 4 2. I vantaggi di GRAM AUDIT... 4 3. Aspetti metodologici alla base del Modello... 5 3.1. La gestione degli utenti... 5 3.2. La composizione del Piano di Audit

Dettagli

Open Opportunity. L'azienda 100% Open

Open Opportunity. L'azienda 100% Open Open Opportunity L'azienda 100% Open un caso reale di integrazione di ADempiere e di implementazione di un'infrastruttura IT completamente Open Source La realtà di intervento L'azienda Caratteristiche

Dettagli

Titolo Alfresco. Titolo1 Non solo un documentale

Titolo Alfresco. Titolo1 Non solo un documentale Titolo Alfresco Titolo1 Non solo un documentale 1 «1» Nuove operazioni E possibile ampliare l insieme delle operazioni eseguibili da Alfresco Implementazione di: Nuove azioni Nuovi comportamenti Esempio:

Dettagli

ERP Commercio e Servizi

ERP Commercio e Servizi ERP Commercio e Servizi Sistema informativo: una scelta strategica In questi ultimi anni hanno avuto grande affermazione nel mercato mondiale i cosiddetti sistemi software ERP. Tali sistemi sono in grado

Dettagli

Comune di Bologna Settore Tecnologie Informatiche

Comune di Bologna Settore Tecnologie Informatiche GARA PER L'AFFIDAMENTO DEL SERVIZIO BIENNALE DI ASSISTENZA MANUTENTIVA ED EVOLUTIVA DI ALCUNI SOFTWARE OPEN SOURCE INSTALLATI SUI SERVER E SUI CLIENT DEL COMUNE DI BOLOGNA. DETERMINAZIONE A CONTRARRE:

Dettagli

DEFINIO REPLY BACKTESTING

DEFINIO REPLY BACKTESTING DEFINIO REPLY BACKTESTING La piattaforma Definio Reply può essere utilizzata come strumento di supporto per l implementazione del processo di Backtesting, inteso come metodologia per misurare il carattere

Dettagli

LA TECHNOLOGY TRANSFER PRESENTA ROMA 19-20 OTTOBRE 2010 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231

LA TECHNOLOGY TRANSFER PRESENTA ROMA 19-20 OTTOBRE 2010 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 LA TECHNOLOGY TRANSFER PRESENTA JOS VAN DONGEN OPEN SOURCE BUSINESS INTELLIGENCE ROMA 19-20 OTTOBRE 2010 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 info@technologytransfer.it www.technologytransfer.it

Dettagli

COVER STORY. LabVantage Solutions

COVER STORY. LabVantage Solutions COVER STORY LabVantage Solutions IL MONDO LabVantage, il LIMS più innovativo e completo per il tuo laboratorio LabVantage Solutions (www.labvantage.com), azienda leader sul mercato LIMS, ha al suo attivo

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

Services Portfolio «Energy Management» Servizi per l implementazione dell Energy Management

Services Portfolio «Energy Management» Servizi per l implementazione dell Energy Management Services Portfolio «Energy Management» Servizi per l implementazione dell Energy Management 2015 Summary Chi siamo Il modello operativo di Quality Solutions Contesto di riferimento Framework Lo standard

Dettagli

Risorsa N 002778. Oracle (Exp. 10 anni) MySql (Exp. 5 anni)

Risorsa N 002778. Oracle (Exp. 10 anni) MySql (Exp. 5 anni) Risorsa N 002778 DATI ANAGRAFICI: Nato nel : 1971 Residente a : Roma FORMAZIONE E CORSI: Dal 09/2004 al 09/2006: Corso UML presso csi Piemonte con Adriano Comai Dal 02/2001 al 06/2001: Corso di Formazione

Dettagli

Open Source Solutions per le Aziende e la Pubblica Aministrazione

Open Source Solutions per le Aziende e la Pubblica Aministrazione Open Source Solutions per le Aziende e la Pubblica Aministrazione cura di nizan natural interfacing zone with alternative network [nizan] natural interfacing zone with alternative networks via Marconi,14

Dettagli