Ricordo che una volta, visitando le sale di un museo di arte moderna, mi fermai davanti a una grande tela dipinta completamente di rosso con un unico punto bianco al centro. Il titolo era “City Skyline” e, per quanto mi sforzassi di girare la testa in ogni direzione, non riuscivo a vedere altro che una grande tela rossa con un punto bianco. Secondo l’autore si trattava della rappresentazione astratta della skyline dettagliata di una città, espressa in forma talmente generica e vaga che poteva rappresentare ugualmente l’immagine di una tigre, una scena estiva su di una spiaggia o qualsiasi altra cosa. L’astrazione è uno strumento che consente all’artista di catturare e rappresentare efficacemente soggetti complessi. Come modellatori di dati, possiamo considerarci artisti e l’astrazione costituisce uno strumento efficace anche a nostra disposizione.
Il modellatore di dati è responsabile non solamente per la rappresentazione delle specifiche di un’applicazione, ma deve anche avere la capacità di prevedere e progettare strutture flessibili in aree nelle quali le specifiche possono cambiare nel futuro prossimo. Esistono alcune rappresentazioni create da noi, come nel caso dei datawarehouse, in cui la flessibilità può costituire la differenza tra il successo e il fallimento dell’intero progetto. Il datawarehouse è un progetto vivente, per il quale ci si aspetta sia in grado di accogliere facilmente nuove specifiche, minimizzando nello stesso tempo le modifiche di progetto che impattano i data mart esistenti. L’astrazione costituisce una tattica molto efficace di progettazione che ho utilizzato negli anni per rispondere a questo bisogno di flessibilità.
L’astrazione è un metodo per inserire flessibilità nei vostri modelli di dati logici e fisici, mediante la ridefinizione e combinazione in termini più generici di alcuni degli elementi, entità e relazioni dei dati all’interno dei modelli. L’astrazione è la rimozione dei dettagli in modo da rendere possibile applicare il modello a un vasto insieme di situazioni, preservando nel medesimo tempo le proprietà importanti e la natura essenziale, ovvero gli aspetti peculiari dei concetti o dei soggetti. Rimuovendo questi dettagli, eliminiamo le differenze e quindi cambiamo il modo di considerare tali concetti o soggetti, compresa la visione delle similitudini che non apparivano, oppure non esistevano precedentemente. Per esempio, invece di avere entità separate per clienti e dipendenti, vi possono essere situazioni in cui sarebbe più conveniente considerare l’entità generica ”persona”, raggruppando insieme le due categorie di individui.
Consideriamo un esempio ancora più dettagliato. Immaginiamo che stiate creando un modello di dati per il proprietario di un negozio che noleggia abiti da cerimonia. L’entità clienti nel vostro modello di dati comprende una serie di elementi dei dati relativi a ogni individuo, come:
Il proprietario del negozio è soddisfatto del vostro progetto e la sua applicazione viene sviluppata basandosi su questo modello. Due mesi più tardi, ricevete una telefonata dallo stesso proprietario, che domanda dove può memorizzare il numero delle scarpe corrispondente al piede di ogni cliente. In risposta, spiegate che non è possibile, in quanto non era previsto dalle specifiche concordate. Dopo un lungo silenzio, il vostro interlocutore aggiunge che la sua attività si sta espandendo e che molti dei clienti che noleggiano un abito da cerimonia richiedono anche un paio di scarpe adatte. A questo punto, gli spiegate quanto gli costerebbe in termini di tempo e di denaro l’inserimento di questa modifica nella sua applicazione. Ancora un lungo silenzio e la conversazione termina bruscamente con il click della persona che ha riattaccato il telefono sicuramente con rabbia.
Vediamo adesso uno scenario più brillante. Immaginiamo che consideriate l’insieme degli elementi dei dati relativi alle misure della gamba, cintura, collo, braccio e spalle come la descrizione dell’abito adatto a ciascuna persona. Invece di memorizzare ogni misura come un singolo elemento di dati, astraendo questo concetto create nel vostro modello solamente due elementi di dati:
L’elemento Misure del cliente contiene ogni tipo di misura dimensionale sotto forma numerica:
e ciascuno di questi valori numerici sarà associato a un tipo di misura corrispondente, memorizzato nell’elemento dedicato al tipo delle misure. Per esempio:
Ogni cliente può avere una o più misure. In questo modo, quando riceviamo la telefonata dal proprietario del negozio che richiede l’inserimento del numero delle scarpe, aggiungeremo semplicemente una nuova riga “Numero delle scarpe” nell’elemento Tipo delle misure del cliente. Questo consentirà al negoziante di inserire immediatamente la misura relativa ai singoli clienti, proprio nell’elemento Misure del cliente. Questa flessibilità di progettazione ci ha consentito di supportare senza sforzo l’inserimento di una nuova specifica nel nostro modello.
L’astrazione offre i seguenti benefici.
Fornisce una maggiore flessibilità. Questo è il beneficio principale dell’astrazione. Ci mette in grado di progettare le nostre strutture in modo da gestire meglio le aree sconosciute. Possono manifestarsi nuove situazioni che non potevamo anticipare originariamente e, se useremo l’astrazione, queste situazioni richiederanno pochi cambiamenti al nostro modello di dati, mantenendo così intatti sia il database che la codifica.
Riduce i tempi di analisi e di progettazione. Una volta acquisita una buona familiarità con l’astrazione, possiamo applicarla alle aree del nostro modello prima di completare un’analisi finale delle specifiche richieste. Nell’esempio menzionato precedentemente, invece di impiegare un tempo addizionale per inserire tutti i tipi aggiuntivi di misure per la scelta dell’abito da cerimonia, possiamo definire semplicemente quelle fisiche e il tipo di elementi dei dati, coprendo così automaticamente tutte le misure possibili all’interno del vostro modello.
L’astrazione può sembrare la panacea universale per risolvere ogni problema, da un semplice raffreddore alla pace nel mondo (una piccola esagerazione). Ma i suoi benefici hanno un prezzo.
Nasconde i concetti dell’impresa nel modello. Quando, nel nostro modello dei dati, disponiamo unicamente delle misure numeriche e dei nomi dei tipi di misure, non siamo più in grado di vedere immediatamente le misure sartoriali di un determinato cliente. La lunghezza del braccio del cliente non costituisce più un elemento dei dati che possiamo identificare e comprendere direttamente, ma rappresenta solo un valore contenuto all’interno dell’elemento dati Misure numeriche. Applicando l’astrazione, perdiamo la denominazione effettiva del singolo elemento dati, anche se il modello dei dati contiene comunque l’informazione. Queste misure divengono quindi valori grezzi invece di elementi dati individuali. Sei mesi dopo aver creato il modello dei dati per gli abiti da cerimonia applicando l’astrazione, qualcuno potrebbe chiedere: «Che cosa significa tipo delle misure?». Quello che era sembrato una grande idea al momento della creazione del modello dei dati, sei mesi più tardi potrebbe apparire meno comprensibile. Perciò, esiste un’attività che dobbiamo compiere in maniera sempre più rigorosa rispetto al passato. Dobbiamo necessariamente creare definizioni molto precise e accurate.
Induce all’indulgenza. Un eccesso di astrazione può portarci a concepire un progetto totalmente incomprensibile e senza senso e quindi impossibile da sviluppare. Per esempio, continuiamo a spingere l’astrazione nel modello delle misure per gli abiti da cerimonia. Alla fine, ci troveremo con un’entità singola, denominata “Oggetto” con una relazione ricorrente, come mostrato nella Figura 1. Immaginate la forza di questa entità! Infatti, potremmo rappresentare l’intera applicazione Crm (Customer relationship management), per la gestione completa delle relazioni con i clienti, utilizzando quest’entità unica! Tuttavia, pensate ora di come spiegare questo modello a qualcuno dell’impresa che debba utilizzarlo. E’ evidente che il concetto di “Oggetto” costituisce una certa esagerazione ma, nella mia esperienza, ho visto un modello di dati nel quale l’astrazione era stata spinta al punto che era difficile comprenderne le relazioni con l’attività dell’impresa. Naturalmente, risultava altrettanto difficile gestire le attività dell’impresa utilizzando questo modello.
Figura 1 – L’astrazione “Oggetto”
Allunga i tempi di sviluppo. Anche se possiamo diminuire i tempi di analisi e di progettazione utilizzando l’astrazione, per contro saranno più lunghi i tempi di sviluppo. Infatti, ci vuole più tempo per definire la logica e scrivere la codifica a fronte di dati grezzi piuttosto che usando tabelle di dati completamente definiti. Nel nostro esempio precedente, sarebbe più complesso e prenderebbe più tempo scrivere la codifica per inserire o per ritrovare le informazioni relative agli elementi dati definiti come Misure e Tipi di misura, rispetto all’avere a disposizione tabelle di elementi specifici di misura. Saranno anche necessarie strutture di interrogazione maggiormente complesse.
Incrementa la difficoltà e la complessità del reporting. Esistono oggi sul mercato alcuni strumenti di reporting che presentano serie difficoltà, quando non risulti addirittura impossibile, per estrarre i dati da strutture astratte. Esistono diversi casi nei quali ho introdotto l’astrazione nei modelli logici e fisici dei dati, per essere poi costretto a tornare indietro su questa decisione a causa degli strumenti di reporting disponibili, oltre che dei linguaggi di interrogazione in generale, che avevano difficoltà a ritrovare le informazioni all’interno di tali strutture.
L’evoluzione dell’IT tra sfide e promesse
Frank Greco
Verso la new digital economy. Quale architettura per la trasformazione digitale?
Mike Rosen
Ecco come capire il cliente. I diversi punti di vista della Business Analysis
James Robertson
Ecco come capire il cliente I diversi punti di vista della Business Analysis
Suzanne Robertson
E se il Design Sprint fosse il nuovo asso nella manica? Come risolvere grandi problemi e testare nuove idee
James Hobart
Come essere veramente data driven. L’importanza dell’architettura dati
Mike Ferguson
Il Machine Learning in azienda. Come migliorare performance e previsioni
Frank Greco
Portfolio management avanzato: Come trasformare gli investimenti in cambiamento
Chris Potts
L’imbuto e le biglie. Ovvero la metafora della produttività dei team
Sander Hoogendoorn
Dal Data Warehouse al digital business. Un’architettura di trent’anni ancora valida
Barry Devlin
Dai silos a un ecosistema analitico integrato. Un approccio per avere dati da usare su più sistemi
Mike Ferguson
Come accelerare l’innovazione in azienda. La nuova generazione dell’IT enterprise
Frank Greco
Tassonomie e ricerche. Ecco come ottenere migliori risultati
Heather Hedden
Viaggio verso il data warehouse logico
Il grande dilemma della business intelligence
Rick van der Lans
Enterprise information catalog. I requisiti per fare la scelta giusta
Mike Ferguson
La nuova era dell’analisi predittiva - Le aziende alla prova del Machine Learning
Frank Greco
Uno sguardo Agile - Per capire il passato e progettare il futuro
Arie van Bennekum
Trasformazione Agile
Se il product owner diventa un collo di bottiglia
Sander Hoogendoorn
Una Fiat o una Ferrari?
Qual è la più adatta per il business digitale?
Barry Devlin
Vincere la complessità dei dati. È l’ora dello smart data management
Mike Ferguson
Big Data e Analytics - Se il machine learning accelera anche la data science
Mike Ferguson
I dati al centro del business
Christopher Bradley
I Big Data forniscono il contesto e la ricchezza predittiva attorno alle transazioni di business Avere dati coerenti e di qualità resta fondamentale per il processo decisionale
Barry Devlin
Cosa c’è dietro l’angolo? Cinque mosse per diventare un digital leader
Jeroen Derynck
Managing information technology Gestire l’IT come un business nel business
Mitchell Weisberg
Data integration self-service Miglioramento della produttività o caos totale?
Mike Ferguson
Project manager vecchi miti e nuove realtà
Aaron Shenhar
La catena alimentare dei requisiti
Suzanne Robertson
Come diventare un’azienda data-centric
Lindy Ryan
Enterprise analytical ecosystem - Come comprendere il comportamento online dei clienti e capitalizzare il valore dei dati nell’era Big Data
Mike Ferguson
Agilità? Basta Volere
Suzanne Robertson
Ma la vostra architettura è efficace?
Mike Rosen
Se il NoSQL diventa SQL
Rick van der Lans
La data quality e l’impatto sul business
Danette McGilvray
Business analysis e regole di business By Ronald G. Ross con Gladys S.W. Lam
Ronald Ross
Usare Scrum su larga scala: cosa cambia?
Craig Larman
Le architetture per ridurre il debito tecnico
Mike Rosen
Conversando con un marziano
Suzanne Robertson
Cosa c’è di nuovo nel project management?
Aaron Shenhar
Reinventare la Business Intelligence
Barry Devlin
Il nuovo volto della business intelligence
Shaku Atre
Alla ricerca del valore tra i pomodori nell'orto
John Favaro
I big data cambiano il mercato dei Database Server
Rick van der Lans
Un “superstorm” di informazioni
Barry Devlin
I dieci step per la qualità dei dati
Danette McGilvray
Perché è meglio evitare il private cloud?
Jason Bloomberg
Leonardo da Vinci aveva ragione!
Chris Date
Mobile user experience: Come adottare una strategia sostenibile
James Hobart
Cosa significa occuparsi di architettura?
Mike Rosen
Virtualizzazione dei dati e sistemi di Business Intelligence Agili
Rick van der Lans
Modelli e linguaggi naturali, quale il modo migliore per definire i requisiti?
James Robertson
Extreme Scoping: un approccio Agile all'Edw e alla BI
Larissa Moss
BI², la Business Intelligence al quadrato
Barry Devlin
I test di regressione in ambienti legacy
Randy Rice
Le conseguenze della consumerizzazione e del Cloud
Chris Potts
Come vanno gli affari? Chiedetelo al vostro cruscotto
Shaku Atre
Organizzare team di progetto efficienti in ambienti DW/BI
Larissa Moss
Big Data, come e perché
Colin White
Business Capabilities e l'allineamento del business all'IT
Mike Rosen
Il valore della tassonomia nella ricerca delle informazioni
Zach Wahl
BI, ma il Data Warehouse è ancora necessario?
Colin White
Reinventare la Business Intelligence
Barry Devlin
Il cruscotto delle prestazioni: il nuovo volto della Business Intelligence
Shaku Atre
Modelli e processi di User acceptance testing
Randy Rice
I limiti nel gestire l'IT come un Business
Chris Potts
Le componenti fondamentali del Cloud
George Reese
Metadati e DW 2.0
Derek Strauss
BI Open Source: basso costo e alto valore?
Jos van Dongen
Semplicità e requisiti
Suzanne Robertson
Business intelligence e analisi testuale
Bill Inmon
Extreme Scoping™: approcci agili al DW e alla BI
Larissa Moss
Dalla BI a un'architettura IT di livello Enterprise
Barry Devlin
Ambiente efficiente di ricerca di informazioni
James Hobart
Il Business deve trainare la Strategia IT
Chris Potts
Web database: la questione MapReduce (seconda parte)
Colin White
Web database: la questione MapReduce
Colin White
Misura delle prestazioni. I sette comandamenti
Harry Chapman
Le dieci cose che un architetto deve fare per creare valore
Mike Rosen
Sviluppare applicazioni a prova di sicurezza
Ken van Wyk
The ECM Landscape in 2008
Alan Pelz-Sharpe
Ma chi sono gli operatori dell’informazione?
Colin White
Qualità dell’informazione e trasformazione del management
Larry English
Classificazione sistematica delle informazioni
Zach Wahl
L’uso intensivo del Web nelle applicazioni di Bi
Colin White
Enterprise Search
Theresa Regli
La forza dell'astrazione
Steve Hoberman
La strada verso una BI pervasiva
Cindi Howson
Soa, una strategia di test
Randy Rice
Verso una BI più semplice e a minor costo
Colin White
I contenuti “Killer” del Web
Gerry McGovern
Sviluppo iterativo del software per i Dw
Larissa Moss
Qualità delle Informazioni e Datawarehousing
Larry English
Lo scenario Ecm 2008
Alan Pelz-Sharpe
La nascita del Web 3.0
John Kneiling
Documentazione: il dossier del crimine
Suzanne Robertson
L’impatto del Web 2.0 sui portali delle imprese
Colin White
Le tecniche vincenti di IT Management
Ken Rau
Web di successo se si conosce il cliente
Gerry McGovern
Un approccio alla BI incentrato sui processi
Colin White
Integrare Master Data Management e BI (Parte Seconda)
Mike Ferguson
Integrare Master Data Management e BI (Parte Prima)
Mike Ferguson
Il Project Manager è una Tata
Suzanne Robertson
Web di successo se si conosce il cliente
Gerry McGovern
L'informazione personalizzata
Colin White
La Tassonomia dell'Impresa
Zach Wahl
Managed Meta Data Environment (II parte)
David Marco
Managed Meta Data Environment
David Marco
Migliorare le applicazioni dell'impresa con Web 2.0
James Hobart
La Balanced Scorecard migliora la Performance dell'IT
Harry Chapman
La fusione dei processi dell'impresa grazie a Soa (II parte)
Max Dolgicer
La fusione dei processi dell'impresa grazie a SOA (I parte)
Max Dolgicer
Volere è Potere, in Ogni Senso
Suzanne Robertson
Dimostrate con i numeri il valore dei contenuti del web
Gerry McGovern
Il Back-end della pianificazione strategica dell'It
Ken Rau
L'audit delle prescrizioni di progetto (II parte)
Suzanne Robertson
L'audit delle prescrizioni di progetto (I parte)
Suzanne Robertson
Il Processo di gestione delle informazioni
Ted Lewis
I requisiti come strumento di gestione dei progetti
Suzanne Robertson
Il futuro è nel contenuto killer del web
Gerry McGovern
Alla ricerca del valore tra i pomodori nell'orto
John Favaro
Rilevare i costi sulla base delle attività
Ken Rau
Un percorso verso l'impresa intelligente (II parte)
Mike Ferguson
Un percorso verso l'impresa intelligente (I parte)
Mike Ferguson
Il Data Store Operativo: un lavoro di martello
Claudia Imhoff
Il data warehouse orientato all'impresa
Michael Schmitz
Dieci punti chiave per realizzare balanced scorecard di successo
Harry Chapman
Content management: i contenuti al primo posto
Gerry McGovern
Applicazioni Web ad alta disponibilità
John Kneiling
Il 2004, sarà l'anno in cui abbandoneremo html?
James Hobart
La tecnologia EII ripropone il data warehousing virtuale?
Colin White
Volere è Potere, in Ogni Senso
Suzanne Robertson
Realizzare il CPM e l'integrazione della BI
Mike Ferguson
Tutti i punti della FPA
Koni Thompson
Requiem per il Portale?
Colin White
Business Intelligence: dalla teoria alla realtà (II parte)
Shaku Atre
Business Intelligence: dalla teoria alla realtà (I parte)
Shaku Atre
I portali Corporate e di E-business: la nuova generazione del posto di lavoro
Mike Ferguson
I 10 errori da evitare nella realizzazione di un Meta Data Repository (II Parte)
David Marco
I 10 errori da evitare nella realizzazione di un Meta Data Repository (I parte)
David Marco
Usare i modelli per acquisire l'esperienza di progettazione
James Hobart
Realizzare l'Impresa Intelligente
Colin White
.NET or J2EE - Choosing the Right Web Services Framework
John Kneiling
Progettare Applicazioni Mobili di Successo
James Hobart
La Sociologia del Progetto: Identificare e Coinvolgere tutti i Partecipanti
Suzanne Robertson
Integrare la Business Intelligence nell'Impresa (II parte)
Mike Ferguson
Integrare la Business Intelligence nell'Impresa (I parte)
Mike Ferguson
L'Evoluzione del Portale di e-Business (II parte)
Colin White
L'Evoluzione del Portale di e-Business (I parte)
Colin White
Il Consulente WebEAI: Servizi Web, XML e l'Impresa
John Kneiling
Data Mining: Come Gestire le Relazioni con i Clienti Secondo i Principi del CRM
Weaver James