Date post: | 02-May-2015 |
Category: |
Documents |
Upload: | ginevra-manfredi |
View: | 217 times |
Download: | 1 times |
Progettazione concettuale 1
Progettazione concettualeProgettazione concettuale
persona Ente
lavora in
impiegato datore
requisiti delSistema informativo
progettazione concettuale
progettazione logica
progettazione fisica
SCHEMA LOGICO
SCHEMA CONCETTUALE
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
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)
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
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
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
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”
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
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
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.
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
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
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
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
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à
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
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.
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.
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.
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.
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
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)
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
Progettazione concettuale 26
Trasformazione in schema E-R
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
Progettazione concettuale 28
Strategia top-down
SpecificheSchema inizialeSchema intermedioSchema intermedioSchema finale
Progettazione concettuale 29
Primitive di raffinamento top-down
Entità Gerarchia di entità
Persona
Persona
Uomo Donna
Entità Entità e associazioni
Esame EsameStudente Corso
Entità Entità e attributi
Impiegato
Cognome Età
StipendioImpiegato
Associazioni Entità e associazioni
in
Dipendente
Dipartimento
lavora con
Dipendente
Dirigente
Dipartimento
dirige
DiPersona Città
vive
Persona
nata
Città
Associazioni Più associazioni
Realizzazione di uno schema concettuale con applicazione delle primitive di raffinamento
top-down
EsameEsameStudente CorsoPersona
Persona
Uomo Donna
Impiegato
Cognome Età
Stipendio
Impiegato
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
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
Entità isolate Gerarchia di generalizzazione
DipendentePersona
Dipendente DirigenteDirigente
StudenteEsameStudente Corso
Corso
Entità isolate Associazioni tra le entità
Realizzazione dello schema con l’applicazione delle primitive di raffinamento Bottom-up
Studente Corso
Persona
Uomo Donna
ImpiegatoSpecifica su
impiegatoEsameStudente Corso
Persona
Uomo Donna
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.
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
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
b) Sulla base dello schema scheletro si può decomporre, raffinare, espandere, integrare
c) Analisi di qualità dello schema ed eventuale ristrutturazione
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
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
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
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.
Progettazione concettuale 46
Partecipante
Corso
Docente
Partecipazione Docenza
Schema scheletro
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.
Progettazione concettuale 48
Raffinamento di partecipante
CF
Codice
…..
Partecipante
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.
PosizioneLivello Titolo prof. Area
Partecipante
CF
Codice
…..
Impiegopassato
(0,N)
(0,N)
Dipendente Professionista
Datore Nome
…..Impiegocorrente
(0,N)
(1,1)
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.
(1,N)
(1,1)
ComposizioneTipologia
(1,1)
(0,N)
Corso
N.Part.Data fine
Data inizio
Edizionecorso
Orario Aula Giorno
Lezione
Titolo Codice
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.
Progettazione concettuale 54
Docente
Collaboratore Interno
CF
Cognome
Età
Telefono
Città nascita
(1,N)
Raffinamento di docente
Progettazione concettuale 55
Partecipante
Corso
Docente
Partecipazione Docenza
Integrazione
Progettazione concettuale 56
PartecipazionePartecipante Corso
partecipazionepassata
(0,N) (0,N)
partecipazionecorrente
(0,1) (0,N)
PartecipanteEdizione
corso
Integrazione: partecipante e corso
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
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.
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.