nel diagramma delle classi, come si indica la privatezza di una classe? | verde = public
arancio = protected
rosso = private |
nel diagramma delle classi, se una scritta e' in corsivo significa che... | vuol dire che all’elemento corrispondente manca qualche definizione ed è dunque da considerarsi astratto |
nel diagramma delle classi, se una scritta e' sottolineata significa che... | vuol dire che l’elemento corrispondente (tipicamente metodo o attributo) è statico, ovvero ha una visibilità a livello di classe e non a livello di istanza |
nel diagramma a classi, che tipi di relazoni possono esserci? e come vengono rappresentate? | 1) frecce tratteggiate : sono le più generiche e indicano una relazione “gerarchica” tra classi (dipende da...).
2) frecce con rombo bianco (aggregazione): indica che all’interno della classe è presente una collezione di (n) oggetti
3) frecce con rombo nero (composizione): è utilizzata quando si hanno degli elementi che sono fisicamente collegati tra loro, Senza l’uno l’altro non può vivere e viceversa (es. aereo motore).
4) frecce con la punta a triangolo (implementazione): una classe può implementare una classe astratta o un’interfaccia. |
quali tipi di diagrammi UML esistono? | - Class diagram
- Sequence diagram
- State diagram
- Use cases diagram
- Activity diagram
- Component diagram
- Deployment diagram |
a che cosa serve un Sequence diagram? | Lo scopo del diagramma di sequenza è rappresentare il flusso di interazione tra attori all’interno di un software nel tempo |
da quali elementi e' composto il Sequence diagram? | - attori: rappresentano le entità coinvolte nel processo spesso sono oggetti;
- invocazioni: identificano chiamate di metodo su un attore da parte di un altro e sono rappresentate con una freccia che va da sinistra verso destra.
- valori di ritorno: visualizzati tramite una freccia tratteggiata che va da destra verso sinistra;
- cicli: aree rettangolari etichettate con il termine loop che specificano la presenza di un ciclo in una certa zona del diagramma;
- condizioni: aree rettangolari etichettate con il termine opt che specificano la necessità di verificare alcune condizioni prima di entrare nella zona corrispondente. |
quale e' l'obiettivo dello state diagram? | L’obiettivo del diagramma di stato è fornire un’astrazione di comportamento significativa che sia comune all’intera classe.
La sua struttura deriva dai classici State Charts, dei quali costituisce un’ulteriore astrazione. |
che significato possono assumere le frecce in uno state diagram? | - evento/azione: semplice e immediata transizione da uno stato ad un altro;
- azioni interne: libro sta in prestito o sta disponibile
- guardie: condizioni per il passaggio di uno stato all'altro |
che cosa consiste di fare il Superstate in piu' rispetto allo state diagram? | Ulteriore evoluzione dello State Diagram, il Superstate consente di rappresentare più facilmente una “gerarchia” di stati.
è possibile rendere il diagramma capace di rappresentare il concetto di concorrenza tramite la divisione in regioni (ognuna regolata da una propria FSM). Le regioni possono essere attive contemporaneamente.(le regioni sono separate da linee tratteggiate). |
in quali scenari e' consigliato usare un Use case diagram? e perche? | Possono essere utilizzati, ad esempio, per:
esplicitare differenti modalità di fare un compito;
stabilire quale dovrebbe essere la normale interazione nello scenario e le eccezioni che possono verificarsi.
Infatti, ogni scenario è corredato di:
pre e post condizioni da rispettare;
flusso di esecuzione da percorrere in condizioni normali;
eventuali eccezioni e loro possibili trattamenti. |
fai una rappresentazione di un diagramma use case che coinvolge un attore con due differenti casi di uso | attore: uno studente
azioni associate: estendi prestito, prendi in prestito
comportamento variabile: controlla disponibilitò |
quali sono le differenze principali fra gli state diagram e gli activity diagram | - al posto degli stati vi sono le attività;
- non si usano più le transizioni etichettate tramite eventi – queste sono quasi tutte implicitamente temporizzate;
- possono esserci azioni dentro le attività;
- le attività possono rappresentare elementi esterni al sistema. |
che cosa può essere descritto con gli activity diagram? | descrivere la logica interna di un business process (caso più comune);
descrivere il flusso interno di un metodo, con eventuali indicazioni di (pseudo)concorrenza;
dettagliare il flusso di un caso d’uso, ovvero chiarire meglio il suo flusso di esecuzione rispetto ad altri diagrammi (e.g. Sequence Diagram). Questa rappresentazione è assai utile nei casi in cui, ad esempio, la concorrenza è un fattore rilevante. |
cosa sono le swimming lane? | nel caso di diagrammi di Attività:
Si può partizionare il diagramma al fine di rappresentare, sulle singole activity, delle particolari responsibilità. Queste vengono visualizzate tramite delle “corsie” verticali che identificano chi svolge una determinata attività. |
quale è lo scopo dei Component diagram? | Lo scopo del diagramma dei componenti è rappresentare e raggruppare i componenti del sistema.
“Componente” è un termine trasversale che include file, librerie, documenti etc. (ma che è diverso dal concetto di classe!). |
quali sono i principali componenti del Component diagram? | componenti: rettangoli che rappresentano una funzione di sistema ben determinata.
Possono essere annidati;
interfacce: cerchi che indicano le interfacce implementate o utilizzate dai componenti.
I collegamenti con i componenti indicano la presenza di una dipendenza;
stereotipi: racchiusi tra i caratteri <<>>, etichettano e identificano una serie di funzionalità appartenenti ad uno stesso “gruppo”. |
che cosa permette di fare il Deployment diagram? | Il Deployment diagram permette di rappresentare la dislocazione fisica delle risorse.
Più precisamente, specifica la dislocazione fisica delle istanze dei componenti.
La conformazione del diagramma è quindi molto simile a quella del diagramma dei componenti |
quale è la differenza fra i componenti del Deployment diagram e Component diagram? | i nodi del sistema indicano macchine fisiche;
i collegamenti tra nodi eplicitano le modalità di comunicazione tra gli stessi (e.g. RMI, HTTP). |