La progettazione concettuale dei dati

annuncio pubblicitario
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
Scarica