Progettazione concettuale 1 persona Ente lavora in impiegatodatore
requisiti del Sistema informativo progettazione concettuale progettazione logica progettazione fisica SCHEMA LOGICO SCHEMA CONCETTUALE
Progettazione concettuale3 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 Impiego passato Dipendente Professionista Datore Impiego corrente
Progettazione concettuale4 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 concettuale5 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 concettuale6 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
Progettazione concettuale7 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 concettuale8 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 concettuale9 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
Un esempio
Progettazione concettuale13 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 concettuale14 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 concettuale15 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 concettuale16 Glossario dei termini
Progettazione concettuale17 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 concettuale18 Strutturazione dei requisiti in gruppi di frasi omogenee
Progettazione concettuale19
Progettazione concettuale21
Progettazione concettuale22
Progettazione concettuale23 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 concettuale24 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 concettuale25 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 concettuale26 Trasformazione in schema E-R
Progettazione concettuale27 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 top-down bottom-up: si suddividono le specifiche in modo da sviluppare semplici schemi parziali ma dettagliati, che poi vengono integrati tra loro bottom-up inside-out: lo schema si sviluppa “a macchia d’olio”, partendo dai concetti più importanti, aggiungendo quelli a essi correlati, e così via inside-out
Progettazione concettuale28 Strategia top-down Specifiche Schema iniziale Schema intermedio Schema finale
Progettazione concettuale29 Primitive di raffinamento top-down Entità Gerarchia di entità Persona Uomo Donna
Entità Entità e associazioni Esame StudenteCorso Entità Entità e attributi Impiegato CognomeEtà Stipendio Impiegato
Associazioni Entità e associazioni in Dipendente Dipartimento lavora con Dipendente Dirigente Dipartimento dirige Di Persona Città vive Persona nata Città Associazioni Più associazioni
Realizzazione di uno schema concettuale con applicazione delle primitive di raffinamento top-down Esame StudenteCorso Persona Uomo Donna Impiegato CognomeEtà Stipendio Impiegato
Progettazione concettuale33 Strategia bottom-up Specifiche Specifiche 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 concettuale34 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 Dipendente Persona Dipendente Dirigente Studente Esame StudenteCorso Entità isolate Associazioni tra le entità
Realizzazione dello schema con l’applicazione delle primitive di raffinamento Bottom-up StudenteCorso Persona Uomo Donna Impiegato Specifica su impiegato Esame StudenteCorso Persona Uomo Donna
Progettazione concettuale37 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.
…modellato con strategia inside-out Telefono Data (1,1) (0,1) (1,N) (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 concettuale42 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 concettuale43 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 concettuale44 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 concettuale45 Un esempio di progettazione concettuale Società di formazione
Progettazione concettuale46 Partecipante Corso Docente Partecipazione Docenza Schema scheletro
Progettazione concettuale47
Progettazione concettuale48 Raffinamento di partecipante CF Codice ….. Partecipante
Posizione Livello Titolo prof. Area Partecipante CF Codice ….. Impiego passato (0,N) Dipendente Professionista Datore Nome ….. Impiego corrente (0,N) (1,1)
Progettazione concettuale51
(1,N) (1,1) Composizione Tipologia (1,1) (0,N) Corso N.Part. Data fine Data inizio Edizione corso OrarioAula Giorno Lezione Titolo Codice
Progettazione concettuale53
Progettazione concettuale54 Docente Collaboratore Interno CF Cognome Età Telefono Città nascita (1,N) Raffinamento di docente
Progettazione concettuale55 Partecipante Corso Docente Partecipazione Docenza Integrazione
Progettazione concettuale56 Partecipazione Partecipante Corso partecipazione passata (0,N) partecipazione corrente (0,1) (0,N) Partecipante Edizione corso Integrazione: partecipante e corso
Docenza Corso Docente Abilitazione (1,N) Tipologia Corso CodiceTitolo Data inizio (0,N) (1,1) Docenza Edizione corso Docente Docenza passata (0,N) (0,1) Docenza corrente (0,1) Integrazione: docente e corso
Esercizio l 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 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 l 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.