Basi di Dati
prof. A. Longheu
5 – Progettazione Concettuale
Cap. 6 “Basi di dati” Atzeni – Ceri – Paraboschi - Torlone
Raccolta e analisi dei requisiti
• È la fase immediatamente precedente alla
progettazione
• Raccolta dei requisiti è la completa
individuazione dei problemi che il sistema
deve risolvere e le caratteristiche del sistema
stesso.
• L’analisi dei requisiti consiste nel
chiarimento e nell’organizzazione dei requisiti
raccolti
Raccolta dei requisiti - 1
• Le fonti di informazione per la raccolta sono:
• Utenti dell’applicazione: interviste (anche
ripetute), documentazione scritta dagli utenti
• Documentazione
esistente:
moduli,
regolamenti, procedure aziendali, normative.
• Realizzazioni preesistenti: da sostituire o
che devono interagire con il sistema , con i
loro elementi (tracciati, record, maschere,
algoritmi, documentazione)
Raccolta dei requisiti - 2
Esempio di requisiti raccolti tramite le interviste ed
espressi in linguaggio naturale:
Raccolta dei requisiti - 3
• Oltre a raccogliere requisiti sui dati, occorrono
anche i requisiti sulle operazioni da effettuare
sui dati stessi. Esempi:
• Operazione 1: Inserisci un partecipante con
tutti i suoi dati (40 volte al giorno in media)
• Operazione 2: Assegna un partecipante ad
una edizione di corso (50 volte).
• Operazione 3: Inserisci un nuovo docente
indicando tutti i suoi dati e i corsi che può
insegnare (2 volte)
Raccolta dei requisiti - 4
• Operazione 4: Assegna un docente abilitato
ad un edizione di un corso (15 volte)
• Operazione 5: Stampa tutte le informazioni
sulle edizioni correnti di un corso con titolo,
orari lezioni e numero partecipanti (10 volte)
• Operazione 6: Stampa tutti i corsi offerti,
con informazioni sui docenti che possono
insegnarli (20 volte)
Raccolta dei requisiti - 5
• Operazione 7: Per ogni docente, trova
i partecipanti a tutti i corsi che insegna
(5 volte la settimana)
• Operazione 8: Effettua una statistica
su tutti i partecipanti (10 volte al mese)
Analisi dei requisiti – 1
Dopo avere effettuato la raccolta, occorre
l’analisi, che segue diverse regole:
• Scegliere il corretto livello di astrazione:
evitare termini troppo generici o troppo
specifici
ad
esempio
titolo
(titolo
professionale), giudizio (votazione in decimi)
• Standardizzare la struttura delle frasi:
“per <dato> rappresentiamo <proprietà>”
per
descrivere
i
dati,
e
“se <cond> allora <azione1> altrimenti
<azione2>” per descrivere le azioni
Analisi dei requisiti – 2
• Evitare frasi contorte: Semplici e chiare. Ad
esempio “quelli che lavorano per un ente dello stato”
diventa “dipendenti statali” (anche perchè l’ente dello
stato potrebbe sembrare un’entità interessante).
• Individuare
sinonimi/omonimi
ed
unificare/distinguere : ad esempio docente e
insegnante, partecipante e studente (sinonimi) vanno
unificati; posto e luogo riferiti a città ,a società e ad
aule vanno distinti con termini più specifici .
Analisi dei requisiti – 3
• Rendere esplicito il riferimento tra
termini: nella seconda frase indirizzo e
numero di telefono non è chiaro se si
riferiscono ai partecipanti o alle loro società.
“Di quelli che lavorano..” si riferisce a
partecipanti o docenti?
• Costruire un glossario dei termini: per ogni
termine, breve descrizione,sinonimi e altri
termini con cui ha relazione.
Analisi dei requisiti – 4
Esempio di glossario:
Analisi dei requisiti – 5
Sostituzione termini omonimi e sinonimi:
Luogo di nascita  citta' di nascita ; posto  societa' ;
indirizzo e numero di telefono sono della societa' ;
giudizio votazione in decimi;
periodo  periodo di frequenza;
i partecipanti hanno frequentato o frequentano specifiche edizioni
dei corsi;
seminario  edizione di corso;
giorno  giorno della settimana; luogo  aula;
studente  partecipante ; titolo  titolo professionale; insegnante
 docente; posto  citta' di nascita;
nome titolo del corso;
recapito telefonico  numero telefonico;
societa'  nostra societa' di formazione;
Analisi dei requisiti – 6
• Dopo aver riportato le modifiche
si decompone il testo in gruppi
di frasi omogenei, relative agli
stessi concetti
Analisi dei requisiti – 7
Progettazione concettuale
Dopo la raccolta e l’analisi dei requisiti, e’ possibile
passare al diagramma E-R, che converte le specifiche
precedenti dal linguaggio naturale ad una
rappresentazione grafica basata sul modello E-R.
Per effettuare la conversione si adottano i seguenti
criteri:
• Se un concetto ha proprietà significative e/o
descrive classi di oggetti con esistenza
autonoma, è opportuno rappresentarlo con
un’entità. Esempio docente è assolutamente
autonomo ed ha proprietà come cognome,età,città di
nascita. Lo stesso vale per concetti astratti come
corso.
Individuazione degli Attributi
• Se un concetto ha una struttura
semplice e non possiede proprietà
rilevanti è opportuno rappresentarlo
come attributo di un altro concetto a cui
si riferisce: il concetto di età deve essere un
attributo dei partecipanti. Lo stesso dicasi per
città che, sembra autonomo, ma nessuna sua
proprietà è di interesse.
Individuazione delle Relazioni
• Se sono state individuate due o più entità e nei
requisiti compare un concetto che le associa,
questo concetto può essere rappresentato da
una relazione. Ad esempio partecipanti e corsi sono
associati dal concetto di partecipazione con l’attributo
voto. Ma se ci interessano data,sessione,commissione
e vogliamo descrivere che l’esame può essere
sostenuto più volte allora è necessario introdurre
un’altra entità esami da collegare alle entità
partecipanti e corsi.
Individuazione delle Generalizzazioni
• Se uno o più concetti risultano essere
casi particolari di un altro, è opportuno
rappresentarli facendo uso di una
generalizzazione.
Professionista
e
impiegato statale sono casi particolari di
partecipante .
Strategie di progetto
•Top-Down
•Bottom-Up
•Inside-Out
•Mista
Strategia TOP-DOWN
Riassunto strategia top-down
Vantaggi e Svantaggi
Progettazione top-down
della
• La progettazione Top-Down è conveniente in
quanto si possono inizialmente trascurare i
dettagli che possono essere specificati
successivamente.
• Tuttavia ciò è possibile solo se si possiede
una visione globale di tutte le componenti, il
che accade raramente in applicazioni
complesse.
Strategia BOTTOM-UP
Riassunto strategia bottom-up
Vantaggi e Svantaggi
Strategia Bottom-Up
della
• Si adatta bene ad una progettazione di
gruppo in cui , diversi progettisti possono
sviluppare parti disgiunte che possono essere
assemblate successivamente.
• L’integrazione di sistemi concettualmente
diversi comporta notevoli difficoltà.
Strategia INSIDE-OUT
• La strategia Inside-Out si può
considerare una variante della
strategia Bottom-Up.
• Si individuano inizialmente alcuni
concetti importanti e si procede a
macchia d’olio partendo da quelli
iniziali navigando tra le specifiche.
Esempio
Vantaggi e Svantaggi dell’Inside-Out
• Ha il vantaggio di non richiedere passi di
integrazione. D’altra parte è necessario, di
volta in volta, esaminare tutte le specifiche
per
individuare
concetti
non
ancora
rappresentati e descriverli nel dettaglio.
Osserviamo che, prima dell’ultimo passo,
l’entità Dipartimento non ha identificatore
perchè ha bisogno della Sede
Strategia Mista
• La strategia mista cerca di combinare i vantaggi
top-down e bottom-up: il progettista divide i requisiti
in componenti separate (come nel bottom-up) ma,
allo stesso tempo, definisce uno schema scheletro,
contenente, a livello astratto, i concetti principali
dell’applicazione. Questo fornisce una visione
unitaria,anche se astratta, dell’intero progetto e può
guidare le fasi di integrazione dei sottoschemi
Esempio di Strategia Mista
• Considerando la Società di Formazione è
immediato individuare tre concetti principali
(entità) : partecipanti , corsi, docenti.
• Tra
questi
esistono
delle
relazioni
partecipazione e docenza. Si ottiene il
seguente scheletro
PARTECIP
ANTE
PARTECIP
AZIONE
CORSO
DOCENZA
DOCENTE
Vantaggi della strategia mista
• è la più flessibile perchè permette di
suddividere i problemi in sottoproblemi
(bottom-up) e di procedere per raffinamenti
successivi (top-down).
• è applicabile nei casi pratici in cui quando si
inizia la progettazione non sono ancora
disponibili tutti i dati e ,dei vari dati, non
abbiamo descrizioni a livello diverso di
dettaglio.
Qualità di uno Schema Concettuale
• Viene giudicata in base a delle proprietà che
lo schema deve possedere:
• Correttezza
• Completezza
• Leggibilità
• Minimalità
Correttezza e Completezza
• Correttezza: se si utilizzano propriamente i
costrutti. Gli errori possono essere sintattici : uso
non
ammesso
dei
costrutti
(ad
esempio
generalizzazione fra relazioni) o semantici : uso che
non rispetta il loro significato ( si usa una relazione
per descrivere che un’entità è generalizzazione di
un’altra).
• Completezza: tutti i dati di interesse sono
rappresentati e tutte le operazioni possono essere
eseguite a partire dai concetti dello schema
Leggibilità
• Uno schema è leggibile quando rappresenta i
requisiti in maniera naturale e facilmente
comprensibile. Alcune regole:
• disporre al centro i costrutti con più legami
• usare linee perpendicolari cercando di minimizzare le
intersezioni.
• Disporre i padri di generalizzazioni sopra i figli
• Verificare con gli utenti
Minimalità
• Uno schema è minimale quando tutte le
specifiche sono rappresentate una sola volta.
Non devono contenere ridondanze ovvero
concetti deducibili da altri oppure cicli di
relazioni e generalizzazioni.
• Una ridondanza a volte può nascere da una
scelta precisa di progettazione
Scarica

Progettazione Concettuale