59
Progettazione conce ttuale 1 Progettazione Progettazione concettuale concettuale persona Ente lavora in impiegato datore

Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Embed Size (px)

Citation preview

Page 1: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 1

Progettazione concettualeProgettazione concettuale

persona Ente

lavora in

impiegato datore

Page 2: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

requisiti delSistema informativo

progettazione concettuale

progettazione logica

progettazione fisica

SCHEMA LOGICO

SCHEMA CONCETTUALE

Page 3: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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 dei termini

Partecipante

Impiegopassato

Dipendente Professionista

Datore

Impiegocorrente

Page 4: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 4

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)

Page 5: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 5

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

Page 6: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 6

Requisiti

Possibili fonti diversificate tra loro, per l’acquisizione dei requisiti: utenti, attraverso:

intervistedocumentazione scritta apposita

documentazione esistente:normative (leggi, regolamenti di settore) regolamenti interni, procedure aziendalimodulistica

realizzazioni preesistenti: applicazioni da rimpiazzare o che devono interagire con il software da realizzare

Page 7: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 7

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

Page 8: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 8

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”

Page 9: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 9

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

Page 10: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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

Page 11: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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.

Page 12: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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.

Page 13: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 13

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

Page 14: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 14

Glossario dei termini, omonimi e sinonimi

Raramente i requisisti espressi in linguaggio naturale sono privi di ambiguità. È infatti frequente il caso diOmonimi: 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

Page 15: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 15

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

Page 16: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 16

Termine Descrizione Sinonimi Collegamenti

Partecipante Persona chepartecipa ai corsi

Studente Corso,Società

Docente Docente dei corsi.Può essere esterno

Insegnante Corso

Corso Corso organizzatodalla società. Puòavere più edizioni.

Seminario Docente

Società Ente presso cui ipartecipanti lavoranoo hanno lavorato

Posti Partecipante

Glossario dei termini

Page 17: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 17

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à

Page 18: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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

Strutturazione dei requisiti

in gruppi di frasi omogenee

Page 19: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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

Page 20: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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.

Page 21: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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

Page 22: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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

Page 23: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 23

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

Page 24: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 24

Operazioni sulla società di formazione

1. Inserisci un nuovo partecipante indicando tutti i suoi dati (40/giorno)2. Assegna un partecipante a una edizione di corso (50/giorno)3. Inserisci un nuovo docente indicando dati e corsi che può insegnare

(2/giorno)4. Assegna un docente abilitato a una edizione di corso (15/giorno)5. Stampa tutte le informazioni sulle edizioni passate di un corso, con titolo,

orari, lezioni e numero partecipanti (10/giorno)6. Stampa tutti i corsi offerti, con informazioni sui docenti che possono

insegnarli (20/giorno)7. Per ogni docente, trova i partecipanti a tutti i corsi da lui insegnati

(5/settimana)8. 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)

Page 25: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 25

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

Page 26: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 26

Trasformazione in schema E-R

Page 27: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

27Progettazione concettuale

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

Page 28: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 28

Strategia top-down

SpecificheSchema inizialeSchema intermedioSchema intermedioSchema finale

Page 29: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 29

Primitive di raffinamento top-down

Entità Gerarchia di entità

Persona

Persona

Uomo Donna

Page 30: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Entità Entità e associazioni

Esame EsameStudente Corso

Entità Entità e attributi

Impiegato

Cognome Età

StipendioImpiegato

Page 31: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Associazioni Entità e associazioni

in

Dipendente

Dipartimento

lavora con

Dipendente

Dirigente

Dipartimento

dirige

DiPersona Città

vive

Persona

nata

Città

Associazioni Più associazioni

Page 32: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Realizzazione di uno schema concettuale con applicazione delle primitive di raffinamento

top-down

EsameEsameStudente CorsoPersona

Persona

Uomo Donna

Impiegato

Cognome Età

Stipendio

Impiegato

Page 33: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 33

Strategia bottom-up

SpecificheSpecifiche 2Specifiche 1

Specifiche 1,1

Specifiche 1,2

Specifiche 2,1

Specifiche 2,2

Schema 1,1

Schema 1,2

Schema 2,1

Schema 2,2

Schema finale

Page 34: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 34

Specifiche su concetto Nuova entità

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

specifica su studente

Primitive di raffinamento bottom-up

Page 35: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Entità isolate Gerarchia di generalizzazione

DipendentePersona

Dipendente DirigenteDirigente

StudenteEsameStudente Corso

Corso

Entità isolate Associazioni tra le entità

Page 36: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Realizzazione dello schema con l’applicazione delle primitive di raffinamento Bottom-up

Studente Corso

Persona

Uomo Donna

ImpiegatoSpecifica su

impiegatoEsameStudente Corso

Persona

Uomo Donna

Page 37: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 37

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.

Page 38: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

38Progettazione concettuale

…modellato con strategia inside-out

Telefono

Data

(1,1)(0,1)

(1,N)(0,1)

(0,1)

(1,N)

Dipartimento

Direzione

Afferenza

NomeBudget

(0,N)

(1,N)

Progetto

Partecipazione

Cognome

Codice

Impiegato

(1,1)

Città

Composizione

Sede

Nome

Via

CAP

(1,N)

Indirizzo

Page 39: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

a) si individuano i concetti principali e si realizza uno schema scheletro

Strategia mista

Si organizzano i concetti più importanti in un semplice schema concettuale

Page 40: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

b) Sulla base dello schema scheletro si può decomporre, raffinare, espandere, integrare

Page 41: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

c) Analisi di qualità dello schema ed eventuale ristrutturazione

Page 42: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 42

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

Page 43: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 43

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

Page 44: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 44

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

Page 45: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 45

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.

Page 46: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 46

Partecipante

Corso

Docente

Partecipazione Docenza

Schema scheletro

Page 47: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 47

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.

Page 48: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 48

Raffinamento di partecipante

CF

Codice

…..

Partecipante

Page 49: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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.

Page 50: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

PosizioneLivello Titolo prof. Area

Partecipante

CF

Codice

…..

Impiegopassato

(0,N)

(0,N)

Dipendente Professionista

Datore Nome

…..Impiegocorrente

(0,N)

(1,1)

Page 51: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 51

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.

Page 52: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

(1,N)

(1,1)

ComposizioneTipologia

(1,1)

(0,N)

Corso

N.Part.Data fine

Data inizio

Edizionecorso

Orario Aula Giorno

Lezione

Titolo Codice

Page 53: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 53

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.

Page 54: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 54

Docente

Collaboratore Interno

CF

Cognome

Età

Telefono

Città nascita

(1,N)

Raffinamento di docente

Page 55: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 55

Partecipante

Corso

Docente

Partecipazione Docenza

Integrazione

Page 56: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

Progettazione concettuale 56

PartecipazionePartecipante Corso

partecipazionepassata

(0,N) (0,N)

partecipazionecorrente

(0,1) (0,N)

PartecipanteEdizione

corso

Integrazione: partecipante e corso

Page 57: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

DocenzaCorso Docente

Abilitazione(1,N)

(1,N)

Tipologia

Corso

CodiceTitolo

Datainizio

(0,N)

(1,1)

DocenzaEdizione

corsoDocente

Docenzapassata

(0,N)(0,1)

Docenzacorrente

(0,1) (0,1)

Integrazione: docente e corso

Page 58: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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

Page 59: Progettazione concettuale 1 persona Ente lavora in impiegatodatore

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.