• Non ci sono risultati.

Esercizi  UML

N/A
N/A
Protected

Academic year: 2021

Condividi "Esercizi  UML"

Copied!
36
0
0

Testo completo

(1)

Esercizi  UML  

Angelo  Di  Iorio  

(2)

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.      

(3)

Use  case  diagram  

•  Requisi9  funzionali  

•  ProspeFva  esterna  

•  Chi  usa  il  sistema  (a<ori)?  

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

•  Extend/Include  

(4)

A<ori  e  casi  d’uso  primari  

(5)

Eccezioni  ed  estensioni  

<<extends>>!

<<extends

>>!

(6)

Diagramma  completo  

(7)

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).  

(8)

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  

(9)

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  

(10)

A<ori  e  casi  d’uso  

•  Automobilis9  

– Ges9re/usare  abbonamento  mensile   – Ges9re/usare  parcheggio  a  ore  

•  Gestore  Parcheggio  

– Ges9re  pos9  disponibili  

(11)

Use  case  diagram  

(12)

Classi  di  analisi  iniziali  

(13)

A<ribu9,  operazioni  e  generalizzazione  

(14)

A<ribu9,  operazioni  e  composizione  

(15)

Classe  di  proge<azione  

(16)

Abbonamento  mensile  auto  GPL  

(17)

Abbonamento  mensile  auto  non  GPL  

(18)

Parcheggio  a  ore  

(19)

Diagramma  completo  

(20)

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.  

(21)

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  

(22)

State  Diagram  

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

•  Variazioni  del  suo  stato  interno  

•  Sta9  e  transizioni  

•  Even9,  guardie,  azioni  

(23)

Diagramma  delle  classi:  Ricercatori  e  

Team  

(24)

Diagramma  delle  classi:  Team,  Aree,  

ProgeF  

(25)

AFvazione  proge<o  

(26)

Formazione  Team  

(27)

Sequence  Diagram  per  “Formazione  

Team”    

(28)

Stato  di  un  Ricercatore  

(29)

Diagramma  delle  classi  completo  

(30)

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)  

(31)

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  

(32)

Agen9  e  Retribuzioni  

(33)

Campagne  Pubblicitarie  

(34)

Pubblicità  

(35)

Diagramma  completo  

(36)

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  

Riferimenti

Documenti correlati

Ogni classe ha un suo preciso stereotipo, che in questo caso deve essere letto come una prima classificazione informale delle parti del sistema: un Componente `e una parte software

Ingegneria del Software () I diagrammi di struttura A.A. una classe) ha una visibilità associata, che può essere public (+) o private (-). Quando un package viene importato o

[r]

Per alcuni elementi, come gli attori, puoi impostare solo un paio di opzioni, come il nome e la documentazione dell’oggetto, mentre per altri elementi, come le classi, puoi

Operations over Airport objects may not need to know details associated with cities, such as population When designing a class:. Apply the identity test to each attribute

Class model describes the static structure of objects and relationships in a system.. State model describes the dynamics aspects of objects and the nature of control in

Association describes set of potential links just like a class describes a set of potential objects.. Examples

Giuseppe Lipari (Scuola Superiore Sant’Anna) UML class diagrams March 13, 2011 1 / 31..