5 – Progettazione Concettuale

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
LA PROGETTAZIONE CONCETTUALE Seconda parte
Analisi e progettazione
Scomposizione funzionale
Procedure e funzioni A. Ferrari.
Progettazione concettuale
L’Informatica dal Problema alla Soluzione
Metodologie di Programmazione = decomposizione basata su astrazioni
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
4 – Progettazione – Introduzione e Modello E-R
6 – Progettazione Logica
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Metodologie e Modelli di Progetto
Unità Didattica 2 I Linguaggi di Programmazione
Il nostro progetto: la valutazione
Modello E-R Generalizzazioni
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
MANUALE DI PEDAGOGIA GENERALE
Da Problema a Programmazione
Dall’algoritmo al programma.
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
L’ingegneria del software
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Sistemi e Tecnologie Informatiche Requisiti per la realizzazione di un buon programma.
Corso di Basi di Dati Progettazione di Basi di Dati
Progettazione Concettuale: Strategie di Progettazione
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
La modellazione degli oggetti
Gli Algoritmi L’algoritmo è un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si.
Progettazione concettuale 1 persona Ente lavora in impiegatodatore.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Progetto Finale Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
Progettazione di basi di dati: metodologie e modelli
Sistemi di Elaborazione delle Informazioni
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Cloud informatica V anno.
Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini.
Progettazione concettuale Castagnozzi Savino Ciaramello Massimo Emiliano Galeazzi Federico Guerriero Lorenzo Macauda Giorgio.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Transcript della presentazione:

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