Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi"...

7
1 Proge(azione conce(uale A. Ferrari Le fasi Definizione dei bisogni degli uten; Definizione dei requisi; Proge(azione conce(uale Proge(azione logico/fisica Obie?vo La “proge(azione conce(uale” ha l’obie?vo di riorganizzare tu? gli elemen; risultan; dalla fase di “definizione dei requisi;” per produrre un modello astra(o della base di da; . Il modello conce(uale Il modello conce(uale è un documento ufficiale di riferimento per i commi(en; di comunicazione verso i proge?s; della fase successiva di proge(azione logica. Linguaggi Per realizzare il modello conce(uale sono u;lizza; vari linguaggi, per lo più di natura grafica UML (Unified Modeling Language) Diagrammi E/R (En;ty Rela;onship) (En;tà Associazioni) Diagrammi E/R 1976 Peter P. Chen. Modello grafico per descrizione dei da; e delle loro relazioni. Modello conce(uale indipendente dalla realizzazione.

Transcript of Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi"...

Page 1: Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi" Definizione" deibisogni degli"uten;" Definizione" deirequisi Proge(azione"conce(uale"

1  

Proge(azione  conce(uale  

A.  Ferrari  

Le  fasi  

Definizione  dei  bisogni  degli  uten;  

Definizione  dei  requisi;  

Proge(azione  conce(uale  

Proge(azione  logico/fisica  

Obie?vo  

•  La  “proge(azione  conce(uale”  ha  l’obie?vo  di  riorganizzare  tu?  gli  elemen;  risultan;  dalla  fase  di  “definizione  dei  requisi;”  per  produrre  un  modello  astra(o  della  base  di  da;.  

Il  modello  conce(uale  

•  Il  modello  conce(uale  è  un  documento  ufficiale  – di  riferimento  per  i  commi(en;  – di  comunicazione  verso  i  proge?s;  della  fase  successiva  di  proge(azione  logica.  

Linguaggi  

•  Per  realizzare  il  modello  conce(uale  sono  u;lizza;  vari  linguaggi,  per  lo  più  di  natura  grafica  – UML  (Unified  Modeling  Language)  – Diagrammi  E/R    (En;ty  Rela;onship)  (En;tà  Associazioni)  

Diagrammi  E/R  

•  1976  Peter  P.  Chen.  •  Modello  grafico  per  descrizione  dei  da;  e  delle  loro  relazioni.  

•  Modello  conce(uale  indipendente  dalla  realizzazione.  

Page 2: Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi" Definizione" deibisogni degli"uten;" Definizione" deirequisi Proge(azione"conce(uale"

2  

Gli  elemen;  del  diagramma  •  En;tà  –  Rappresentano  classi  di  ogge?  (fa?,  cose,  persone,  ...)  che  hanno  proprietà  comuni  ed  esistenza  autonoma  ai  fini  dell'applicazione  di  interesse  

•  Associazioni  –  Le  associazioni  (de(e  anche  relazioni)  rappresentano  un  legame  tra  due  o  più  en;tà  

•  A(ribu;  –  Le  en;tà  e  le  associazioni  possono  essere  descri(e  usando  una  serie  di  a(ribu;.  Tu?  gli  ogge?  della  stessa  classe  en;tà  (associazione)  hanno  gli  stessi  a(ribu;  

En;tà  

•  Le  en;tà  corrispondono  a  classi  di  ogge?  del  mondo  reale  e  vengono  rappresentate  graficamente  con  un  riquadro  che  con;ene  il  nome.  

•  In  uno  schema,  ogni  en;tà  ha  un  nome  che  la  iden;fica  univocamente.  

<nome  en;tà>   Studente  

A(ribu;  •  Proprietà  elementari  delle  

en;tà:  –  Nome  –  Formato  (;po  di  dato)  –  Dimensione  –  Valore  –  Opzionalità  (obbligatorio/

facolta;vo)  •  La  scelta  degli  a(ribu;  

rifle(e  il  livello  di  de(aglio  con  il  quale  vogliamo  rappresentare  le  informazioni  sulle  en;tà  e  sulle  associazioni  

<a(ributo  1>  

<a(ributo  2>  

<a(ributo  3>  

<nome  en;tà>  

Nome  

Classe  Studente  

A(ribu;  compos;  

•  Gli  a(ribu;  compos;  o  aggrega;  sono  cos;tui;  dall’aggregazione  di  altri  a(ribu;.  

•  Esempio:  – Da;  anagrafici  –  Indirizzo    

A(ribu;  mul;pli  

•  Elenco  di  lunghezza  variabili  di  a(ribu;  dello  stesso  ;po.  

•  Esempio:  – Sport  pra;ca;  – Vo;  o(enu;  

Chiave  

•  Insieme  di  a(ribu;  che  iden;ficano  in  modo  univoco  un’en;tà  –  Possono  esistere  più  chiavi.  –  Esiste  sempre  almeno  una  chiave  (al  limite  cos;tuita  da  tu?  gli  a(ribu;).  

–  È  opportuno  scegliere  come  chiave  un  so(oinsieme  il  più  rido(o  possibile  degli  a(ribu;.  

–  Possono  esistere  chiavi  ar;ficiali.  •  Gli  a(ribu;  chiave  vengono  rappresenta;  so(olinea;  

Page 3: Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi" Definizione" deibisogni degli"uten;" Definizione" deirequisi Proge(azione"conce(uale"

3  

Associazioni  

•  L’associazione  (rela;onship)  è  un  legame  fra  due  en;tà  

•  Un’associazione  fra  due  en;tà  ha  due  versi  •  Normalmente  si  u;lizzano  sostan;vi  per  le  en;tà  e  verbi  per  le  associazioni  

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

Associazione:  esempio  

Associazioni  binarie  

<associazione>   <en;tà  1>  <en;tà  2>  

Associazioni  binarie  esempio  

Appar;ene   Classe  Studente  

Associazioni  mul;ple  

<associazione>  

<en;tà  1>  <en;tà  2>  

<en;tà  1>  

Associazioni  mul;ple  esempio  

Fa  lezione  

Classe  Docente  

Aula  

Page 4: Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi" Definizione" deibisogni degli"uten;" Definizione" deirequisi Proge(azione"conce(uale"

4  

Associazioni  unarie  

<associazione>   <en;tà>  

Associazioni  unarie  esempio  

E’  genitore   Persona  

Esempio  sul  libro   Più  associazioni  fra  en;tà  

Risiede  

Ci(à  Persona  

E’  nata  

Associazioni  1:1  

•  Una  istanza  dell’en;tà  A  corrisponde  a  una  sola  istanza  dell’en;tà  B  e  viceversa.  

Possiede   Tas;era  Computer  1   1  

Associazioni  1:n  

•  Uno  a  mol;  •  Una  istanza  dell’en;tà  A  corrisponde  a  più  istanze  dell’en;tà  B  e  una  istanza  dell’en;tà  B  corrisponde  a  una  sola  istanza  dell’en;tà  A  .  

Possiede   DiscoFisso  Computer  1   n  

Page 5: Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi" Definizione" deibisogni degli"uten;" Definizione" deirequisi Proge(azione"conce(uale"

5  

Associazioni  n:n  

•  Mol;  a  mol;  •  Una  istanza  dell’en;tà  A  corrisponde  a  più  istanze  dell’en;tà  B  e  una  istanza  dell’en;tà  B  corrisponde  a  più  istanze  dell’en;tà  A  .  

StampaSu   StampanteDiRete  Computer  n   n  

Esempio  sul  libro  

Altra  Notazione    (non  è  uno  schema  conce(uale)   Altro  esempio  

Altra  notazione   Totale/Parziale  

•  Totale  se  ogni  elemento  fa  parte  dell’associazione  – Linea  con;nua  

•  Parziale  se  alcuni  elemen;  non  ne  fanno  parte  – Linea  tra(eggiata  

Possiede   Monitor  Computer  

Page 6: Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi" Definizione" deibisogni degli"uten;" Definizione" deirequisi Proge(azione"conce(uale"

6  

Regole  di  le(ura  (1)  

Possiede   Tas;era  Computer  1   1  

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

Possiede   Tas;era  Computer  1   1  

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

Regole  di  le(ura  (2)  

Possiede   DiscoFisso  Computer  1   n  

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

Possiede   DiscoFisso  Computer  1   n  

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

Regole  di  le(ura  (3)  

Stampa   StampanteDiRete  Computer  n   n  

Un  computer  stampa  su  una  o  più  stampan;,  una  stampante    riceve  stampe  da  uno  o  più  computer  

Stampa   StampanteDiRete  Computer  n   n  

Un  computer  può  stampare  su  una  o  più  stampan;,  una  stampante    riceve  stampe  da  uno  o  più  computer  

esempio  errato  

Stampa   StampanteDiRete  Computer  1   n  

Un  computer  può  stampare  su  una  o  più  stampan;  di  rete,  una  stampante      di  rete  riceve  stampe  da  un  computer  (uno  solo!)    La  le(ura  dello  schema  evidenzia  l’errore  di  proge(azione  

Gerarchie  ISA  

•  Astrazione  per  generalizzazione  

•  ISA  (is  a)  (è  un)  •  Nell’esempio  un  Mac  è  un  Computer  

Computer  

PC   Mac  

Vincoli  d’integrità  

•  Asserzioni  che  devono  essere  soddisfa(e.  •  Vincoli  implici;  (impos;  dalla  stru(ura  dei  da;):  – Univocità  di  chiave  primaria  – Vincoli  sulla  totalità  delle  associazioni  

•  Vincoli  esplici;:  – V1:  0<Età<120  – V2:  anno(Dipendente.DataAssunzione  -­‐Dipendente.DataNascita)>16  

Page 7: Proge(azioneconce(uale - Alberto Ferrari · 1 Proge(azione"conce(uale" A."Ferrari" Le"fasi" Definizione" deibisogni degli"uten;" Definizione" deirequisi Proge(azione"conce(uale"

7  

Esempio  sul  libro  

Solware  per  diagrammi  E/R  

•  On  line  – h(ps://www.draw.io/  – h(p://creately.com/  – h(p://my.lovelycharts.com/  

•  Da  scaricare  – h(p://dia-­‐installer.de/  – h(p://www.ballini.it/Solware/ProgER/  

Esercizio  sul  libro  •   Un  albergo  di  una  grande  ci(à  intende  ges;re  in  modo  automa;zzato  le  prenotazioni  e  realizzare  una  base  di  da;.  Ogni  cliente  viene  individuato,  tra  l'altro  con  i  da;  anagrafici,  il  numero  di  telefono  e  l'eventuale  e-­‐mail.  Per  quanto  riguarda  le  prenotazioni  occorre  indicare  il  periodo,  i  da;  rela;vi  alle  persone  che  soggiorneranno,  il  numero  di  camera  assegnato,  l'eventuale  disde(a,  il  ;po  di  tra(amento:  mezza  pensione  (Half  Board,  HB),pensione  completa  (Full  Board,  FB),  perno(amento  e  prima  colazione  (Bed  &  Breakfast,  B&B).  

•  Realizzare  lo  schema  conce(uale  con  le  rela;ve  regole  di  le(ura  

Esercizio  sul  libro  •   L'ufficio  centrale  della  Motorizzazione  civile  man;ene  un  registro  di  tu(e  le  automobili  italiane  coni  rela;vi  proprietari  (una  persona  può  possedere  più  automobili,  ma  una  singola  automobile  può  anche  appartenere  a  più  persone)  e  un  registro  storico  delle  paten;  rilasciate  nel  quale  sono  comprese  anche  le  paten;  ormai  scadute  ed  eventualmente  rinnovate  con  altro  codice.    

•  Realizzare  lo  schema  conce(uale  con  le  rela;ve  regole  di  le(ura