• Non ci sono risultati.

Progettazione concettuale Basi di dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Progettazione concettuale Basi di dati"

Copied!
12
0
0

Testo completo

(1)

Basi di dati

Progettazione concettuale

Schema fisico 2 Progettazione

fisica Schema concettuale Requisiti della base di dati

Progettazione logica

Schema logico Progettazione

concettuale

3

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

4

Requisiti

•  Possibili fonti:

•  Utenti e committenti, attraverso:

•  interviste

•  documentazione apposita

•  documentazione esistente:

•  normative (leggi, regolamenti di settore)

•  regolamenti interni, procedure aziendali

•  realizzazioni preesistenti

•  modulistica

5

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

6

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”

(2)

7

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

8

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

9

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

10

Base di dati bibliografica Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliografici

Requisiti, un esempio

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.

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.

12

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

(3)

13

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.

Un esempio più articolato

14

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.

15

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.

16

Termine Descrizione Sinonimi Collegamenti Partecipante Persona che

partecipa ai corsi Studente Corso, Società Docente Docente dei corsi.

Può essere esterno Insegnante Corso Corso Corso organizzato

dalla società. Può avere più edizioni.

Seminario Docente

Società Ente presso cui i partecipanti lavorano o hanno lavorato

Posti Partecipante

Glossario dei termini

17

Strutturazione dei requisiti in gruppi di frasi omogenee

18

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.

(4)

19

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.

20

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.

21

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.

22

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.

23

Requisiti discorsivi e schemi concettuali

•  Quale costrutto E-R va utilizzato per rappresentare un concetto presente nelle specifiche?

•  Bisogna basarsi sulle definizioni dei costrutti del modello E-R

24

•  se ha proprietà significative e descrive oggetti con esistenza autonoma

•  entità

•  se è semplice e non ha proprietà

•  attributo

•  se correla due o più concetti

•  relationship

•  se è caso particolare di un altro

•  generalizzazione

(5)

Design pattern

•  Soluzioni progettuali a problemi comuni

•  Largamente usati nell’ingegneria del software

•  Vediamo alcuni pattern comuni nella progettazione concettuale di basi di dati

25

Reificazione di attributo di entità

IMPIEGATO

Nome Codice Azienda

IMPIEGATO Codice

AZIENDA IMPIEGO

(1,N) (1,1)

Nome Nome

26

L’entità Azienda può essere estratto da Impiegato in quanto rappresenta un entità separata

Part-of

CINEMA COMPOSIZ. SALA

Nome Numero

(1,1) (1,N)

TEAM COMPOSIZ. TECNICO

Nome Codice

(0,1) (1,N)

27

A volte un entità può far parte di un’altra entità creando una relazione di tipo 1,N

Gli esempi mostrano come il concetto di part of possa essere di dipendenza (Sala non esiste senza Cinema) o meno (Tecnico è autonomo da Tema)

Istance-of

VOLO VOLO

REALE OCCORRENZ.

Data

(1,1) (1,N)

TORNEO EDIZIONE

TORNEO OCCORRENZ.

Nome Anno

(1,1) (1,N)

Origine

Destinazione Orario Codice

28

A volte si viene a creare la necessità di creare un’entità astratta ed che prende concretezza in un’entità istanza Volo possiede informazioni astratte sul Volo Reale che invece rappresenta il volo che avviene giornalmente

Reificazione di relazione binaria

STUDENTE ESAME CORSO

Matricola Codice

(0,N) (0,N)

Data

STUDENTE E-C CORSO

Matricola Codice

(0,N) (0,N)

ESAME Data

S-E

(1,1) (1,1)

STUDENTE E-C CORSO

Matricola Codice

(0,N) (0,N)

ESAME

Data

S-E

(1,1) (1,1)

Codice Voto

Voto

Voto 29

Reificazione di relazione ricorsiva

PARTITA

(1,1)

SQUADRA CASA

(1,N) Data

Risultato

Nome

Città (1,1)

OSPITE (1,N)

30

Partita potrebbe essere vista come una relazione binaria tra squadra e se stessa

Ma come sappiamo una squadra può giocare più volte, reificare partita come nello schema è quindi più utile per esprimere questo concetto

(6)

Reificazione di attributo di relazione

Strumento

MUSICISTA Codice

ORCHESTRA PARTECIPAZ.

(1,N) (1,N)

Nome

MUSICISTA Nome Codice

ORCHESTRA

(1,1) (1,N)

Tipologia Nome

STRUMENTO (1,N)

Descrizione Sigla M-P

P-S PARTECIPAZ. P-O

(1,N) (1,1)

(1,1)

Tipologia Nome

31

Caso particolare

(0,N)

PROGETTO PARTECIP.

(1,N)

IMPIEGATO

(1,1)

GESTIONE

(1,N) Nome

Codice Nome Scadenza

MANAGER

32

Il pattern usa la generalizzazione per specializzare alcuni sottoinsiemi di un entità Nel nostro caso manager hanno un ruolo di gestione all’interno di progetto

Storicizzazione di concetto

Nome P. IVA

Data fine validità

Indirizzo Data inizio

validità Telefono

Capitale

SOFTWARE

Nome Nome

Data fine validità

Dimensione Data

rilascio S.O.

Requisiti

SOFTWARE

OBSOLETO

SOFTWARE AGGIORNATO

ANAGRAFICO AZIENDA

ANAGRAFICO STORICO

ANAGRAFICO CORRENTE

33

Storicizzazione di concetto, esempio

PERSONA (0,1)

AZIENDA IMPIEGO

CORRENTE (1,N) CF

Indirizzo

Nome

Città (0,N)

IMPIEGO PASSATO

(1,N) Inizio

Fine

PERSONA

(1,1)

AZIENDA (1,N) CF

Indirizzo

Nome

Città

IMPIEGO

IMPIEGO

PASSATO (0,N) (1,1)

Inizio

Fine Inizio

IMPIEGO CORRENTE (0,1)

(1,1) 34

Evoluzione di concetto

PROGETTO

Nome Codice

RICERCATORE PARTECIP.

(1,1) (1,N)

Finanziamento

Data inizio

Obiettivo Nome CV

PROGETTO

ACCETTATO

35

Il pattern usa la generalizzazione per rappresentare la possibilità che può subire un evoluzione nel tempo che dipende nel nostro caso dal fatto che un progetto può essere accettato o meno e nel caso sia accettato necessita di informazioni aggiuntive

Relazione ternaria

OPERATORE Nome Codice

SEDE (1,N) (1,N)

Indirizzo Nome

ATTIVITA’

(1,N)

Descrizione Sigla

Durata

INTERVENTO

36

Un operatore può effettuare diverse attività svolte in sedi diverse In ogni sede possono operare operatori diversi svolgendo attività diverse

Le attività possono essere svolte da operatori diversi e sedi diverse

(7)

Reificazione di relazione ternaria

OPERATORE Nome Codice

SEDE

(1,1) (1,N)

Indirizzo Nome

ATTIVITA’

(1,N)

Descrizione Sigla

Durata

O-I

I-A INTERVENTO I-S

(1,N) (1,1)

(1,1)

37

Reificazione della relazione Intervento

Reificazione di relazione ternaria 2

OPERATORE

Nome Codice

SEDE (1,1)

(1,N)

Indirizzo Nome Durata

O-S ATTIVITA’ S-I (1,N) (1,1)

Descrizione Sigla

38

Lo schema rappresenta una possibile semplificazione nel caso in cui l’attività possa essere svolta da un operatore in una sola sede Quindi il legame tra Attività e Sede può essere rappresentato separatamente da Operatore

39

Strategie di progetto

•  Come procediamo con tante specifiche anche dettagliate? Come ci orizzontiamo?

•  Strategie:

•  top-down

•  bottom-up

•  inside-out

Schema finale

40

Strategia top-down

Schema intermedio

Schema iniziale

Specifiche

41

Primitive di raffinamento top-down (1)

Esame

Esame

Studente Corso

Primitive di raffinamento top-down (2)

42

Cognome Età

Stipendio Impiegato Impiegato

(8)

Primitive di raffinamento top-down (3)

43

Persona

Uomo Donna

Persona

44

Strategia bottom-up (1) Specifiche

Specifiche 2 Specifiche 1

Specifiche 1,1 Specifiche 1,2 Specifiche 2,2 Specifiche 2,1

Strategia bottom-up (2)

45

Schema finale

Schema 1,1

Schema 1,2

Schema 2,1

Schema 2,2

46

Primitive di raffinamento Bottom-up (1)

Specifica su

impiegato Impiegato

Primitive di raffinamento Bottom-up (2)

47

Esame

Studente Corso

Studente Corso

Primitive di raffinamento Bottom-up (3)

48

Persona

Uomo Donna

(9)

49

Strategia inside-out:

un esempio

50

(1,1)

Città Indirizzo

Composizione

Sede

Nome

Via CAP

(1,N) Partecipazione

Nome Budget

(0,N)

(1,N) Progetto

Telefono Direzione

Afferenza

Data (1,1) (0,1)

(1,N) (0,1)

(0,1)

(1,N) Dipartimento Impiegato

Cognome

Codice

51

In pratica

•  si procede di solito con una strategia mista:

•  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

52

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

53

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

54

Qualità di uno schema concettuale

•  correttezza

•  completezza

•  leggibilità

•  minimalità

(10)

55

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à

56

Un'altra metodologia con integrazione

•  Analisi dei requisiti

• Decomposizione dei requisiti

•  individuazione dei settori di interesse e suddivisione dei requisiti (o addirittura acquisizione separata)

• Per ciascun settore

•  Passo base

•  Passo iterativo

• Integrazione

•  Analisi di qualità

57

Un esempio di progettazione concettuale

• Società di formazione

58

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.

59

Corso

Partecipazione Docenza

Schema scheletro

Partecipante Docente

60

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.

(11)

61

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.

Impiego corrente (0,N)

(1,1)

62

Posizione

Livello Titolo prof. Area CF

Codice

…..

Impiego passato (0,N)

(0,N)

Dipendente Professionista Nome

…..

Datore

Partecipante

63

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.

64

(1,N)

(1,1) Composizione Tipologia

(1,1)

(0,N)

N.Part.

Data fine Data inizio

Edizione corso

Orario Aula Giorno Lezione

Titolo Codice Corso

65

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.

66

CF Cognome Età Telefono

Città nascita (1,N)

Docente

Interno Collaboratore

(12)

67

Partecipante

Corso

Docente

Partecipazione Docenza

Integrazione

68

partecipazione corrente

(0,1) (0,N)

Partecipante Edizione

corso Partecipazione

Partecipante Corso

partecipazione passata

(0,N) (0,N)

69

Docenza corrente (0,1) (0,1)

Corso Docente

Abilitazione (1,N)

(1,N) Tipologia

Codice Titolo

Data inizio

(0,N) (1,1) Edizione

corso Docente

Docenza passata

(0,N) (0,1)

Corso

Riferimenti

Documenti correlati

B) Diritto di ripensamento: il sottoscrittore della domanda di adesione a MUTUA NAZIONALE può esercitare il diritto di ripensamento entro 14 giorni decorrenti dalla data

La informiamo, inoltre, che il trattamento dei Suoi dati personali per le finalità di cui ai punti (i), (ii) e (iv) è necessario e funzionale all’erogazione

[r]

- nulla osta senza riserve alla mobilità volontaria in uscita rilasciato, dall’Amministrazione di appartenenza, al massimo entro il semestre precedente alla data

DI BURATTO ELSA

Gli infermediari non devono acquisire il consenso degli interessati per il trattamento dei dati in quanto previsto dalla legge, mentre sono tenuti ad acquisire il consenso

Laurea in Scienze della Formazione Primaria – indirizzo scuola dell’infanzia con specializzazione per l’integrazione degli alunni in situazione di disabilità (abilitazione per

Nascita Codice Fiscale Sesso Punteggio Pref. Nascita