Articoli del meseArticoli del mese

Articoli del mese


Stampa articolo

Articolo del Mese - Ottobre 2012

Modelli e linguaggi naturali, quale il modo migliore per definire i requisiti?

James Robertson by James Robertson

Avete qualche idea per una nuova disposizione del vostro giardino e volete comunicare i dettagli al vostro partner. Bene, tenete presente che un giardino è un sistema multidimensionale, che deve essere valutato in base a considerazioni intangibili e funzionali. Potete fare uno schizzo del nuovo layout, fare delle fotografie di giardini simili oppure fare una lista dei nomi di tutte le piante di cui avete intenzione di disporre. Ma quale di queste scelte è la migliore per comunicare le vostre idee? Ciascuna di esse ha un suo particolare vantaggio, ma il modo migliore è una combinazione delle varie tipologie di comunicazione. Lo stesso discorso vale quando si devono comunicare i requisiti per un sistema software poiché anch'esso è soggetto a considerazioni intangibili e funzionali. Per spiegare tutti i dettagli, le dimensioni e punti di vista dei requisiti dovete usare una combinazione di modelli, immagini e testo. E un modo per correlarle.

I punti di debolezza dei linguaggi naturali
I requisiti vengono di solito scritti utilizzando linguaggi naturali. Questi ultimi vengono utilizzati per specificare requisiti atomici, per definire obiettivi, descrivere scenari, sintetizzare livelli di requisiti. Il linguaggio naturale è conosciuto da tutti ed è quindi un terreno comune su cui si possono confrontare gli stakeholder della componente business e i tecnici che hanno il compito di creare il prodotto finale. Tuttavia, nonostante gli impliciti vantaggi, vi sono anche dei punti di debolezza.
Supponete di lavorare in un team dove tutti utilizzano uno stesso linguaggio nativo e che la lingua utilizzata sia l'inglese. I vostri compagni sono cresciuti imparando l'inglese, hanno imparato la grammatica e il vocabolario sin da quando erano bambini. E' quindi naturale aspettarsi che tutti possano comunicare in inglese. Ma la lingua e il linguaggio sono compresi da tutti nello stesso modo? Ovviamente la risposta è no. L'esperienza personale insegna che il passaggio di informazioni a propri colleghi non sempre avviene con successo. Quando si parla a una persona guardandola negli occhi, e utilizzando un significato che noi diamo per condiviso, si ha la sensazione che la persona che ci sta di fronte comprenda tutto. Non è così, correte sempre il rischio di confrontarvi con un modello mentale che recepisce quanto da voi comunicato nel modo sbagliato.
Comunicare un'idea a un'altra persona, facendo sì che l'interpretazione del significato sia del tutto identica a entrambi gli interlocutori è molto più difficile di quanto si possa immaginare. D'altra parte dobbiamo essere consapevoli che si ricevono informazioni, e le si elaborano, in base alla propria esperienza e attitudine. Ecco perché è utile capire i problemi di comunicazione che possono nascere dall'utilizzo di un linguaggio naturale, anche in contesti specifici come quelli, appunto, legati allo sviluppo di un sistema software e alla definizione dei suoi requisiti.


Durante l'attività di ricezione del messaggio, aspettative, linguaggio corporeo, cultura e altri fattori possono interferire e alterare la comprensione del significato. L'interpretazione è dipendente dall'esperienza e dalla cultura. E' l'importanza che viene attribuita al messaggio, importanza legata a criteri di priorità mentale del ricettore, che può determinare il successo della comunicazione. La risposta viene quindi formulata in base a una serie di elementi potenzialmente distorsivi che compromettono il significato originario. Nel momento in cui si vuole definire l'ampiezza e portata di un problema, in modo che gli interlocutori ne percepiscano l'esatta valenza, dobbiamo, quindi, essere coscienti della difficoltà e dei limiti del linguaggio naturale. Per esempio, una descrizione testuale di un'area di business non ha molta speranza di poter essere definita con sufficiente precisione in modo tale da indicare quali funzionalità siano interne o esterne a essa.
I linguaggi naturali sono molto spesso il miglior modo per definire requisiti atomici. Tuttavia, se il numero di questi ultimi è dell'ordine delle migliaia è impossibile gestirli senza un livello di dettaglio intermedio. Occorre perciò definire ciascun livello di dettaglio in modo da non compromettere il significato. Il potenziale rischio di una cattiva comunicazione può essere gestito utilizzando un insieme di modelli, di linguaggi, di sketch o immagini informali.

Una cornucopia di modelli
Esistono tutta una serie di modelli che possono essere usati per definire i requisiti: modelli che si focalizzano sul processing, altri che hanno maggiore attinenza con i dati, altri che si concentrano sullo stato. Vi sono pertanto modelli che fanno riferimento a processi di business, diagrammi di attività UML, diagrammi di classe, modelli di relazioni tra entità, diagrammi di transizione di stato, diagrammi SYSML... la lista è praticamente infinita. Considerate tutte le possibili opzioni, per aiutarvi nella specifica dei requisiti del vostro ambiente, vale la pena prendere come riferimento i modelli più utili.

Definire la portata dell'intervento
Come precedentemente detto, occorre definire la portata o scope del sistema in modo che sia interpretata correttamente da tutti. A livello più alto si devono identificare le funzionalità incluse e quelle che, invece, ne vengono specificamente escluse. E' difficile descrivere o declinare le funzionalità in un modello mentre quest'ultimo risulta efficiente per quanto riguarda i dati. Ciascuna funzione deve processare propri dati di input e produrre un output corrispondente: in questo modo, modellando i dati e il materiale che entra ed esce dal vostro scope di studio, potrete formulare senza nessuna ambiguità le funzionalità incluse. Per ciascun input e output si dovrà poi specificare la provenienza e la sua destinazione. Un modo semplice per fare ciò è disegnare un diagramma del contesto di lavoro in cui si evidenziano dati e materiale in input e in output andando a caratterizzare con forme geometriche le diverse funzionalità. Questi diagrammi servono a mappare i requisiti al loro più alto livello. Si può inoltre migliorare e rendere più accettabile la comunicazione utilizzando una terminologia sufficientemente conosciuta da tutti. Se ciascun flusso ha un significato unico e ben definito, il diagramma non darà adito ad alcuna ambiguità interpretativa.

Il collante del dizionario dati
Il dizionario dati è il repository per il significato di ciascuno degli input e output dei vostri diagrammi di contesto di lavoro. Prendiamo come esempio l'input di una richiesta di estensione di un prestito di un libro presso una biblioteca. Per essere sicuri che tutti ne abbiamo la stessa identica comprensione ne deve essere definito il significato all'interno del dizionario dati.
La richiesta di estensione del prestito può corrispondere a un input che contiene codice debitore, codice ISBN del libro, titolo del libro e data di estensione richiesta. E' quindi opportuno trasferire maggiori livelli di dettaglio nel dizionario dati, per esempio, per quanto riguarda l'ISBN: identificativo unico del libro, assegnato dall'agenzia responsabile dell'ISBN in ciascun particolare Paese.
Definendo in modo accurato il contenuto, e di conseguenza il significato, dei dati in input e output, fate sì che si costruisca una base di comprensione comune del significato. Infine, raggiunta una definizione atomica dei requisiti, si continueranno a utilizzare i termini definiti nel dizionario. In questo modo il pericolo di ambiguità del significato viene minimizzato, se non annullato.

Conclusioni
In questo articolo abbiamo discusso dei limiti dell'utilizzo di un linguaggio naturale relativamente a un'attività di definizione dei requisiti. Altrettanti limiti possono esistere se si utilizzano modelli. L'idea vincente è di combinare modelli e linguaggi naturali e creare relazioni utilizzando il formalismo di un dizionario dati.

Modelli e linguaggi naturali, quale il modo migliore per definire i requisiti? - Technology Transfer

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 2.0
Ed Yourdon

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

Misurare per Gestire
Ken Rau

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

Articoli del mese - Technology Transfer