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