Post on 01-May-2015
transcript
G. Mecca – mecca@unibas.it – Università della BasilicataG. Mecca – mecca@unibas.it – 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)
2G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati
Concetti Fondamentali
IntroduzioneRaccolta dei Requisiti
Diagramma Concettuale delle ClassiClasseAssociazioneCardinalitàGeneralizzazione
Linee Guida per la Modellazione
Mod. Concettuale >> Sommario
3G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
4G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
5G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
6G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
7G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
8G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
9G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
10G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
11G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
12G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
13G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
14G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
15G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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}
16G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
17G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
18G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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}
19G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
20G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
21G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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..*]
22G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 >
23G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
24G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
25G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
26G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
27G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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}
28G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
29G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
30G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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..*
31G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
32G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
33G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
34G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
35G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
36G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
37G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati
Metodologia
Esempio di schema scheletro:
Mod. Concettuale >> Concetti Fondamentali >> Linee Guida
Corso
Studente
<<id>> matricola Docente
Esame
voto
38G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
39G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
40G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
41G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
42G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
43G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
44G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
45G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
46G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
47G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
48G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
49G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
50G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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 >
51G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - Basi di Dati
Concetti Fondamentali
IntroduzioneRaccolta dei Requisiti
Diagramma Concettuale delle ClassiClasseAssociazioneCardinalitàGeneralizzazione
Linee Guida per la Modellazione
Mod. Concettuale >> Sommario
52G. Mecca - mecca@unibas.it - Basi di DatiG. Mecca - mecca@unibas.it - 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
53G. Mecca - mecca@unibas.it - Basi di DatiG. 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.