Basi di Dati prof A Longheu 5 Progettazione
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 <azione 1> altrimenti <azione 2>” 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:
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
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
- Slides: 35