Progettazione concettuale
impiegato
datore
lavora in
Ente
persona
Progettazione concettuale
1
requisiti del
Sistema informativo
progettazione concettuale
SCHEMA CONCETTUALE
progettazione logica
SCHEMA LOGICO
progettazione fisica
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 dei termini
Datore
Impiego
corrente
Impiego
passato
Partecipante
Dipendente
Professionista
Progettazione concettuale
3
Raccolta dei requisiti
 E’ la fase in cui si individuano


i problemi che l’applicazione da realizzare deve
risolvere
le caratteristiche che tale applicazione dovrà
avere:
aspetti statici (dati)
 aspetti dinamici (operazioni sui dati)

Progettazione concettuale
4
Analisi dei requisiti
 Inizialmente i requisiti sono raccolti in
linguaggio naturale e sono spesso ambigue e
disorganizzate
 L’analisi dei requisiti consiste nel
chiarimento e nell’organizzazione delle
specifiche dei requisiti
Progettazione concettuale
5
Requisiti
 Possibili fonti diversificate tra loro, per
l’acquisizione dei requisiti:

utenti, attraverso:
interviste
 documentazione scritta apposita


documentazione esistente:
normative (leggi, regolamenti di settore)
 regolamenti interni, procedure aziendali
 modulistica


realizzazioni preesistenti: applicazioni da rimpiazzare
o che devono interagire
con il software da realizzare 6
Progettazione 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; spesso procede parallelamente alla
realizzazione dello schema E-R
Progettazione concettuale
7
Acquisizione per interviste con
gli utenti



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”
Progettazione concettuale
8
Interazione con gli utenti
 Spunti:




effettuare spesso verifiche di comprensione e
coerenza sulle informazioni raccolte
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
Progettazione concettuale
9
Un esempio
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.
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.
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.
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
Progettazione concettuale
13
Glossario dei termini, omonimi
e sinonimi
 Raramente i requisisti espressi in linguaggio naturale sono
privi di ambiguità. È infatti frequente il caso di
Omonimi: lo stesso termine viene usato per descrivere concetti
differenti (es: libro e copia di libro, posto di lavoro e geografico)
Sinonimi: termini diversi vengono usati per descrivere lo stesso
concetto (es: studente e partecipante)
 Un modo conveniente per rappresentare i concetti più
rilevanti emersi dall’analisi è il glossario dei termini, il cui
scopo è fornire per ogni concetto rilevante:



Una breve descrizione del concetto
Eventuali sinonimi
Relazioni con altri concetti del glossario stesso
Progettazione concettuale
14
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
Progettazione concettuale
15
Glossario dei termini
Termine
Descrizione
Partecipante Persona che
partecipa ai corsi
Docente
Corso
Società
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
Progettazione concettuale
Docente
Partecipante
16
Ristrutturazione dei requisiti
 Oltre a costruire il glossario, per semplificare le
analisi successive, è utile riformulare i requisiti:



Eliminare le omonimie
Usare un termine univoco per ogni concetto
Riorganizzare le frasi raggruppandole in base al
concetto cui si riferiscono
Nell’esempio:





Frasi di carattere generale
Frasi riferite ai partecipanti
Frasi riferite ai docenti
Frasi riferite ai corsi
Frasi riferite alle società
Progettazione concettuale
17
Strutturazione dei requisiti
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.
Progettazione concettuale
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 concettuale
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.
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 concettuale
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 concettuale
22
Operazioni sui dati
 E' importante raccogliere specifiche sulle
operazioni da effettuare sui dati


Utilizzando le stessa terminologia usata per i dati
Descrivendo la frequenza con la quale le varie
operazioni sono eseguite
Progettazione concettuale
23
Operazioni sulla società di
formazione
1.
2.
3.
4.
5.
6.
7.
8.
Inserisci un nuovo partecipante indicando tutti i suoi dati (40/giorno)
Assegna un partecipante a una edizione di corso (50/giorno)
Inserisci un nuovo docente indicando dati e corsi che può insegnare
(2/giorno)
Assegna un docente abilitato a una edizione di corso (15/giorno)
Stampa tutte le informazioni sulle edizioni passate di un corso, con titolo,
orari, lezioni e numero partecipanti (10/giorno)
Stampa tutti i corsi offerti, con informazioni sui docenti che possono
insegnarli (20/giorno)
Per ogni docente, trova i partecipanti a tutti i corsi da lui insegnati
(5/settimana)
Effettua una statistica su tutti i partecipanti a un corso, con tutte le
informazioni su di essi, sulla edizione a cui hanno partecipato, e la
rispettiva votazione (10/mese)
Progettazione concettuale
24
Criteri di rappresentazione
 Quale costrutto E-R va utilizzato per
rappresentare un concetto presente nelle
specifiche informali?
 Bisogna basarsi sulle definizioni dei costrutti del
modello E-R
Progettazione concettuale
25
Trasformazione in schema E-R
Progettazione concettuale
26
Strategie di progetto



top-down: si parte da uno schema iniziale molto
astratto ma completo, che viene successivamente
raffinato fino ad arrivare allo schema finale
bottom-up: si suddividono le specifiche in modo
da sviluppare semplici schemi parziali ma
dettagliati, che poi vengono integrati tra loro
inside-out: lo schema si sviluppa “a macchia
d’olio”, partendo dai concetti più importanti,
aggiungendo quelli a essi correlati, e così via
Progettazione concettuale
27
Strategia top-down
Schema
Schema
intermedio
iniziale
Schema
Specifiche
intermedio
Schema
finale
Progettazione concettuale
28
Primitive di raffinamento top-down
 Entità  Gerarchia di
entità
Persona
Persona
Uomo
Progettazione concettuale
Donna
29
 Entità  Entità e
associazioni
Esame
 Entità  Entità e
attributi
Impiegato
Studente
Esame
Corso
Cognome Età
Impiegato
Stipendio
 Associazioni  Più
associazioni
nata
Persona
Di
Città
Persona
Città
vive
 Associazioni  Entità e
associazioni
Dipendente
Dipendente
in
lavora con
Dipartimento
dirige
Dipartimento
Dirigente
Realizzazione di uno schema concettuale con
applicazione delle primitive di raffinamento
top-down
Cognome
Età
Persona
Studente
Impiegato
Esame
Esame
Persona
Uomo
Corso
Donna
Stipendio
Strategia bottom-up
Specifiche
2,1
Schema 2,1
Specifiche
1,1
Schema 1,1
Specifiche Specifiche
1
Specifiche 2
Schema finale
Specifiche
2,2
Schema 2,2
Specifiche1,2
1,2
Schema
Progettazione concettuale
33
Primitive di raffinamento
bottom-up
 Specifiche su concetto  Nuova entità
specifica su
studente
.. 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
Studente
Progettazione concettuale
34
 Entità isolate  Associazioni tra le entità
Studente
Studente
Corso
Esame
Corso
 Entità isolate  Gerarchia di generalizzazione
Persona
Dipendente
Dirigente
Dipendente
Dirigente
Realizzazione dello schema con l’applicazione
delle primitive di raffinamento Bottom-up
Persona
Studente
Uomo
Specifica su
Esame
Impiegato
impiegato
Corso
Donna
Un esempio già visto…
Si vuole modellare il sistema informativo di un’azienda
con sedi dislocate in diverse città. Gli impiegati
dell’azienda sono identificati da un codice e afferiscono a
un dipartimento (a partire da una certa data). Ogni
dipartimento ha un nome, un direttore e un numero di
telefono ed è dislocato su una sola sede, di cui è noto
l’indirizzo.
Gli impiegati partecipano a diversi progetti, che sono
caratterizzati da un nome, un budget e una data di
consegna.
Progettazione concettuale
37
…modellato con strategia inside-out
(0,1)
Cognome
Telefono
(1,N)
Direzione
Impiegato
Codice
(1,1)
(0,N)
Partecipazione
(1,N)
(0,1)
Afferenza
Dipartimento
(1,1)
Nome
(0,1)
Data
Composizione
(1,N)
(1,N)
Sede
Progetto
Via
Budget
Nome
Indirizzo
CAP
Città
Strategia mista
a) si individuano i concetti principali e si realizza uno
schema scheletro
Si organizzano i
concetti più importanti
in un semplice schema
concettuale
b) Sulla base dello schema scheletro si può decomporre,
raffinare, espandere, integrare
c) Analisi di qualità dello schema ed eventuale
ristrutturazione
Vantaggi della strategia mista
 E' la più flessibile tra le strategie, si adatta a
esigenze contrapposte:


Suddividere un problema complesso in sottoproblemi
Procedere per raffinamenti successivi
 In tutti i casi pratici di una certa complessità, la
strategia mista è l'unica che si può effettivamente
adottare
Progettazione concettuale
42
Qualità di uno schema
concettuale

correttezza: uno schema E-R è corretto quando utilizza
propriamente i costrutti messi a disposizione dal
modello E-R. Possono esserci:
-

errori sintattici (uso non ammesso di costrutti)
errori semantici (uso di costrutti che non rispetta la
definizione)
completezza: uno schema E-R è completo quando
rappresenta tutti i dati di interesse e tutte le operazioni
possono essere eseguite a partire dai concetti descritti
dallo schema
Progettazione concettuale
43


leggibilità: uno schema E-R è leggibile quando
rappresenta tutti i dati in maniera naturale e
comprensibile
minimalità: uno schema E-R è minimale quando tutte le
specifiche sui dati sono rappresentate una sola volta
nello schema
uno schema non è minimale quando esistono delle
ridondanze, cioè concetti che possono essere derivati da altri.
 Non sempre una ridondanza è indesiderata, ma può nascere da
precise scelte progettuali

Progettazione concettuale
44
Un esempio di progettazione
concettuale
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.
Progettazione concettuale
45
Schema scheletro
Corso
Partecipazione
Docenza
Partecipante
Docente
Progettazione concettuale
46
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 concettuale
47
Raffinamento di partecipante
CF
Partecipante
Codice
…..
Progettazione concettuale
48
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.
Datore
(0,N)
(1,1)
Impiego
corrente
(0,N)
Impiego
passato
(0,N)
Partecipante
Nome
…..
CF
Codice
…..
Dipendente
Livello
Posizione
Professionista
Titolo prof.
Area
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 concettuale
51
Data fine
Data inizio
N.Part.
Edizione
corso
(1,1)
Tipologia
(0,N)
Composizione
(1,1)
Corso
Titolo
(1,N)
Codice
Lezione
Orario Aula Giorno
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 concettuale
53
Raffinamento di docente
Telefono
CF
(1,N)
Cognome
Docente
Città nascita
Età
Collaboratore
Progettazione concettuale
Interno
54
Integrazione
Corso
Partecipazione
Docenza
Partecipante
Docente
Progettazione concettuale
55
Integrazione: partecipante e corso
(0,N)
Partecipante
partecipazione
passata
(0,N)
(0,1)
(0,N)
partecipazione
Partecipazione
corrente
Progettazione concettuale
Edizione
Corso
corso
56
Integrazione: docente e corso
(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
Codice
Esercizio
Si
vuole rappresentare la base di dati di un archivio fotografico
distribuito in varie sedi.
Le
foto hanno un titolo, una descrizione, una dimensione, uno
stato di conservazione, una data e, quando noto, un autore; per le
foto a colori, è indicato il tipo di stampa (chiaro o opaco). Le foto
sono reperibili in archivi, di cui è registrato il responsabile (dati
anagrafici, recapito, e-mail) e l’indirizzo web.
Le
fotografie appartengono a una categoria e possono riprendere
uno o più soggetti (personaggi, luoghi, oggetti, opere d’arte...).
Ciascun soggetto ha una propria chiave. I personaggi rappresentati
hanno un nome e un sesso, data e luogo di nascita ed
(eventualmente) morte. Per i personaggi politici, si indica il partito
di appartenenza e l’eventuale carica governativa ricoperta. Per gli
artisti, si indica la loro attività prevalente (pittura, scultura, musica,
...).
Quando
le foto descrivono opere artistiche, è noto il nome
dell’opera d’arte, l’artista che l’ha realizzata, il luogo dove l’opera
risiede e l’anno di realizzazione. Quando le foto descrivono luoghi
sono indicate le coordinate geografiche (nazione, città, via...) e una
descrizione.
Esercizio
Una
società multinazionale che produce abbigliamento sportivo ha sedi
in diversi paesi.
Le
sedi della società sono identificate in modo univoco da un codice
identificativo e sono caratterizzate da un indirizzo, da un numero di
telefono e dal nominativo del responsabile. Le sedi sono suddivise in
magazzini, centri di produzione e sedi di vendita al minuto.
I
magazzini, caratterizzati da un loro ulteriore codice e dal numero di
addetti, riforniscono i negozi in franchising (dunque non di proprietà
della società). I negozi in franchising si riforniscono unicamente dal
magazzino più vicino.
I
centri di produzione sono caratterizzati dal numero di addetti e dalla
capacità produttiva (in unità al giorno) relativa ai singoli prodotti.
Le
sedi di vendita al minuto sono caratterizzate da un fatturato medio e
da un elenco dei prodotti disponibili a magazzino, con relative giacenze.
I negozi e le sedi di vendita al minuto vendono i loro prodotti ai clienti
(che sono identificati da un codice) senza alcun rapporto esclusivo.
Per
ogni transazione di vendita (sia al minuto che tra magazzini e
negozi in franchising) devono essere registrate i prodotti venduti (e
relative quantità), la data di vendita e il totale della transazione.
Scarica

7_ProgConcettuale