La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

G. Mecca – – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

Presentazioni simili


Presentazione sul tema: "G. Mecca – – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è"— Transcript della presentazione:

1 G. Mecca – – Università della Basilicata 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)

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

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

4 4 G. Mecca - - Basi di Dati Introduzione m Il punto di partenza la raccolta dei requisiti m 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 lapplicazione si riferisce Mod. Concettuale >> Concetti Fondamentali >> Introduzione

5 5 G. Mecca - - Basi di Dati Raccolta dei Requisiti m Fonti per la raccolta utenti dellapplicazione, attraverso interviste e questionari documentazione esistente (leggi e normative, regolamenti interni) modulistica usata dallorganizzazione m Il problema delle fonti fonti diverse possono fornire informazioni contrastanti Mod. Concettuale >> Concetti Fondamentali >> Introduzione

6 6 G. Mecca - - Basi di Dati Raccolta dei Requisiti m Attenzione è unattività difficile e poco standardizzabile m Suggerimenti effettuare iterazioni ripetute con gli utenti tenere presente la prospettiva dellutente sullapplicazione accertarsi di adottare un linguaggio comune identificare i casi duso e discuterne le attività in dettaglio, individuando le priorità Mod. Concettuale >> Concetti Fondamentali >> Introduzione

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

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

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

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

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

12 12 G. Mecca - - Basi di Dati Un Esempio: Il S.I. Universitario m E necessario sviluppare un frammento del S.I. utilizzato dalla segreteria studenti per la gestione dei dati dei corsi di laurea in Informatica dellUniversità della Basilicata m Il sistema deve gestire i dati degli studenti della laurea triennale e specialistica. Per ciascuno studente è necessario gestire i dati relativi agli esami sostenuti m Il sistema deve inoltre gestire i dati relativi agli insegnamenti offerti, e i dati relativi agli esami sostenuti per ciascun insegnamento m Per ciascun corso è necessario tenere traccia dei docenti, che possono essere uno o più, e che sono interni o supplenti esterni; m Per ogni docente si tiene traccia dei recapiti telefonici, per poter contattare il docente in caso di problemi relativi agli esami sostenuti m 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 m Infine, il sistema deve tenere traccia delle attività di tutorato svolte dagli studenti della laurea sp. nei confronti degli studenti della laurea triennale Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

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

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

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

16 16 G. Mecca - - Basi di Dati Associazioni m Relazione tra classi legame logico rilevante per lapplicazione es: superamento tra studente ed esame es: titolarità tra docente e corso m Istanza di unassociazione insieme di archi tra le istanze delle classi coinvolte Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

17 17 G. Mecca - - Basi di Dati Associazioni m Esempi: Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Corso > codice titolo ciclo Studente > matricola cognome nome annoDiCorso Docente cognome nome qualifica < relatoretitolarità nome dell associazione verso di lettura del nome

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

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

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

21 21 G. Mecca - - Basi di Dati Cardinalità m Esempi: Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Corso > codice titolo ciclo Studente > matricola cognome nome annoDiCorso Docente cognome nome qualifica numTelefono < relatoretitolarità cardinalità di associazione cardinalità minima 0..* * cardinalità massima cardinalità di attributo [0..*]

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

23 23 G. Mecca - - Basi di Dati Cardinalità m 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 * dallaltra molti a molti: cardinalità massima * da tutte e due le parti Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

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

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

26 26 G. Mecca - - Basi di Dati Generalizzazione Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi Studente > matricola cognome nome annoDiCorso Docente cognome nome qualifica numTelefono [0..*] DocenteInterno facoltà SupplenteStudente Laurea Triennale Studente Laurea Specialistica

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

28 28 G. Mecca - - Basi di Dati Il Diagramma Completo m Il diagramma completo contiene tutti i costrutti visti m 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 Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

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

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

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

32 32 G. Mecca - - Basi di Dati Linee Guida per la Modellazione m Punto di partenza requisiti lattività di modellazione concettuale e lanalisi dei requisiti procedono parallelamente m Processo iterativo prototipo del modello approfondimento dei requisiti nuovo prototipo ecc. Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

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

34 34 G. Mecca - - Basi di Dati Metodologia m Non esiste una vera metodologia dipende molto dallesperienza m Indicazioni metodologiche strategia mista parte dallalto (top down) parte dal basso (bottom up) verifiche ripetute di qualità Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

35 35 G. Mecca - - Basi di Dati Metodologia m 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 Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

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

37 37 G. Mecca - - Basi di Dati Metodologia m Esempio di schema scheletro: Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Corso Studente > matricola Docente Esame voto

38 38 G. Mecca - - Basi di Dati Metodologia m 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 m Integrazione degli schemi gli schemi delle sezioni vengono integrati sulla base dello schema scheletro Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

39 39 G. Mecca - - Basi di Dati Identificazione dei Concetti m 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 Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

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

41 41 G. Mecca - - Basi di Dati Identificazione dei Concetti m Classi e attributi in alcuni casi è possibile rappresentare dati sia con una classe che con un attributo m 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 Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

42 42 G. Mecca - - Basi di Dati Identificazione dei Concetti m 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 (>>) Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

43 43 G. Mecca - - Basi di Dati Identificazione dei Concetti m Classi descrittive in alcuni casi è necessario distinguere tra gli oggetti fisici e le loro descrizioni m 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.) Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

44 44 G. Mecca - - Basi di Dati Classi Descrittive m 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 Mod. Concettuale >> Concetti Fondamentali >> Linee Guida Magazzino LettoreMP3 numeroDiSerie prezzo descrizione Magazzino LettoreMP3 numeroDiSerie SpecificheMP3 prezzo descrizione classe descrittiva 0..* 1..1

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

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

47 47 G. Mecca - - Basi di Dati Identificazione delle Associazioni m 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 Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

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

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

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

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

52 52 G. Mecca - - Basi di Dati Un Esempio: Il S.I. Universitario m E necessario sviluppare un frammento del S.I. utilizzato dalla segreteria studenti per la gestione dei dati dei corsi di laurea in Informatica dellUniversità della Basilicata m Il sistema deve gestire i dati degli studenti della laurea triennale e specialistica. Per ciascuno studente è necessario gestire i dati relativi agli esami sostenuti m Il sistema deve inoltre gestire i dati relativi agli insegnamenti offerti, e i dati relativi agli esami sostenuti per ciascun insegnamento m Per ciascun corso è necessario tenere traccia dei docenti, che possono essere uno o più, e che sono interni o supplenti esterni; m Per ogni docente si tiene traccia dei recapiti telefonici, per poter contattare il docente in caso di problemi relativi agli esami sostenuti m 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 m Infine, il sistema deve tenere traccia delle attività di tutorato svolte dagli studenti della laurea sp. nei confronti degli studenti della laurea triennale Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

53 53 G. Mecca - - Basi di Dati Termini della Licenza m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. m Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera allindirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Scaricare ppt "G. Mecca – – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è"

Presentazioni simili


Annunci Google