Top Banner
Esercizi UML Angelo Di Iorio
36

Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Aug 05, 2019

Download

Documents

ngodiep
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Esercizi  UML  

Angelo  Di  Iorio  

Page 2: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Esercizio  1  Disegnare  un  diagramma  dei  casi  d’uso  rela9vo  ad  una  biglie<eria  ele<ronica   (es.   ferroviaria).   Il   sistema   è   usato   dai   viaggiatori,   che  comprano  i  biglieF,  e  da  sistema  centralizzato  che  aggiorna  i  cos9  dei  biglieF.  

Gli  uten9  possono  fare  tre  9pi  di  acquis9:  biglie<o  di  sola  andata,  abbonamento  seFmanale,  abbonamento  mensile.  

L’acquisto  di  un  biglie<o  può  fallire  per  qua<ro  mo9vi:  l’acquirente  ha  impiegato  troppo  tempo  per  completare  l’acquisto,  l’acquirente  ha   richiesto   esplicitamente   di   non   completare,   la   biglie<eria   ha  esaurito  il  resto,  la  biglie<eria  ha  esaurito  la  carta.      

Page 3: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Use  case  diagram  

•  Requisi9  funzionali  •  ProspeFva  esterna  

•  Chi  usa  il  sistema  (a<ori)?  

•  Cosa  può  fare  (casi  d’uso)?  •  Extend/Include  

Page 4: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

A<ori  e  casi  d’uso  primari  

Page 5: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Eccezioni  ed  estensioni  

<<extends>>!

<<extends>

>!

Page 6: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Diagramma  completo  

Page 7: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Esercizio  2  Un  garage  è  composto  di  diversi  livelli.  Ogni  livello  ha  un  numero  di  pos9  disponibili.   I   pos9   sono  di   diversi   9pi:   auto  normali,   auto  di  dimensioni   notevoli   (van,  …),   auto   di   lusso.   Le   auto  GPL   possono  parcheggiare   solo   nel   primo   piano.   È   possibile   affi<are   un   posto  macchina,   se   disponibile,   su   base   mensile.   Non   possono   essere  affi<a9   più   del   50%   dei   pos9   in   ciascuna   categoria.   I   pos9   non  affi<a9  su  base  mensile  sono  u9lizza9  per  parcheggi  ad  ore  fino  ad  un   massimo   di   o<o   ore.   Nel   caso   si   sforino   le   o<o   ore,   viene  applicata  una  penale  al  momento  del  ri9ro  dell’auto.    

Gli   uten9   del   sistema   sono   sia   gli   automobilis9   che   il   gestore   del  sistema  che  fornisce  le  informazioni  configurazione  (per  esempio,  il  numero  di  pos9  in  ciascuna  categoria).  

Page 8: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Class  diagram  

•  En9tà  stru<urali  del  sistema  e  relazioni  tra  le  en9tà  

•  Analisi  vs.  Proge<azione  –  L’analisi  modella  i  conceF  chiave  del  dominio  –  La  proge<azione  ada<a  il  modello  di  analisi  e  lo  completa  per  renderlo  implementabile  

•  Raffinamen9  successivi  •  Analisi:  nome-­‐verbo  /  CRC  •  Proge<azione:  metodi  concre9  /  vincoli  di  pia<aforma  /  classi  implementabili  

Page 9: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Sequence  Diagram  

•  Sequenza  degli  avvenimen9  per  ogni  en9tà  nel  diagramma  

•  Linee  di  vita  che  interagiscono  per  realizzare  il  comportamento  offerto  

•  ProspeFva  interna  

•  Scambio  di  messaggi  

•  Frammen9  combina9:  operatori,  operandi  e  condizioni  di  guardia  

Page 10: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

A<ori  e  casi  d’uso  

•  Automobilis9  – Ges9re/usare  abbonamento  mensile  

– Ges9re/usare  parcheggio  a  ore  •  Gestore  Parcheggio  – Ges9re  pos9  disponibili  

Page 11: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Use  case  diagram  

Page 12: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Classi  di  analisi  iniziali  

Page 13: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

A<ribu9,  operazioni  e  generalizzazione  

Page 14: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

A<ribu9,  operazioni  e  composizione  

Page 15: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Classe  di  proge<azione  

Page 16: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Abbonamento  mensile  auto  GPL  

Page 17: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Abbonamento  mensile  auto  non  GPL  

Page 18: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Parcheggio  a  ore  

Page 19: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Diagramma  completo  

Page 20: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Esercizio  3  

Un  centro  di   ricerca  è  organizzato   in   team  di   ricercatori.  Ogni   team  è  

guidato  da  un  ricercatore  senior  e  include  uno  o  più  ricercatori  junior.  I  

team  sono  raggruppa9  in  aree  con  un  responsabile  di  area.  Ogni  team  

ha  come  compito  quello  di  svolgere  un  proge<o.    

L'aFvazione   di   un   proge<o   prevede   la   selezione   dell'area   alla   quale  

verrà   assegnato   il   proge<o,   la   cos9tuzione   del   team   e   la   scelta   del  

responsabile  del  team.  I  ricercatori  da  assegnare  al  team  sono  scel9  tra  

quelli   disponibili   nell'area   (non   assegna9   ad   alcun   team).   Al   termine  

del  proge<o,  le  risorse  del  team  tornano  ad  essere  disponibili  per  altri  

progeF  della  stessa  area.  

Page 21: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Ac9vity  Diagram  

•  Descrivono  il  comportamento  di  un  sistema    •  Insieme  di  azioni  organizzate  secondo  un  flusso  

•  Nodi  azione,  nodi  ogge<o  e  nodi  controllo  •  Guardie  e  transizioni  •  Diagrammi  composi9  

Page 22: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

State  Diagram  

•  Descrivono  il  comportamento  di  un  sistema  (solitamente  una  sola  en9tà)  

•  Variazioni  del  suo  stato  interno  •  Sta9  e  transizioni  •  Even9,  guardie,  azioni  

Page 23: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Diagramma  delle  classi:  Ricercatori  e  Team  

Page 24: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Diagramma  delle  classi:  Team,  Aree,  ProgeF  

Page 25: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

AFvazione  proge<o  

Page 26: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Formazione  Team  

Page 27: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Sequence  Diagram  per  “Formazione  Team”    

Page 28: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Stato  di  un  Ricercatore  

Page 29: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Diagramma  delle  classi  completo  

Page 30: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Esercizio  4  (p.  1)  Rappresentare  tramite  un  diagramma  delle  classi  un’agenzia  pubblicitaria.  

L’agenzia  è  composta  da  uno  staff  crea9vo  e  da  uno  staff  amministra9vo.    

I  membri  sia  dello  staff  amministra9vo  che  di  quello  crea9vo  vengono  paga9  secondo  il  loro  livello  di  impiego  

I  membri  degli  staff  possono  ricevere  più  livelli  durante  il  loro  impiego:  è  necessario  sapere  quando  un  membro  dello  staff  incomincia  ad  essere  pagato  per  un  certo  livello  e  quando  finisce  di  essere  pagato  per  quel  livello  

La  retribuzione  dei  livelli  oscilla  nel  tempo.  Ogni  livello  può  avere  una  retribuzione  diversa  nel  tempo,  ma  una  par9colare  retribuzione  viene  usata  univocamente  per  un  livello  alla  volta  

Inoltre  ogni  membro  degli  staff  può  un  bonus  in  base  alla  propria  esperienza  (e  altri  fa<ori  qui  non  rilevan9)  

Page 31: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Esercizio  4  (p.  2)  

I  Clien9  conta<ano  persone  dello  staff  amministra9vo  e  crea9vo  per  specificare  i  requisi9  della  loro  campagna  pubblicitaria  

I  Clien9  possono  lavorare  su  più  campagne  pubblicitarie  contemporaneamente.  

Lo  staff  crea9vo  può  partecipare  a  più  campagne  pubblicitarie  

Le  campagne  sono  9picamente  prodo<e  da  squadre  di  impiega9  provenien9  dallo  staff  crea9vo  

Le  campagne  avranno  differen9  pubblicità  lanciate  in  diversi  media  di  distribuzione  

Il  costo  reale  di  una  campagna  pubblicitaria  dipenderà  dal  numero  di  pubblicità  e  da  altri  fa<ori  

Page 32: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Agen9  e  Retribuzioni  

Page 33: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Campagne  Pubblicitarie  

Page 34: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Pubblicità  

Page 35: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Diagramma  completo  

Page 36: Esercizi(UML( - cs.unibo.it · Esercizio(4(p. 1) Rappresentare(tramite(un(diagrammadelle(classi(un’agenzia pubblicitaria.(L’agenziaè(compostadauno(staff(creavo(e(dauno(staff

Riferimen9  

•  Esercizi  traF  dal  materiale  di  Sara  Zuppiroli  e:  –  h<p://webbook.cefriel.it/Esercizi/Capitolo-­‐4  –  h<p://www.drake.edu/mathcs/rieck/Spring2004/cs195/ch2sol.pdf