Fasi del ciclo di vita

Documenti analoghi
LA PROGETTAZIONE CONCETTUALE

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Modello Entità-Relazione

IL MODELLO ENTITA - RELAZIONE

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

analisi dei requisiti

Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a

Progettazione concettuale

Modello Entità-Relazione (E-R)

Basi di dati. Progettazione concettuale. Analisi dei requisiti e progettazione concettuale ("Analisi dei dati") Requisiti. Acquisizione per interviste

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Progettazione concettuale

Progettazione concettuale

Progettazione concettuale

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Progettazione concettuale

Esercizio 1 ESERCIZI DI PROGETTAZIONE CONCETTUALE DI BASI DI DATI. La base di dati di una università contiene informazioni

Il modello Entità/Relazioni (ER)

Ciclo di vita di un sistema informativo

Un esempio di progettazione concettuale

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Progettazione di Basi di Dati

Cap. 3 - Il modello ER

Metodologie e modelli di progetto

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Progettazione di basi di dati

Progettazione di basi di dati

Il modello Entity-Relationship: elementi avanzati

Informatica Industriale

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

Elena Baralis, Claudio Demartini

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Generazione diagrammi ER

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Programmazione con Java

I requisiti provengono da fonti diverse: æ utenti, attraverso: í interviste í documentazione apposita æ documentazione, contrattuale o preesistente: í

Esercizio 1: un semplice schema concettuale. Descrivere lo schema concettuale della seguente realtà:

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

I database. Introduzione alla teoria delle basi di dati

Fase di Analisi Class Diagram. Esercizi

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Requisiti della base di dati. Schema concettuale

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

1. Dire cosa si intende per componente intensionale e componente estensionale di una base di dati.

RELAZIONI E BASI DI DATI

Corso di Basi di Dati

REGIONE BASILICATA UFFICIO S. I. R. S.

Esercitazione 2: Progettazione Concettuale

Elementi di Informatica LB Basi di Dati. Anno accademico 2007/2008 Prof. Stefano Contadini

BASI DATI INFORMATICA

Raccolta e analisi dei requisiti

TRADUZIONE DI SCHEMI

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

I modelli logici dei dati

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

PROGETTAZIONE CONCETTUALE

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Il modello Entity-Relationship

SISTEMI INFORMATIVI E DATABASE

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Progettazione logica

Fase di Analisi Class Diagram. Esercizi

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

Traduzione ER - relazionale

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione

INTEGRAZIONE DI SCHEMI E/R

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Basi di dati 19 dicembre 2016 Prova parziale Compito A Tempo a disposizione: un ora e quindici minuti. Libri chiusi.

Dispensa di Informatica II.1

Capitolo 6. Esercizio 6.1

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Progettazione di Database

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 22 Giugno 04 Nome: Cognome: Matricola:

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

Corso di Ingegneria del Software. Modelli di produzione del software

MODELLO e RAPPRESENTAZIONE

Considerate lo schema ER in figura: lo schema rappresenta varie proprietà di uomini e donne. Copyright The McGraw-Hill Companies, srl

ESERCIZI DI MODELLAZIONE E-R

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Progettazione concettuale

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola:

I Tipi di Dato Astratto

Traduzione dello schema E-R in modello logico relazionale

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Insegnamento di Basi di Dati

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per un concessionario di automobili.

INSEGNANTE TECNICO PROGETTISTA MECCANICO TECNICO

Transcript:

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2009-2010 2010 Docente: Gigliola Vaglini Docente laboratorio: Luca Martini Processo di sviluppo di sistemi software Lo sviluppo di sistemi software in generale, e di sistemi informativi in particolare, è un attività complessa che comprende diverse fasi. Ciclo di vita: sequenza di attività, anche ripetute ciclicamente, svolte da analisti, progettisti, utenti, nello sviluppo e nell uso dei sistemi sw 1 3 Fasi del ciclo di vita Lezione 2 Progettazione di basi di dati: metodologie e modelli Studio di fattibilità: definizione costi e priorità Raccolta e analisi dei requisiti: studio delle proprietà del sistema Progettazione: individuazione dei dati e delle funzioni Realizzazione Validazione e collaudo: sperimenazione Funzionamento: il sistema diventa operativo 2 4 1 2

Modello del ciclo di vita a cascata (Waterfall model) Un buon progetto Per garantire prodotti di buona qualità è opportuno seguire una metodologia di progetto, basata su modelli per rappresentare i dati che siano facili da usare decomposizione delle attività in fasi successive strategie e criteri di scelta nei vari passi 5 7 La progettazione è una fase del ciclo di vita Ci focalizzeremo sul passo 3 del ciclo di vita più alcuni aspetti di raccolta e analisi dei requisiti. La progettazione di un sistema software consta fondamentalmente di due aspetti progettazione dei dati progettazione delle applicazioni Nel caso di sistemi informativi il progetto della base di dati ha un ruolo centrale Prima si progetta la base di dati e poi le applicazioni. Progettare per livelli di astrazione Basandosi sull architettura ANSI/SPARC, anche la progettazione procede per livelli: Livello concettuale. Esprime i requisiti di un sistema in una descrizione adatta all analisi dal punto di vista informatico Livello logico. Evidenzia l organizzazione dei dati dal punto di vista del loro contenuto informativo, descrivendo la struttura di ciascun record e i collegamenti tra record diversi. Livello fisico. A questo livello la base di dati è vista come un insieme di blocchi fisici su disco. Qui viene decisa l allocazione dei dati e le modalità di memorizzazione dei dati sul disco. 6 8 3 4

Schemi di basi di dati I prodotti della varie fasi della progettazione sono schemi della base di dati secondo un certo modello dei dati, ognuno basato su un insieme di costrutti per organizzare i dati e descriverne la dinamica Schema concettuale Schema logico Schema fisico Analisi dei requisiti 9 11 La progettazione Dall analisi analisi dei dati allo schema concettuale acquisizione dei requisiti: il reperimento dei requisiti è un'attività difficile e non standardizzabile analisi dei requisiti: l'attività di analisi inizia con i primi requisiti raccolti e spesso indirizza verso altre acquisizioni costruzione del glossario 10 12 5 6

Come si acquisiscono i requisitir direttamente dagli utenti interviste documentazione apposita da documentazione esistente: normative (leggi, regolamenti di settore) regolamenti interni, procedure aziendali realizzazioni preesistenti Interazione con gli utenti Spunti: effettuare spesso verifiche di comprensione e coerenza 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 13 15 Interazione con gli utenti Problemi utenti diversi possono fornire informazioni diverse utenti a livello più alto hanno spesso una visione più ampia ma meno dettagliata spesso l acquisizione dei requisiti avviene per raffinamenti successivi Interazione con gli utenti tramite documentazione Regole generali: scegliere il corretto livello di astrazione standardizzare la struttura delle frasi separare le frasi sui dati da quelle sulle funzioni organizzare re termini e concetti 14 16 7 8

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 Società di formazione (2) Rappresentiamo anche i corsi attualmente attivi 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. 17 19 Un esempio Società di formazione (1) Si vuole realizzare una base di dati per una società che eroga corsi: di ogni corso vogliamo rappresentare i dati dei partecipanti 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 gia frequentato (le materie sono in tutto circa 200) e il giudizio finale. 18 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. 20 9 10

Glossario dei termini Termine Descrizione Sinonimi Collegamenti Partecipante Persona che partecipa ai corsi Studente Corso, Società Docente Docente dei corsi. Può essere esterno Insegnante Corso Corso Corso organizzato Materia Docente dalla società. Può avere più edizioni. Società Ente presso cui i partecipanti lavorano o hanno lavorato Posti Partecipante Frasi di carattere generale Si vuole realizzare una base di dati per una società che eroga corsi: di ogni corso vogliamo rappresentare i dati dei partecipanti e dei docenti. 21 23 Strutturazione dei requisiti in gruppi di frasi omogenee 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. 22 24 11 12

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. 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. 25 27 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. Modello concettuale 26 28 13 14

Modelli concettuali Permettono di ragionare sulla realtà di interesse Permettono di rappresentare le classi di dati di interesse e le loro correlazioni le specifiche delle operazioni implicano solo la verifica che lo schema contenga tutte le informazioni necessarie per eseguirle Prevedono efficaci rappresentazioni grafiche (utili anche per la documentazione e la comunicazione) Partire direttamente dal modello logico ci fa perdere nei dettagli: i modelli logici sono più rigidi Passaggi tra un modello e l altro? Progettazione concettuale Progettazione logica Progettazione fisica 29 31 La progettazione concettuale Traduce i requisiti di un qualsiasi sistema informatico in una descrizione: formale: espressa in modo non ambiguo, ma adeguato a catturare le caratteristiche fondamentali del mondo da descrivere integrata: la descrizione si riferisce alla totalità dell ambiente (non settoriale) indipendente dalla realizzazione fisica e basata su un processo di astrazione Cioè il progetto evidenzia alcune proprietà rilevanti ai fini dell applicazione Ma esclude le proprietà irrilevanti ai fini dell applicazione Il modello utilizzato Sono stati proposti diversi modelli, basati su linguaggi formali eseguibili e non eseguibili rappresentazioni grafiche corredate da descrizioni, il modello Entity-Relationship (E-R) appartiene a questa categoria il modello E-R (Entity-Relationship, P.P.Chen 1976) si è ormai affermato nelle metodologie di progetto e nei sistemi SW di ausilio alla progettazione (strumenti CASE) 30 32 15 16

Costrutti del modello E-RE Costrutti di base Entità Relationship Attributo Altri costrutti Identificatore Generalizzazione. Entità/occorrenza Entità classe di oggetti, persone, "omogenei" es. l entita impiegato Occorrenza (o istanza) di entità elemento della classe (l'oggetto, la persona,,, non un valore dei dati legati all oggetto oggetto) es.. un impiegato,, non so nulla di lui,, ma esiste 33 35 Entità Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza autonoma Rappresentazione grafica di entità Impiegato Dipartimento Esempi: impiegato, città,, conto corrente, ordine, fattura Città Vendita 34 36 17 18

Entità: caratteristiche Ogni entità ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare Relationship: : occorrenze Un occorrenza di relationship binaria è una coppia di occorrenze di entità,, una per ogni entità coinvolta Un occorrenza di relationship n-aria n è una n-upla di occorrenze di entità,, una per ciascuna entità coinvolta Nell'ambito di una relationship non ci possono essere occorrenze ripetute sulle stesse occorrenze di entità 37 39 Relationship Legame logico fra due o più entità, rilevante nell applicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso) Rappresentazione grafica di relationship Studente Esame Corso Chiamata anche: relazione, correlazione, associazione Impiegato Residenza Città 38 40 19 20

Relationship: caratteristiche Ogni relationship ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare sostantivi invece che verbi (se possibile) per non dare un verso alla relationship 41 Studente Relationship Esame Corso Problema. Ma Ma se uno studente sostiene piu volte lo stesso esame prima di essere promosso,, come si vede? Non Non si può vedere perchè risulterebbero coppie di occorrenze di entità uguali Esame, studente, corso devono diventare tutte entità, messe in relazione dalla relationship Prova,, ad esempio 43 Esempi di occorrenze (di entità e di relationship) E1 Soluzione: Relationship n-aria S1 S2 S3 E2 E3 C1 C2 AppelloEsame Prova Studente S4 E4 C3 Corso Studente Esame Corso 42 44 21 22

Relationship diverse sulle stesse entità Relationship ricorsiva con ruoli Sede di lavoro Successione Impiegato Residenza Città Successore Sovrano Predecessore 45 47 Relationship ricorsiva Relationship mista (ternaria) Superficie Conoscenza Migliore Confronto Peggiore Persona Tennista 46 48 23 24

Attributo Proprietà elementare di un entit entità o di una relationship Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dell attributo Attributi composti Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro significato o uso Esempio: Via, Numero civico e CAP formano un Indirizzo 49 51 Attributi: rappresentazione grafica Cognome Nome Data Voto Titolo Rappresentazione grafica Cognome Studente Esame Corso Impiegato Età Indirizzo Via Numero Matricola Codice CAP 50 52 25 26

Schema E-R E R con solo i costrutti base Si vuole descrivere l organizzazione l di un azienda Con sedi diverse Ogni sede è composta di vari dipartimenti Gli impiegati dell azienda afferiscono ai vari dipartimenti e un impiegato li dirige Gli impiegati lavorano su progetti Ogni entità o relationship può avere vari attributi. Altri costrutti del modello E-RE Cardinalità di relationship di attributo Identificatore interno esterno Generalizzazione 53 55 Cognome Direzione Telefono Cardinalità di relationship Impiegato Codice Afferenza Dipartimento Nome Coppia di valori associati a ogni entità che partecipa a una relationship Partecipazione Data Composizione specificano il numero minimo e massimo di occorrenze dellad relationship cui ciascuna occorrenza di entità può partecipare Progetto Budget Nome Via CAP Indirizzo Sede Città 54 56 27 28

Esempio di cardinalità Occorrenze di Residenza Impiegato (1,5) (0,50) Assegnamento Incarico S3 S1 S2 R1 R2 C2 C1 S4 R3 C3 Studente R4 Residenza C4 Città 57 59 per semplicità usiamo solo tre simboli: 0 e 1 per la cardinalità minima: 0 = partecipazione opzionale 1 = partecipazione obbligatoria 1 e N per la massima: N non pone alcun limite Studente Cardinalità di Residenza (1,1) (0,N) Residenza Città 58 60 29 30

Tipi di relationship Con riferimento alle cardinalità massime, abbiamo relationship: uno a uno uno a molti molti a molti Persona Relationship uno a molti Cinema (0,1) (0,N) Impiego (1,1) (0,N) Ubicazione Azienda Località Comune (1,1) (1,N) Ubicazione Provincia 61 63 Relationship molti a molti Studente (0,N) Esame (0,N) Corso Relationship uno a uno Professore (0,1) (0,1) Titolarità Cattedra Montagna (0,N) Scalata (1,N) Alpinista Professore di ruolo (1,1) (0,1) Titolarità Cattedra Macchinista (1,N) Abilitazione (1,N) Locomotore Professore di ruolo (1,1) (1,1) Titolarità Cattedra coperta 62 64 31 32

Cardinalità di attributi È possibile associare delle cardinalità anche agli attributi, con due scopi: indicare opzionalità ("informazione incompleta") indicare attributi multivalore Identificatore di una entità strumento per l identificazione l univoca delle occorrenze di un entit entità costituito da: attributi dell entit entità identificatore interno (o chiave) (attributi +) entità esterne attraverso relationship identificatore esterno 65 67 Rappresentazione grafica Identificatori interni Targa (0,N) Telefono Automobile Modello Impiegato Nome Data Nascita (0,1) Numero patente Persona Cognome Indirizzo Nome 66 68 33 34

Identificatore esterno Cognome Matricola Studente (1,1) (0,N) Iscrizione Nome Università Schema E-R E R con costrutti di base, identificatori e cardinalita Riprendiamo l esempio l dell azienda ed introduciamo la cardinalità per attributi e relazioni, ed individuiamo gli identificatori delle entità coinvolte. Anno di corso Indirizzo 69 71 Identificatori: caratteristiche ogni entità deve possedere almeno un identificatore, ma può averne in generale più di uno una identificazione esterna è possibile solo attraverso una relationship a cui l entità da identificare partecipa con cardinalità (1,1) 70 Cognome Codice Impiegato (0,N) Partecipazione Budget (1,N) Progetto Nome (0,1) (1,1) Direzione (0,1) Afferenza Data (0,1) Via CAP (0,N) (1,1) (1,N) Indirizzo Telefono Dipartimento Composizione Sede Città (1,N) Nome 72 35 36

Generalizzazione Mette in relazione una o più entità E1, E2,..., En con una entità E, che le comprende come casi particolari E è generalizzazione di E1, E2,..., En E1, E2,..., En sono specializzazioni (o sottotipi) di E Proprietà delle generalizzazioni Se E (genitore) è generalizzazione di E1, E2,..., En (figlie): ogni proprietà di E è significativa per E1, E2,..., En ogni occorrenza di E1, E2,..., En è occorrenza anche di E 73 75 Generalizzazione: rappresentazione grafica Dipendente Impiegato Funzionario Dirigente Città (0,N) Nascita (1,1) Persona Stipendio Lavoratore Codice fiscale Nome Età Studente 74 76 37 38

Ereditarietà Tipi di generalizzazioni tutte le proprietà (attributi, relationship, altre generalizzazioni) dell entit entità genitore vengono ereditate dalle entità figlie e non rappresentate esplicitamente Consideriamo negli schemi solo generalizzazioni esclusive (si puo sempre trasformare una generalizzazione sovrapposta in una esclusiva) e distinguiamo fra generalizzazioni parziali e totali 77 79 Tipi di generalizzazioni totale se ogni occorrenza dell'entità genitore è occorrenza di almeno una delle entità figlie, altrimenti è parziale Persona esclusiva se ogni occorrenza dell'entità genitore è occorrenza di al più una delle entità figlie, altrimenti è sovrapposta Studente Lavoratore 78 80 39 40

Uomo Persona Donna Esercizio Le persone hanno CF, cognome ed età,, gli uomini anche la posizione militare; gli impiegati hanno lo stipendio e possono essere segretari, direttori o progettisti (un progettista può essere anche responsabile di progetto); gli studenti (che non possono essere impiegati) hanno un numero di matricola; esistono persone che non sono nén impiegati né studenti (ma i dettagli non ci interessano) 81 83 Altre proprietà possono esistere gerarchie a più livelli e multiple generalizzazioni allo stesso livello un'entità può essere inclusa in più gerarchie, come genitore e/o come figlia se una generalizzazione ha solo un entit entità figlia si parla di sottoinsieme, di che tipo è questa generalizzazione? il genitore di una generalizzazione parziale deve avere un identificatore tra i suoi attributi, quello di una generalizzazione totale no, però? 82 CF Cognome Uomo Militare Donna Persona Stipendio Impiegato Età Matr. Studente Segretario Direttore Progettista Responsabile 84 41 42

Documentazione associata agli schemi concettuali Uno schema E-R E R non è quasi mai sufficiente da solo a rappresentare tutti i dettagli di un applicazione Ci sono vincoli non esprimibili È necessario associare una documentazione di supporto 85 Cognome Codice Impiegato (0,N) Partecipazione Budget (1,N) Progetto Nome (0,1) (1,1) Direzione (0,1) Afferenza Data (0,1) Via CAP (0,N) (1,1) (1,N) Indirizzo Telefono Dipartimento Composizione Sede Città (1,N) Nome 87 Documentazione Regole aziendali Concetti rilevanti Vincoli di integrità Possibili derivazioni Dizionario dei dati entità relationship Dizionario dei dati (entità) Entità Descrizione Attributi Identificatore Impiegato Dipendente Codice, Codice dell'azienda Cognome, Progetto Progetti aziendali Dipartimento Struttura aziendale Sede Sede dell'azienda Nome, Budget Nome, Telefono Città, Indirizzo Nome Nome, Sede Città 86 88 43 44

Dizionario dei dati (relationship) Relazioni Descrizione Componenti Attributi Direzione Direzione di un dipartimento Impiegato, Dipartimento Afferenza Afferenza a un Impiegato, Data dipartimento Dipartimento Partecipazione Partecipazione a un progetto Impiegato, Progetto Composizione Composizione dell'azienda Dipartimento, Sede Regole di vincolo Notare che si possono inserire nella tabella anche alcune regole che sono già espresse nello schema. 89 91 Regole di vincolo (1) Il direttore di un dipartimento deve a afferire a tale dipartimento (2) Un impiegato non deve avere uno stipendio maggiore del direttore del dipartimento al quale afferisce (3) Un dipartimento con sede a Roma deve essere diretto da un impiegato con più di dieci anni di anzianità (4) Un impiegato che non afferisce a nessun dipartimento non deve partecipare a nessun un progetto Regole di derivazione (1) Il numero di impiegati di un dipartimento si ottiene contando gli impiegati che afferiscono a tale dipartimento (2) Il budget di un progetto si ottiene moltiplicando per 3 la somma degli stipendi degli impiegati che vi partecipano 90 92 45 46

Affrontare il progetto se ha proprietà significative e descrive oggetti con esistenza autonoma entità se è semplice e non ha proprietà attributo se correla due o più concetti relazione se è caso particolare di un altro generalizzazione 93 95 Quale costrutto E-R E R va utilizzato per rappresentare un concetto presente nelle specifiche dei requisiti? Strategie di progetto top-down bottom-up inside-out Bisogna basarsi sulle definizioni dei costrutti del modello E-RE 94 96 47 48

Strategia top-down si arriva allo schema E-R E R finale passando attraverso una serie di schemi intermedi a partire dallo schema iniziale che viene successivamente raffinato e integrato per mezzo di una serie di primitive Strategia bottom-up si arriva allo schema finale partendo dalle specifiche iniziali e suddividendole fino a dare specifica di una componente minima; di questa si da lo schema E-RE tutti questi schemi vengono fusi e integrati fino ad ottenere lo schema finale 97 99 Primitive di raffinamento top-down Da entità a relazione tra entità Da entità a generalizzazione Da relazione a insiemi di relazioni Da relazione a entità con relazioni Introduzione di attributi su entità e relazioni Primitive di trasformazione Bottom-up Generazione di entita Generazione di relazione Generazione di generalizzazione Aggregazione di attributi 98 100 49 50

In pratica si procede di solito con una strategia ibrida (mista( mista): si individuano i concetti principali e si realizza uno schema scheletro sulla base di questo si può decomporre poi si raffina, si espande, si integra Qualità di uno schema concettuale correttezza completezza leggibilità minimalità 101 103 Definizione dello schema scheletro Si individuano i concetti più importanti, ad esempio perché più citati o perché indicati esplicitamente come cruciali e li si organizza in un semplice schema concettuale Una metodologia Analisi dei requisiti Analizzare i requisiti ed eliminare le ambiguità Costruire un glossario dei termini Raggruppare i requisiti in insiemi omogenei Passo base Definire uno schema scheletro con i concetti più rilevanti Passo iterativo (da ripetere finché non si è soddisfatti) Raffinare i concetti presenti sulla base delle loro specifiche Aggiungere concetti per descrivere specifiche non descritte Analisi di qualità (ripetuta e distribuita) Verificare le qualità dello schema e modificarlo 102 104 51 52

Una metodologia con integrazione Analisi dei requisiti Passo base Decomposizione decomporre i requisiti con riferimento ai concetti nello schema scheletro Passo iterativo,, per ogni sottoschema Integrazione integrare i vari sottoschemi in uno schema complessivo, facendo riferimento allo schema scheletro facendo riferimento allo schema scheletro Analisi di qualità Esercizio Definire uno schema E-R E R per una biblioteca, con le seguenti specifiche: oggetto dei prestiti sono esemplari (detti anche copie) di singoli volumi, identificati attraverso un numero di inventario; ogni volume è relativo ad una specifica edizione (che può essere articolata in più volumi, anche in modo diverso dalle altre edizioni) di un'opera un volume può essere presente in più copie una edizione è caratterizzata dall'opera, dalla collana e dall'anno riassumendo ed esemplificando, è possibile prendere in prestito la seconda copia del terzo volume de I I Miserabili,, edizione Mondadori, collana Oscar, del 1975 ogni collana ha un nome e un codice e un editore ogni editore ha un nome e un codice ogni opera ha un titolo, un autore e un anno di prima pubblicazione per ogni prestito in corso (quelli conclusi non interessano), sono rilevanti la data prevista di restituzione e l'utente (che può avere più volumi in prestito contemporaneamente), con codice identificativo, nome, cognome e recapito telefonico 105 107 Un'altra metodologia con integrazione Analisi dei requisiti Decomposizione dei requisiti individuazione di settori di interesse e suddivisione dei requisiti (o addirittura acquisizione separata) Per ciascun settore Passo base Passo iterativo Integrazione Analisi di qualità 106 53 54