esercitazione - preparazione esame 2 - mathunipdrcardin/pdf... · esercitazione preparazione...

13
ESERCITAZIONE PREPARAZIONE ALLESAME, 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 [email protected]

Upload: others

Post on 10-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

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

[email protected]

Page 2: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DESIGN PATTERN

2

Riccardo Cardin

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)

Page 3: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

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

Riccardo Cardin

Page 4: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DESIGN PATTERN

4

Riccardo Cardin

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.

Page 5: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DESIGN PATTERN Soluzione

5

Riccardo Cardin

Interfaccia degli oggetti da estendere

Oggetto da estendere

Permette la decorazione (“ricorsione”)

Aggiungono le funzionalità al

componente

Page 6: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DIAGRAMMI DEI CASI D’USO

6

Riccardo Cardin

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.

Page 7: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DIAGRAMMI DEI CASI D’USO

7

Riccardo Cardin

Page 8: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DIAGRAMMI DEI CASI D’USO

8

Riccardo Cardin

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

Page 9: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DIAGRAMMI DEI CASI D’USO

9

Riccardo Cardin

Sistema gestione prenotazioni

Page 10: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DIAGRAMMI DELLE CLASSI

10

Riccardo Cardin

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.

Page 11: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DIAGRAMMI DELLE CLASSI

11

Riccardo Cardin

Page 12: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

DIAGRAMMI DELLE CLASSI

12

Riccardo Cardin

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.

Page 13: Esercitazione - Preparazione Esame 2 - MathUniPDrcardin/pdf... · ESERCITAZIONE PREPARAZIONE ALL’ESAME, PARTE II INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà

Ingegneria del software mod. B

13

Riccardo Cardin