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