ESERCITAZIONE PREPARAZIONE ALL ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 rcardin@math.unipd.it
DESIGN PATTERN Esercizio Barrare con una X la lettera del diagramma delle classi che fra i seguenti rappresenta in modo corretto il design pattern architetturale Model View Controller (MVC) a) b) c) d) 2
DESIGN PATTERN La soluzione corretta è la c) Model: dati di business e regole di accesso (business logic) View: rappresentazione grafica Controller: reazione della UI agli input utente (application logic) 3
DESIGN PATTERN Esercizio Si disegni il diagramma delle classi che modella le componenti e le relazioni che intercorrono tra di esse che costituiscono il design pattern Decorator. 4
DESIGN PATTERN Soluzione Interfaccia degli oggetti da estendere Permette la decorazione ( ricorsione ) Oggetto da estendere Aggiungono le funzionalità al componente 5
DIAGRAMMI DEI CASI D USO Esercizio Durante le vacanze estive, gli studenti universitari possono prenotare online delle stanze all'interno del college. Gli studenti devono specificare il proprio nome, la propria matricola, il corso di laurea, l'anno di corso e tre preferenze riguardo i comprensori selezionabili. Il sistema fornisce un posto letto agli studenti che ne hanno fatto richiesta, cercando dove possibile di soddisfare le preferenze fornite. Si disegni un diagramma dei casi d'uso che rappresenti il sistema, tenendo in considerazione anche le operazioni compiute dallo staff universitario. 6
DIAGRAMMI DEI CASI D USO 7
DIAGRAMMI DEI CASI D USO Esercizio I camerieri, dotati di dispositivi palmari, hanno il compito di memorizzare le ordinazioni dei vari clienti e di stilare il conto per i vari tavoli. Un responsabile delle prenotazioni ha il compito di prenotare i tavoli per i clienti che lo chiedono (ad es. per telefono o tramite il sito Internet del ristorante) e di inserire i loro dati anagrafici (solo per i nuovi clienti). È facoltà di quest'ultimi di poter scegliere fra tavoli per fumatori e non fumatori. Le prenotazioni possono essere disdette solo se non sono state effettuate ancora ordinazioni. All'arrivo dei clienti, il responsabile assegna loro uno o più camerieri. Il responsabile, infine, deve poter conoscere quanti tavoli i camerieri hanno già servito nel giorno corrente, al fine di poter permettere un bilanciamento corretto del carico di lavoro fra i cameriei. Si disegni un diagramma dei casi d'uso che modella lo scenario appena descritto (non è necessaria la specifica testuale del diagramma). 8
DIAGRAMMI DEI CASI D USO Sistema gestione prenotazioni 9
DIAGRAMMI DELLE CLASSI Esercizio Si considerino i requisiti riportati di seguito, richiesti da un sistema per la gestione della produzione di una pellicola cinematografica: La troupe consiste di attori e di amministratori ognuno dei quali ha associate le proprie informazioni anagrafiche e una password. Un film consiste di una serie di atti, ognuno dei quali deve poter essere descritto singolarmente rispetto agli altri; Un atto è costituito da scene, che possiedono caratteristiche simili agli atti; Il palco è costituito da un insieme di oggetti di scena, ognuno dei quali deve essere ben identificato e posizionato. Per semplicità si assume che gli oggetti di scena siano tutti a base rettangolare, in modo tale da poterne individuare semplicemente la posizione; Un attore può partecipare a più scene; Un oggetto di scena può essere utilizzato in più di una scena; Si modelli un sistema che soddisfi i requisiti esposti e che in particolare dia la possibilità ad un amministratore di assegnare un attore e un oggetto ad una particolare scena. Per questi due requisiti particolari si disegnino inoltre i diagrammi di attività di basso livello, che illustrino l'interazione tra gli oggetti coinvolti. 10
DIAGRAMMI DELLE CLASSI 11
DIAGRAMMI DELLE CLASSI Esercizio Si vuole progettare un sistema per la gestione di un campionato di calcio. Il sistema deve consentire la creazione del calendario delle partite e la designazione degli arbitri (da parte della FIGC). Il calendario è composto da un certo numero di gironi, ognuno dei quali è composto da giornate, a loro volta composte da partite tra squadre. Delle partite interessano il numero progressivo in schedina, la data, l arbitro designato, le squadre (casa e ospite) e il risultato finale (che l arbitro avrà il compito di memorizzare nel sistema, a fine gara).ogni squadra ha un proprio allenatore che decide quali giocatori convocare per le varie partite (e per quali ruoli). Dei giocatori interessano le squadre in cui militano e hanno militato (con rispettive date di inizio e fine). Si noti che un giocatore può essere impiegato anche per ruoli diversi dal suo ruolo standard. È facoltà della presidenza delle squadre acquistare e vendere giocatori o cambiare allenatore. Ogni arbitro deve poter aggiornare lo stato del calendario, inserendo le informazioni riguardanti la partita appena disputata. Inoltre, la FIGC vuole poter stampare la classifica e la schedina relativa alle diverse giornate di un particolare girone. Si disegni il diagramma delle classi che modella il sistema informativo descritto. Si disegni inoltre il diagramma di sequenza che modella le operazioni necessarie alla stampa della classifica e della schedina da parte della FIGC. 12
13