Modello Concettuale dei Dati: Concetti Fondamentali

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

La progettazione concettuale
Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Algoritmi e Strutture Dati
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 Tutto su liceoclassicojesi.it 1° Incontro sulla gestione di liceoclassicojesi.it.
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
Progetto Qua.ser Indagine di customer satisfaction: Cambio di indirizzo Firenze, 30 giugno 2011.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
Progettazione concettuale
Progettazione concettuale
G. Mecca – – Università della Basilicata Basi di Dati Progettazione di Basi di Dati: Introduzione versione 2.0 Questo lavoro è concesso.
G. Mecca – – Università della Basilicata Basi di Dati Progettazione Logica versione 2.0 Questo lavoro è concesso in uso secondo i termini.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali versione.
Tecnologie di Sviluppo per il Web
Modello Concettuale Dettagli e Approfondimenti
G. Mecca – – Università della Basilicata Tecnologie di Sviluppo per il Web XML: Dettagli e Approfondimenti versione 2.0 Questo lavoro è
Progettazione e Forme Normali
G. Mecca – – Università della Basilicata Basi di Dati Progettazione Fisica e Tuning: Concetti Avanzati versione 2.0 Questo lavoro è concesso.
Frontespizio Economia Monetaria Anno Accademico
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Programmazione Procedurale in Linguaggio C++
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
I MATEMATICI E IL MONDO DEL LAVORO
Obiettivi del corso di Statistica Medica.
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
1 © Alberto Montresor Algoritmi e Strutture Dati Capitolo 7 - Tabelle hash Alberto Montresor Università di Trento This work is licensed under the Creative.
Algoritmi e Strutture Dati
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Scritte scritte scritte scritte scritte scritte scritte Scritte scritte Titolo.
Metodologie e Modelli di Progetto
DHTML: Modello degli Eventi 1. 2 Sommario Introduzione Evento onclick Evento onload Gestione errori con onerror Gestione mouse con levento onmousemove.
G. Mecca – – Università della Basilicata Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Dettagli e Approfondimenti versione.
Modello E-R Generalizzazioni
Strategia bottom-up Nella strategia bottom-up le specifiche iniziali sono suddivise in componenti via via sempre più piccole, fino a descrivere frammenti.
Modello E-R Generalizzazioni
Questionari sulla didattica: le risposte di studenti & docenti.
Contatore: esempio di circuito sequenziale
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ISOIVA (LOCALE) TO ISOIVA (WEB) RIPARTIZIONE INFORMATICA UFFICIO APPLICATIVI AMMINISTRATIVI 13/04/2011 UNIVERSITÀ DEGLI STUDI DI FERRARA 1.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
RICERCA DI MERCATO PER NON ADDETTI
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Progettare un database
1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
Riconfigurare il diritto dautore. Lipertesto, una necessità di riconfigurazione. Secondo G. P. Landow, lavvento dellipertesto implica la necessità di.
Basi di Dati e Sistemi Informativi
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Programmazione Procedurale in Linguaggio C++
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
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.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
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.
Transcript della presentazione:

Modello Concettuale dei Dati: Concetti Fondamentali Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca – mecca@unibas.it – Università della Basilicata

Concetti Fondamentali Mod. Concettuale >> Sommario Concetti Fondamentali Introduzione Raccolta dei Requisiti Diagramma Concettuale delle Classi Classe Associazione Cardinalità Generalizzazione Linee Guida per la Modellazione G. Mecca - mecca@unibas.it - Basi di Dati

Introduzione Modellazione concettuale Obiettivo Mod. Concettuale >> Concetti Fondamentali >> Introduzione Introduzione Modellazione concettuale attività svolta durante l’analisi Obiettivo definire il modello concettuale dei dati Funzioni nel processo di sviluppo analizzare le relazioni tra i dati definire il nucleo delle classi (componenti) guidare la progettazione della base di dati G. Mecca - mecca@unibas.it - Basi di Dati

Introduzione Il punto di partenza Raccolta dei Requisiti Mod. Concettuale >> Concetti Fondamentali >> Introduzione Introduzione Il punto di partenza la raccolta dei requisiti Raccolta dei Requisiti i requisiti iniziali sono normalmente imprecisi è necessario precisarli e approfondirli in sintesi, si tratta di comprendere come funziona la realtà a cui l’applicazione si riferisce G. Mecca - mecca@unibas.it - Basi di Dati

Raccolta dei Requisiti Mod. Concettuale >> Concetti Fondamentali >> Introduzione Raccolta dei Requisiti Fonti per la raccolta utenti dell’applicazione, attraverso interviste e questionari documentazione esistente (leggi e normative, regolamenti interni) modulistica usata dall’organizzazione Il problema delle fonti fonti diverse possono fornire informazioni contrastanti G. Mecca - mecca@unibas.it - Basi di Dati

Raccolta dei Requisiti Mod. Concettuale >> Concetti Fondamentali >> Introduzione Raccolta dei Requisiti Attenzione è un’attività difficile e poco standardizzabile Suggerimenti effettuare iterazioni ripetute con gli utenti tenere presente la prospettiva dell’utente sull’applicazione accertarsi di adottare un linguaggio comune identificare i casi d’uso e discuterne le attività in dettaglio, individuando le priorità G. Mecca - mecca@unibas.it - Basi di Dati

Raccolta dei Requisiti Mod. Concettuale >> Concetti Fondamentali >> Introduzione Raccolta dei Requisiti Caso fortunato gli utenti conoscono UML è possibile basare la comunicazione sugli schemi concettuali intermedi Al termine del processo i requisiti sono descritti da un documento di sintesi lo schema concettuale prodotto G. Mecca - mecca@unibas.it - Basi di Dati

Il Diagramma delle Classi di UML Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Il Diagramma delle Classi di UML Nel nostro approccio diagramma delle classi di UML ci sono altri approcci molto simili; esempio: modello Entità-Relazione (ER) >> Modello concettuale classi con attributi associazioni cardinalità generalizzazioni G. Mecca - mecca@unibas.it - Basi di Dati

Il Diagramma delle Classi di UML Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Il Diagramma delle Classi di UML Il termine classe nella terminologia UML viene utilizzato con significati diversi A livello concettuale classe come rappresentazione di un insieme di oggetti della realtà A livello di progetto classe come specifica di una classe software A livello di implementazione classe come documentazione di una classe software G. Mecca - mecca@unibas.it - Basi di Dati

Il Diagramma delle Classi di UML Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Il Diagramma delle Classi di UML In questa lezione siamo in fase di analisi non bisogna commettere l’errore di fraintendere gli obiettivi del modello Obiettivi del modello concettuale descrivere i concetti della realtà di interesse non componenti software dell’applicazione (nè tabelle, nè classi del linguaggio di prog.) G. Mecca - mecca@unibas.it - Basi di Dati

Il Diagramma delle Classi di UML Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Il Diagramma delle Classi di UML Errori tipici descrivere i dettagli delle tabelle descrivere i metodi delle classi Livello di astrazione opportuno non è necessario che nel modello concettuale ci siano tutti gli attributi non è normalmente rilevante il tipo degli attributi G. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio: Il S.I. Universitario Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Un Esempio: Il S.I. Universitario E’ necessario sviluppare un frammento del S.I. utilizzato dalla segreteria studenti per la gestione dei dati dei corsi di laurea in Informatica dell’Università della Basilicata Il sistema deve gestire i dati degli studenti della laurea triennale e specialistica. Per ciascuno studente è necessario gestire i dati relativi agli esami sostenuti Il sistema deve inoltre gestire i dati relativi agli insegnamenti offerti, e i dati relativi agli esami sostenuti per ciascun insegnamento Per ciascun corso è necessario tenere traccia dei docenti, che possono essere uno o più, e che sono interni o supplenti esterni; Per ogni docente si tiene traccia dei recapiti telefonici, per poter contattare il docente in caso di problemi relativi agli esami sostenuti Per gli studenti, è necessario tenere traccia del docente relatore della prova finale e dei dati del tirocinio svolto. Gli studenti della laurea triennale possono chiedere un relatore solo se sono iscritti al terzo anno Infine, il sistema deve tenere traccia delle attività di tutorato svolte dagli studenti della laurea sp. nei confronti degli studenti della laurea triennale G. Mecca - mecca@unibas.it - Basi di Dati

Classi “Concetti” della realtà di interesse Istanza di una classe Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Classi “Concetti” della realtà di interesse fatti, persone, cose, con esistenza autonoma esempio: studente, corso, esame, docente Istanza di una classe insieme di oggetti della realtà di interesse Le classi hanno attributi proprietà rilevanti per l’applicazione stereotipo <<id>> per gli identificatori stereotipo: notazione per indicare che un costrutto ha un ruolo ben identificabile G. Mecca - mecca@unibas.it - Basi di Dati

Classi Esempi: nome della classe attributi (proprietà) classe Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Classi Esempi: classe Studente <<id>> matricola cognome nome annoDiCorso nome della classe Corso <<id> codice titolo ciclo Esame voto lode data Docente cognome nome qualifica identificatore (stereotipo) attributi (proprietà) Tirocinio sede dataInizio durata G. Mecca - mecca@unibas.it - Basi di Dati

Classi Istanze delle classi {77777, Bruno Pasquale, 1} {444, Pinco, Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Classi Istanze delle classi {77777, Bruno Pasquale, 1} Studente <<id>> matricola cognome nome annoDiCorso {444, Pinco, Palla, 3} {88888, Pinco, Pietro, 1} G. Mecca - mecca@unibas.it - Basi di Dati

Associazioni Relazione tra classi Istanza di un’associazione Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Associazioni Relazione tra classi legame logico rilevante per l’applicazione es: superamento tra studente ed esame es: titolarità tra docente e corso Istanza di un’associazione insieme di archi tra le istanze delle classi coinvolte G. Mecca - mecca@unibas.it - Basi di Dati

Associazioni Esempi: nome dell’ verso di lettura associazione del nome Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Associazioni nome dell’ associazione verso di lettura del nome Esempi: Studente <<id>> matricola cognome nome annoDiCorso Docente cognome nome qualifica Corso <<id>> codice titolo ciclo < relatore titolarità associazione G. Mecca - mecca@unibas.it - Basi di Dati

Associazioni: Istanze Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Associazioni: Istanze Studenti {77777, Bruno Pasquale, 1} Docenti {Totti, Francesco, ordinario} {111, Rossi, Mario 1} {444, Pinco, Palla, 3} {Vieri, Christian, associato} {Del Piero, Alex} {88888, Pinco, Pietro, 1} G. Mecca - mecca@unibas.it - Basi di Dati

Cardinalità Vincoli sulle associazioni Vincoli sugli attributi Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Cardinalità Vincoli sulle associazioni vincoli sul numero di archi tra gli oggetti Vincoli sugli attributi numero di valori dell’attributo Cardinalità minima normalmente 0 oppure 1 Cardinalità massima normalmente 1 oppure * (n) (ma anche 3 o 5) G. Mecca - mecca@unibas.it - Basi di Dati

Cardinalità Cardinalità di una associazione Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Cardinalità Cardinalità di una associazione espresse per entrambe le classi quattro cardinalità (ma alcune possono essere omesse) Cardinalità di una classe in un’associazione numero di minimo e massimo di oggetti della classe associabili ad un oggetto dell’altra G. Mecca - mecca@unibas.it - Basi di Dati

Cardinalità Esempi: cardinalità minima cardinalità di attributo Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Cardinalità cardinalità minima cardinalità di attributo Esempi: cardinalità massima Studente <<id>> matricola cognome nome annoDiCorso Docente cognome nome qualifica numTelefono Corso <<id>> codice titolo ciclo < relatore titolarità 0..* 0..1 0..* 0..* cardinalità di associazione [0..*] G. Mecca - mecca@unibas.it - Basi di Dati

Cardinalità {Totti, Francesco, ordinario} {77777, Bruno Pasquale, 1} Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Cardinalità {Totti, Francesco, ordinario} {77777, Bruno Pasquale, 1} {444, Pinco, Palla, 3} {88888, Pietro, {Vieri, Christian, associato} Docenti Studenti {111, Rossi, Mario {Del Piero, Alex} cardinalità 0..1 cardinalità 0..* relatore > G. Mecca - mecca@unibas.it - Basi di Dati

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Cardinalità Classificazione delle associazioni rispetto alla cardinalità uno a uno: cardinalità massima 1 da tutte e due le parti uno a molti: cardinalità massima 1 da una parte e * dall’altra molti a molti: cardinalità massima * da tutte e due le parti G. Mecca - mecca@unibas.it - Basi di Dati

Cardinalità associazione uno a uno associazione molti a molti Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Cardinalità associazione uno a uno Tirocinio sede dataInizio durata ha svolto > 1..1 0..1 associazione molti a molti Studente <<id>> matricola cognome nome annoDiCorso Docente cognome nome qualifica numTelefono [0..*] Corso <<id>> codice titolo ciclo < relatore 0..* 0..1 titolarità 0..* associazione uno a molti ha sostenuto > 1..1 0..* relativo a > 0..* 1..1 Esame voto lode data G. Mecca - mecca@unibas.it - Basi di Dati

Generalizzazioni Relazioni tra i concetti rappr. dalle classi Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Generalizzazioni Relazioni tra i concetti rappr. dalle classi superclasse (padre): concetto più generale sottoclasse (figlio): concetto più specifico Implicano la semantica dell’ereditarietà le proprietà e le associazioni del padre sono anche proprietà e associazioni dei figli le istanze dei figli sono anche istanze del padre G. Mecca - mecca@unibas.it - Basi di Dati

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Generalizzazione Docente cognome nome qualifica numTelefono [0..*] Studente <<id>> matricola cognome nome annoDiCorso DocenteInterno facoltà Supplente Studente Laurea Triennale Studente Laurea Specialistica G. Mecca - mecca@unibas.it - Basi di Dati

Generalizzazione: Istanze Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Generalizzazione: Istanze {Totti, Francesco, ordinario} {Vieri, Christian, associato} Docente {Del Piero, Alex} Docente cognome nome qualifica numTelefono [0..*] DocenteInterno {Totti, Francesco, ordinario, ingegneria} DocenteInterno facoltà Supplente Supplente {Vieri, Christian, associato, scienze} {Del Piero, Alex} G. Mecca - mecca@unibas.it - Basi di Dati

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Il Diagramma Completo Il diagramma completo contiene tutti i costrutti visti E’ possibile aggiungere annotazioni utili per commentare i costrutti e per esprimere vincoli altrimenti non esprimibili; es: gli studenti della laurea tr. possono chiedere un relatore solo se sono iscritti al terzo anno G. Mecca - mecca@unibas.it - Basi di Dati

Il Diagramma Completo Esempi: annotazione 0..* 0..1 Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Il Diagramma Completo Esempi: Studente <<id>> matricola cognome nome annoDiCorso Docente cognome nome qualifica < relatore gli studenti della laurea triennale possono avere un relatore solo se al terzo anno 0..* 0..1 annotazione G. Mecca - mecca@unibas.it - Basi di Dati

Un Diagramma con Errori Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Corso <<id>> codice titolo ciclo docente Esame voto lode data 1..* 0..* < relativo a 1..1 0..* ha sostenuto > titolarità relatore solo se al 3 anno 0..* Docente cognome nome qualifica numTelefono [0..*] Studente <<id>> matricola cognome ciclo nome annoDiCorso Tirocinio sede dataInizio durata relatore > 1..1 0..1 1..* 0..1 ha svolto > 1..* DocenteInterno facolta Supplente Studente Laurea Triennale Studente Laurea Specialistica Un Diagramma con Errori < tutor 0..* 1..1 G. Mecca - mecca@unibas.it - Basi di Dati

Diagramma Corretto 0..* 1..1 0..* 0..* 1..1 1..1 0..* 0..1 0..* 0..1 Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Corso <<id>> codice titolo ciclo Esame voto lode data < relativo a 0..* 1..1 0..* relatore solo se al 3 anno 0..* titolarità 1..1 ha sostenuto > Docente cognome nome qualifica numTelefono [0..*] Studente <<id>> matricola cognome nome annoDiCorso Tirocinio sede dataInizio durata relatore > 1..1 0..* 0..1 0..* 0..1 ha svolto > DocenteInterno facolta Supplente Studente Laurea Triennale Studente Laurea Specialistica Diagramma Corretto < tutor 0..* 0..1 G. Mecca - mecca@unibas.it - Basi di Dati

Linee Guida per la Modellazione Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Linee Guida per la Modellazione Punto di partenza requisiti l’attività di modellazione concettuale e l’analisi dei requisiti procedono parallelamente Processo iterativo prototipo del modello approfondimento dei requisiti nuovo prototipo ecc. G. Mecca - mecca@unibas.it - Basi di Dati

Linee Guida per la Modellazione Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Linee Guida per la Modellazione Nel seguito alcune linee guida per la modellazione Suggerimenti sulla metodologia Identificazione dei concetti Classi e attributi Classi descrittive Identificazione delle associazioni Associazioni e chiavi esterne G. Mecca - mecca@unibas.it - Basi di Dati

Metodologia Non esiste una vera metodologia Indicazioni metodologiche Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Metodologia Non esiste una vera metodologia dipende molto dall’esperienza Indicazioni metodologiche strategia “mista” parte dall’alto (“top down”) parte dal basso (“bottom up”) verifiche ripetute di qualità G. Mecca - mecca@unibas.it - Basi di Dati

Metodologia Qualità dello schema concettuale Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Metodologia Qualità dello schema concettuale correttezza: deve rispecchiare correttamente le specifiche (si verifica disegnando le istanze) completezza: deve descrivere tutti gli aspetti delle specifiche leggibilità: deve essere facilmente interpretabile (notazione per i nomi) minimalità: deve evitare ridondanze G. Mecca - mecca@unibas.it - Basi di Dati

Metodologia Per cominciare Schema scheletro complessivo Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Metodologia Per cominciare divisione dei requisiti in sezioni ogni sezione rappresenta la specifica di una parte dell’applicazione Schema scheletro complessivo schema delle classi corrispondenti ai concetti fondamentali (es: docente, studente, esame, corso) G. Mecca - mecca@unibas.it - Basi di Dati

Metodologia Esempio di schema scheletro: Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Metodologia Esempio di schema scheletro: Studente <<id>> matricola Docente Corso Esame voto G. Mecca - mecca@unibas.it - Basi di Dati

Metodologia Approfondimento delle sezioni Integrazione degli schemi Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Metodologia Approfondimento delle sezioni per ciascuna sezione viene prodotto uno schema di dettaglio esempio: gerarchia di docenti esempio: gerarchia di studenti e tutorato esempio: relazione tra studenti ed esami Integrazione degli schemi gli schemi delle sezioni vengono integrati sulla base dello schema scheletro G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione dei Concetti Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione dei Concetti Identificazione dei concetti ci sono alcune categorie tipiche di concetti che è possibile rappresentare con le classi nel seguito viene riportata una lista parziale ATTENZIONE: la lista NON è ESAUSTUVA è opportuno, per ogni classe introdotta, provare a collocarla in una delle categorie elencate o giustificare perché non rientra G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione dei Concetti Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione dei Concetti Oggetti fisici es: libro, aereo Luoghi es: aula, aeroporto Persone o ruoli es: docente, pilota Sistemi es: controllo aereo Organizzazioni es: Ministero, linea aerea Eventi es: esame, acquisto, volo Contenitori es: magazzino, motore Oggetti in contenitori es: merce, carburatore Cataloghi es: registro d’esame, registro di volo Registrazioni es: verb. d’esame, ricevuta Regole di funzionamento es: regole per piani di studio, o regole per i rimborso dei biglietti G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione dei Concetti Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione dei Concetti Classi e attributi in alcuni casi è possibile rappresentare dati sia con una classe che con un attributo Linee guida un attributo dovrebbe essere percepito dal progettista come un numero o una stringa (o altri valori semplici assimilabili) una classe dovrebbe essere percepita come una collezione di oggetti G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione dei Concetti Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione dei Concetti Nel dubbio è preferibile scegliere una classe separata es: città in cui si svolge un tirocinio in fase di progetto queste scelte devono però essere riconsiderate possono introdurre eccessiva frammentazione tra le tabelle e costringere a troppi join (>>) G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione dei Concetti Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione dei Concetti Classi descrittive in alcuni casi è necessario distinguere tra gli oggetti fisici e le loro descrizioni Esempio un sito che vende lettori MP3 ogni lettore “fisico” è un oggetto del magazzino con un numero seriale e una serie di caratteristiche (prezzo, descrizione ecc.) G. Mecca - mecca@unibas.it - Basi di Dati

Classi Descrittive Una possibile descrizione Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Classi Descrittive Magazzino Una possibile descrizione supponiamo che ogni lettore venduto sia cancellato dalla base di dati in questo caso, se i lettori vengono esauriti, si perde traccia del loro prezzo e descrizione LettoreMP3 numeroDiSerie prezzo descrizione SpecificheMP3 prezzo descrizione Magazzino LettoreMP3 numeroDiSerie 0..* 1..1 classe descrittiva G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione delle Associazioni Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione delle Associazioni Associazioni relazioni logiche tra due concetti normalmente molte nella realtà di interesse Criterio fondamentale rappresentare le associazioni che corrispondono ad informazione da preservare nel tempo “relazioni che è necessario conoscere” G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione delle Associazioni Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione delle Associazioni Esempi es: associazione tra studente e tirocinio (sì, per poter ricostruire la carriera dello studente) es: associazione tra docente e corso (sì, perchè è un’informazione rilevante organizzativamente – es: orario, carichi did.) es: personale della segreteria che registra un esame (probabilmente non è necessario tenerne traccia) G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione delle Associazioni Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione delle Associazioni E’ opportuno limitare il numero di associazioni evitando di introdurre associazioni ridondanti es: la relazione tra studente e i corsi superati è ricostruibile con studente-esame-corso attenzione però alla semantica es: la relazione tra studente e i corsi che ha nel piano di studi G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione delle Associazioni Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione delle Associazioni Anche per le associazioni esistono una serie di categorie tipiche di cui viene riportato un elenco NON esaustivo Categorie ad alta priorità A è una parte di B (fisicamente o logicam.) A è contenuto in B (fisicamente o logicam.) G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione delle Associazioni Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione delle Associazioni A è una parte di B es: ala-aereo (fisica) es: tratta-volo (logica) es: dipartimento-università (organizzativa) A è membro di B es: docente-facoltà, pilota-linea aerea A è contenuta in B es: magazz.-merce (fisico) es: volo-orario dei voli (logico) A è registrato in B es: esame-registro, prenotazione-archivio A descrive B es: lettMP3-descrMP3 A gestisce o effettua B es: docente-corso A è evento collegato a B es: partenza-volo, vendita-negozio A possiede B es: passeggero-bagaglio G. Mecca - mecca@unibas.it - Basi di Dati

Identificazione delle Associazioni Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Identificazione delle Associazioni Errore frequente introdurre nelle classi attributi che sono chiavi esterne esempio: matricola dello studente nella classe Esame Esame matricola voto lode data Studente <<id>> matricola cognome nome annoDiCorso Esame voto lode data ha sostenuto > G. Mecca - mecca@unibas.it - Basi di Dati

Concetti Fondamentali Mod. Concettuale >> Sommario Concetti Fondamentali Introduzione Raccolta dei Requisiti Diagramma Concettuale delle Classi Classe Associazione Cardinalità Generalizzazione Linee Guida per la Modellazione G. Mecca - mecca@unibas.it - Basi di Dati

Un Esempio: Il S.I. Universitario Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Un Esempio: Il S.I. Universitario E’ necessario sviluppare un frammento del S.I. utilizzato dalla segreteria studenti per la gestione dei dati dei corsi di laurea in Informatica dell’Università della Basilicata Il sistema deve gestire i dati degli studenti della laurea triennale e specialistica. Per ciascuno studente è necessario gestire i dati relativi agli esami sostenuti Il sistema deve inoltre gestire i dati relativi agli insegnamenti offerti, e i dati relativi agli esami sostenuti per ciascun insegnamento Per ciascun corso è necessario tenere traccia dei docenti, che possono essere uno o più, e che sono interni o supplenti esterni; Per ogni docente si tiene traccia dei recapiti telefonici, per poter contattare il docente in caso di problemi relativi agli esami sostenuti Per gli studenti, è necessario tenere traccia del docente relatore della prova finale e dei dati del tirocinio svolto. Gli studenti della laurea triennale possono chiedere un relatore solo se sono iscritti al terzo anno Infine, il sistema deve tenere traccia delle attività di tutorato svolte dagli studenti della laurea sp. nei confronti degli studenti della laurea triennale G. Mecca - mecca@unibas.it - Basi di Dati

Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - mecca@unibas.it - Basi di Dati