Capitolo Secondo La progettazione concettuale dei dati Capitolo secondo La progettazione concettuale dei dati 2.1. Introduzione La progettazione concettuale dei dati non segue dei canoni ben definiti, ma le metodologie che possono essere attuate sono molteplici. Quella che qui verrà analizzata è la metodologia elaborata da Batini ed Altri ed ha come base il modello Entità/Relazioni di P. Chen. Si cerca in quest'opera del Batini di proporre un approccio metodologico che si basi appunto sul modello E/R, che sia il più possibile flessibile e che quindi possa trovare applicazione a prescindere dal singolo caso e dal modello dei dati utilizzati. Per questo si farà la distinzione tra procedimento metodologico e metodologia proprio per sottolineate il fatto che la metodologia che viene utilizzata può trovare impiego in situazioni diverse. 2.2. Le metodologie di progetto di una base di dati Si può vedere il progetto di una base di dati come un processo di trasformazione che ha come elementi di partenza le specifiche esigenze informative degli utenti (requisiti) e i vincoli realizzativi. I requisiti riguardano tutto ciò che gli utenti sperano che un sistema informatico realizzi per soddisfare i bisogni informativi e riguarda anche le modalità di funzionamento dello stesso (ad esempio caratterizzazione delle procedure in batch o in tempo reale, tempi di risposta ecc..). I vincoli riguardano invece le componenti hardware e software e il DBMS esistente per cui si dovrà valutare il progetto tenendo conto di questi vincoli. 52 Capitolo secondo La progettazione concettuale dei dati Specifiche dei requisiti informativi degli utenti Caratteristiche del DBMS Progetto della base dei dati Caratteristiche dell’hardware e del sistema operativo Schema Logico Schema fisico Schemi esterni Figura 2.1. Esempio di una base di dati Il risultato finale della progettazione sarà la realizzazione dei tre schemi con i quali contraddistinguere solitamente un DBMS. In una metodologia di progettazione si possono riscontrare distinte fasi che interagiscono fra loro consentendo il completo svolgimento dell'attività di progettazione di una base di dati. Si possono distinguere queste fasi : 1. Analisi dei requisiti. In questa fase s'individuano i requisiti del sistema informatico secondo quelli che sono i bisogni informativi degli utenti. In effetti è proprio in base a questi ultimi che si deve costruire la base di dati. I requisiti descrivono sia i dati che le operazioni che si prevede di eseguire su di essi. Per rendere possibile la descrizione di questi requisiti si utilizzeranno particolari moduli cartacei, interviste, documentazione di archivi esistenti. Questa fase può essere condotta separatamente per ogni 53 Capitolo secondo La progettazione concettuale dei dati settore aziendale, per cui per ogni settore corrisponde un insieme di requisiti. 2. Progettazione concettuale. L’obiettivo della progettazione concettuale è quello di tradurre i requisiti del sistema informatico in una descrizione formale (cioè in linguaggio non ambiguo), integrata (cioè riferito all’intero ambiente analizzato) e indipendente dai vincoli dell’ambiente tecnologico esistente. 3. Progettazione logica. In questa fase si traduce lo schema concettuale nelle strutture proprie del DBMS scelto per la realizzazione (ad esempio il modello relazionale). 4. Progettazione fisica. Questa fase è dipendente dal particolare DBMS scelto e si cerca di realizzare una migliore efficienza del prodotto. Si specificheranno quali sono i parametri fisici di memorizzazione e ricerca dei dati tenuto conto sia dell'hardware che del software con cui si opera. 2.3. Vantaggi delle progettazione concettuale Alcuni tra i vantaggi di quest'approccio metodologico sono : ? Migliore comunicazione fra utenti e progettisti. Avviene uno scambio di informazioni fra progettisti e utenti per interpretare le richieste di questi ultimi. Spesso però gli utenti sono “schiavi” delle soluzioni proposte dai progettisti. Con modelli come l’E/R l’utente ha la possibilità di verificare, pur non essendo esperto, se il progetto realizzato corrisponde o no ai suoi bisogni informativi. ? Indipendenza della metodologia dagli aspetti tecnologici. Si può così puntare l’attenzione in maniera accurata sui dati e sulle loro relazioni potendo valutare successivamente tutte le possibili alternative tecnologiche. ? Realizzazione di uno schema aziendale dei dati. Attraverso le tecniche di progettazione concettuale si attua una sorta di censimento del patrimonio informativo aziendale tramite la produzione dello schema concettuale globale integrato di tutti i dati dell’azienda. 54 Capitolo secondo La progettazione concettuale dei dati 2.4. Nuovi ruoli professionali per la progettazione di basi di dati L’applicazione di una metodologia di progettazione di basi di dati ha delle conseguenze sull'organizzazione del lavoro l’amministratore della base dei dati (DBA) creando nuove figure come e l’amministratore dei dati (DA). Il primo ha come compito quello di progettare lo schema logico e lo schema fisico della base dei dati, di curare la loro ottimizzazione e di gestirne la manutenzione. La sua è una competenza professionale di tipo informatico. Il secondo ha il compito di progettare lo schema concettuale dei dati partendo dalle esigenze informative dell’utente. Non deve avere necessariamente competenze informatiche ma la sua conoscenza deve essere rivolta essenzialmente all’ambiente aziendale. Svolge prevalentemente una funzione di supporto, fornendo il suo contributo all’analisi dei sistemi informativi che verranno automatizzati realizzando sia lo schema concettuale dei singoli settori aziendali che una loro integrazione nello schema concettuale aziendale. 2.5. I modelli dei dati Nella fase di progettazione concettuale si possono distinguere tre aspetti rilevanti : 1. Le strutture di classificazione, che permettono di definire le classi di oggetti dello schema concettuale. Le classi permettono di descrivere le caratteristiche comuni d’insiemi di oggetti della realtà. 2. Le strutture per la rappresentazione dei vincoli di integrità, che permettono di descrivere le regole relative alle classi dello schema concettuale per rappresentare la realtà di interesse in modo corretto secondo il modello concettuale prescelto. 3. Le strutture per la descrizione delle operazioni che esprimono l’evolversi della realtà d'interesse. 55 Capitolo secondo La progettazione concettuale dei dati 2.5.1 Le strutture di classificazione Il punto di partenza è la realtà come viene percepita. Le strutture di classificazione permettono di rappresentare gli oggetti della realtà raggruppandoli in classi in base a proprietà comuni. Questo procedimento può essere effettuato grazie all’astrazione, che è un processo mentale attraverso il quale si evidenzia alcune proprietà e caratteristiche in un insieme d'oggetti che si ritiene importante escludendo le altre che sono ritenute irrilevanti, arrivando poi, a definire un nuovo oggetto che contiene in se tutte le proprietà considerate. Ad esempio si può considerare l’astrazione che porta alla definizione del concetto di bicicletta per cui noi si astrae dalle singole parti meccaniche (manubrio, sella, ecc..) e si considera l’insieme di tali componenti come un unico oggetto. Nel progetto concettuale le astrazioni considerate sono : � La classificazione � L’aggregazione � La generalizzazione La classificazione è l’astrazione che conduce alla definizione di una classe a partire da un insieme di oggetti (istanze della classe) di cui si cerca di definire le proprietà comuni. Il risultato è un nuovo oggetto come elemento unificatore delle istanze che dovranno essere atomiche ovvero non ulteriormente scomponibili. Ad esempio, si può applicare l’astrazione di classificazione all’insieme delle persone esistenti nella nostra realtà percepita e da questa possiamo, tramite tale procedimento di astrazione, definire il concetto di persona a cui si attribuiscono certe caratteristiche astraendo da quelle particolari dei singoli. 56 Capitolo secondo La progettazione concettuale dei dati Concetto di persona Classe persona Modello concettuale Astrazione di classificazione ... ... ... Insieme delle persone Insieme delle istanze o attributi della classe persona Realtà percepita Rappresentazione Figura 2.2. Esempio d'astrazione di classificazione L’aggregazione , invece, è l’astrazione attraverso la quale si giunge alla definizione di un concetto a partire da altri concetti che ne costituiscono le proprietà. Si costituisce così una classe che è a sua volta aggregazione di classi. Ad esempio, il concetto di esame è una astrazione di aggregazione applicata ai concetti di corso studente e voto. La generalizzazione, infine, è l’astrazione attraverso cui si giunge alla definizione di un concetto partendo da altri concetti definiti dall'astrazione di classificazione e che hanno caratteristiche comuni. Si definisce quindi una nuova classe in cui entrano tutte le istanze delle classi definite tramite classificazione. Un esempio di astrazione di generalizzazione è quello per cui partendo dai concetti di studente e d'impiegato si può arrivare al concetto di persona. 2.5.2. Strutture per la rappresentazione dei vincoli d'integrità Le strutture per la rappresentazione dei vincoli d'integrità permettono di rappresentare nello schema concettuale le regole che gli oggetti della realtà rispettano e che allo stesso modo gli oggetti della rappresentazione devono 57 Capitolo secondo La progettazione concettuale dei dati rispettare. Tali regole vengono dette vincoli d'integrità e sono diverse secondo il modello dei dati prescelto. Una prima distinzione che può essere fatta è fra vincoli impliciti e vincoli espliciti di cui si è già parlato nel primo capitolo. Un’altra distinzione che si ha è quella fra vincoli statici e vincoli dinamici. I vincoli statici sono delle regole che devono essere osservate dagli oggetti della realtà in ogni istante. Quindi queste regole esprimono delle condizioni che devono essere sempre soddisfatte affinché la base dei dati sia una rappresentazione plausibile della realtà. Ad esempio, nella realtà esiste una regola che associa ad ogni impiegato uno ed un solo codice fiscale. I vincoli dinamici sono invece regole che devono essere rispettate da ogni evoluzione della realtà determinata da transazioni rappresentabili tramite operazioni, le quali a loro volta sono esprimibili tramite un linguaggio di manipolazione. Un esempio di questi vincoli è dato da uno studente che non può iscriversi ad un anno di corso precedente a quello in cui è iscritto. Comunque la distinzione tra vincoli dinamici e vincoli statici è relativa e dipende dallo schema concettuale scelto e non solo dal tipo di regole che il vincolo rappresenta. 2.5.3. Le strutture per la rappresentazione delle operazioni Le strutture per la rappresentazione delle operazioni consentono : ? Operazioni di interrogazione. Descrivono i procedimenti che hanno lo scopo di interrogare le occorrenze della base dei dati. ? Operazioni di manipolazione. Descrivono le modalità con cui le occorrenze della base dei dati evolvono per adeguarsi alle modificazioni avvenute nella realtà d'interesse. Permettono quindi : - l’aggiunta di un oggetto come istanza di una classe - l’eliminazione di un oggetto delle istanze di una classe. 58 Capitolo secondo La progettazione concettuale dei dati 2.6. Il modello Entità - Relazioni Questo modello è stato sviluppato da P.P.Chen nel 1976 ed è una delle più diffuse metodologie di progettazione. La sua forza risiede nell'estrema semplicità e sinteticità che lo rende comprensibile anche ai non esperti d'informatica dando allo stesso tempo una buona visione d’insieme dei sistemi aziendali e dei collegamenti esistenti tra loro. In effetti, il risultato dell'applicazione di questa metodologia di progettazione è una rappresentazione della struttura di una base di dati che si serve di simboli grafici. Come tutti i modelli, l’E/R fornisce una rappresentazione semplificata della realtà in cui si cerca di cogliere gli aspetti che più interessano. Spesso viene visto come schema provvisorio o schema di lavoro sul quale impostare discussioni con utenti di vari reparti per verificarne la rispondenza al mondo reale e allo stesso tempo migliorare la percezione che le stesse persone hanno della loro realtà in cui lavorano. La sua estensione può riguardare l’intera azienda come la singola transazione. Il modello è composto di due elementi base : entità e relazioni. ? Un'entità è una cosa, un concetto, un’organizzazione o un evento d'interesse per l’organizzazione. Un tipo d'entità è una classificazione d'entità che soddisfano determinati criteri1. Un'entità rappresenta un insieme d'oggetti della realtà cui s'individuano proprietà comuni. E questa realtà può essere modellata in maniera diversa secondo l'organizzazione in questione. Si può pensare ad un'entità come ad una classe definita da un'astrazione di classificazione. Nella realtà scolastica si potrà trovare, ad esempio, un’entità studente considerando le singole proprietà che interessano come nome, cognome, facoltà cui è iscritto, esami sostenuti e votazione. Altra entità può essere il corso caratterizzato dal suo codice, descrizione, numero d'ore annue ecc.. Solitamente i nomi delle entità si indicano al singolare, quindi avremo entità studente ed entità corso. Le entità , quindi, 1 P.P. Chen, L’approccio entità relazioni - Bit 3/1991 traduzione da byte 59 Capitolo secondo La progettazione concettuale dei dati sono delle astrazioni della realtà mentre le sue concrete materializzazioni si dicono occorrenze. Ad esempio le occorrenze dell'entità studente saranno Mario Rossi, Paolo Verdi e i loro specifici valori per i vari attributi. Un'entità può avere perfettamente senso anche se in un particolare momento non vi sono occorrenze. Ad esempio, l’entità ordine per un'azienda, può avere perfettamente senso anche se in un certo momento non dovesse esistere nessuno specifico ordine in essere. ? Una relazione (o associazione) è un'interazione fra entità. Un tipo di relazione è una classificazione di relazioni basata su determinati criteri. Normalmente, i nomi corrispondono ad entità, mentre i verbi corrispondono a relazioni relazione, quindi, 2. Una è una classe che può vedersi come astrazione di aggregazione delle entità in esse coinvolte. Studente Segue Corso Figura 2.3. Esempio di schema E/R La relazione può interessare più di due entità però, in generale, si preferisce spezzare le eventuali associazioni n-arie che legano n entità in singole associazioni binarie, per unire le entità due a due3. Studente Corso Insegnante Studente Corso Insegnante Figura 2.4. Schema E/R di tre entità legate da un'associazione e schema E/R di tre entità legate da due associazioni P.P. Chen, L’approccio entità relazioni - Bit 3/1991 traduzione da byte Questo tipo di logica che tende a vedere le associazioni in maniera binaria, tipica della struttura relazionale, viene meno nell’ambito dell’analisi multidimensionale in cui occorre prendere in considerazione più “dimensioni” contemporaneamente ( Radel ). 60 2 3 Capitolo secondo La progettazione concettuale dei dati In questo modo si evita di evidenziare alcune associazioni dirette fra coppie che secondo l’analista non dovrebbero meritare attenzione. 2.7. Gli attributi Ogni entità è definita dall’insieme delle proprietà, dette attributi, che hanno rilevanza ai fini dell’analisi4. In un magazzino, ad esempio, l’entità prodotto può essere descritta da dagli attributi : codice, descrizione, unità di misura, esistenza fisica, data ultima vendita..... Ovviamente la composizione degli attributi di una entità dipende dal contesto che ci interessa. Per riconoscere quando siamo di fronte ad un'entità oppure di fronte ad un attributo non esistono regole precise, tutto dipende dal contesto. Comunque si può trovare un criterio generale per decidere se classificare una “cosa” come entità ed è quello di verificare se questa ha una identità propria a se stante e meglio ancora se ha propri attributi. Capita, a volte, che delle informazioni, che erano state incorporate nella stessa entità, vengano poi scisse su due o più entità dopo un'analisi più approfondita. Questo avviene quando certe informazioni, ritenute inizialmente degli attributi, in seguito hanno mostrato caratteristiche tali da renderle entità autonome. Prendiamo, ad esempio, l’oggetto colore. In un entità prodotto a volte può essere superfluo e quindi non essere presente. In altri casi può essere interessante conoscerlo, in altri casi può assumere il “ruolo” d'entità. E’ il caso di un'azienda d'automobili per cui le colorazioni delle vetture sono molteplici ed è importante registrare per ogni colore alcune caratteristiche come viscosità, grado di lucentezza ecc.. 4 V. Belski Dati e basi di dati :il modello relazionale - FrancoAngeli 61 Capitolo secondo La progettazione concettuale dei dati 2.8. Classificazione degli attributi. Una prima classificazione distingue gli attributi semplici (o univoci), se possono assumere un solo valore (come il nome e cognome per gli studenti) da quelli multipli, se invece possono assumere più valori (voti degli esami sostenuti). Gli attributi si dicono composti se possono essere scomposti in più componenti ( ad esempio un indirizzo può essere scomposto in via, numero, città, cap provincia). Gli attributi sono totali (od obbligatori) se il loro valore deve essere sempre specificato per ogni occorrenza (nome e cognome degli studenti) e sono parziali od opzionali nel caso contrario. Gli attributi il cui valore non può essere modificato (codice fiscale o cognome) sono detti costanti, gli altri sono modificabili. Se il valore di un attributo può essere derivato tramite un algoritmo allora questi si dice calcolato (conoscendo la data di nascita si può calcolare l’età). E’ importante definire i vincoli d'integrità a cui sono soggetti tutti gli attributi5. Particolare importanza hanno quegli attributi che identificano in maniera certa l’occorrenza di cui fanno parte. Questi vengono chiamati identificatori e sono alla base del concetto di chiave. 2.9. Rappresentazione grafica Solitamente le entità vengono rappresentate da dei rettangoli le relazioni da dei rombi, mentre gli attributi vengono rappresentati da delle rette terminanti con un cerchio oppure, per specificare il tipo di attributo cui siamo di fronte si possono utilizzare anche altre rappresentazioni come quelle nella figura. A volte questi vincoli sono strettamente connessi con il singolo attributo (i voti dell’esame universitario devono essere compresi fra 0 e 30) e a volte derivano dalle relazioni che questi attributi hanno con altri attributi. V. Belski Dati e basi di dati : il modello relazionale FrancoAngeli 62 5 Capitolo secondo La progettazione concettuale dei dati Figura 2.5. Rappresentazione grafica d'entità, relazioni e attributi. Comunque, per non aggravare troppo la rappresentazione grafica si usa tralasciare gli attributi di una entità che spesso sono molto numerosi e renderebbero difficile la lettura del documento che invece ha fra i suoi scopi più importanti quello di dare una chiara e semplice visione d’insieme. Per evitare questi problemi si disegna uno schema essenziale cui vengono allegati fogli separati che contengono l’elenco degli attributi. 2.10. Proprietà delle relazioni Ad una associazione R fra gli elementi delle due entità A e B si può attribuire un verso, mettiamo da A a B per cui le coppie di valori associati si presenteranno così : (a, b) prestando attenzione all’ordine con cui vengono indicati. L’associazione inversa di R sarà, per convenzione, quella che si ottiene considerando le coppie nell’ordine inverso, cioè (b, a). Un’associazione e la sua inversa sono la stessa associazione, a meno dell’ordine delle coppie. L’associazione R fra gli elementi di A e B si dice totale se ad ogni elemento di A corrisponde ogni elemento di B, altrimenti si dice parziale ; ciò vale anche per l’inversa di R che può essere anch’essa totale o parziale. Ad esempio l’associazione matrimonio è totale fra le entità uomini sposati e donne sposate ma è parziale fra le entità uomini e donne. 63 Capitolo secondo La progettazione concettuale dei dati L’associazione R si dice surgettiva quando la sua inversa è totale, non surgettiva quando la sua inversa è parziale. Un’associazione, diretta o indiretta, si dice univoca se ad ogni elemento di A corrisponde al massimo un elemento di B, altrimenti si dice multipla. Il verso e l’univocità definiscono il grado (cardinalità) dell’associazione. Vi possono essere tre tipi di cardinalità : 1. Associazioni 1a1. Ad un elemento della prima entità corrisponde al più solo un elemento della seconda entità e viceversa. In questo caso, sia l’associazione diretta che l’associazione inversa sono univoche. Per esempio il matrimonio è un'associazione del tipo 1 a1. Uomo sposato 1 Sposa 1 Donna sposata Figura 2.6. Esempio di associazione 1 a 1 2. Associazioni 1 a n (uno a molti). Ad un elemento di un'entità A possono corrispondere anche più elementi dell’entità B ma non è vero il viceversa per cui ad ogni elemento di B corrisponde un solo elemento di A. In questo caso l’associazione diretta è multipla mentre l’inversa è univoca. Per esempio l’associazione fra clienti ed ordini è del tipo 1 a n, perché un cliente può fare più ordini, ma un ordine si riferisce ad un solo cliente. Cliente 1 invia n ordine Figura 2.7. Esempio di associazione 1 a n 64 Capitolo secondo La progettazione concettuale dei dati Poiché di solito non si distingue il verso dell'associazione, si attribuisce la stessa cardinalità anche nel caso in cui l’associazione diretta è univoca e l’inversa è multipla. 3. Associazioni n a m (molti a molti). Ad ogni elemento dell’entità A possono corrispondere anche più elementi dell’entità B e viceversa. In questo caso sia l’associazione diretta che l’associazione indiretta sono multiple. Per esempio, di solito, l’associazione fra fornitori e prodotti può essere del tipo m a n perché ogni prodotto può essere comprato da più fornitori e normalmente ogni fornitore vende numerosi prodotti. fornitore n vende n prodotto Figura 2.8. Esempio di associazione n a n Le associazioni possono avere, proprio come l’entità, loro proprietà, cioè attributi. Ad esempio, l’associazione matrimonio può possedere l’attributo data del matrimonio. 2.11. Trasformazione di una relazione in entità Un’analisi più approfondita di una relazione m a n può portare qualche volta alla nascita di una nuova entità legata alle precedenti da una relazione 1 a n. Per esempio, in una struttura dei dati di un albergo si possono identificare in un primo esame le entità cliente e camera con un'associazione prenota del tipo m a n (ogni cliente può prenotare più camere per periodi diversi, ogni camera può essere prenotata da più clienti, sempre per periodi distinti). 65 Capitolo secondo La progettazione concettuale dei dati m cliente n prenota camera Figura 2.8. Esempio d'associazione n a m L’associazione prenota ha degli attributi : la data della prenotazione, dell’arrivo e della partenza previsti. Per rendere lo schema più chiaro si può far nascere l’entità prenotazione. 1 cliente n invia prenotazione m 1 riguarda camera Figura 2.9. Sviluppo dell'associazione prenota in una terza entità Possono, poi, esistere associazioni fra elementi della stessa entità : sono chiamate involutive o riflessive. Ad esempio, l’associazione che, tra i dipendenti dell’azienda, collega i capiufficio ai loro impiegati si presenta così : Dipendenti 1 n Dirige Figura 2.10 Esempio d'associazione riflessiva 66 Capitolo secondo La progettazione concettuale dei dati Quando siamo in presenza di un'associazione riflessiva occorre verificare se le associazioni individuate fra gli elementi della stessa entità sono forti o meno. Se, ad esempio, studiando i diagrammi di flusso dei dati, si rileva che molte elaborazioni operano distintamente sui dati relativi a capoufficio e impiegati, può essere utile creare due entità separate. Se, invece, la maggior parte delle applicazioni tratta i dipendenti indistintamente allora non conviene complicare lo schema e tenere una sola entità. Quindi occorrerà analizzare meglio il caso specifico e vedere se due classi di dipendenti richiedono molti attributi distinti per la loro definizione : maggiore è il numero d'attributi specifici per entrambe, più sarà necessaria una separazione fra le due entità. Questo problema può essere risolto qualche volta definendo dei sottoinsiemi della stessa entità cui si attribuisce personalità autonoma. Questa divisione dell’entità in sottoinsiemi prende il nome di specializzazione e negli schemi E/R è detta associazione IS-A. Questa soluzione formale mostra che più sottoclassi possono essere generalizzate in un'entità. Per esempio, si può indicare che un operaio IS-A è dipendente e che un impiegato IS-A è dipendente. Dipendente IS-A Operaio Impiegato Figura 2.11. Esempio di schema IS-A Così facendo, fra gli elementi di una classe e le sue sottoclassi si stabilisce una gerarchia che impone vincoli d'integrità tali che : 67 Capitolo secondo La progettazione concettuale dei dati ? ogni elemento di una sottoclasse è un elemento della classe che sta a livello superiore nella generalizzazione ; ? ogni elemento di una sottoclasse eredita le proprietà degli elementi della classe di cui è un IS-A 2.12. Modulistica A completamento degli schemi E\R possono essere riportate delle note esplicative redatte secondo schemi fissi per facilitare la lettura e l’interpretazione anche a terzi e a distanza di tempo. Queste note trovano posto in moduli che hanno come compito quello di specificare il contenuto di entità, attributi, associazioni ed eventi. E’ bene nelle realtà molto complesse redigere un dizionario dei dati che raccolga tutti i termini utilizzati, il loro significato e l’indicazione dei luoghi dove sono richiamati. ? Modulo di definizione entità ? Modulo di definizione attributi ? Modulo di definizione associazione Nome dell’entità Nome dell’entità Descrizione : Descrizione : Descrizione : Sinonimi :Nomi diversi con cui Sinonimi :Nomi diversi con cui l’attributo Sinonimi :Nomi diversi con cui l’entità è indicata è indicato l’associazione è indicata Omonimi :Altri significati attribuiti Omonimi :Altri significati attribuiti allo Omonimi :Altri significati attribuiti al nome dell’entità stesso nome allo stesso nome Data di creazione : Entità collegate :entità nelle quali Data di creazione : Data d'ultima variazione : l’attributo è presente, comprese quelle in Data d'ultima variazione : iniziale cui è inserito per realizzare associazioni Tipo della relazione : Totale/parziale Numero d'occorrenze previste Tipo e lunghezza : caratteristiche Entità collegate : nomi delle entità medio : dell’attributo associate massimo Valori ammessi :dominio dei valori Cardinalità : uno ad uno, uno a molti, Attributi identificatori :elenco degli ammissibili molti a molti attributi chiave Attributi collegati : lista degli attributi i Attributi propri dell’associazione : Associazioni collegate : cui valori possono dipendere dai valori attributi dell’associazione, in Attributi che realizzano assunti da quest'attributo particolare per le associazioni molti a associazioni :attributi “chiavi Utenti e loro diritti : lista degli utenti molti e le “chiavi esterne” per esterne” per associazioni con altre abilitati all’accesso e/o variazione dei l’aggancio alle entità collegate entità valori di quest'attributo Utenti e loro diritti :lista degli utenti Transazioni interessate : elenco Transazioni interessate : elenco delle abilitati all’accesso e/o variazione dati delle transazioni che utilizzano transazioni che utilizzano i valori di di questa relazione l’entità quest'attributo Transazioni interessate : elenco delle Note : Note : transazioni che utilizzano l’entità 68 Capitolo secondo La progettazione concettuale dei dati Note : Figura 2.12 Possibili moduli di definizione entità, attributi e associazioni 2.13. Metodologie di progettazione Occorre fare innanzi tutto una distinzione fra procedimento metodologico e metodologia . Un processo metodologico è un insieme di passi di progettazione preordinati, con struttura rigida, che si adatta solo all’ambiente per il quale è stato concepito mentre una metodologia deve consentire l’esecuzione di diversi procedimenti metodologici. Deve quindi essere flessibile prevedendo diversi punti di partenza e deve poter definire diversi modi di procedere e produrre oggetti finali di tipo differente (schema concettuale aziendale, di settore, quello di una singola transazione). Due sono le dimensioni sotto cui si analizzeranno le procedure relative alla metodologia di progettazione : 1. quello dell'organizzazione d’impresa 2. quello dell'organizzazione dei concetti Il primo elemento che caratterizza il processo di progettazione è come ci si muove attraverso i livelli organizzativi dell’ambiente coinvolto nella progettazione. Solitamente si distinguono 3 livelli organizzativi : ? Il livello aziendale ? Il livello del settore aziendale ? Il livello della singola transazione Un sistema aziendale è solitamente composto da più sottosistemi tra loro coordinati tramite una struttura organizzativa. Questi sottosistemi vengono chiamati settori. Per settore aziendale s'intende un’area organizzativa 69 Capitolo secondo La progettazione concettuale dei dati caratterizzata da omogeneità di funzioni o da omogeneità di prodotti forniti al settore (questi due criteri possono coesistere o essere alternativi). In ogni settore si generano tutta una serie d'informazioni specifiche di quel settore e vengono utilizzate, oltre che alle suddette, anche informazioni generate da altri settori. Con il livello di transazione s'intende una manipolazione della base di dati che descrive delle semplici “operazioni aziendali”. Ai 3 livelli organizzativi corrispondono 3 schemi concettuali ciascuno dei quali contiene solo dati che riguardano quel livello. Però, siccome l’efficienza di un'impresa nasce dall'efficiente integrazione e coordinamento tra i vari livelli organizzativi, occorre per questo realizzare un'integrazione fra gli schemi. Esistono due procedimenti di progettazione che individuano i legami fra i vari livelli e che hanno due versi di percorrenza opposti : il Bottom-Up e il Top Down. Con il BU si parte da schemi concettuali relativi a livelli organizzativi inferiori producendo uno schema concettuale relativo ad un livello organizzativo superiore. Un'attività di progettazione che segua questo percorso è detta d'integrazione : gli schemi iniziali vengono detti parziali, lo schema finale viene detto integrato. Schema parziale 1 Schema parziale 2 Schema integrato Figura 2.13. Procedimento d'integrazione 70 Capitolo secondo La progettazione concettuale dei dati Figura 2.14 Esempio di procedimento d'integrazione Il TD, invece, è un procedimento che parte da uno schema organizzativo superiore e che produce uno o più schemi concettuali relativi ai livelli organizzativi inferiori. Questa attività di progettazione viene detta di derivazione. Schema Globale Schema derivato 1 Schema derivato 2 Figura 2.15. Procedimento di derivazione 71 Capitolo secondo La progettazione concettuale dei dati Una volta stabilito il livello organizzativo in cui si vuole realizzare la progettazione è importante stabilire la strategia di generazione dei concetti, cioè quelli che vengono via via generati all’interno dello schema. Anche all’interno di questa dimensione s'individuano due possibili percorsi di progettazione , uno BU e l’altro TD. Con il BU si stabilisce un percorso di progettazione che si muove dal particolare al generale definendo i concetti di livello più astratto a partire da concetti di maggior dettaglio. Ad esempio si arriva a definire la classe indirizzo a partire dalle classi via, numero civico, città e provincia. L’attività di progettazione che consente di realizzare ciò si chiama astrazione. In un meccanismo di costruzione dello schema BU gli oggetti iniziali scelti per lo schema stesso si dicono atomici, cioè non possono essere ulteriormente scomposti. Partendo da questi elementi tramite dei processi di astrazione, si arriva alla definizione dello schema concettuale globale (naturalmente definito per uno dei tre livelli organizzativi). Realtà d’interesse Oggetti atomici non decomponibili Astrazione Schema provvisorio 1 Astrazione Schema globale Figura 2.16. Procedimento d'astrazione 72 Capitolo secondo La progettazione concettuale dei dati Con il TD s'intende un verso di progettazione che va dal generale al particolare procedendo, quindi, dai concetti più astratti ai concetti via via più in dettaglio. Ad esempio si definiscono le classi operaio, impiegato e dirigente dalla classe dipendente. L’attività di progettazione che permette di realizzare questo percorso viene chiamata raffinamento. Il raffinamento prevede l’impiego di schemi provvisori che via via diventeranno una descrizione sempre più precisa della realtà d'interesse. Realtà d’interesse Raffinamento Schema provvisorio 1 Raffinamento Schema provvisorio 2 Schema globale Figura 2.17. Procedimento di raffinamento 73 Capitolo secondo La progettazione concettuale dei dati Figura 2.18. Esempi di procedimento TD e BU Spesso un procedimento reale di progettazione adotta una strategia mista TD/BU che prevede sia passi di raffinamento che passi d'astrazione. 74 Capitolo secondo La progettazione concettuale dei dati Figura 2.19. Schemi provvisori di transazione e schema finale dell'operazione "pagamento di un conto corrente” Batini fa un esempio di procedimento misto TD/BU (figura 2.19). Il livello organizzativo scelto è quello della transazione e si riferisce in particolare al “pagamento di un assegno di conto corrente” , transazione tipica di una 75 Capitolo secondo La progettazione concettuale dei dati Banca. Si può partire nel primo schema con due concetti, Cliente ed assegno, ottenuti per astrazione dalle proprietà nome ed indirizzo (per definire il cliente), numero assegno ed importo (questo primo passo è BU). Si può aggiungere due relazioni, possiede ed emette per decidere se l’assegno può essere pagato e per ricordare chi l’abbia emesso (schema 2, passo BU). La relazione possiede può essere raffinata, per rendere chiaro che gli assegni fanno riferimento a specifici C\C (schema 3, passo TD). Una ulteriore analisi ci porta ad aggiungere nuovi attributi come saldo, data assegno ed importo (schema 4, passo TD). Un ulteriore raffinamento porta ad evidenziare che esistono due tipi d'assegni : coperti e scoperti e ad esplicitare meglio la data. Infine lo schema può essere completato inserendo le cardinalità. Il procedimento misto TD/BU si avvicina al risultato finale da due strade diverse. Da una parte il procedimento comincia definendo i concetti d'alto livello d'astrazione, dall’altra si definiscono tutta una serie di concetti elementari. Questi due punti di partenza (cioè lo schema provvisorio formato da oggetti d'alto livello di astrazione e l’insieme dei concetti elementari) vengono chiamati schema scheletro e glossario. Lo schema scheletro è una rappresentazione provvisoria dello schema concettuale che volutamente non comprende tutti i dettagli relativi al significato dei dati e che può utilizzare anche concetti provvisori che dovranno poi essere sostituiti con schemi più raffinati. Lo scopo di tutto ciò è cogliere gli aspetti più significativi della realtà che interessa lasciando la definizione dei dettagli ad un momento successivo. Il glossario, invece, è un elenco dei concetti elementari utilizzati dall’azienda, dal settore, dalla transazione e rappresenta il punto d’inizio nel caso in cui si proceda con il BU. Per ogni concetto elementare si dovrà raccogliere solo informazioni necessarie a chiarirne il significato. Il nome del concetto deve essere univoco, non deve cioè dare luogo a fraintendimenti. Eventuali sinonimi dovranno essere specificati in una colonna apposita. La descrizione è un testo che spiega sinteticamente qual è il significato del dato. 76 Capitolo secondo La progettazione concettuale dei dati ????????????????????????????????????????????????????? ???????????????????????????????????? Nome Descrizione Assegno Titolo valido per il prelievo su conto Sinonimi corrente Numero assegno Numero d'identificazione dell’assegno Data Data d'emissione dell’assegno Cliente Intestatario di un conto corrente Emittente legame tra l’assegno e chi l’ha emesso FIRMA Conto corrente Rapporto tra un cliente ed una banca C\C DATA EMISSIONE Figura 2.20. Requisiti espressi in linguaggio naturale e glossario (parziale) dei concetti descritti nei requisiti Quindi, un primo schema scheletro ed una prima versione del glossario sono i prodotti di partenza per la progettazione dello schema concettuale. Successivi raffinamenti dello schema scheletro ed astrazioni dei concetti presenti nel glossario danno luogo a successive versioni intermedie dello schema concettuale. In questo modo può accadere che uno stesso concetto può essere prodotto da ciascuna delle due attività nell’ambito dei passi intermedi per cui il glossario e lo schema scheletro verranno aggiornati via via fino alla realizzazione di un dizionario definitivo di tutti i concetti dello schema. Alcuni concetti d'alto livello di astrazione selezionati fra la fase iniziale e la fase definitiva potranno sparire non lasciando traccia nello schema finale. Si otterrà alla fine delle varie fasi intermedie una finale in cui i due fronti opposti del progetto verranno a coincidere. 77 Capitolo secondo La progettazione concettuale dei dati 2.14. Tipi di procedimenti metodologici Il piano di progettazione può essere visto come la combinazione di due coordinate e cioè l’organizzazione dell’impresa e l’organizzazione dei concetti. Queste coordinate combinate insieme possono dar luogo al piano delle proceduralità. In questo piano potranno svilupparsi diversi percorsi indicando come punto di partenza il triangolo, gli obbiettivi finali con un cerchio e gli eventuali prodotti intermedi con un punto. Figura 2.21. Piano delle proceduralità Caratteristica della metodologia qui proposta è quella di essere flessibile e di proporre quindi diversi percorsi o procedimenti metodologici. Si possono cioè individuare una serie di percorsi prendendo il via da punti diversi per arrivare, ad esempio, alla realizzazione dello schema concettuale dell’azienda. L’applicazione di questa metodologia ad un caso della realtà può portare ad escludere tutta una serie di percorsi. Questo modo di procedere può essere modificato, quindi, a seconda del contesto reale in cui ci si trova. 78 Capitolo secondo La progettazione concettuale dei dati oc oi ss sc gd A S T Figura 2.22. Vari modi di procedere di una metodologia flessibile La figura 23 mostra i diversi percorsi che possono essere seguiti nella progettazione. Come si può vedere i punti di partenza possono essere lo schema scheletro di una azienda, il glossario dei dati di un settore e il glossario dei dati di una transazione La progettazione, ad esempio, può partire da uno schema scheletro di una azienda ricavando da questi gli schemi scheletro di settore. Dai glossari delle transazioni si ottengono gli schemi concettuali di transazione. Lo scheletro dei settori, gli schemi di transazione e i glossari dei dati possono portare alla definizione degli schemi concettuali di settore e da questi arrivare allo schema concettuale d’azienda che è il punto di arrivo. 2.15. Il ruolo delle operazioni Un ruolo importante delle operazioni, oltre ad esprimere i vincoli dinamici, è quello di poter essere utilizzate per verificare la completezza dello schema concettuale dei dati, cioè serve per verificare che lo schema includa tutti i dati necessari per svolgere le operazioni previste e più in generale le 79 Capitolo secondo La progettazione concettuale dei dati transazioni che interessano l’azienda. Il confronto tra uno schema dei dati ed una operazione può portare alla necessità di arricchire e/o ristrutturare lo schema con nuovi concetti i quali possano garantirne la completezza. ? ? ? ? Matricola # matricola qualifica cognome Matricola data assunzione ? ? # codice nome lavora Divisione Sito Sede # matricola qualifica cognome data assunzione Appartien e Appartiene Divisione ? ? ? ? ? ? # codice nome Sito # codice ? via ? città Sede ? ? ? # codice via città Figura 2.23. schema iniziale della gestione personale e dopo la verifica di completezza Nella figura 24 abbiamo a sinistra un frammento della gestione personale. Nel settore gestione personale è definita l’operazione “stampa certificato di lavoro” che fornita la matricola di un impiegato da : qualifica, cognome, data assunzione, via e città della sede. Si vede da questo che manca un legame logico fra impiegati e sedi in cui lavorano. Si aggiunge per questo la nuova relazione LAVORA. 2.16. Rappresentazioni linguistiche dei requisiti Un elemento estremamente importante nell’ambito della progettazione è rappresentato dalla forma con cui vengono espressi i requisiti degli utenti. Siamo ovviamente nella prima fase dalla metodologia di progettazione, cioè quella in cui si cerca di capire quali sono le richieste degli utenti. Possiamo per questo distinguere 3 casi . Un primo si ha quando i requisiti degli utenti sono rappresentati tramite linguaggio naturale. Questi in genere sono il risultato di interviste effettuate dagli utenti o verbali di riunioni svolte fra utenti finali e personale preposto allo sviluppo dei sistemi informativi oppure il contenuto di documenti 80 Capitolo secondo La progettazione concettuale dei dati preesistenti che riguardano il settore da automatizzare (procedure, regolamenti, norme, circolari). Una seconda forma di rappresentazione dei requisiti sono i moduli, cioè documenti del sistema informativo utilizzati per la raccolta e la circolazione dei dati tra i settori dell’azienda e fra questa e l’esterno. Si può portare come esempio i moduli utilizzati per tutte le attività che riguardano i contatti tra la banca ed i clienti (moduli di apertura del conto corrente, moduli per operazioni bancarie ecc.). Una terza forma di espressione dei requisiti richiesti è quella relativa alla descrizione dei dati negli archivi già esistenti nell'impresa. Spesso nelle aziende si deve affrontare un rinnovamento delle attività precedentemente automatizzate con tecnologie divenute nel frattempo obsolete. Tanto più il linguaggio sarà strutturato, cioè espresso con regole non ambigue e descrivibili formalmente, tanto più facile sarà comprendere il significato dei dati e tradurlo nel modello concettuale scelto. L’attività di progettazione che il progettista deve seguire prevede quindi una analisi dei requisiti e le modalità di linguaggio (naturale, moduli, archivi preesistenti) con cui i dati e le loro proprietà sono espressi. Si tradurrà successivamente i requisiti nei termini e modalità previste dal modello concettuale prescelto fino ad arrivare alla definizione, dopo passi intermedi, del modello concettuale definitivo. Si cercherà nei paragrafi seguenti di applicare questa metodologia per arrivare allo schema concettuale di settore, poi successivamente si arriverà, tramite un'integrazione, a quello globale. Per cui si potrà distinguere in maniera chiara due fasi di progettazione una di settore e l’altra d'integrazione. 81 Capitolo secondo La progettazione concettuale dei dati Analizzare i requisiti e le modalità con cui i dati e le loro proprietà sono espressi in termini delle rappresentazioni linguistiche Fase di Concettualizza un primo insieme di requisiti Finché esistono requisiti non ancora espressi nello schema, arricchisci incrementalmente lo schema progettazione di Verifica la correttezza e completezza dello schema settore Al termine Integra gli schemi Fase di integrazione Verifica la minimalità e leggibilità Figura 2.24. struttura generale della metodologia che verrà seguita 2..16.1. Progettazione di un settore a partire da requisiti espressi in linguaggio naturale In questo caso i requisiti su cui si basa la progettazione sono il frutto d'interviste, riunioni, ecc. e quindi espresse in linguaggio naturale. E’ evidente che questa forma di progettazione assume particolare importanza in ambienti non ancora automatizzati. 82 Capitolo secondo La progettazione concettuale dei dati Frasi in linguaggio naturale Analisi e filtro delle ambiguità Frasi filtrate Estrazione di concetti elementari Costruzione schema scheletro ANALISI DEI REQUISITI Glossario dei dati e schema scheletro Progetto dello schema concettuale : ? ? raffinamento dello schema scheletro scelta delle strutture di classificazione per i concetti elementari PROGETTAZIONE CONCETTUALE Schema concettuale di settore Confronto e verifica delle operazioni Schema concettuale di settore verificato CONTROLLO DI COMPLETEZZA Figura 2.25. Fasi della progettazione concettuale a partire da requisiti espressi in linguaggio naturale Analisi dei requisiti In una prima fase si cerca di realizzare un filtro linguistico delle frasi in linguaggio naturale cercando di eliminare il più possibile le ambiguità che possono sorgere codificando, in questo modo, i requisiti. I casi che si possono creare sono molteplici, però si possono definire alcune regole pratiche : 1. Scelta di vocaboli standard. Si sceglie per un concetto il nome più appropriato che dia i minori problemi d'ambiguità. Questa attività porta 83 Capitolo secondo La progettazione concettuale dei dati all'identificazione di un insieme di termini (thesaurus) che contiene i vocaboli utilizzati durante le successive attività di progettazione. 2. Standardizzazione delle frasi. Si attua una restrizione degli articoli, dei tempi dei verbi, pronomi avverbi ecc. per rendere il più possibile le frasi semplici e simili nella loro struttura. 3. Scelta del livello d'astrazione. Si analizza il grado di generalità e d'astrazione delle specifiche fornite dall’utente. Spesso gli utenti, secondo il compito o della mansione svolta nell’azienda, vedono i dati a livello d'astrazione differenti. Spesso accade che l’utente si esprima semplificando una situazione più generale. Ad esempio nella frase : “Ogni mese bisogna produrre un tabulato riassuntivo dei circuiti integrati disponibili in magazzino” è usato il termine “circuito integrato” piuttosto che il termine più generale pezzo di ricambio. Può accadere il contrario e cioè che l’utente si esprima per termini troppo astratti ; in ogni caso individuare il livello di astrazione più adatto è di grande importanza per diminuire i costi di ristrutturazioni successive. Figura 2.27. Specifiche di una base dei dati tradotte in linguaggio naturale 84 Capitolo secondo La progettazione concettuale dei dati Figura 2.28. specifiche della base dei dati dopo l'attività di filtro Occorre individuare in un testo in linguaggio naturale diverse classi di frasi che si riferiscono a diversi aspetti del sistema informativo : ? Frasi dati. Esprimono le proprietà dei dati senza fare riferimento alle operazione di manipolazione ed interrogazione da effettuare su essi. ? Frasi operazioni. Esprimono le manipolazioni e le interrogazioni che si vogliono effettuare sui dati. ? Frasi eventi. Esprimono le condizioni che vengono a causare indirettamente o direttamente l’attivazione di un'operazione. Possiamo considerare le frasi dati quelle in cui compaiono i verbi di significato strutturale e cioè “riguarda, è un, ha, composto di, ha associato un”. Frasi operazioni possono considerarsi quelle in cui compaiono verbi come “preparare, mandare, registrare, verificare, aggiornare” cioè verbi di significato dinamico. Le frasi eventi sono quelle in cui oltre ad un verbo di significato dinamico compare un'espressione condizionale o temporale come “quando, non appena, ad una certa data, in conseguenza, se”. Non sempre questa distinzione è chiara, per cui può capitare che ad un'analisi più attenta possono essere viste come dati prodotti da un'operazione. 85 Capitolo secondo La progettazione concettuale dei dati Progettazione dello schema concettuale Questa fase segue una strategia mista TD/BU. Da un lato s'individueranno tutti i concetti elementari che compaiono nei requisiti, tramite ad esempio un glossario per descrivere meglio le caratteristiche dei concetti. Dall’altro si costruisce una prima versione dello schema scheletro in cui compaiono i concetti più stabili e più rilevanti descritti nelle specifiche. La prima versione dello schema scheletro è alla base di un'attività progettuale ed attraverso successivi raffinamenti, si arriva all'individuazione di nuovi concetti elementari e nuove astrazioni, rappresentandole tramite il modello E/R ;tale processo termina quando tutti i concetti descritti nelle specifiche sono stati rappresentati nello schema. 2.16.1.1. Controllo di completezza In questa fase occorre confrontare lo schema ottenuto con ciascuna operazione che si deve compiere per verificare la completezza dello stesso. Quindi occorrerà verificare se lo schema contenga tutti i concetti che esplicitamente o implicitamente sono citati nella operazione e se i legami tra i concetti nello schema siano coerenti con quelli descritti nella specifica della operazione. Il risultato di questa verifica può confermare la bontà dello schema o portare ad una sua ristrutturazione. 2.16.2 Progettazione di settore a partire dai moduli I moduli vengono utilizzati per gestire le informazioni sia in ingresso sia in uscita delle organizzazioni sia fra i sottoinsiemi delle stesse. Un esempio di modulo d’ingresso può essere quello per il versamento in un conto corrente, mentre quelli per lo scambio d'informazioni all’interno di un'organizzazione sono ad esempio i permessi, le richieste di ferie ecc. Infine i moduli in uscita possono essere rappresentati dai prestampati per la liquidazione delle competenze del personale. 86 Capitolo secondo La progettazione concettuale dei dati Si dovrà cercare, partendo da un modulo, di arrivare alla definizione di uno schema concettuale. Lo schema concettuale di settore si otterrà come passo successivo dei vari schemi tratti dai moduli. Struttura dei moduli Ai fini della progettazione concettuale possiamo distinguere nel modulo tutta una serie di parti con funzioni diverse : Certificativa, estensionale, intensionale, descrittiva. Le informazioni che sono contenute nella parte certificativa non sono molto interessanti per la progettazione concettuale. Queste sono rappresentate da bolli, timbri ecc.. La parte estensionale è quella che riguarda le parti del modulo che devono essere compilate. Il legame di questa parte con quella intensionale è molto forte poiché in queste vengono inseriti i riferimenti impliciti o espliciti a concetti cui vengono associati difficile distinguere valori nella parte estensionale. A volte è nettamente le due parti. La parte intensionale/estensionale può essere a sua volta divisa aree. Un area è una zona del modulo che riporta informazioni che si riferiscono ad uno stesso argomento. Un area può a sua volta essere suddivisa in sotto aree. Una possibile classificazione delle sotto aree può essere : 1. Testo parametrico. Quando l’area è un testo in linguaggio naturale. 2. Area strutturata. Quando l’area ha la struttura di una tabella 3. Testo ibrido/tabella. Quando l’area è un testo in linguaggio naturale in cui compare anche una tabella. Certificato di residenza Si attesta che ..l.. Signor................................................................................................................... residente in via/Piazza ......................................................................... n...............CAP................... Si rilascia per i fini consentiti dalla legge. Roma / .. /.. / .... / A) 87 Capitolo secondo La progettazione concettuale dei dati Caduta giornaliera della pioggia Prima lunedì martedì mercoledì giovedì venerdì sabato domenica Settimana 0-20 mm oltre 20 B) Dichiarazione Doganale IL Sottoscritto............................................................................................................................... Nato a ...................................................con cittadinanza............................................................... Dichiara di avere..............................................nulla da dichiarare/da dichiarare le seguenti merci C) Merce Quantità Figura 2.28. esempi di testi a) parametrici b) area strutturata c) ibrido testo/tabella La parte descrittiva, infine, contiene regole o istruzioni che devono essere rispettate nella compilazione. Figura 2.26. Esempio di modulo Passi di progettazione Le attività si distinguono nelle due fasi di : ? Analisi dei requisiti ? Progettazione concettuale 88 Capitolo secondo La progettazione concettuale dei dati Modulo ANALISI DEI REQUISITI Identificazione delle parti del modulo Parti del modulo Selezione delle aree e sottoaree del modulo Albero delle aree Analisi di area : ? ? Estrazione dei concetti elementari Costruzione di uno schema scheletro PROGETTAZIONE CONCETTUALE Glossari dei dati e schemi scheletro Progetto dello schema di area : ? ? Scelta delle strutture di classificazione per i concetti elementari Raffinamenti dello schema scheletro Schemi concettuali di area Integrazione degli schemi di area Schema concettuale di settore Figura 2.27. Attività di progettazione concettuale a partire dai moduli In primo luogo, quindi si cercherà di approfondire la conoscenza del significato e delle proprietà dei dati descritti in un modulo indipendentemente dal modello concettuale prescelto. Nella progettazione concettuale rientrano quelle attività che traducono i concetti espressi nel modulo nella struttura del modello E/R. L’analisi dei requisiti Una prima fase è quella di identificare le varie parti del modulo : certificativa, intensionale/estensionale e descrittiva. Un’altra fase è quella di 89 Capitolo secondo La progettazione concettuale dei dati identificare le aree e sottoaree dei moduli che possono portare ad una prima specificazione (provvisoria) dei concetti omogenei. Progettazione concettuale dello schema Una prima fase della progettazione dello schema concettuale è dedicata ad un'attività d'analisi delle aree individuate nel modulo per arrivare alla determinazione di un primo glossario dei dati e ad un primo schema scheletro. Si dovrà cercare di estrarre concetti elementari e questa attività sarà diversa secondo il tipo di rappresentazione linguistica che avremo davanti (testo parametrico o area strutturata). I casi che si possono verificare sono molto vasti e non si può pensare di descrivere una metodologia con regole fisse. Successivamente sui dati ricavati si potrà applicare una strategia mista TD/BU arrivando prima alla identificazione degli schemi concettuali d'area e successivamente a quelli di settore. 2.16.3 La progettazione di settore a partire dagli archivi esistenti Si vuol determinare questa volta uno schema di settore a partire dagli archivi esistenti. Ovviamente si procederà alla analisi degli archivi esistenti solo nel caso in cui l’innovazione del sistema informatico non faccia parte di un'opera di revisione e di ristrutturazione del sistema organizzativo ed informativo ma sia realizzata per motivi d'adeguamento tecnologico. Si cerca, quindi, di censire il patrimonio informativo di un'azienda dall’analisi dei propri archivi. Un archivio tradizionale è costituito da un insieme di registrazioni omogenee di dati (record) la cui struttura può essere ricondotta a quella di un record-tipo. Ora, in un unico archivio possono essere inclusi insiemi di registrazioni con strutture diverse, ma comunque riconducibili ad un insieme ristretto di strutture o tipi-record. Descrizione del record-tipo Un record è suddiviso in campi ed ognuno di questi a sua volta può essere suddiviso in campi secondo una struttura gerarchica a più livelli. I campi di 90 Capitolo secondo La progettazione concettuale dei dati livello più basso sono detti elementari, gli altri composti. Un campo, sia elementare che composto, può assumere un solo valore all’interno di un singolo record ( campo semplice)oppure più di uno (campo ripetitivo) : il numero massimo di ripetizioni può essere fisso o variabile. Un campo può assumere valori in un dominio che negli archivi tradizionali si riconduce a due tipi di valori :il tipo di carattere (numerico, alfabetico, alfanumerico) ed il numero massimo di caratteri. Negli archivi tradizionali viene anche usato il concetto di chiave che ha seconda dei diversi tipi d'organizzazione assume un significato differente. Qui interessa il concetto di chiave univoca dell’archivio, e cioè intesa come insieme di campi tali che per ogni insieme distinto di valori corrisponda uno ed un solo record dell’archivio. I tipi ­ record sono generalmente documenti in forma di tracciati grafici, oppure sono descritti direttamente nel linguaggio di programmazione che viene utilizzato per accedere ai dati (ad esempio un programma in COBOL). I passi di progettazione Raccolta e completamento della documentazione ANALISI DEI REQUISITI Documentazione degli archivi Individuazione dei singoli tipi di record Tipi di record Progettazione degli schemi concettuali di tipo record (applicazione ripetuta di regole di traduzione) PROGETTAZIONE CONCETTUALE Schemi concettuali parziali di tipo record Figura 2.30. Passi di progettazione 91 Capitolo secondo La progettazione concettuale dei dati Analisi dei requisiti Questa fase si compone di due particolari attività che sono la raccolta e il completamento della documentazione i l’individuazione dei singoli tipi record. La prima attività consiste nella individuazione di tutti gli archivi esistenti nel settore aziendale che noi vogliamo analizzare. La documentazione di ogni archivio individuato consiste nella descrizione dei suoi tipi - record. Se però questa documentazione non è sufficiente ai fini dell’analisi completa dei dati, dovremmo integrarla con ulteriori informazioni. L’altra attività si rende necessaria quando esistono archivi che contengono tipi - record differenti. In questo caso devono essere effettuate tante analisi differenti quanti sono i tipi record non perdendo di vista però i legami concettuali sussistenti fra essi. Un esempio di legame concettuale può essere quello di un archivio che descrive i movimenti di variazione dei conti correnti di una banca. Questi possono essere di due tipi : Contabili e non contabili. Ciascuno prevede un tracciato differente a meno del numero progressivo, comune ad entrambi e del campo tipo di movimento. Fra i due tipi-record esiste un legame che pone “movimento” come concetto che generalizza i due concetti “movimento contabile” ; tale legame deve essere reso esplicito nello schema concettuale relativo all’intero archivio. 92 Capitolo secondo La progettazione concettuale dei dati Figura 2.31. Esempio di legame concettuale tra tipi-record Progettazione concettuali degli schemi di tipo - record Il problema progettuale consiste nel tradurre la struttura logica del tipo ­ record in quella del modello concettuale prescelto. Il punto di partenza è quello di far corrispondere al tipo - record un’entità e di tradurre i campi del tipo record in istanze di un'entità. Così avremo che un campo semplice di un tipo record può essere tradotto in : ? un attributo semplice se esso è elementare ; ? un attributo composto se esso è sottodefinito in campi elementari ; ? un attributo composto formato a sua volta da attributi composti se i campi che lo compongono sono a loro volta campi composti. 93 Capitolo secondo La progettazione concettuale dei dati Figura 2.32. esempio di traduzione di campi semplici A sua volta un campo ripetitivo viene trasformato in un attributo composto o in un attributo ripetitivo, a seconda che esso sia sottodefinito o no in campi ripetitivi o elementari. Figura2.33. esempio di traduzione campi ripetitivi 94 Capitolo secondo La progettazione concettuale dei dati A volte la semplice traduzione dei campi può essere inadatta alla costruzione di entità che seguano le regole del modello concettuale prescelto per cui alcuni campi dovranno essere ridefiniti. Matr. qualifica dipendente Dati operaio ? Dati impiegato Dati dirigente ? ? ? ? ? ? Turno Indennità ..... livello .... Assegno ........ Figura 2.34. esempio di traduzione campi ridefiniti Stesso discorso può essere fatto per i puntatori che in un tipo - record corrispondono all’identificatore di un altro tipo - record il quale, poi, verrà tradotto in una relazione fra il tipo record in questione e quello puntato. Anche in questo caso l’adozione di un particolare modello concettuale può mettere il luce nuovi legami che prima non erano stati presi in considerazione. 95 Capitolo secondo La progettazione concettuale dei dati Figura 2.35. esempio di traduzione di un puntatore E’ difficile comunque stabilire delle regole generali da poter seguire in maniera rigorosa. Solo la profonda conoscenza del modello concettuale che si vuole applicare e delle funzioni che quei tipi - record sono chiamati a svolgere nell’ambito dell’azienda possono dare esattamente la dimensione di come si debba agire per tradurre gli archivi esistenti nel nuovo schema concettuale secondo il modello prescelto. 2.17. Integrazione degli schemi concettuali Lo scopo del passo di integrazione è di costruire, partendo da un insieme di schemi concettuali, un unico schema concettuale globale. La metodologia qui proposta può essere attuata sia per passare da schemi di transazione a quelli di settore, sia per passare dagli schemi di settore a quelli d’azienda. L’integrazione propone però alcune problematiche che bisogna risolvere. Vi possono essere innanzitutto delle differenze di rappresentazioni nel modello concettuale, poiché questo può permettere di rappresentare uno stesso aspetto della realtà in più modi tutti quanti plausibili. 96 Capitolo secondo La progettazione concettuale dei dati ? Matricola ? Reparto Impiegato ? Matricola ? Numero reparto Impiegato in Reparto Figura2.36. esempio di diverse rappresentazioni nel modello E/R Vi possono essere pure differenze di percezioni, per cui le stesse classi d'oggetti possono essere percepite in modo diverso dai progettisti in settori diversi, cioè possono essere associate a queste nomi e proprietà differenti. Altro problema è quello delle proprietà interschema, le quali legano classi di oggetti di diversi schemi e che per questo possono essere individuate solo durante l’integrazione degli schemi. Infine, problemi possono nascere anche da una carenza di affidabilità dell’analisi nel corso della progettazione concettuale assegnando , ad esempio, alle stesse classi proprietà contrastanti. Passi di progettazione questo tipo di metodologia prevede di integrare due schemi alla volta. Lo schema che nasce dalla fusione, detto integrato parziale, verrà via via messo a confronto per l’integrazione con uno schema di settore per arrivare allo schema globale ( se ovviamente si vuol arrivare ad uno schema globale di azienda altrimenti si parlerà di schema di settore). PIS1=S1 S2 S3 PIS2 Sn Si = i - esimo schema di settore PISi = i - esimo schema integrato parziale PSIn = Schema globale 97 Capitolo secondo La progettazione concettuale dei dati Figura 2.37. processo d'integrazione proposto dalla metodologia Per quanto riguarda l’ordine con cui scegliere gli schemi da integrare può essere utile assegnare ai vari schemi un peso proporzionale alla loro importanza. Questa assegnazione può essere importante per ottenere schemi più “stabili” in quanto si tiene in maggior conto dagli aspetti che hanno più “peso” anticipandone il loro esame per poter meglio decidere la risoluzioni di eventuali conflitti che possono sorgere nella integrazione fra i diversi schemi. Questa metodologia prevede tutta una serie di attività per risolvere i conflitti al fine di arrivare alla fusione degli schemi ed ad una loro eventuale risistemazione. Schema integrato parziale SPi Schema di settore SI + 1 ANALISI DEI CONFLITTI : ? individuazione e risoluzione dei conflitti di nome ? individuazione e risoluzione dei conflitti di rappresentazione SPi emendato Schema di settore emendato FUSIONE DEGLI SCHEMI Prima versione del nuovo schema integrato parziale Spi + 1 Prima versione dello schema integrato SPn VERIFICHE FINALI : ? verifica ristrutturazioni ? analisi ridondanze ANALISI PROPRIETA INTERSCHEMA Versione finale dello schema integrato ridondanze Nuovo schema integrato parziale A) B) Figura 2.38. A)Attività di ogni singolo passo di integrazione di due schemi B) attività finali 98 Capitolo secondo La progettazione concettuale dei dati Attività d'integrazione Analisi dei conflitti : individuazione e risoluzione dei conflitti di nome Si analizza in questa fase i nomi assegnati ai concetti nei due schemi e si individuano le possibili incongruenze. Si può verificare che : 1. la stessa classe d'oggetti è rappresentata con nomi differenti nei due schemi (sinonimia) 2. due differenti classi d'oggetti della realtà sono rappresentate con lo stesso nome (omonimia). La risoluzione di questi problemi è complessa e può richiedere pure un ulteriore supplemento d'indagine con gli utenti. Per guidare il progettista la metodologia suggerisce alcuni possibili indizi : ? Anomalie multinome. Si tratta di situazioni in cui nomi o sinonimi sono associati ad uno stesso concetto in uno schema e a diversi concetti nell’altro. Le anomalie multinome sono situazioni contraddittorie che devono essere in ogni modo risolte prima di procedere alla integrazione (vedere esempio figura : i sinonimi sono fra parentesi). Docente (professore) Docente professore Figura 2.39. esempio di anomalia multinome ? Similitudine tra concetti. Questa si ha nei due schemi oggetti con nomi distinti che hanno proprietà comuni. In questo caso l’indizio è di potenziale sinomia. 99 Capitolo secondo La progettazione concettuale dei dati Figura 2.40. esempio di potenziale sinonimia ? Distanza concettuale. Si ha si ha quando oggetti con gli stessi nomi hanno poche proprietà comuni. E’un indizio d'omonimia. Gli indizi portano in genere a qualche supplemento d'indagine per verificare l’esistenza delle anomalie che si crede di aver riscontrato. Alla fine di questa fase un solo nome deve contraddistinguere in modo univoco una sola classe d'oggetti in tutti gli schemi in cui compare. Analisi dei conflitti : individuazione dei conflitti di rappresentazione In questa fase vengono analizzate le diverse rappresentazioni esistenti nei due schemi per la stessa classe di concetti in modo da verificare la loro compatibilità e scegliere una rappresentazione comune. Due concetti sono compatibili quando sono rappresentati con le stesse strutture di rappresentazione e le proprietà comuni hanno gli stessi vincoli di integrità ; altrimenti sono incompatibili. Quindi, concetti con strutture di rappresentazione differenti sono sempre incompatibili. 100 Capitolo secondo Impiegato La progettazione concettuale dei dati ? ? codice salario Impiegato A) fornitore n fornitore 1 vende vende ? ? ? c. fiscale salario età n prodotto n prodotto B) Figura 2.41. A) concetti compatibili, B) concetti incompatibili E’ chiaro che i concetti compatibili non dovranno subire alcuna modifica e durante la fase di fusione potranno essere sovrapposti l’uno all’altro. Le incompatibilità possono portare a due soluzioni : 1. scegliere una delle due rappresentazioni 2. costruire una nuova rappresentazione che rispetti tutti i vincoli degli oggetti incompatibili nei due schemi. La prima soluzione sarà scelta quando la rappresentazione sarà più completa e affidabile dell’altra. La seconda sarà scelta quando le due soluzioni saranno egualmente affidabili e complete. Fusione degli schemi Risolti i conflitti di rappresentazione la fusione fra gli schemi può aver luogo per semplice sovrapposizione dei concetti comuni. E’necessario continuare a distinguere ancora nello schema risultato della fusione, concetti comuni ai due schemi e concetti ereditati da un singolo schema, distinzione necessaria per i successivi passi della metodologia. 101 Capitolo secondo La progettazione concettuale dei dati Analisi delle proprietà interschema Queste sono proprietà che legano i due schemi e che possono essere valutate compiutamente solo in sede di integrazione e dopo la fusione, eventualmente integrando le informazioni a nostra disposizione con ulteriori indagini. La considerazione di queste proprietà potrà così portare ad un ristrutturazione dello schema. Figura 28 aggiunta di una proprietà interschema Verifiche finali : verifica ristrutturazioni e analisi delle ridondanze Terminate la fase di fusione degli schemi, i passi rimanenti della metodologia verificano l’opportunità di possibili ristrutturazioni che 102 Capitolo secondo La progettazione concettuale dei dati servono a migliorare la leggibilità dello schema. La fusione degli schemi, però, può dar luogo all'introduzione di ridondanze. Uno schema viene detto ridondante quando eliminando qualche concetto si ottiene uno schema che ha un contenuto informativo equivalente al precedente. Un caso molto particolare e frequente di ridondanza è quello rappresentato è quello dei “cicli” che si realizzano fra entità e relazioni. I cicli ridondanti devono essere scoperti in sede di progettazione concettuale :si stabilirà nell’ambito della progettazione logica scegliere se mantenere questa situazione di ciclicità qualora si presenti egualmente come una situazione efficiente oppure cambiare questa struttura ciclica scegliendo altri cammini. Fornitore m Vende n Articolo m compone n Commessa m Serve Fornitore Commessa Articolo Figura 2.43. Esempio di ciclo risoluzione dello stesso in un'unica relazione ciclica 103