Progettazione concettuale
Requisiti della base di dati
Progettazione
concettuale
Schema concettuale
Progettazione
logica
Schema logico
Progettazione
fisica
Schema fisico
Progettazione ER
21 December, 2015 - slide 2
Analisi dei requisiti e progettazione
concettuale ("Analisi dei dati")
Comprende attività (interconnesse) di




Progettazione ER
acquisizione dei requisiti
analisi dei requisiti
costruzione dello schema concettuale
costruzione del glossario
21 December, 2015 - slide 3
Requisiti
Possibili fonti:

utenti, attraverso:
 interviste
 documentazione apposita

documentazione esistente:
 normative (leggi, regolamenti di settore)
 regolamenti interni, procedure aziendali
 realizzazioni preesistenti

Progettazione ER
modulistica
21 December, 2015 - slide 4
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
Progettazione ER
21 December, 2015 - slide 5
Acquisizione per interviste



Progettazione ER
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”
21 December, 2015 - slide 6
Interazione con gli utenti
Spunti:




Progettazione ER
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
21 December, 2015 - slide 7
Requisiti: documentazione descrittiva
Regole generali:




Progettazione ER
scegliere il corretto livello di astrazione
standardizzare la struttura delle frasi
suddividere le frasi articolate
separare le frasi sui dati da quelle sulle funzioni
21 December, 2015 - slide 8
Requisiti: organizzazione di termini e
concetti
Regole generali




Progettazione ER
costruire un glossario dei termini
individuare omonimi e sinonimi e unificare i termini
rendere esplicito il riferimento fra termini
riorganizzare le frasi per concetti
21 December, 2015 - slide 9
Requisiti, un esempio
Base di dati bibliografica
Si vogliono organizzare i dati di interesse
per automatizzare la gestione dei
riferimenti bibliografici
Progettazione ER
21 December, 2015 - slide 10
Base di dati bibliografica
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.
Progettazione ER
21 December, 2015 - slide 11
Base di dati bibliografica
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 .....
Progettazione ER
21 December, 2015 - slide 12
Un esempio più articolato
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 gli studenti (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.
Progettazione ER
21 December, 2015 - slide 13
Società di formazione (2)
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. Per quelli
che lavorano alle dipendenze di altri, vogliamo
conoscere invece il loro livello e la posizione
ricoperta.
Progettazione ER
21 December, 2015 - slide 14
Società di formazione (3)
Per gli insegnanti (circa 300), rappresentiamo il
cognome, l'età, 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.
Progettazione ER
21 December, 2015 - slide 15
Glossario dei termini
Termine
Descrizione
Partecipante Persona che
partecipa ai corsi
Docente
Corso
Società
Progettazione ER
Sinonimi
Studente
Collegamenti
Corso,
Società
Insegnante Corso
Docente dei corsi.
Può essere esterno
Corso organizzato
Seminario
dalla società. Può
avere più edizioni.
Ente presso cui i
Posti
partecipanti lavorano
o hanno lavorato
Docente
Partecipante
21 December, 2015 - slide 16
Strutturazione dei requisiti
in gruppi di frasi omogenee
Progettazione ER
21 December, 2015 - slide 17
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.
Progettazione ER
21 December, 2015 - slide 18
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.
Progettazione ER
21 December, 2015 - slide 19
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 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.
Progettazione ER
21 December, 2015 - slide 20
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.
Progettazione ER
21 December, 2015 - slide 21
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.
Progettazione ER
21 December, 2015 - slide 22
Quale costrutto E-R va utilizzato per
rappresentare un concetto presente nelle
specifiche?
Bisogna basarsi sulle definizioni dei costrutti del
modello E-R
Progettazione ER
21 December, 2015 - slide 23

se ha proprietà significative e descrive oggetti con esistenza
autonoma


se è semplice e non ha proprietà


relazione
se è caso particolare di un altro

Progettazione ER
attributo
se correla due o più concetti


entità
generalizzazione
21 December, 2015 - slide 24
Design pattern
Soluzioni progettuali a problemi comuni
Largamente usati nell’ingegneria del software
Vediamo alcuni pattern comuni nella progettazione
concettuale di basi di dati
Progettazione ER
21 December, 2015 - slide 25
Reificazione di attributo di entità
Codice Nome Azienda
IMPIEGATO
Codice
Nome
Nome
(1,1)
IMPIEGATO
Progettazione ER
(1,N)
IMPIEGO
AZIENDA
21 December, 2015 - slide 26
Part-of
Nome
Numero
(1,N)
CINEMA
(1,1)
SALA
COMPOSIZ.
Nome
Codice
(1,N)
TEAM
Progettazione ER
(0,1)
COMPOSIZ.
TECNICO
21 December, 2015 - slide 27
Istance-of
Codice
Orario
Origine
Data
(1,N)
VOLO
(1,1)
OCCORRENZ.
REALE
Destinazione
Nome
Anno
(1,N)
TORNEO
Progettazione ER
VOLO
OCCORRENZ.
(1,1)
EDIZIONE
TORNEO
21 December, 2015 - slide 28
Reificazione di relazione binaria
Matricola
Codice
Data
(0,N)
STUDENTE
(0,N)
ESAME
CORSO
Voto
Data
Matricola
(0,N)
STUDENTE
(1,1)
Codice
(1,1)
ESAME
S-E
(0,N)
CORSO
E-C
Voto
Codice
Matricola
(0,N)
STUDENTE
Data
(1,1)
S-E
Codice
(1,1)
ESAME
(0,N)
E-C
CORSO
Voto
Progettazione ER
21 December, 2015 - slide 29
Reificazione di relazione ricorsiva
(1,1)
(1,N)
CASA
Nome
Data
SQUADRA
PARTITA
Risultato
(1,1)
(1,N)
Città
OSPITE
Progettazione ER
21 December, 2015 - slide 30
Reificazione di attributo di relazione
Codice
Nome
(1,N)
MUSICISTA
Codice
Nome
Strumento
Tipologia
(1,N)
ORCHESTRA
PARTECIPAZ.
Nome
Nome
(1,N)
MUSICISTA
(1,1)
M-P
(1,N)
(1,1)
PARTECIPAZ.
Tipologia
P-O
ORCHESTRA
(1,1)
P-S
(1,N)
STRUMENTO
Sigla
Progettazione ER
Descrizione
21 December, 2015 - slide 31
Caso particolare
Codice
Nome
Nome
(0,N)
IMPIEGATO
Scadenza
(1,N)
PARTECIP.
PROGETTO
(1,1)
MANAGER
(1,N)
GESTIONE
25/07/2009
Progettazione ER
21 December, 2015 - slide 32
Storicizzazione di concetto
P. IVA
Nome
Indirizzo
Data inizio
Telefono
ANAGRAFICO
validità
AZIENDA
Data fine
validità
Capitale
ANAGRAFICO
ANAGRAFICO
STORICO
CORRENTE
Nome
Nome
Dimensione
Data
rilascio
S.O.
SOFTWARE
Requisiti
Data fine
validità
Progettazione ER
SOFTWARE
SOFTWARE
OBSOLETO
AGGIORNATO
21 December, 2015 - slide 33
Storicizzazione di concetto
Inizio
(0,1)
IMPIEGO
(1,N)
CORRENTE
CF
Inizio
PERSONA
Indirizzo
Nome
(0,N)
IMPIEGO
AZIENDA
Città
(1,N)
PASSATO
Fine
Inizio
CF
(0,N)
(1,1)
PERSONA
Indirizzo
Nome
(1,N)
IMPIEGO
AZIENDA
Città
(0,1)
(1,1)
Progettazione ER
(1,1)
IMPIEGO
IMPIEGO
CORRENTE
PASSATO
Fine
21 December, 2015 - slide 34
Evoluzione di concetto
Codice
Nome
Obiettivo
Nome
(1,N)
PROGETTO
CV
(1,1)
PARTECIP.
RICERCATORE
Finanziamento
PROGETTO
Data inizio
Progettazione ER
ACCETTATO
21 December, 2015 - slide 35
Relazione ternaria
Codice
Durata
Nome
(1,N)
OPERATORE
Nome
Indirizzo
(1,N)
INTERVENTO
SEDE
(1,N)
ATTIVITA’
Sigla
Progettazione ER
Descrizion
e
21 December, 2015 - slide 36
Reificazione di relazione ternaria
Codice
(1,N)
OPERATORE
Nome
Durata
Nome
(1,1)
O-I
(1,N)
(1,1)
INTERVENTO
Indirizzo
I-S
SEDE
(1,1)
I-A
(1,N)
ATTIVITA’
Sigla
Progettazione ER
Descrizion
e
21 December, 2015 - slide 37
Reificazione di relazione ternaria 2
Codice
(1,N)
OPERATORE
Progettazione ER
Durata
Sigla Descrizione
Nome
(1,1)
(1,1)
O-S
ATTIVITA’
Nome
Indirizzo
(1,N)
S-I
SEDE
21 December, 2015 - slide 38
Strategie di progetto



Progettazione ER
top-down
bottom-up
inside-out
21 December, 2015 - slide 39
Strategia top-down
Schema
Schema
intermedio
iniziale
Schema
Specifiche
intermedio
Schema
finale
Progettazione ER
21 December, 2015 - slide 40
Primitive di raffinamento
top-down
Cognome
Età
Persona
Studente
Impiegato
Esame
Esame
Persona
Uomo
Corso
Donna
Stipendio
Progettazione ER
21 December, 2015 - slide 41
Strategia bottom-up
Specifiche
1,1
Schema 1,1
Specifiche
2,1
Schema 2,1
Specifiche Specifiche
1
Specifiche 2
Schema finale
Specifiche1,2
1,2
Schema
Progettazione ER
Specifiche
2,2
Schema 2,2
21 December, 2015 - slide 42
Primitive di raffinamento Bottom-up
Persona
Studente
Uomo
Progettazione ER
Specifica su
Esame
Impiegato
impiegato
Corso
Donna
21 December, 2015 - slide 43
Strategia inside-out:
un esempio
Progettazione ER
21 December, 2015 - slide 44
(0,1)
Cognome
(1,1)
Telefono
Direzione
Impiegato
Codice
(1,N)
(0,1)
(0,N)
Partecipazione
Afferenza
(0,1)
Data
(1,N)
Progetto
Budget
Progettazione ER
Nome
(1,N)
Dipartimento
Nome
(1,1)
Composizione
(1,N)
Sede
Via
Indirizzo
CAP
Città
21 December, 2015 - slide 45
In pratica
si procede di solito con una strategia ibrida (mista):



Progettazione ER
si individuano i concetti principali e si realizza uno schema scheletro
sulla base di questo si può decomporre
poi si raffina, si espande, si integra
21 December, 2015 - slide 46
Definizione dello schema scheletro
Si individuano i concetti più importanti, ad esempio perché più
citati o perché indicati esplicitamente come cruciali e li si
organizza in un semplice schema concettuale
Progettazione ER
21 December, 2015 - slide 47
Qualità di uno schema concettuale




Progettazione ER
correttezza
completezza
leggibilità
minimalità
21 December, 2015 - slide 48
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)

Progettazione ER
Verificare le qualità dello schema e modificarlo
21 December, 2015 - slide 49
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à
Progettazione ER
21 December, 2015 - slide 50
Un'altra metodologia con integrazione
Analisi dei requisiti
Decomposizione dei requisiti

individuazione di settoro di interesse e suddivisione dei requisiti (o
addirittura acquisizione separata)
Per ciascun settore


Passo base
Passo iterativo
Integrazione
Analisi di qualità
Progettazione ER
21 December, 2015 - slide 51
Un esempio di progettazione
concettuale
Società di formazione
Progettazione ER
21 December, 2015 - slide 52
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.
Progettazione ER
21 December, 2015 - slide 53
Schema scheletro
Corso
Progettazione ER
Partecipazione
Docenza
Partecipante
Docente
21 December, 2015 - slide 54
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.
Progettazione ER
21 December, 2015 - slide 55
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.
Progettazione ER
21 December, 2015 - slide 56
Datore
(0,N)
(0,N)
(1,1)
Impiego
corrente
(0,N)
Impiego
passato
Partecipante
Nome
…..
CF
Codice
…..
Dipendente
Livello
Progettazione ER
Posizione
Professionista
Titolo prof.
Area
21 December, 2015 - slide 57
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.
Progettazione ER
21 December, 2015 - slide 58
Data fine
Data inizio
N.Part.
Edizione
corso
(1,1)
Tipologia
(0,N)
Progettazione ER
Composizione
(1,1)
Corso
Titolo
(1,N)
Codice
Lezione
Orario Aula Giorno
21 December, 2015 - slide 59
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.
Progettazione ER
21 December, 2015 - slide 60
Telefono
CF
(1,N)
Cognome
Docente
Città nascita
Età
Collaboratore
Progettazione ER
Interno
21 December, 2015 - slide 61
Integrazione
Corso
Progettazione ER
Partecipazione
Docenza
Partecipante
Docente
21 December, 2015 - slide 62
(0,N)
Partecipante
Progettazione ER
partecipazione
passata
(0,N)
(0,1)
(0,N)
partecipazione
Partecipazione
corrente
Edizione
Corso
corso
21 December, 2015 - slide 63
(0,1)
Edizione
Corso
corso
Data
inizio
(0,N)
Docenza
passata
Docente
Docenza
(0,1)
(1,1)
(0,1)
Docenza
corrente
Tipologia
(1,N)
(0,N)
Corso
Abilitazione
(1,N)
Titolo
Progettazione ER
Codice
21 December, 2015 - slide 64
Scarica

22_ProgettazioneConcettuale