Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei...

32
Progettazione Progettazione concettuale concettuale A. Ferrari A. Ferrari

Transcript of Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei...

Page 1: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Progettazione Progettazione concettualeconcettuale

A. FerrariA. Ferrari

Page 2: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Le fasiLe fasi

Page 3: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

ObiettivoObiettivoLa “progettazione concettuale” ha La “progettazione concettuale” ha l’obiettivo di riorganizzare tutti gli l’obiettivo di riorganizzare tutti gli elementi risultanti dalla fase di elementi risultanti dalla fase di “definizione dei requisiti” per produrre “definizione dei requisiti” per produrre un un modello astratto della base di datimodello astratto della base di dati..

Page 4: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Il modello Il modello concettualeconcettuale

Il modello concettuale è un documento Il modello concettuale è un documento ufficialeufficiale

di riferimento per i committentidi riferimento per i committenti

di comunicazione verso i progettisti della di comunicazione verso i progettisti della fase successiva di progettazione logica.fase successiva di progettazione logica.

Page 5: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

LinguaggiLinguaggiPer realizzare il modello concettuale Per realizzare il modello concettuale sono utilizzati vari linguaggi, per lo più sono utilizzati vari linguaggi, per lo più di natura graficadi natura grafica

UML (Unified Modeling Language)UML (Unified Modeling Language)

Diagrammi E/R Diagrammi E/R (Entity Relationship) (Entità Associazioni)(Entity Relationship) (Entità Associazioni)

Page 6: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Diagrammi E/RDiagrammi E/R1976 Peter P. Chen.1976 Peter P. Chen.

Modello grafico per descrizione dei dati Modello grafico per descrizione dei dati e delle loro relazioni.e delle loro relazioni.

Modello concettuale indipendente dalla Modello concettuale indipendente dalla realizzazione.realizzazione.

Page 7: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Gli elementi del Gli elementi del diagrammadiagramma

EntitàEntitàRappresentano classi di oggetti (fatti, cose, Rappresentano classi di oggetti (fatti, cose, persone, ...) che hanno proprietà comuni ed persone, ...) che hanno proprietà comuni ed esistenza autonoma ai fini dell'applicazione di esistenza autonoma ai fini dell'applicazione di interesseinteresse

AssociazioniAssociazioniLe associazioni (dette anche relazioni) Le associazioni (dette anche relazioni) rappresentano un legame tra due o più entitàrappresentano un legame tra due o più entità

AttributiAttributiLe entità e le associazioni possono essere Le entità e le associazioni possono essere descritte usando una serie di attributi. Tutti gli descritte usando una serie di attributi. Tutti gli oggetti della stessa classe entità (associazione) oggetti della stessa classe entità (associazione) hanno gli stessi attributihanno gli stessi attributi

Page 8: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

EntitàEntitàLe entità corrispondono a classi di Le entità corrispondono a classi di oggetti del mondo reale e vengono oggetti del mondo reale e vengono rappresentate graficamente con un rappresentate graficamente con un riquadro che contiene il nome.riquadro che contiene il nome.

In uno schema, ogni entità ha un nome In uno schema, ogni entità ha un nome che la identifica univocamente.che la identifica univocamente.

<nome entità>

Studente

Page 9: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

AttributiAttributiProprietà elementari Proprietà elementari delle entità:delle entità:

NomeNomeFormato (tipo di dato)Formato (tipo di dato)DimensioneDimensioneValoreValoreOpzionalità Opzionalità (obbligatorio/facoltativ(obbligatorio/facoltativo)o)

La scelta degli attributi La scelta degli attributi riflette il livello di riflette il livello di dettaglio con il quale dettaglio con il quale vogliamo rappresentare vogliamo rappresentare le informazioni sulle le informazioni sulle entità e sulle entità e sulle associazioniassociazioni

<attributo 1>

<attributo 2>

<attributo 3>

<nome entità>

Nome

ClasseStudente

Page 10: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Attributi compostiAttributi compostiGli attributi composti o aggregati sono Gli attributi composti o aggregati sono costituiti dall’aggregazione di altri costituiti dall’aggregazione di altri attributi.attributi.

Esempio:Esempio:Dati anagraficiDati anagrafici

Indirizzo Indirizzo

Page 11: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Attributi multipliAttributi multipliElenco di lunghezza variabili di attributi Elenco di lunghezza variabili di attributi dello stesso tipo.dello stesso tipo.

Esempio:Esempio:Sport praticatiSport praticati

Voti ottenutiVoti ottenuti

Page 12: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

ChiaveChiaveInsieme di attributi che identificano in Insieme di attributi che identificano in modo univoco un’entitàmodo univoco un’entità

Possono esistere più chiavi.Possono esistere più chiavi.Esiste sempre almeno una chiaveEsiste sempre almeno una chiave(al limite costituita da tutti gli attributi).(al limite costituita da tutti gli attributi).È opportuno scegliere come chiave un È opportuno scegliere come chiave un sottoinsieme il più ridotto possibile degli sottoinsieme il più ridotto possibile degli attributi.attributi.Possono esistere chiavi artificiali.Possono esistere chiavi artificiali.

Gli attributi chiave vengono Gli attributi chiave vengono rappresentati sottolineatirappresentati sottolineati

Page 13: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

AssociazioniAssociazioniL’associazione (relationship) è un legame L’associazione (relationship) è un legame fra due entitàfra due entità

Un’associazione fra due entità ha due Un’associazione fra due entità ha due versiversi

Normalmente si utilizzano sostantivi per Normalmente si utilizzano sostantivi per le entità e verbi per le associazionile entità e verbi per le associazioni

Viene rappresentata graficamente da un Viene rappresentata graficamente da un rombo contenente il nome rombo contenente il nome dell'associazionedell'associazione

Page 14: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazione: Associazione: esempioesempio

Page 15: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni Associazioni binariebinarie

<associazione>

<entità 1><entità 2>

Page 16: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni Associazioni binarie esempiobinarie esempio

Appartiene ClasseStudente

Page 17: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni Associazioni multiplemultiple

<associazione>

<entità 1><entità 2>

<entità 1>

Page 18: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni Associazioni multiplemultipleesempioesempio

Fa lezione

ClasseDocente

Aula

Page 19: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni Associazioni unarieunarie

<associazione>

<entità>

Page 20: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni Associazioni unarieunarie

esempioesempio

E’ genitore Persona

Page 21: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Più associazioni Più associazioni fra entitàfra entità

Risiede

CittàPersona

E’ nata

Page 22: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni 1:1Associazioni 1:1Una istanza dell’entità A corrisponde a Una istanza dell’entità A corrisponde a una sola istanza dell’entità B e una sola istanza dell’entità B e viceversa.viceversa.

Possiede TastieraComputer1 1

Page 23: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni 1:nAssociazioni 1:nUno a moltiUno a molti

Una istanza dell’entità A corrisponde a Una istanza dell’entità A corrisponde a più istanze dell’entità B e una istanza più istanze dell’entità B e una istanza dell’entità B corrisponde a una sola dell’entità B corrisponde a una sola istanza dell’entità A .istanza dell’entità A .

Possiede DiscoFissoComputer1 n

Page 24: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Associazioni n:nAssociazioni n:nMolti a moltiMolti a molti

Una istanza dell’entità A corrisponde a Una istanza dell’entità A corrisponde a più istanze dell’entità B e una istanza più istanze dell’entità B e una istanza dell’entità B corrisponde a più istanze dell’entità B corrisponde a più istanze dell’entità A .dell’entità A .

StampaSu StampanteDiRete

Computern n

Page 25: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Totale/ParzialeTotale/ParzialeTotale se ogni elemento fa parte Totale se ogni elemento fa parte dell’associazionedell’associazione

Linea continuaLinea continua

Parziale se alcuni elementi non ne Parziale se alcuni elementi non ne fanno partefanno parte

Linea tratteggiataLinea tratteggiata

Possiede MonitorComputer

Page 26: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Regole di lettura Regole di lettura (1)(1)Possiede TastieraComputer

1 1

Un computer possiede un monitor, un monitor è collegato a un computer

Possiede TastieraComputer1 1

Un computer può possedere un monitor, un monitor è collegato a un computer

Page 27: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Regole di lettura Regole di lettura (2)(2)Possiede DiscoFissoComputer

1 n

Un computer possiede uno o più dischi fissi, un disco è collegato a un computer

Possiede DiscoFissoComputer1 n

Un computer può possedere uno o più dischi fissi, un disco è collegato a un computer

Page 28: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Regole di lettura Regole di lettura (3)(3)

Stampa StampanteDiRete

Computern n

Un computer stampa su una o più stampanti, una stampante riceve stampeda uno o più computer

Stampa StampanteDiRete

Computern n

Un computer può stampare su una o più stampanti, una stampante riceve stampeda uno o più computer

Page 29: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

esempio erratoesempio errato

Stampa StampanteDiRete

Computer1 n

Un computer può stampare su una o più stampanti di rete, una stampante di rete riceve stampe da un computer (uno solo!)

La lettura dello schema evidenzia l’errore di progettazione

Page 30: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Gerarchie ISAGerarchie ISAAstrazione per Astrazione per generalizzazionegeneralizzazione

ISA (is a) (è un)ISA (is a) (è un)

Nell’esempio un Mac Nell’esempio un Mac è un Computerè un Computer

Computer

PC Mac

Page 31: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.

Vincoli d’integritàVincoli d’integritàAsserzioni che devono essere soddisfatte.Asserzioni che devono essere soddisfatte.

Vincoli impliciti (imposti dalla struttura Vincoli impliciti (imposti dalla struttura dei dati):dei dati):

Univocità di chiave primariaUnivocità di chiave primaria

Vincoli sulla totalità delle associazioniVincoli sulla totalità delle associazioni

Vincoli espliciti:Vincoli espliciti:V1: 0<Età<120V1: 0<Età<120

V2: anno(Dipendente.DataAssunzione -V2: anno(Dipendente.DataAssunzione -Dipendente.DataNascita)>16Dipendente.DataNascita)>16

Page 32: Progettazione concettuale A. Ferrari. Le fasi Definizione dei bisogni degli utenti Definizione dei requisiti Progettazione concettuale Progettazione logico/fisica.