Corso Di Basi Di Dati 03 Progettazione Concettuale

21
A.A. 2005/2006 Basi di Dati e Laboratorio 1 Corso di Basi di Dati e Laboratorio Raccolta e Analisi dei requisiti Prof. Silvana Castano A.A. 2005/2006 Basi di Dati e Laboratorio 2 ANALISI DEI REQUISITI Raccolta dei requisiti Completa individuazione dei problemi che il sistema da realizzare deve risolvere e le caratteristiche che il sistema dovrà possedere. – Aspetti statici (dati) – Aspetti dinamici (transazioni/operazioni sui dati)

Transcript of Corso Di Basi Di Dati 03 Progettazione Concettuale

Page 1: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

1

A.A. 2005/2006 Basi di Dati e Laboratorio 1

Corso di Basi di Dati e Laboratorio

Raccolta e Analisi dei requisitiProf. Silvana Castano

A.A. 2005/2006 Basi di Dati e Laboratorio 2

ANALISI DEI REQUISITI

Raccolta dei requisitiCompleta individuazione dei problemi che il sistema da realizzare deve risolvere e le caratteristiche che il sistema dovrà possedere.– Aspetti statici (dati)– Aspetti dinamici (transazioni/operazioni sui

dati)

Page 2: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

2

A.A. 2005/2006 Basi di Dati e Laboratorio 3

RACCOLTA DEI REQUISITI

• Identificazione dei gruppi di utenti e delle aree applicative (interviste, questionari)

• Raccolta di documentazione esistente– applicazioni (moduli, report, regolamenti interni,

procedure aziendali)

• La raccolta è a carico del progettista; l’interazione con gli utenti del sistema informativo gioca un ruolo importante

A.A. 2005/2006 Basi di Dati e Laboratorio 4

Realizzazioni preesistenti, ovvero applicazioni che si devono sostituire o che devono interagire in qualche modo con la base dati da realizzare. - Tracciati record, maschere, algoritmi,

documentazione associataInterviste agli utenti principali con uso di questionari

RACCOLTA DEI REQUISITI - FONTI

Page 3: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

3

A.A. 2005/2006 Basi di Dati e Laboratorio 5

I requisiti sono generalmente descrizioni in linguaggio naturale; quindi sono informali e possono risultare incompleti o presentare inconsistenze

Scopo dell’analisi dei requisiti è il chiarimento e l’organizzazione dei requisiti raccolti

Attività difficilmente standardizzabile perché legata all’applicazione da realizzare

ANALISI DEI REQUISITI

A.A. 2005/2006 Basi di Dati e Laboratorio 6

ANALISI DEI REQUISITI - REGOLE GENERALI

• Scelta del corretto livello di astrazione– evitare termini troppo generici/specifici

• Standardizzazione della struttura delle frasi– raggruppamento di frasi omogenee

• Evitare frasi contorte– definizioni semplici e chiare dei vari concetti

Page 4: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

4

A.A. 2005/2006 Basi di Dati e Laboratorio 7

Identificazione dei sinonimi e omonimi e unificazione dei termini

Sinonimi: termini diversi con lo stesso significato unificazione

Omonimi: termini uguali con significato diverso diversificazione

Glossario dei terminiPer ogni termine t il glossario contiene una breve descrizione, possibili sinonimi e altri termini del glossario con cui t possiede legami logici.

ANALISI DEI REQUISITI - REGOLE GENERALI

A.A. 2005/2006 Basi di Dati e Laboratorio 8

REQUISITI IN LINGUAGGIO NATURALE

Si vuole realizzare una base di dati per la gestione di corsi, partecipanti e docenti. Per i partecipanti, identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l’età, il sesso, il luogo di nascita, l’indirizzo ed il numero di telefono, i corsi che hanno frequentato il giudizio finale ed il periodo di frequenza. Per gli insegnanti, rappresentiamo il cognome, l’età, la città di nascita, il nome del corso che insegnano, e i corsi che possono insegnare. Rappresentiamo anche tutti i loro recapiti telefonici.I corsi hanno un codice, un titolo e possono avere varie edizioni con un certo numero di partecipanti. Per i corsi sono di interesse anche luoghi e le ore dove sono tenute le lezioni.

Page 5: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

5

A.A. 2005/2006 Basi di Dati e Laboratorio 9

ESEMPIO

OMONIMIA• Luogo di nascita dei

partecipanti E• Luogo in cui si

tengono le lezioni

• RISOLUZIONE:Città di nascita

SINONIMIA• Docenti E Insegnanti• Città di nascita E Luogo di

nascita

• RISOLUZIONE:Docente, Città di nascita

A.A. 2005/2006 Basi di Dati e Laboratorio 10

ESEMPIO DI GLOSSARIO DEI TERMINI

Termine Descrizione Sinonimi CollegamentiPartecipante Partecipante ai corsi. Studente Corso

Docente Docente dei corsi. Insegnante Corso

Corso Corsi offerti. Possono averevarie edizioni.

DocentePartecipante

Page 6: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

6

A.A. 2005/2006 Basi di Dati e Laboratorio 11

ESEMPIO DI STRUTTURAZIONE DEI REQUISITIFrasi di carattere generale

Si vuole realizzare una base di dati per la gestione di corsi, partecipanti e docenti.

Frasi relative ai partecipantiPer i partecipanti, identificati da un codice, si vuole memorizzare il codice fiscale, il cognome, l’età, il sesso, la città di nascita, l’indirizzo ed il numero di telefono, i corsi che hanno frequentato il giudizio finale ed il periodo di frequenza.

Frasi relative ai docentiPer gli docenti, rappresentiamo il cognome, l’età, la città di nascita, il nome del corso che insegnano, e i corsi che possono insegnare. Rappresentiamo anche tutti i loro recapiti telefonici.

Frasi relative ai corsiI corsi hanno un codice, un titolo e possono avere varie edizioni con un certo numero di partecipanti. Per i corsi sono di interesse anche luoghi e le ore dove sono tenute le lezioni.

A.A. 2005/2006 Basi di Dati e Laboratorio 12

Corso di Basi di Dati e Laboratorio

PROGETTAZIONE CONCETTUALE

Page 7: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

7

A.A. 2005/2006 Basi di Dati e Laboratorio 13

Strategie di progetto di schemi concettuali

A.A. 2005/2006 Basi di Dati e Laboratorio 14

CRITERI GENERALI

• E’ opportuno rappresentare mediante tipi dientita’ – concetto con proprietà significative – concetto che descrive classi di oggetti con

esistenza autonoma• E’ opportuno rappresentare mediante

attributo– concetto con struttura semplice senza

proprietà rilevanti

Page 8: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

8

A.A. 2005/2006 Basi di Dati e Laboratorio 15

• E’ opportuno rappresentare mediante tipi di associazioneconcetto che esprime un legame fra due (o più) tipi di entità già identificati

• E’ opportuno rappresentare mediantegerarchie concetti che sono specializzazione di altri concetti

CRITERI GENERALI

A.A. 2005/2006 Basi di Dati e Laboratorio 16

Scelte progettuali alternative

Libro Editore

EditoreLibro

La scelta dipende dal contesto. Si osservi che:• Nel primo caso editore è un valore, quindi non posso rappresentare sue proprietà

• Nel secondo caso posso specificare ulteriori proprietà dell’editore

Page 9: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

9

A.A. 2005/2006 Basi di Dati e Laboratorio 17

Scelte progettuali alternative

PersonaSesso (M/F)

Persona

DonnaUomo

Oppure

Ogni volta che è necessario caratterizzare le entità specializzazione con attributi specifici e/o partecipazione a relazioni va scelta la gerarchia.

A.A. 2005/2006 Basi di Dati e Laboratorio 18

GENERAZIONE DI UNO SCHEMA

• La produzione di uno schema segue un approccio incrementale a partire dai requisiti

• Uso di strategie di progettazione– top-down

– bottom-up

– inside-out

– mixed

Page 10: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

10

A.A. 2005/2006 Basi di Dati e Laboratorio 19

STRATEGIA TOP-DOWN

• Si parte da uno schema contenente astrazioni di alto livello e si procede con successivi raffinamenti top-down

• I raffinamenti aumentano il dettaglio dei concetti man mano che si procede con i raffinamenti top-down

• Uso di primitive di raffinamento top-down

A.A. 2005/2006 Basi di Dati e Laboratorio 20

STRATEGIA TOP-DOWN

Dati Università

Entità Associazione tra Entità

Studente

Docente

FemminaMaschio

PersonaPersona

Entità Generalizzazione

Page 11: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

11

A.A. 2005/2006 Basi di Dati e Laboratorio 21

STRATEGIA TOP-DOWN

Persona

Città

Associazione insieme di associaz.

Persona

CittàNascitaResidenza

Docente

Studente

Associazione Entità con associaz.

Docente

Corso

Studente

A.A. 2005/2006 Basi di Dati e Laboratorio 22

STRATEGIA TOP-DOWN

Persona

Introduzione di attributi su tipi di entità

Residenza

Introduzione di attributi su tipi di associazione

Persona NomeEtà

Residenza Dal

Page 12: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

12

A.A. 2005/2006 Basi di Dati e Laboratorio 23

ESEMPIO

Dati UniversitàStudente

Docente

Schema Draft Risultato

Studente

Docente

Studente

Corso

Docente

Insegnamento

Frequenza

A.A. 2005/2006 Basi di Dati e Laboratorio 24

ESEMPIO

Schema Draft Risultato

Studente

Corso

Docente

Insegnamento

Frequenza

DocenteEsterno

DocenteInterno

Docente

Page 13: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

13

A.A. 2005/2006 Basi di Dati e Laboratorio 25

ESEMPIO

Schema Draft Risultato

Studente

Corso

Docente

Insegnamento

Frequenza

Esame

Iscrizione

A.A. 2005/2006 Basi di Dati e Laboratorio 26

SCHEMA FINALE

Studente

Esame

Iscrizione

CorsoInsegnamento

DocenteEsterno

DocenteInterno

Docente

Page 14: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

14

A.A. 2005/2006 Basi di Dati e Laboratorio 27

STRATEGIA BOTTOM-UP

• Si parte da uno schema contenente astrazioni di base che descrivono frammenti elementari di realtà e si procede aggregando tali astrazioni o aggiungendone di nuove

• Uso di primitive di raffinamento bottom-up

A.A. 2005/2006 Basi di Dati e Laboratorio 28

STRATEGIA BOTTOM-UP

Persona

Città

Residenza

Persona

Città

Generazione di entità

DirigenteDipendente

Persona

Generazione di generalizzazione

Dipendente Dirigente

Page 15: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

15

A.A. 2005/2006 Basi di Dati e Laboratorio 29

STRATEGIA BOTTOM-UP

Aggregazione di attributi in entità

Aggregazione di attributi in associaz.

Via

Numero

NomeEtà

ViaNumero

Persona NomeEtà

A.A. 2005/2006 Basi di Dati e Laboratorio 30

ESEMPIO

Schema Draft Componente

Esame

Iscrizione

Studente Corso

Studente

DocenteInterno

DocenteEsterno

Corso

Page 16: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

16

A.A. 2005/2006 Basi di Dati e Laboratorio 31

ESEMPIO

Schema Draft Componente

DocenteEsterno

DocenteInterno

Docente

DocenteInterno

DocenteEsterno

Studente Corso

A.A. 2005/2006 Basi di Dati e Laboratorio 32

SCHEMA FINALE

Studente

Esame

Iscrizione

Corso

Insegnamento

DocenteEsterno

DocenteInterno

Docente

Page 17: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

17

A.A. 2005/2006 Basi di Dati e Laboratorio 33

STRATEGIA INSIDE-OUT

• Caso particolare della strategia bottom-up• Si individuano inizialmente alcuni concetti di

maggiore rilevanza e da questi si procede rappresentando via via i concetti vicini a quelli iniziali seguendo i requisiti (procedimento a “macchia d’olio”)

A.A. 2005/2006 Basi di Dati e Laboratorio 34

ESEMPIO

Progetto

Partecipaz.

Nome

Budget

Consegna

Data Inizio

(0,N)

(1,N)

Dipartimento

Direzione

Afferenza

Data Afferenza

(0,N)

(0,1) (1,N)

(1,1)

Nome

Telefono

Impiegato

CognomeCodice

Età

Stipendio

Page 18: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

18

A.A. 2005/2006 Basi di Dati e Laboratorio 35

STRATEGIA MISTA

• Combinazione delle strategie top-down e bottom-up

• Definizione di uno schema scheletro contenente a livello astratto i concetti principali dell’applicazione

• Su ciascuna parte dello schema scheletro si può procedere applicando o la strategia top-down oppure quella bottom-up

• Adatta a progetti di una certa complessità e/o progetti in cui non sono disponibili da subito tutti i requisiti.

A.A. 2005/2006 Basi di Dati e Laboratorio 36

LeggibilitàUno schema concettuale e’ leggibile quando presenta i requisiti in maniera facilmente comprensibile

scelta di nomi significativi e adeguatiminimizzazione di intersezioni (elementi con più legami posizionati centralmente)

QUALITA’ DI UNO SCHEMA CONCETTUALE

Page 19: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

19

A.A. 2005/2006 Basi di Dati e Laboratorio 37

MinimalitàUno schema concettuale e’ minimale quando non presenta ridondanze (es., presenza di dati derivati), ovvero le specifiche sui dati sono rappresentate una volta sola nello schema

si può tollerare la ridondanza come scelta progettuale ma va documentata (vedi prog. logica)

QUALITA’ DI UNO SCHEMA CONCETTUALE

A.A. 2005/2006 Basi di Dati e Laboratorio 38

CompletezzaUno schema concettuale e’ completo quando descrive tutti i requisiti di interesse e le operazioni possono essere eseguite a partire dai concetti contenuti nello schema

tutti i requisiti sono rappresentati da qualche concetto nello schema tutti i concetti coinvolti nelle operazioni sono raggiungibili nello schema

QUALITA’ DI UNO SCHEMA CONCETTUALE

Page 20: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

20

A.A. 2005/2006 Basi di Dati e Laboratorio 39

CorrettezzaUno schema concettuale è corretto quando fa un uso proprio dei costrutti del modello concettuale utilizzato

errori sintattici uso non ammesso di costrutti (es., generalizzazione

su associazioni) errori semanticiuso dei costrutti che non rispetta la loro definizione (es., associazione per esprimere specializzazione)

QUALITA’ DI UNO SCHEMA CONCETTUALE

A.A. 2005/2006 Basi di Dati e Laboratorio 40

PROGETTAZIONE DI TRANSAZIONI

• Specifica delle caratteristiche funzionali delle transazioni per assicurare che lo schema comprenda tutte le informazioni di interesse

• Identificare input/output e comportamento funzionale– Transazioni di interrogazione– Transazioni di aggiornamento– Transazioni di miste

Page 21: Corso Di  Basi Di  Dati 03  Progettazione Concettuale

21

A.A. 2005/2006 Basi di Dati e Laboratorio 41

PROGETTAZIONE DI TRANSAZIONI

• Uso di tecniche per la modellazione di processi (e.g., diagrammi UML per la parte processi quali use case, activity diagram, state transition diagram, etc.)

• Uso di strumenti di ausilio alla modellazione di processi e flussi informativi (e.g., strumenti diworkflow mgmt, process mgmt)