PROGETTAZIONE CONCETTUALE 6í0 Analisi dei dati Comprende attivitça di æ acquisizione dei requisiti æ analisi dei requisiti æ costruzione dello schema concettuale æ costruzione del glossario possono essere separate o interconnesse, anche fortemente. Le discutiamo separatamente per ragioni didattiche. Molte riæessioni si applicano anche all'analisi delle funzioni. 6í1
I requisiti provengono da fonti diverse: æ utenti, attraverso: í interviste í documentazione apposita æ documentazione, contrattuale o preesistente: í normative èleggi, regolamenti di settoreè í regolamenti interni, procedure aziendali í realizzazioni preesistenti í moduli 6í2 æ Il reperimento dei requisiti çe un'attivitça diæcile e non standardizzabile æ utenti diversi possono fornire informazioni diverse ècomplementari o contraddittorieè æ gli utenti a livello pçu alto hanno di solito una visione piçu ampia ma meno dettagliata; di solito possono indirizzare verso gli esperti dei singoli sottoproblemi æ le interviste dovrebbero portare ad una acquisizione ëtop-down" dei requisiti æ l'attivitça di analisi inizia con i primi requisiti ottenuti e indirizza verso l'acquisizione ulteriore 6í3
nell'interazione con gli utenti æ eæettuare spesso èsin dall'inizioè veriæche di comprensione e coerenza æ veriæcare anche per mezzo di esempi ègenerali e relativi a casi limiteè æ richiedere deænizioni e classiæcazioni æ far evidenziare gli aspetti essenziali rispetto a quelli marginali 6í4 regole generali: æ scegliere il corretto livello di astrazione æ standardizzare la struttura delle frasi æ linearizzare le frasi e suddividere quelle articolate æ separare le frasi sui dati da quelle sulle funzioni æ individuare omonimi e sinonimi; uniæcare i termini æ rendere esplicito il riferimento fra termini æ costruire un glossario dei termini æ riorganizzare le frasi per concetti èpuço essere necessario replicareè 6í5
Base di dati bibliograæca Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliograæci 6í6 Base di dati bibliograæca Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliograæci, con tutte le informazioni da riportarsi in una bibliograæa. Per ogni pubblicazione deve esistere un codice identiæcante costituito di sette caratteri, indicanti le iniziali degli autori, l'anno di pubblicazione e un carattere aggiuntivo per la discriminazione delle collisioni. 6í7
Base di dati bibliograæca Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliograæci, con tutte le informazioni da riportarsi in una bibliograæa. Le pubblicazioni sono di due tipi, monograæe èper le quali interessano editore, data e luogo di pubblicazioneè e articoli su rivista ècon nome della rivista, volume, numero, pagine e anno di pubblicazioneè; per entrambi i tipi si debbono ovviamente riportare i nomi degli autori. Per ogni pubblicazione deve esistere un codice identiæcante... 6í8 Societça diformazione Si vuole realizzare una base di dati per una societça che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Per i partecipanti ècirca 5000è, identiæcati da un codice, si vuole memorizzare il codice æscale, il cognome, l'etça, il sesso, il luogo di nascita, il nome delle societça per le quali lavorano attualmente, 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è il giudizio ænale e il periodo. Rappresentiamo anche i seminari che stanno attualmente frequentando e, per ogni giorno, i luoghi e le ore dove sono tenute le lezioni. Icorsi hanno un codice, un titolo e possono avere varie edizioni con un certo numero di partecipanti. Se gli studenti sono liberi professionisti, vogliamo conoscere l'area di interesse e, se lo possiedono, il titolo. Di quelli che lavorano per un ente dello stato, vogliamo conoscere invece il loro livello e la posizione ricoperta. Per gli insegnanti ècirca 300è, rappresentiamo il cognome, l'etça, 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 della societça o collaboratori esterni. 6í9
Termine Descrizione Sinonimi Collegamenti Partecipante Partecipante ai corsi. Studente Corso, Puço essere un dipendente Societça o un professio- nista. Docente Docente dei corsi. Puço essere esterno. Insegnante Corso Corso Corsi offerti. Possono Seminario Docente avere varie edizioni. Societça Societça presso le quali i partecipanti lavorano eèo hanno lavorato. Posti Partecipante 6í10 Frasi di carattere generale Si vuole realizzare una base di dati per una societça che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Frasi relative ai partecipanti Per i partecipanti ècirca 5000è, identiæcati da un codice, rappresentiamo il codice æscale, il cognome, l'etça, il sesso, la cittça di nascita, le societça per le quali lavorano attualmente e le societça per le quali hanno lavorato in precedenza èinsieme al periodo di lavoroè, le edizioni dei corsi che hanno frequentato, con la relativa votazione ænale in decimi, e il periodo di frequenza. Rappresentiamo anche le edizioni dei corsi che stanno attualmente frequentando. Frasi relative alle societça Relativamente alle societça per le quali i partecipanti lavorano attualmente eèo hanno lavorato, rappresentiamo il nome, l'indirizzo e il numero di telefono. 6í11
Frasi relative ai corsi Per i corsi ècirca 200è, rappresentiamo il titolo e il codice, le varie edizioni e, per le edizioni in corso, rappresentiamo il giorno della settimana, le aule e le ore dove sono tenute le lezioni e il numero di partecipanti. Frasi relative a tipi speciæci 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 statali, rappresentiamo invece il loro livello e la posizione ricoperta. Frasi relative ai docenti Per i docenti ècirca 300è, rappresentiamo il cognome, l'etça, la cittça 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 della societça di formazione o collaboratori esterni. 6í12 Strategie di progetto æ top-down æ bottom-up æ inside-out 6í13
Specifiche Schema iniziale Raffinamenti Schema intermedio Raffinamenti Schema intermedio Raffinamenti Schema finale 6í14 Primitiva di trasformazione Concetto iniziale Risultato T 1 : Da entità a relazione tra entità T 2 : Da entità a generalizzazione... T 3 : Da relazione a insieme di relazioni T 4 : Da relazione a entità con relazioni T 5 : Introduzione di attributi su entità T 6 : Introduzione di attributi su relazioni 6í15
Specifiche Componente 1... Componente n Componente 1,1... Componente 1,m Componente n,1... Componente n,p Schema 1,1... Schema 1,m Schema n,1... Schema n,p Integrazione di schemi Schema finale 6í16 Primitiva di trasformazione Concetto iniziale Risultato T 1 : Generazione di entità T 2 : Generazione di relazione T 3 : Generazione di generalizzazione...... T 4 : Aggregazione di attributi su entità T 5 : Aggregazione di attributi su relazione 6í17
Codice (1,1) DIREZIONE Cognome Stipendio Età IMPIEGATO (0,1) AFFERENZA Data afferenza DIPARTIMENTO (1,1) Telefono Nome PARTECIPAZIONE COMPOSIZIONE Nome Budget PROGETTO Data consegna Data inizio SEDE Città Numero civico Indirizzo Via CAP 6í18 æ si procede di solito con una strategia ibrida æ si individuano i concetti generali e fondamentali èschema scheletroè æ poi si raæna, espande, aggrega æ peraltro, la documentazione puço comunque essere organizzata in modo top-down æ spesso si procede per settori e poi si ëintegra" 6í19
Deænizione dello schema scheletro ëprogettazione iniziale" æ si individuano i concetti piçu importanti æ ad esempio perchçe piçu citati o perchçe indicati esplicitamente come cruciali æ e li si organizza in un semplice schema concettuale; æ çe importante concentrarsi sugli aspetti essenziali: molti attributi, le cardinalitça, gerarchie articolate possono essere rimandate 6í20 æ Come si procede nella costruzione dello schema scheletro? æ Non ci sono regole precise. çe opportuno seguire le deænizione del modello E-R: í se un concetto ha proprietça signiæcative eèo descrive oggetti con esistenza autonoma è entitça í se un concetto non ha proprietça... è attributo èdi chi?è í se due o piçu concetti sono correlati è relationship í se un concetto çe caso particolare di un altro è gerarchia 6í21
Deænizione di uno schema completo æ considerando successivamente tutti i termini del glossario æ e tutte le frasi delle speciæche, æ si modiæca, espande, raæna lo schema ænchçe nessun concetto çe trascurato æ si deæniscono identiæcatori e cardinalitça æ si eseguono ripetute analisi di qualitça 6í22 Qualitça di uno schema concettuale æ correttezza æ completezza æ leggibilitça æ minimalitça 6í23
PARTECIPANTE PARTECIPAZIONE CORSO DOCENZA DOCENTE 6í24 Cognome CF Sesso Città di nascita PARTECIPANTE Età Codice Area Posizione PROFESSIONISTA (0,1) Titolo prof. Data inizio DIPENDENZA PASSATA DIPENDENTE PRIVATO (1,1) Data fine SOCIETÀ DIPENDENTE PUBBLICO DIPENDENZA ATTUALE Livello Data inizio Indirizzo Nome Telefono 6í25
Cognome CF Età Telefono Città di nascita DOCENTE COLLABORATORE DIPENDENTE 6í26 Orario Aula Giorno Data fine N. part. Data inizio Nome Codice LEZIONE (1,1) COMPOSIZIONE EDIZIONE CORSO (1,1) TIPOLOGIA CORSO 6í27
Orario Aula Giorno Città di nascita Area Sesso Età PROFESSIONISTA Data inizio Codice Cognome CF PARTECIPANTE DIPENDENTE PRIVATO SOCIETÀ (0,1) Titolo prof. (1,1) DIPENDENZA DIPENDENZA PASSATA ATTUALE Data fine Votazione PARTECIPAZIONE PASSATA (0,1) PARTECIPAZIONE ATTUALE DIPENDENTE PUBBLICO N. part. Posizione Livello Data inizio Nome LEZIONE (1,1) COMPOSIZIONE CORSO DOCENZA PASSATA (0,1) EDIZIONE DOCENZA CORSO ATTUALE (1,1) Data fine Data inizio TIPOLOGIA ABILITAZIONE Codice COLLABORATORE CF Telefono Cognome DOCENTE Età Città di nascita DIPENDENTE Indirizzo Nome Telefono 6í28 æ Analisi dei requisiti. 1. Costruire un glossario dei termini; 2. Analizzare i requisiti ed eliminare le ambiguitça presenti; 3. Raggruppare i requisiti in insiemi omogenei; æ Passo base. 1. Individuare i concetti piçu rilevanti e rappresentarli in uno schema scheletro; æ Passo di decomposizione èse opportuno o necessarioè. 1. Eæettuare una decomposizione dei requisiti con riferimento ai concetti presenti nello schema scheletro; æ Passo iterativo: da ripetere, per tutti i sotto-schemi èse presentiè, ænchçe ogni speciæca çe stata rappresentata. 1. Raænare i concetti presenti sulla base delle loro speciæche; 2. Aggiungere nuovi concetti allo schema per descrivere speciæche non ancora descritte; 6í29
æ Passo di integrazione èda eæettuare se sono presenti diversi sotto-schemiè. 1. Integrare i vari sotto-schemi in uno schema generale facendo riferimento allo schema scheletro. æ Analisi di qualitça. 1. Veriæcare la correttezza dello schema ed eventualmente ristrutturare lo schema; 2. Veriæcare la completezza dello schema ed eventualmente ristrutturare lo schema; 3. Veriæcare la minimalitça, documentare le ridondanze ed eventualmente ristrutturare lo schema; 4. Veriæcare la leggibilitça dello schema ed eventualmente ristrutturare lo schema. 6í30 Esercizio Deænire uno schema E-R che descriva i dati di una applicazione relativa all'anagrafe del comune di Chissadove, con cittadini e famiglie. Vanno memorizzate æ informazioni sui cittadini nati nel comune e su quelli residenti in esso; ogni cittadino çe identiæcato dal codice æscale e ha cognome, nome, sesso e data di nascita; inoltre í per i nati nel comune, sono registrati anche gli estremi di registrazione ènumero del registro e paginaè; í per i nati in altri comuni, çe registrato il comune di nascita. æ informazioni sulle famiglie residenti, ognuna delle quali ha uno e un solo capofamiglia e zero o piçu altri membri, per ognuno dei quali çe indicato ècon una siglaè il grado di parentela èconiuge, æglio, genitore, o altroè; ogni cittadino residente appartiene ad una e una sola famiglia; tutti i membri di una famiglia hanno lo stesso domicilio èvia, numero civico, internoè. 6í31
Esercizio Analizzare le speciæche e costruire lo schema E-R relativo a partite di un campionato secondo le seguenti speciæche. Per ogni partita, descrivere il girone e la giornata in cui si çe svolta, il numero progressivo nella giornata èes. prima partita, seconda partita, ecc.è, la data, con giorno, mese, anno, le squadre coinvolte nella partita, con nome, cittça della squadra e allenatore, e inæne per ciascuna squadra se ha giocato in casa. Si vogliono conoscere i giocatori che giocano in ogni squadra con la loro data di nascita e il loro ruolo principale. Si vuole conoscere per ogni giornata, quanti punti ha ogni squadra. Si vogliono anche conoscere, per ogni giornata, i giocatori di ogni squadra che hanno giocato e in che ruolo ha giocato ogni giocatore èi ruoli, perciço, possono cambiare di partita in partitaè. Per ogni partita, si vuole rappresentare l'arbitro, con nome, cognome, cittça e regione di nascita. Distinguere le partite giocate regolarmente da quelle rinviate. Per quelle rinviate, rappresentare la data in cui si sono eæettivamente giocate. Distinguere anche le partite giocate in una cittça diversa da quella della squadra ospitante; per queste si vuole rappresentare la cittça in cui si svolgono, nonchçe il motivo della variazione di sede. Dei giocatori interessa anche la cittça e la regione di nascita. 6í32