Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri...

35
Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 “Basi di dati” Atzeni – Ceri – Paraboschi - Torlone

Transcript of Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri...

Page 1: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Basi di Datiprof. A. Longheu

5 – Progettazione ConcettualeCap. 6 “Basi di dati” Atzeni – Ceri – Paraboschi - Torlone

Page 2: 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

Page 3: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

• 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 - 1

Page 4: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Esempio di requisiti raccolti tramite le interviste ed espressi in linguaggio naturale:

Raccolta dei requisiti - 2

Page 5: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

• 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 - 3

Page 6: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

• 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 - 4

Page 7: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

• 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)

Raccolta dei requisiti - 5

Page 8: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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

Page 9: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

• 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 – 2

Page 10: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

• 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 – 3

Page 11: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Analisi dei requisiti – 4

Esempio di glossario:

Page 12: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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 edizionidei 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 – 5

Sostituzione termini omonimi e sinonimi:

Page 13: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

•Dopo aver riportato le modifiche si decompone il testo in gruppi di frasi omogenei, relative agli stessi concetti

Analisi dei requisiti – 6

Page 14: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Analisi dei requisiti – 7

Page 15: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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.

Page 16: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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.

Page 17: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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.

Page 18: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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 .

Page 19: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Strategie di progetto

•Top-Down•Bottom-Up•Inside-Out•Mista

Page 20: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Strategia TOP-DOWN

Page 21: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Riassunto strategia top-down

Page 22: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Vantaggi e Svantaggi della Progettazione top-down

• 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.

Page 23: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Strategia BOTTOM-UP

Page 24: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Riassunto strategia bottom-up

Page 25: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Vantaggi e Svantaggi della Strategia Bottom-Up

• 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à.

Page 26: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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.

Page 27: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Esempio

Page 28: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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

Page 29: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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

Page 30: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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

PARTECIPANTE

CORSO DOCENTEPARTECIPAZIONE

DOCENZA

Page 31: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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.

Page 32: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

Qualità di uno Schema Concettuale

• Viene giudicata in base a delle proprietà che lo schema deve possedere:

• Correttezza• Completezza• Leggibilità• Minimalità

Page 33: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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

Page 34: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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

Page 35: Basi di Dati prof. A. Longheu 5 – Progettazione Concettuale Cap. 6 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.

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