5 – Progettazione Concettuale 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:
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 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.
Strategia BOTTOM-UP
Riassunto strategia bottom-up
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à.
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