G. Mecca – [email protected] – Università della Basilicata Basi di Dati Modello Concettuale dei...

53
G. Mecca – [email protected] – Università della G. Mecca – [email protected] – Università della Basilicata 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)

Transcript of G. Mecca – [email protected] – Università della Basilicata Basi di Dati Modello Concettuale dei...

Page 1: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

G. Mecca – [email protected] – Università della BasilicataG. Mecca – [email protected] – 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)

Page 2: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

2G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Concetti Fondamentali

IntroduzioneRaccolta dei Requisiti

Diagramma Concettuale delle ClassiClasseAssociazioneCardinalitàGeneralizzazione

Linee Guida per la Modellazione

Mod. Concettuale >> Sommario

Page 3: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

3G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Introduzione

Modellazione concettualeattività svolta durante l’analisi

Obiettivodefinire il modello concettuale dei dati

Funzioni nel processo di sviluppoanalizzare le relazioni tra i datidefinire il nucleo delle classi (componenti) guidare la progettazione della base di dati

Mod. Concettuale >> Concetti Fondamentali >> Introduzione

Page 4: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

4G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Introduzione

Il punto di partenzala raccolta dei requisiti

Raccolta dei Requisitii requisiti iniziali sono normalmente imprecisiè necessario precisarli e approfondirliin sintesi, si tratta di comprendere come

funziona la realtà a cui l’applicazione si riferisce

Mod. Concettuale >> Concetti Fondamentali >> Introduzione

Page 5: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

5G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Raccolta dei Requisiti

Fonti per la raccoltautenti dell’applicazione, attraverso interviste

e questionaridocumentazione esistente (leggi e

normative, regolamenti interni)modulistica usata dall’organizzazione

Il problema delle fontifonti diverse possono fornire informazioni

contrastanti

Mod. Concettuale >> Concetti Fondamentali >> Introduzione

Page 6: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

6G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Raccolta dei Requisiti

Attenzioneè un’attività difficile e poco standardizzabile

Suggerimentieffettuare iterazioni ripetute con gli utentitenere presente la prospettiva dell’utente

sull’applicazioneaccertarsi di adottare un linguaggio comuneidentificare i casi d’uso e discuterne le

attività in dettaglio, individuando le priorità

Mod. Concettuale >> Concetti Fondamentali >> Introduzione

Page 7: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

7G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Raccolta dei Requisiti

Caso fortunatogli utenti conoscono UMLè possibile basare la comunicazione sugli

schemi concettuali intermedi Al termine del processo i requisiti sono

descritti daun documento di sintesilo schema concettuale prodotto

Mod. Concettuale >> Concetti Fondamentali >> Introduzione

Page 8: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

8G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Il Diagramma delle Classi di UML

Nel nostro approcciodiagramma delle classi di UMLci sono altri approcci molto simili; esempio:

modello Entità-Relazione (ER) >> Modello concettuale

classi con attributiassociazionicardinalitàgeneralizzazioni

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 9: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

9G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Il Diagramma delle Classi di UML

Il termine classe nella terminologia UMLviene utilizzato con significati diversi

A livello concettualeclasse 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

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 10: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

10G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Il Diagramma delle Classi di UML

In questa lezionesiamo in fase di analisinon bisogna commettere l’errore di

fraintendere gli obiettivi del modello Obiettivi del modello concettuale

descrivere i concetti della realtà di interessenon componenti software dell’applicazione

(nè tabelle, nè classi del linguaggio di prog.)

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 11: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

11G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Il Diagramma delle Classi di UML

Errori tipicidescrivere i dettagli delle tabelledescrivere i metodi delle classi

Livello di astrazione opportunonon è necessario che nel modello

concettuale ci siano tutti gli attributinon è normalmente rilevante il tipo degli

attributi

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 12: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

12G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

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

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 13: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

13G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

“Concetti” della realtà di interessefatti, persone, cose, con esistenza autonomaesempio: studente, corso, esame, docente

Istanza di una classeinsieme di oggetti della realtà di interesse

Le classi hanno attributiproprietà rilevanti per l’applicazionestereotipo <<id>> per gli identificatoristereotipo: notazione per indicare che un costrutto

ha un ruolo ben identificabile

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 14: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

14G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Esempi:

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Corso

<<id> codice

titolo

ciclo

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Esame

voto

lode

data

Docente

cognome

nome

qualifica

classe

attributi (proprietà)

nome della classe

identificatore (stereotipo)

Tirocinio

sede

dataInizio

durata

Page 15: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

15G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Istanze delle classi

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

{77777,BrunoPasquale,1}

{444,Pinco,Palla,3} {88888,

Pinco,Pietro,1}

Page 16: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

16G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni

Relazione tra classilegame logico rilevante per l’applicazionees: superamento tra studente ed esamees: titolarità tra docente e corso

Istanza di un’associazioneinsieme di archi tra le istanze delle classi

coinvolte

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 17: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

17G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni

Esempi:

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Corso

<<id>> codice

titolo

ciclo

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

< relatore titolarità

nome dell’associazione

associazione

verso di letturadel nome

Page 18: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

18G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni: Istanze

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

{Totti,Francesco,ordinario}

{77777,BrunoPasquale,1}

{444,Pinco,Palla,3}

{88888,Pinco,Pietro,1}

{Vieri,Christian,associato}

Docenti

Studenti

{111,Rossi,Mario1}

{Del Piero,Alex}

Page 19: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

19G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Vincoli sulle associazionivincoli sul numero di archi tra gli oggetti

Vincoli sugli attributinumero di valori dell’attributo

Cardinalità minimanormalmente 0 oppure 1

Cardinalità massimanormalmente 1 oppure * (n) (ma anche 3 o

5)

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 20: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

20G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Cardinalità di una associazioneespresse per entrambe le classiquattro cardinalità (ma alcune possono

essere omesse) Cardinalità di una classe in

un’associazionenumero di minimo e massimo di oggetti della

classe associabili ad un oggetto dell’altra

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 21: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

21G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Esempi:

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Corso

<<id>> codice

titolo

ciclo

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

numTelefono

< relatore titolarità

cardinalitàdi associazione

cardinalitàminima

0..* 0..1 0..* 0..*

cardinalitàmassima

cardinalitàdi attributo

[0..*]

Page 22: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

22G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

cardinalità0..*

cardinalità0..1

{Totti,Francesco,ordinario}

{77777,BrunoPasquale,1}

{444,Pinco,Palla,3}

{88888,Pinco,Pietro,1}

{Vieri,Christian,associato}

Docenti

Studenti

{111,Rossi,Mario1}

{Del Piero,Alex}

relatore >

Page 23: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

23G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Classificazione delle associazioni rispetto alla cardinalitàuno a uno: cardinalità massima 1 da tutte e

due le partiuno a molti: cardinalità massima 1 da una

parte e * dall’altramolti a molti: cardinalità massima * da tutte e

due le parti

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 24: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

24G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Tirocinio

sede

dataInizio

durata

Cardinalità

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Corso

<<id>> codice

titolo

ciclo

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

numTelefono [0..*]

< relatore

0..* 0..1

titolarità

0..* 0..*

Esame

voto

lode

data

ha sostenuto >

1..1

0..*

relativo a >

0..*

1..1

associazione uno a molti

ha svolto >

1..1

0..1

associazione uno a uno

associazione molti a molti

Page 25: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

25G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Generalizzazioni

Relazioni tra i concetti rappr. dalle classisuperclasse (padre): concetto più generalesottoclasse (figlio): concetto più specifico

Implicano la semantica dell’ereditarietàle proprietà e le associazioni del padre sono

anche proprietà e associazioni dei figlile istanze dei figli sono anche istanze del

padre

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 26: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

26G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Generalizzazione

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

numTelefono [0..*]

DocenteInterno

facoltà

Supplente Studente

Laurea

Triennale

Studente

Laurea

Specialistica

Page 27: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

27G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - 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}

DocenteInternoSupplente

{Del Piero,Alex}

Page 28: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

28G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Il Diagramma Completo

Il diagramma completo contiene tutti i costrutti visti

E’ possibile aggiungere annotazioniutili per commentare i costruttie 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

Page 29: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

29G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Il Diagramma Completo

Esempi:

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

< relatore

annotazione

0..* 0..1

gli studenti della laureatriennale possono avere

un relatore solose al terzo anno

Page 30: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

30G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Studente

<<id>> matricola

cognome

ciclo

nome

annoDiCorso

Docente

cognome

nome

qualifica

numTelefono [0..*]

DocenteInterno

facolta

Supplente Studente

Laurea

Triennale

Studente

Laurea

Specialistica

1..10..* < tutor

relatore >

Corso

<<id>> 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 >

1..1

0..1

relatore solose al 3 anno

1..*

Page 31: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

31G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

numTelefono [0..*]

DocenteInterno

facolta

Supplente Studente

Laurea

Triennale

Studente

Laurea

Specialistica

0..* 0..1 < tutor

relatore >

0..*0..1

Corso

<<id>> codice

titolo

ciclo

titolarità

0..*

0..*

Esame

voto

lode

data

ha sostenuto >1..10..*

< relativo a

0..*1..1

Diagramma Corretto

Tirocinio

sede

dataInizio

durata

ha svolto >

1..1

0..1

relatore solose al 3 anno

Page 32: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

32G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Linee Guida per la Modellazione

Punto di partenzarequisitil’attività di modellazione concettuale e

l’analisi dei requisiti procedono parallelamente

Processo iterativoprototipo del modelloapprofondimento dei requisitinuovo prototipo ecc.

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 33: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

33G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Linee Guida per la Modellazione

Nel seguitoalcune linee guida per la modellazione

Suggerimenti sulla metodologia Identificazione dei concetti

Classi e attributiClassi descrittive

Identificazione delle associazioniAssociazioni e chiavi esterne

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 34: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

34G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Metodologia

Non esiste una vera metodologiadipende molto dall’esperienza

Indicazioni metodologichestrategia “mista”parte dall’alto (“top down”)parte dal basso (“bottom up”)verifiche ripetute di qualità

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 35: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

35G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Metodologia

Qualità dello schema concettualecorrettezza: 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

Page 36: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

36G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Metodologia

Per cominciaredivisione dei requisiti in sezioniogni sezione rappresenta la specifica di una

parte dell’applicazione Schema scheletro complessivo

schema delle classi corrispondenti ai concetti fondamentali (es: docente, studente, esame, corso)

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 37: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

37G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Metodologia

Esempio di schema scheletro:

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Corso

Studente

<<id>> matricola Docente

Esame

voto

Page 38: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

38G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Metodologia

Approfondimento delle sezioniper ciascuna sezione viene prodotto uno

schema di dettaglioesempio: gerarchia di docentiesempio: gerarchia di studenti e tutoratoesempio: relazione tra studenti ed esami

Integrazione degli schemigli schemi delle sezioni vengono integrati

sulla base dello schema scheletro

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 39: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

39G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione dei Concetti

Identificazione dei concettici sono alcune categorie tipiche di concetti

che è possibile rappresentare con le classinel seguito viene riportata una lista parzialeATTENZIONE: 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

Page 40: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

40G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione dei Concetti

Oggetti fisicies: libro, aereo

Luoghies: aula, aeroporto

Persone o ruolies: docente, pilota

Sistemies: controllo aereo

Organizzazionies: Ministero, linea aerea

Eventies: esame, acquisto, volo

Contenitories: magazzino, motore

Oggetti in contenitories: merce, carburatore

Cataloghies: 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

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 41: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

41G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione dei Concetti

Classi e attributiin 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

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 42: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

42G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione dei Concetti

Nel dubbioè preferibile scegliere una classe separata

es: città in cui si svolge un tirocinioin fase di progetto queste scelte devono però

essere riconsideratepossono introdurre eccessiva

frammentazione tra le tabelle e costringere a troppi join (>>)

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 43: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

43G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione dei Concetti

Classi descrittivein alcuni casi è necessario distinguere tra gli

oggetti fisici e le loro descrizioni Esempio

un sito che vende lettori MP3ogni lettore “fisico” è un oggetto del

magazzino con un numero serialee una serie di caratteristiche (prezzo,

descrizione ecc.)

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 44: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

44G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi Descrittive

Una possibile descrizionesupponiamo che ogni lettore

venduto sia cancellato dallabase 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

Page 45: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

45G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione delle Associazioni

Associazionirelazioni logiche tra due concettinormalmente molte nella realtà di interesse

Criterio fondamentalerappresentare le associazioni che

corrispondono ad informazione da preservare nel tempo

“relazioni che è necessario conoscere”

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 46: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

46G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione delle Associazioni

Esempies: 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)

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 47: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

47G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione delle Associazioni

E’ opportunolimitare il numero di associazionievitando di introdurre associazioni ridondanties: la relazione tra studente e i corsi superati

è ricostruibile con studente-esame-corsoattenzione però alla semanticaes: la relazione tra studente e i corsi che ha

nel piano di studi

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 48: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

48G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione delle Associazioni

Anche per le associazioniesistono una serie di categorie tipichedi 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.)

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 49: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

49G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione delle Associazioni

A è una parte di Bes: ala-aereo (fisica)es: tratta-volo (logica)es: dipartimento-università

(organizzativa) A è membro di B

es: docente-facoltà, pilota-linea aerea

A è contenuta in Bes: magazz.-merce (fisico)es: volo-orario dei voli

(logico)

A è registrato in Bes: 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 Bes: passeggero-bagaglio

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Page 50: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

50G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Identificazione delle Associazioni

Errore frequenteintrodurre nelle classi attributi che sono

chiavi esterneesempio: matricola dello studente nella

classe Esame

Mod. Concettuale >> Concetti Fondamentali >> Linee Guida

Esame

matricola

voto

lode

data

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Esame

voto

lode

data

ha sostenuto >

Page 51: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

51G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Concetti Fondamentali

IntroduzioneRaccolta dei Requisiti

Diagramma Concettuale delle ClassiClasseAssociazioneCardinalitàGeneralizzazione

Linee Guida per la Modellazione

Mod. Concettuale >> Sommario

Page 52: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

52G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

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

Mod. Concettuale >> Concetti Fondamentali >> Il Diagramma delle Classi

Page 53: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale dei Dati: Concetti Fondamentali versione 2.0 Questo lavoro è

53G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - 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.