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