Unified Modeling Language Esercizio 1 Soluzione 1 Soluzione 1

Transcript

Unified Modeling Language Esercizio 1 Soluzione 1 Soluzione 1
Esercizio 1
µ Si definisca un semplice Use Case Diagram
Unified Modeling Language
per modellare il sistema informativo di una
impresa edile. Il sistema deve gestire gli
operai, i cantieri, il parco mezzi e i clienti
Esercizi
2
UML: Unified Modeling Language
Soluzione 1
Soluzione 1
(Gestione Clienti)
<<include>>
Azienda
Gestione Clienti
gestione Cantieri
Cantiere
<<include>>
storico operai/cantieri
Azienda
anagrafica Clienti
gestione Operai<<include>>
Cliente
anagrafica Operai
Operaio
<<include>>
fatturazione
gestione Clienti
gestione Cantieri aperti
Cliente
(from gestione Cantieri)
Autista
UML: Unified Modeling Language
3
UML: Unified Modeling Language
gestione Parco mezzi
4
Esercizio 2
Soluzione 2
pippo : Cliente
: Bancomat
: DispenserCtrl
µ Si definisca un semplice Sequence Diagram
: Dispenser
pippo :
ClienteLog
per modellare il prelievo di denaro,
supponiamo 200 Euro, da uno sportello
Bancomat
prelievo( )
visualizzaAmmontare( )
selezione(200)
controllo(200)
OK
visualizzaAttesa( )
eroga(200)
eroga(2,100)
UML: Unified Modeling Language
5
Esercizio 3
6
UML: Unified Modeling Language
Soluzione 3
µ Si definisca un semplice Collaboration
6: stampa()
Diagram per modellare l’acquisto di un
biglietto per assistere ad una proiezione in
cinema multisala
:
Biglietto
5: crea
1: biglietto(3, 21)
2:s := cerca(3)
: Cinema
: Cliente
: Sala
3: posto(21)
4: decrementa()
L
UML: Unified Modeling Language
7
UML: Unified Modeling Language
3 : Sala
8
Esercizio 4
Soluzione 4
<<enum>>
Posizione
domandaPresentata
domandaAccettata
attesaServizi o
serv izio
congedo
Un sistema deve gestire l’anagrafica degli obiettori (nome, cognome,
cognome, data di nascita e
indirizzo), il loro titolo di studio, le esperienze lavorative pregresse
pregresse e la loro posizione:
domanda presentata, domanda accettata, in attesa di servizio, in servizio e servizio
completato.
Il sistema gestisce anche le diverse attività svolte dall’ente. Combinando le attività “scoperte”
con le capacità degli obiettori in servizio, ci si propone di ottimizzare
ottimizzare l’assegnazione degli
obiettori alle diverse mansioni e, quindi, di migliorare la qualità
qualità dei servizi offerti.
L’ente in questione mette a disposizione degli appartamenti per fornire vitto e alloggio
durante l’obiezione. Il sistema, quindi, deve tenere traccia degli
degli appartamenti disponibili,
della disposizione degli obiettori nei diversi appartamenti e di eventuali posti liberi.
Per gli obiettori in servizio, il sistema deve gestire anche le licenze (supponiamo per un totale
di 20 giorni) e i permessi (al massimo 10).
Ogni mese, il sistema deve calcolare automaticamente gli stipendi,
stipendi, in base ai giorni di servizio
effettivo (giorni del mese meno licenze e permessi), definire i rimborsi per il vitto e alloggio,
in base alle informazioni relative ai diversi appartamenti e produrre
produrre la documentazione
riassuntiva da inviare al distretto.
e'
svolge
1..n
Obiettore
stipendio()
ha
0..n
ha diritto
vive
1
1
nome : String
descrizione : String
nome : String
descrizione : String
dataInizio : Date
dataFine : Date
1
6
1..n
Attiv ita'
EsperienzaLav
nome : String
cognome : String
dataDiNascita : Date
1
indirizzo : String
descrizione : String
tipo : String
dataInizio : Date
Appartamento
gestisce
indiri zzo : String
postiLetto : I nteg er
1..n
gestisce
Permesso
1..n
postiLiberi()
gestisce
1
1
1..n
Licenza
1
S istema
dataFine : Date
documentazioneDistretto()
assegnaObiettoreAttivita'()
UML: Unified Modeling Language
9
10
UML: Unified Modeling Language
Soluzione
Esercizio 5
(Automobile)
Nel parcheggio
µ Si definisca uno State Diagram che
rappresenti gli stati in cui si potrebbe
trovare un’automobile in fase di parcheggio
in un parcheggio a pagamento
Ricerca
parcheggio
Rampa
ingresso
[ s.stato = verde ] / send p.autoIn
Parcheggio
[ s.stato = rosso ]
In uscita
/ send p.autoOut
UML: Unified Modeling Language
11
UML: Unified Modeling Language
12
Parcheggio/Semaforo
Esercizio 6
µ Definire il diagramma delle attività relativo
Vuoto
alla realizzazione di un programma C
entry/ posti = 100
autoOut[ posti < 99 ] / posti = posti + 1
autoIn[ posti > 1 ] / posti = posti -1
autoIn / posti = posti - 1
autoOut[ posti = 99 ] / posti = posti + 1
Verde
Semi pieno
[ p.stato = pieno ]
[ p.stato = semi pieno ]
autoIn[ posti = 1 ] / posti = posti -1
autoOut / posti = posti +1
Rosso
Pieno
13
UML: Unified Modeling Language
Soluzione 6
Edit file
Compila file
Modifica file
Collega file
UML: Unified Modeling Language
15
UML: Unified Modeling Language
14