Appello di marzo 2008
Scelta multipla [2/30]
Un'associazione n-aria è un tipo di associazione...
- che è usata per associare istanze di casi d'uso.
- che collega assieme tre o più stati.
- che collega assieme tre o più classificatori.
- che è anche una decisione.
- Tutte le precedenti sono risposte valide.
- Nessuna delle precedenti è una risposta valida.
Scelta multipla [2/30]
Quale delle seguenti non è vera per i package UML?
- Un package definisce un namespace o scope al quale alcuni elementi appartengono.
- I package non possono contenere diagrammi UML.
- Ogni elemento UML può essere in uno e un solo package.
- I package dovrebbero essere usati liberamente per organizzare un modello in gruppi distinti.
Scelta multipla [2/30]
Quali delle seguenti non è vera per una relazione di include?
- Che collega assieme tre o più classificatori.
- Un caso d'uso di base può avere un qualsiasi numero di casi d'uso addizionali.
- Se le condizioni sono soddisfatte nel caso d'uso di base, il comportamento del caso d'uso addizionale è inserito incondizionatamente
- la freccia della relazione di include parte dal caso d'uso di base.
- Contiene una serie di passi che possono essere inclusi in vari punti nel caso d'uso di base.
Problema [4+4+4/30]
Immedesimatevi in un progettista che deve decidere quale struttura dati dovrà utilizzare per rappresentare legami parentali come l'istanza disegnata. Si tratta di un albero genealogico dove in ogni ovale è racchiusa una coppia di persone: la prima nel ruolo di padre, la seconda di madre. Alcune coppie hanno dei figli che possono a loro volta unirsi ad altre persone.
Per esempio, nella nostra istanza F è figlio di C-D ed è unito con E ed ha due figli: L e N.
Il tutto deve essere nascosto dentro una struttura chiamata "FamilyTree" con metodi pubblici opportuni per manipolare la struttura:
- costruttore di struttura vuota;
- inserimento di una nuova persona (con attributi opportuni per caratterizzarla);
- inserimento della relazione di figlio;
- inserimento della relazione di stato di coppia.
Si dovrà inoltre definire un oggetto di tipo CollaudoFamilyTree che testerà il buon funzionamento della struttura.
4/30: Disegnare i diagrammi delle classi che risolvono l'intero problema con tutti i dettagli necessari (diagrammi reali).
4/30: Disegnare un diagramma di attività, completo degli oggetti fondamentali, per implementare il metodo 4).
4/30: Disegnare un diagramma di comunicazione, che illustri la fase di test.