Sei sulla pagina 1di 85

Atzeni, Ceri, Paraboschi, Torlone

Basi di dati

Progettazione concettuale
Requisiti della base di dati

Progettazione
concettuale
Schema concettuale

Progettazione
logica
Schema logico
Progettazione
fisica
Schema fisico
06/03/2015 R Schettini - progettazione 2
concettuale
06/03/2015 R Schettini - progettazione 3
concettuale
Analisi dei requisiti e progettazione
concettuale ("Analisi dei dati")

• Comprende attività (interconnesse) di


– acquisizione dei requisiti
– analisi dei requisiti
– costruzione dello schema concettuale
– costruzione del glossario

06/03/2015 R Schettini - progettazione 4


concettuale
Requisiti

• Possibili fonti:
– utenti, attraverso:
• interviste
• documentazione apposita
– documentazione esistente:
• normative (leggi, regolamenti di settore)
• regolamenti interni, procedure aziendali
• realizzazioni preesistenti
– modulistica

06/03/2015 R Schettini - progettazione 5


concettuale
Acquisizione e analisi dei requisiti
• Il reperimento dei requisiti è un'attività
difficile e non standardizzabile

• l'attività di analisi inizia con i primi requisiti


raccolti e spesso indirizza verso altre
acquisizioni

06/03/2015 R Schettini - progettazione 6


concettuale
Acquisizione per interviste

– utenti diversi possono fornire informazioni


diverse
– utenti a livello più alto hanno spesso una
visione più ampia ma meno dettagliata
– le interviste portano spesso ad una
acquisizione dei requisiti “per raffinamenti
successivi”

06/03/2015 R Schettini - progettazione 7


concettuale
Interazione con gli utenti

• Spunti:
– effettuare spesso verifiche di
comprensione e coerenza
– verificare anche per mezzo di esempi
(generali e relativi a casi limite)
– richiedere definizioni e classificazioni
– far evidenziare gli aspetti essenziali
rispetto a quelli marginali

06/03/2015 R Schettini - progettazione 8


concettuale
Requisiti: documentazione descrittiva

• Regole generali:
– scegliere il corretto livello di astrazione
– standardizzare la struttura delle frasi
– suddividere le frasi articolate
– separare le frasi sui dati da quelle sulle
funzioni

06/03/2015 R Schettini - progettazione 9


concettuale
Requisiti: organizzazione di termini e
concetti

• Regole generali
– costruire un glossario dei termini
– individuare omonimi e sinonimi e unificare
i termini
– rendere esplicito il riferimento fra termini
– riorganizzare le frasi per concetti

06/03/2015 R Schettini - progettazione 10


concettuale
Esempio di raccolta dei requisiti:
base di dati bibliografica

Si procede per raffinamenti successivi.

Primo raffinamento:

Si vogliono organizzare i dati di interesse per automatizzare


la gestione dei riferimenti bibliografici.

06/03/2015 R Schettini - progettazione 11


concettuale
Raccolta requisiti: base di dati bibliografica (2)

Secondo raffinamento:

Si vogliono organizzare i dati di interesse per automatizzare


la gestione dei riferimenti bibliografici, con tutte le
informazioni da riportarsi in una bibliografia.
Per ogni pubblicazione deve esistere un codice
identificante costituito da sette caratteri, indicanti le
iniziali degli autori, l'anno di pubblicazione e un
carattere aggiuntivo per la discriminazione delle
collisioni.

06/03/2015 R Schettini - progettazione 12


concettuale
Raccolta requisiti: base di dati bibliografica (3)
Terzo raffinamento:
Si vogliono organizzare i dati di interesse per automatizzare
la gestione dei riferimenti bibliografici, con tutte le
informazioni da riportarsi in una bibliografia. Le
pubblicazioni sono di due tipi, monografie (per le quali
interessano editore, data e luogo di pubblicazione) e
articoli su rivista (con nome della rivista, volume,
numero, pagine e anno di pubblicazione); per entrambi i
tipi si debbono ovviamente riportare i nomi degli autori.
Per ogni pubblicazione deve esistere un codice
identificante costituito da sette caratteri, indicanti le
iniziali degli autori, l'anno di pubblicazione e un
carattere aggiuntivo per la discriminazione delle
collisioni.
06/03/2015 R Schettini - progettazione 13
concettuale
Società di formazione [1]
Si vuole realizzare una base di dati per una società che
eroga corsi, di cui vogliamo rappresentare i dati dei
partecipanti ai corsi e dei docenti. Per i partecipanti (circa
5000), identificati da un codice, si vuole memorizzare il
codice fiscale, il cognome, l’età, il sesso, il luogo di nascita,
il nome dei loro attuali datori di lavoro, i posti dove hanno
lavorato in precedenza insieme al periodo, l’indirizzo e il
numero di telefono, i corsi che hanno frequentato (i corsi
sono in tutto circa 200) e il giudizio finale. Rappresentiamo
anche i seminari che stanno attualmente frequentando e,
per ogni giorno, i luoghi e le ore dove sono tenute le lezioni.
I corsi hanno un codice, un titolo e possono avere varie
edizioni con date di inizio e fine e numero di partecipanti.
Se gli studenti sono liberi professionisti, vogliamo
conoscere l’area di interesse e, se lo possiedono, il titolo.
06/03/2015 R Schettini - progettazione 14
concettuale
Società di formazione [2]

Per quelli che lavorano alle dipendenze di altri,


vogliamo conoscere invece il loro livello e la
posizione ricoperta. Per gli insegnanti (circa 300),
rappresentiamo il cognome, l’età e il posto dove
sono nati, il nome del corso che insegnano, quelli
che hanno insegnato nel passato e quelli che
possono insegnare. Rappresentiamo anche tutti i
loro recapiti telefonici. I docenti possono essere
dipendenti interni della società o collaboratori
esterni.

06/03/2015 R Schettini - progettazione 15


concettuale
Scrittura dei requisiti [1]

Scelta del livello di astrazione


– Si devono evitare termini troppo generici o troppo specifici
• liberi professionisti... e, se lo possiedono, il titolo
– Titolo di studio? Titolo professionale?
• Per i partecipanti .... giudizio finale
– Espresso come? Meglio: “votazione in decimi”.
Standardizzare la struttura delle frasi
– E’ preferibile usare sempre lo stesso stile sintattico
• Per <dato> rappresentiamo <lista di proprietà>”
Evitare frasi contorte
• “quelli che lavorano alle dipendenze di altri”→ “lavoratori
dipendenti”

06/03/2015 R Schettini - progettazione 16


concettuale
Scrittura dei requisiti [2]
Individuare sinonimi/omonimi e unificare i termini
– Usare un solo termine al posto dei sinonimi
• Insegnante ..... docente
• Partecipanti <ai corsi> ... studenti
– Usare termini distinti in caso di omonimi
• Posto
– impiego (i posti dove hanno lavorato)
– città (il posto dove sono nati)
• Luogo
– città (il luogo di nascita)
– aula (i luoghi dove sono tenute le lezioni)

06/03/2015 R Schettini - progettazione 17


concettuale
Scrittura dei requisiti [3]

Rendere esplicito il riferimento fra termini


– In assenza di un contesto di riferimento alcuni termini possono
risultare ambigui
– Occorre rappresentare il riferimento fra i termini
• “i posti dove hanno lavorato in precedenza insieme al periodo,
l’indirizzo e il numero di telefono”
– Di chi sono “l’indirizzo e il numero di telefono” ? Dei
partecipanti o dei posti dove hanno lavorato in
precedenza?
• “Per quelli che lavorano alle dipendenze di altri...”
– A chi ci si riferisce? Ai docenti o agli studenti?

06/03/2015 R Schettini - progettazione 18


concettuale
Scrittura dei requisiti [4]
Costruire un glossario dei termini
– Per ogni termine si indica una breve descrizione, i sinonimi, e gli
altri termini con cui esiste un legame logico
– Facilita la comprensione e la precisazione dei termini
Termine Descrizione Sinonimi Collegamenti
Partecipante Persona che Studente Corso,
partecipa ai corsi Società
Docente Docente dei corsi. Insegnante Corso
Può essere esterno
Corso Corso organizzato Seminario Docente
dalla società. Può
avere più edizioni.
Società Ente presso cui i Posti Partecipante
partecipanti lavorano
o hanno lavorato
06/03/2015 R Schettini - progettazione 19
concettuale
Strutturazione dei requisiti [1]
• Si decompone il testo in gruppi di frasi
omogenee
Frasi di carattere generale
Si vuole realizzare una base di dati per una
società che eroga corsi, di cui vogliamo rappresentare i
dati dei partecipanti ai corsi e dei docenti.

Frasi relative ai partecipanti


Per i partecipanti (circa 5000), identificati da un codice,
rappresentiamo il codice fiscale, il cognome, l’età, il sesso, la città di
nascita, il nome dei loro attuali datori di lavoro e di quelli precedenti
(insieme alle date di inizio e di fine del rapporto), le edizioni dei corsi
che stanno attualmente frequentando e quelli che hanno frequentato
nel passato, con la relativa votazione finale in decimi.
06/03/2015 R Schettini - progettazione 20
concettuale
Strutturazione dei requisiti [2]

Frasi relative ai datori di lavoro


Relativamente ai datori di lavoro presenti e passati
dei partecipanti, rappresentiamo il nome, l’indirizzo
e il numero di telefono.

Frasi relative ai corsi


Per i corsi (circa 200), rappresentiamo il codice, il
titolo, le varie edizioni con date di inizio e fine e,
per ogni edizione, rappresentiamo il numero di
partecipanti e il giorno della settimana, le aule e le
ore dove sono tenute le lezioni.
06/03/2015 R Schettini - progettazione 21
concettuale
Strutturazione dei requisiti [3]
Frasi relativi a tipi specifici di partecipanti
Per i partecipanti che sono liberi professionisti,
rappresentiamo l’area di interesse e, se lo possiedono, il
titolo professionale. Per i partecipanti che sono dipendenti,
rappresentiamo invece il loro livello e la posizione ricoperta.

Frasi relative ai docenti


Per i docenti (circa 300), rappresentiamo il cognome, l’età
e la città di nascita, tutti i numeri di telefono, il titolo del
corso che insegnano, di quelli che hanno insegnato nel
passato e di quelli che possono insegnare. I docenti
possono essere dipendenti interni della società di
formazione o collaboratori esterni.

06/03/2015 R Schettini - progettazione 22


concettuale
Specifiche sulle operazioni
• Occorre utilizzare la stessa terminologia
utilizzata per le specifiche dei dati
(glossario)
• Serve anche conoscere la frequenza con la
quale le operazioni sono eseguite
Operazione 1: Inserimento di un partecipante indicando
tutti i suoi dati (40 volte/giorno)
Operazione 2: Assegnazione di un partecipante a una
edizione di un corso (50 volte/giorno)
Operazione 3: Inserimento di un nuovo docente indicando
tutti i suoi dati e i corsi che può insegnare (2
volte/giorno)
06/03/2015 R Schettini - progettazione 23
concettuale
Dalle specifiche al modello ER
• Si utilizzano le definizioni dei costrutti del modello
ER
– Se un concetto ha proprietà significative e descrive
classi di oggetti con esistenza autonoma conviene
rappresentarlo con una entità
• docente
• partecipante
• corso

– Se un concetto ha una struttura semplice e non


possiede proprietà rilevanti associate conviene
rappresentarlo come un attributo di un altro concetto
a cui si riferisce
• Età
• Città di nascita
06/03/2015 R Schettini - progettazione 24
concettuale
Dalle specifiche al modello ER
– Se sono state individuate due o più entità e nei
requisiti compare un concetto che le associa, questo
concetto può essere rappresentato con una relazione
• Partecipanti ↔ corsi = partecipazione a un corso
• Docente ↔ corso = corso insegnato

– Se uno o più concetti risultano essere il caso


particolare di un altro è opportuno rappresentarli
facendo uso della generalizzazione
• Partecipante ← professionista, dipendente
• Docente ← Collaboratore, interno

06/03/2015 R Schettini - progettazione 25


concettuale
IMPORTANZA DEL CONTESTO
– se ha proprietà significative e descrive oggetti
con esistenza autonoma
– entità
– se è semplice e non ha proprietà
– attributo
– se correla due o più concetti
– relazione
– se è caso particolare di un altro
– generalizzazione

06/03/2015 R Schettini - progettazione 26


concettuale
Design pattern

• Soluzioni progettuali a problemi comuni


• Largamente usati nell’ingegneria del
software
• Vediamo alcuni pattern comuni nella
progettazione concettuale di basi di dati

06/03/2015 R Schettini - progettazione 27


concettuale
Reificazione di attributo di entità

Codice Nome Azienda

IMPIEGATO

Codice Nome Nome

(1,1) (1,N)
IMPIEGATO IMPIEGO AZIENDA

Reificazione: il procedimento di creazione di un modello di


dati basato su un concetto astratto predefinito

06/03/2015 R Schettini - progettazione 28


concettuale
Part-of

Nome Numero

(1,N) (1,1)
CINEMA COMPOSIZ. SALA

Nome Codice

(1,N) (0,1)
TEAM COMPOSIZ. TECNICO

06/03/2015 R Schettini - progettazione 29


concettuale
Istance-of

Codice Orario Data

Origine
(1,N) (1,1)
VOLO OCCORRENZ. VOLO
REALE
Destinazione

Nome Anno

(1,N) (1,1)
TORNEO OCCORRENZ. EDIZIONE
TORNEO

06/03/2015 R Schettini - progettazione 30


concettuale
Reificazione di relazione binaria
Matricola Data Codice

(0,N) (0,N)
STUDENTE ESAME CORSO

Voto

Matricola Data Codice

(0,N) (1,1) (1,1) (0,N)


STUDENTE S-E ESAME E-C CORSO

Voto

Matricola Codice Data Codice

(0,N) (1,1) (1,1) (0,N)


STUDENTE S-E ESAME E-C CORSO

06/03/2015 R Schettini - progettazione 31


concettuale
Reificazione di relazione ricorsiva

(1,1) (1,N)
CASA
Data Nome

PARTITA SQUADRA
Risultato Città
(1,1) (1,N)
OSPITE

06/03/2015 R Schettini - progettazione 32


concettuale
Reificazione di attributo di relazione
Codice Nome Strumento Nome Tipologia

(1,N) (1,N)
MUSICISTA PARTECIPAZ. ORCHESTRA

Codice Nome Nome Tipologia

(1,N) (1,1) (1,1) (1,N)

MUSICISTA M-P PARTECIPAZ. P-O ORCHESTRA


(1,1)

P-S
(1,N)

STRUMENTO

06/03/2015 R Schettini - progettazione 33


concettuale
Caso particolare

Codice Nome Nome Scadenza

(0,N) (1,N)

IMPIEGATO PARTECIP. PROGETTO


(1,1)

(1,N)
MANAGER GESTIONE

06/03/2015 R Schettini - progettazione 34


concettuale
Storicizzazione di concetto
P. IVA Nome Indirizzo

Data inizio Telefono


validità
ANAGRAFICO
AZIENDA
Capitale

Data fine
validità
ANAGRAFICO ANAGRAFICO
STORICO CORRENTE

Nome Nome Dimensione

Data S.O.
rilascio
SOFTWARE
Requisiti

Data fine
validità
SOFTWARE SOFTWARE
OBSOLETO AGGIORNATO
06/03/2015 R Schettini - progettazione 35
concettuale
Storicizzazione di concetto
Inizio

(0,1) (1,N)
IMPIEGO
CORRENTE
CF Nome
Inizio
PERSONA AZIENDA
Indirizzo (0,N) (1,N) Città
IMPIEGO
PASSATO

Fine

Inizio

CF Nome
(0,N) (1,1) (1,1) (1,N)

PERSONA IMPIEGO AZIENDA


Città
Indirizzo
(0,1)

IMPIEGO IMPIEGO Fine


CORRENTE PASSATO
06/03/2015 R Schettini - progettazione 36
concettuale
Evoluzione di concetto

Codice Nome Obiettivo Nome CV

(1,N) (1,1)
PROGETTO PARTECIP. RICERCATORE

Finanziamento

PROGETTO
ACCETTATO
Data inizio

06/03/2015 R Schettini - progettazione 37


concettuale
Relazione ternaria

Codice Nome Durata Nome Indirizzo

(1,N) (1,N)
OPERATORE INTERVENTO SEDE
(1,N)

ATTIVITA’

Sigla Descrizion
e

06/03/2015 R Schettini - progettazione 38


concettuale
Reificazione di relazione ternaria

Codice Nome Durata Nome Indirizzo

(1,N) (1,1) (1,1) (1,N)

OPERATORE O-I INTERVENTO I-S SEDE


(1,1)

I-A
(1,N)

ATTIVITA’

Sigla Descrizion
e

06/03/2015 R Schettini - progettazione 39


concettuale
Reificazione di relazione ternaria 2

Sigla Descrizione Durata Nome Indirizzo


Codice Nome

(1,N) (1,1) (1,1) (1,N)

OPERATORE O-S ATTIVITA’ S-I SEDE

06/03/2015 R Schettini - progettazione 40


concettuale
Strategie di progetto

• Come procediamo con tante specifiche


anche dettagliate? Come ci
orizzontiamo?
• Strategie:
– top-down
– bottom-up
– inside-out

06/03/2015 R Schettini - progettazione 41


concettuale
Strategie di progetto
Strategia top-down
Si parte da uno schema iniziale molto astratto ma
completo, che viene successivamente raffinato fino
ad arrivare allo schema finale

Strategia bottom-up
Si suddividono le specifiche in modo da sviluppare
semplici schemi parziali ma dettagliati,
che poi vengono integrati tra loro

Strategia inside-out
Lo schema si sviluppa “a macchia d’olio”, partendo dai
concetti più importanti, aggiungendo quelli ad essi
correlati, e così

06/03/2015 R Schettini - progettazione 42


concettuale
Strategie di progetto

Top-down
+ non è inizialmente necessario specificare i dettagli
- richiede sin dall’inizio una visione globale del problema,
non sempre ottenibile in casi complessi
Bottom-up
+ permette una ripartizione delle attività
- richiede una fase di integrazione
Inside-out
+ non richiede passi di integrazione
- richiede ad ogni passo di esaminare tutte le specifiche
per trovare i concetti non ancora

06/03/2015 R Schettini - progettazione 43


concettuale
Strategia top-down

06/03/2015 R Schettini - progettazione 44


concettuale
Strategia top-down

• Primitive di trasformazione top-down


Operano su un singolo concetto trasformandolo in una
struttura più complessa in grado di descrivere il
concetto di partenza con maggior dettaglio

T1 : Una entità descrive due concetti diversi legati


logicamente fra loro

Corso Tipo di Tipologi Edizione di


corso a corso

codice titolo inizio fine

06/03/2015 R Schettini - progettazione 45


concettuale
Strategia top-down

T2: Una entità è composta da sotto-entità


distinte
Partecipante
Partecipante

Dipendente Professionista

T3: Una relazione in realtà descrive due relazioni


Docenz
diverse fra le stesse entità a
present
Docenz Edizione Edizione
docente docente e
a di corso Docenz di corso
a
passata

06/03/2015 R Schettini - progettazione 46


concettuale
Strategia top-down

T4: Una relazione descrive in realtà un concetto


con esistenza autonoma

studente Esame corso

studente curriculum esame Verbale corso

06/03/2015 R Schettini - progettazione 47


concettuale
Strategia top-down

T5: Si aggiungono attributi ad entità


Codice Fiscale

Cognome
Partecipante Partecipante
Età

Sesso
Città di nascita

T6: Si aggiungono attributi a relazioni


R R

06/03/2015 R Schettini - progettazione 48


concettuale
Strategia bottom-up

specifiche
scomposizione

componente 1 componente n

componente 1,1 componente 1,m componente n,1 componente n,m

Schema 1,1 Schema 1,m Schema n,1 Schema n,m

integrazione
Schema finale

06/03/2015 R Schettini - progettazione 49


concettuale
Trasformazioni bottom-up

• Primitive di trasformazione bottom-up


Introducono nuovi concetti in grado di descrivere
aspetti non ancora rappresentati

T1 : creazione di una entità relativa a una classe di oggetti


con proprietà comuni
Lezione

T2 : individuazione di un legame logico fra due entità


(relazione)
docente
docente Abilitazione Corso
Corso

06/03/2015 R Schettini - progettazione 50


concettuale
Trasformazioni bottom-up

T3 : individuazione di un legame tra diverse entità


riconducibile ad una generalizzazione
Docente
Docente

Interno Collaboratore Interno Collaboratore

T4 : a partire da una serie di attributi si individua un’entità


che aggrega tali attributi
Codice Fiscale
Codice Fiscale
Cognome Cognome
Partecipante
Età Età
Sesso
Città di nascita Sesso
Città di nascita

06/03/2015 R Schettini - progettazione 51


concettuale
Trasformazioni bottom-up

T5 : a partire da una serie di attributi si individua


una relazione che aggrega tali attributi

06/03/2015 R Schettini - progettazione 52


concettuale
Strategia inside-out

(0,1) (1,1)
Direzione
Codice
1 Telefono
Nome 3 (1,N)
(0,1) (1,N)
Cognome Impiegato Afferenza Dipartimento
Età Nome
(0,N) (1,1)
Stipendio Data di afferenza
Partecipazione Composizione

Nome (1,N) Data inizio (1,N)


Fondi Progetto 2 Città Sede 4
(0,1) Via
Data consegna
Numero Indirizzo

CAP

06/03/2015 R Schettini - progettazione 53


concettuale
Strategia ibrida

• Combina i vantaggi delle strategie top-down e bottom-up


– Suddivisione dei requisiti in componenti separate
– Definizione di uno schema scheletro per i concetti principali

• Lo schema scheletro facilita le fasi di integrazione


– Si individuano i concetti più importanti (i più citati o quelli indicati
come cruciali)
– Si organizzano tali concetti in un semplice schema concettuale
– Ci si concentra sugli aspetti essenziali (molti attributi, le
cardinalità delle relazioni, le gerarchie articolate sono rimandate)

• E’ la strategia più flessibile perché permette si


suddividere il problema in sottoproblemi e di procedere
per raffinamenti progressivi

06/03/2015 R Schettini - progettazione 54


concettuale
esempi di progettazione concettuale

• Società di formazione

06/03/2015 R Schettini - progettazione 55


concettuale
06/03/2015 R Schettini - progettazione 56
concettuale
06/03/2015 R Schettini - progettazione 57
concettuale
06/03/2015 R Schettini - progettazione 58
concettuale
06/03/2015 R Schettini - progettazione 59
concettuale
06/03/2015 R Schettini - progettazione 60
concettuale
06/03/2015 R Schettini - progettazione 61
concettuale
06/03/2015 R Schettini - progettazione 62
concettuale
06/03/2015 R Schettini - progettazione 63
concettuale
06/03/2015 R Schettini - progettazione 64
concettuale
06/03/2015 R Schettini - progettazione 65
concettuale
Società di formazione [1]

Si vuole realizzare una base di dati per una società che eroga corsi, di
cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti.
Per i partecipanti (circa 5000), identificati da un codice, si vuole
memorizzare il codice fiscale, il cognome, l’età, il sesso, il luogo di
nascita, il nome dei loro attuali datori di lavoro, i posti dove hanno
lavorato in precedenza insieme al periodo, l’indirizzo e il numero di
telefono, i corsi che hanno frequentato (i corsi sono in tutto circa 200) e
il giudizio finale. Rappresentiamo anche i seminari che stanno
attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono
tenute le lezioni. I corsi hanno un codice, un titolo e possono avere
varie edizioni con date di inizio e fine e numero di partecipanti. Se gli
studenti sono liberi professionisti, vogliamo conoscere l’area di
interesse e, se lo possiedono, il titolo.

06/03/2015 R Schettini - progettazione 66


concettuale
Esempio

• Società di formazione
Frasi di carattere generale
Si vuole realizzare una base di dati per
una società che eroga corsi, di cui
vogliamo rappresentare i dati dei
partecipanti ai corsi e dei docenti.

06/03/2015 R Schettini - progettazione 67


concettuale
Esempio
• Concetti principali per la società di
formazione
– partecipanti
– corsi
– docenti
Partecipante partecipazione Corso Docenza Docente

Schema scheletro

06/03/2015 R Schettini - progettazione 68


concettuale
Frasi relative ai partecipanti
Per i partecipanti (circa 5000), identificati da
un codice, rappresentiamo il codice fiscale,
il cognome, l'età, il sesso, la città di nascita,
i nomi dei loro attuali datori di lavoro e di
quelli precedenti (insieme alle date di inizio
e fine rapporto), le edizioni dei corsi che
stanno attualmente frequentando e quelli
che hanno frequentato nel passato, con la
relativa votazione finale in decimi.

06/03/2015 R Schettini - progettazione 69


concettuale
Frasi relative ai datori di lavoro
Relativamente ai datori di lavoro presenti e
passati dei partecipanti, rappresentiamo il
nome, l'indirizzo e il numero di telefono.

Frasi relative a tipi specifici di partecipanti


Per i partecipanti che sono liberi
professionisti, rappresentiamo l'area di
interesse e, se lo possiedono, il titolo
professionale. Per i partecipanti che sono
dipendenti, rappresentiamo invece il loro
livello e la posizione ricoperta.

06/03/2015 R Schettini - progettazione 70


concettuale
Esempio [2]

• Specifiche riguardanti i partecipanti

Partecipante
Partecipante

Dipendente Professionista

• Rappresentazione degli impieghi dei partecipanti


Datore

06/03/2015 R Schettini - progettazione 71


concettuale
Esempio [3]

• Relazione fra partecipanti e datori di lavoro

Datore

Impiego

Partecipante

Dipendente Professionista

06/03/2015 R Schettini - progettazione 72


concettuale
Esempio [4]

• Specializzazione della relazione fra


partecipanti e datori di lavoro

Datore
Datore

Impiego Impiego Impiego


corrente passato

Partecipante
Partecipante

Dipendente Professionista
Dipendente Professionista

06/03/2015 R Schettini - progettazione 73


concettuale
Esempio [5]

• Inserimento degli attributi su entità e relazioni e


delle cardinalità
Indirizzo Nome Telefono

(0,N)
Datore
Data inizio
Data fine (0,N)
Data inizio
Impiego Impiego
corrente passato
CF Età
(1,1)
(0,N) Sesso
Città di nascita
Partecipante Codice
Cognome

Dipendente Professionista
(0,1)

Livello Area Titolo professionale


Posizione

06/03/2015 R Schettini - progettazione 74


concettuale
Frasi relative ai docenti
Per i docenti (circa 300), rappresentiamo il
cognome, l'età, la città di nascita, tutti i
numeri di telefono, il titolo del corso che
insegnano, di quelli che hanno insegnato
nel passato e di quelli che possono
insegnare. I docenti possono essere
dipendenti interni della società di
formazione o collaboratori esterni.

06/03/2015 R Schettini - progettazione 75


concettuale
Esempio [6]

• Specifiche riguardanti i docenti


Docente
Docente
Interno Collaboratore

• Introduzione degli attributi del docente (si


aggiunge CF come identificatore)
Cognome CF Età Telefono Città di nascita
(1,N)

Docente

Interno Collaboratore

06/03/2015 R Schettini - progettazione 76


concettuale
Esempio [7]

• L’attributo telefono è multivalore e può (deve)


essere trasformato in una relazione

Cognome CF Età Città di nascita

(1,N) (1,N)
Docente recapito Telefono

Interno Collaboratore

06/03/2015 R Schettini - progettazione 77


concettuale
Frasi relative ai corsi
Per i corsi (circa 200), rappresentiamo il titolo
e il codice, le varie edizioni con date di inizio e
fine e, per ogni edizione, rappresentiamo il
numero di partecipanti e il giorno della
settimana, le aule e le ore dove sono tenute le
lezioni.

06/03/2015 R Schettini - progettazione 78


concettuale
Esempio [8]
• Specifiche riguardanti i corsi (si distingue fra
corso in senso astratto e edizione di un corso)
Corso Tipologi Edizione
Corso
a corso

titolo inizio fine numero


codice
di partecipanti

• Rappresentazione delle lezioni che compongono


una edizione del corso
(0,N) (1,1) Edizione (1,N) (1,1)
Corso Tipologia Composizione Lezione
corso

codice titolo numero orario aula giorno


inizio fine
di partecipanti

06/03/2015 R Schettini - progettazione 79


concettuale
Esempio [9]
• Si aggregano le sottoparti utilizzando lo schema
scheletro
• Si specificano meglio le relazioni fra le sottoparti
Partecipante partecipazione Corso Docenza Docente

(1,N) (1,N)
abilitazione
(0,N) (0,N)
partecipazione
(0,1) Docenza (0,N)
passata
passata

partecipazione Docenza
Partecipante Corso Docente
presente corrente
(0,1) (0,1) (0,1)
(0,N)

06/03/2015 R Schettini - progettazione 80


concettuale
Esempio [10]
orario aula giorno

Indirizzo Nome Lezione


Telefono
(1,1)
(0,N)
Datore Votazione
Data inizio Composizione
Data fine (0,N) Data inizio (0,N)
(1,N) Docenza
Partecipazione (0,1) passata
Impiego Impiego Passata
corrente passato
(0,N) Edizione
(0,N) di corso (0,1) Docenza (0,1)
CF
Cognome
Città di nascita
Città di nascita (0,N) corrente
(0,N) Partecipazione
Codice Corrente
(1,1) (1,1) inizio fine numero Telefono
Sesso di partecipanti
Cognome Partecipante (0,1) Docente (1,N)
Tipologia
CF (1,N) Età
(1,N)
Età (0,N) abilitazione

Dipendente Professionista Corso Interno Collaboratore


(0,1)

Posizione Livello Area Titolo professionale codice titolo

06/03/2015 R Schettini - progettazione 81


concettuale
Qualità di uno schema concettuale
Correttezza
– Uso corretto dei costrutti (sintassi e semantica)
Completezza
– Tutti i dati sono rappresentati
– Tutte le operazioni possono essere eseguite (tutti i dati previsti
da un’operazione sono raggiungibili navigando il diagramma
ER)
Leggibilità
– Lo schema deve essere il più possibile autoesplicativo (nomi,
layout dello schema)
Minimalità
– Lo schema non contiene ridondanze (concetti che possono
essere derivati da altri)

06/03/2015 R Schettini - progettazione 82


concettuale
Una metodologia
• Analisi dei requisiti
– Analizzare i requisiti ed eliminare le ambiguità
– Costruire un glossario dei termini
– Raggruppare i requisiti in insiemi omogenei
• Passo base
– Definire uno schema scheletro con i concetti più rilevanti
• Passo iterativo
(da ripetere finché non si è soddisfatti)
– Raffinare i concetti presenti sulla base delle loro specifiche
– Aggiungere concetti per descrivere specifiche non descritte
• Analisi di qualità
(ripetuta e distribuita)
– Verificare le qualità dello schema e modificarlo

06/03/2015 R Schettini - progettazione 83


concettuale
Una metodologia con integrazione

• Analisi dei requisiti


• Passo base
• Decomposizione
– decomporre i requisiti con riferimento ai concetti nello schema
scheletro
• Passo iterativo, per ogni sottoschema
• Integrazione
– integrare i vari sottoschemi in uno schema complessivo,
facendo riferimento allo schema scheletro
• Analisi di qualità

06/03/2015 R Schettini - progettazione 84


concettuale
Un'altra metodologia con integrazione
• Analisi dei requisiti
• Decomposizione dei requisiti
– individuazione di settori di interesse e suddivisione dei requisiti
(o addirittura acquisizione separata)
• Per ciascun settore
– Passo base
– Passo iterativo
• Integrazione
• Analisi di qualità

•Esercizio chiesto nell’esame feb 2011

06/03/2015 R Schettini - progettazione 85


concettuale

Potrebbero piacerti anche