610 likes | 876 Views
impiegato. datore. lavora in. Ente. persona. Progettazione concettuale. requisiti del Sistema informativo. progettazione concettuale. SCHEMA CONCETTUALE. progettazione logica. SCHEMA LOGICO. progettazione fisica. Datore. Impiego passato. Impiego corrente. Partecipante.
E N D
impiegato datore lavora in Ente persona Progettazione concettuale Progettazione concettuale
requisiti del Sistema informativo progettazione concettuale SCHEMA CONCETTUALE progettazione logica SCHEMA LOGICO progettazione fisica
Datore Impiego passato Impiego corrente Partecipante Professionista Dipendente 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 Progettazione concettuale
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
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
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 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
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
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
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
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 glossariodei 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
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
Glossario dei termini Progettazione concettuale
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
Strutturazione dei requisiti in gruppi di frasi omogenee Progettazione concettuale
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
Operazioni sulla società di formazione • 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
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
Trasformazione in schema E-R Progettazione 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
Strategia top-down Schema finale Schema intermedio Schema intermedio Schema iniziale Specifiche Progettazione concettuale
Persona Uomo Donna Primitive di raffinamento top-down • Entità Gerarchia di entità Persona Progettazione concettuale
Esame Esame Studente Corso Cognome Età Impiegato Impiegato Stipendio • Entità Entità e associazioni • Entità Entità e attributi
nata Di Persona Città Persona vive Città Dipendente Dipendente Dipartimento lavora con in dirige Dirigente Dipartimento • Associazioni Più associazioni • Associazioni Entità e associazioni
Cognome Età Impiegato Studente Corso Persona Esame Stipendio Uomo Donna Realizzazione di uno schema concettuale con applicazione delle primitive di raffinamento top-down Esame Persona Impiegato
Schema 2,1 Specifiche 2,1 Schema 1,1 Specifiche 1,1 Specifiche 1 Specifiche 2 Schema 2,2 Specifiche 2,2 Schema 1,2 Specifiche 1,2 Strategia bottom-up Schema finale Specifiche Progettazione concettuale
specifica su studente 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 Primitive di raffinamento bottom-up • Specifiche su concetto Nuova entità Progettazione concettuale
Studente Esame Studente Corso Corso Persona Dipendente Dirigente Dipendente Dirigente • Entità isolate Associazioni tra le entità • Entità isolate Gerarchia di generalizzazione
Studente Corso Studente Corso Persona Esame Persona Uomo Donna Uomo Donna Realizzazione dello schema con l’applicazione delle primitive di raffinamento Bottom-up Impiegato Specifica su impiegato
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
(0,1) (1,1) Direzione Cognome Telefono (1,N) Impiegato Dipartimento (1,N) (0,1) Afferenza (1,1) Nome Codice (0,N) Composizione (0,1) Partecipazione Data (1,N) (1,N) Sede Progetto Via Indirizzo Città CAP Budget Nome …modellato con strategia inside-out
Si organizzano i concetti più importanti in un semplice schema concettuale Strategia mista a) si individuano i concetti principali e si realizza uno schema scheletro
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
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
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
Un esempio di progettazione concettuale Società di formazione Progettazione concettuale
Docenza Partecipazione Schema scheletro Corso Partecipante Docente Progettazione concettuale
Raffinamento di partecipante CF Partecipante Codice ….. Progettazione concettuale
(0,N) (0,N) Impiego passato Impiego corrente CF (1,1) (0,N) Codice ….. Professionista Dipendente Livello Titolo prof. Posizione Area Datore Nome ….. Partecipante