Sommario
Interaction diagram ........................................................................................................................................... 3
Sequence diagram ......................................................................................................................................... 3
Analisi di robustezza .................................................................................................................................. 3
Messaggi .................................................................................................................................................... 3
Semantica di frammenti e composizione .................................................................................................. 3
Temporizzazione ........................................................................................................................................ 4
Communication diagram ............................................................................................................................... 4
Confronto tra sequence e comunication diagram ........................................................................................ 4
Automi a stati finiti ............................................................................................................................................ 4
Stato .............................................................................................................................................................. 4
Macchine a stati ............................................................................................................................................ 4
Stato determinato da condizione statica e stati dinamici ............................................................................. 5
Identificare gli stati ........................................................................................................................................ 5
Lo scenario ..................................................................................................................................................... 5
Ricavare il diagramma degli stati ................................................................................................................... 5
Condizioni, operazioni ed eventi ................................................................................................................... 5
Problemi dei diagrammi a stati ..................................................................................................................... 6
Tipi di stati ................................................................................................................................................. 6
Decomposizione OR ................................................................................................................................... 6
Aggregazione e concorrenza ......................................................................................................................... 6
History ........................................................................................................................................................... 6
Activity Diagram ................................................................................................................................................ 6
Swimlanes (corsie) ......................................................................................................................................... 7
Timing diagram .................................................................................................................................................. 7
Component diagram .......................................................................................................................................... 7
Componente .................................................................................................................................................. 7
Deplyoment diagram ......................................................................................................................................... 7
Semilavorati (artifact) .................................................................................................................................... 7
Nodo .............................................................................................................................................................. 7
Associazioni ................................................................................................................................................... 8
Grafica ............................................................................................................................................................... 8
Gestione degli eventi ..................................................................................................................................... 8
Come funziona la gestione degli eventi ......................................................................................................... 8
Componenti ................................................................................................................................................... 8
Label .......................................................................................................................................................... 8
TextFields ................................................................................................................................................... 8
TextArea .................................................................................................................................................... 9
Button ........................................................................................................................................................ 9
Combo box ................................................................................................................................................. 9
List .............................................................................................................................................................. 9
Menù ......................................................................................................................................................... 9
Layout Manager ............................................................................................................................................. 9
Design Pattern ................................................................................................................................................... 9
Vantaggi ....................................................................................................................................................... 10
Svantaggi ..................................................................................................................................................... 10
Caratteristiche ............................................................................................................................................. 10
Tipi di pattern .............................................................................................................................................. 10
Design Pattern ............................................................................................................................................. 10
Factory method ....................................................................................................................................... 10
Singleton .................................................................................................................................................. 11
Flyweight ................................................................................................................................................. 11
State ......................................................................................................................................................... 11
Strategy .................................................................................................................................................... 12
Proxy ........................................................................................................................................................ 12
Adapter .................................................................................................................................................... 12
Decorator ................................................................................................................................................. 12
Abstract Factory ...................................................................................................................................... 13
Composite ................................................................................................................................................ 13
Façade ...................................................................................................................................................... 14
Observer .................................................................................................................................................. 14
MVC ............................................................................................................................................................. 14
Interaction diagram
Descrivono il comportamento dinamico di un gruppo di oggetti che “interagiscono” per risolvere un
problema. Tipicamente rappresentano il comportamento di uno specifico use case o scenario in termini di
specifiche entità (oggetti) e messaggi scambiati (metodi). UML propone due diversi tipi di interaction
diagram: sequence diagram e communication diagram.
Sequence diagram
Evidenziano la sequenza temporale delle azioni: oggetti partecipanti e sequenze (temporali) di messaggi
scambiati. Non si vedono le associazioni tra oggetti. Usabili in due forme diverse:
• la forma generica: tutte le sequenze (esecuzioni) possibili
• la forma d’istanza: una sequenza particolare (consistente con quella generica)
In ascissa sono disposti vari oggetti (istanze specifiche). L’ordinata rappresenta il tempo: in genere la scala
non importa, interessa solo la sequenza cioè il rapporto di precedenza tra eventi, non la loro distanza, ma
per sistemi real-time si può usare. Se necessario gli assi orizzontale e verticale possono essere scambiati.
Gli oggetti possono essere creati e distrutti.
Possono essere indicati come oggetti anche: istanze di attori, quando il sequence diagram è posseduto da
uno use case e altri elementi dai robustness diagrams.
Analisi di robustezza
Tre tipi di oggetti. Sostanzialmente il pattern Model View Control. Regole di comunicazione ben precise: ogni
tipo di oggetto può “parlare” solo con i suoi vicini nella gerarchia
• actor
• interface object
• entity object
• control object
Messaggi
Possono essere:
• completi (di risposta)
• lost or found
• sincroni o asincroni
• call o signal
Possono essere mandati da un oggetto a sé stesso.
Un messaggio è lost se non arrivano al destinatario stabilito, oppure se non se ne conosce il destinatario. Un
messaggio è found se arrivano da un mittente sconosciuto, oppure se arrivano da un mittente non indicato
nel diagramma.
Semantica di frammenti e composizione
• Alt: una scelta di comportamento, al più una delle opzioni sarà scelta, tra quelle con guardia
verificata. Se nessuna opzione ha una guardia vera, nessuna opzione viene eseguita.
• Opt: come alt con una sola opzione (o con due opzioni, di cui una vuota).
• Loop: l’operando viene ripetuto tante volte quanto indicato dalla guardia. La guardia può riportare
un numero minimo e massimo di iterazioni e una condizione booleana. Le iterazioni sono in numero
compreso tra il minimo e il massimo. Oltre il minimo si itera fintanto che la guardia è vera.
• Par: composizione parallela tra i comportamenti degli operandi.
• Critical (Regione Critica): la regione è trattata atomicamente dal frammento circostante quando si
determinano le sequenze possibili (tracce) di esecuzione.
• Neg: indica tracce non valide. Serve a escludere dei comportamenti indesiderati.
• Assert: le sequenze degli operandi dell’asserzione sono le uniche tracce valide. Le altre sono escluse.
Temporizzazione
Si indica tramite vincoli.
sendTime: individua l’istante di invio di un messaggio da parte di un oggetto. receiveTime: individua l’istante
di ricezione di un messaggio da parte di un oggetto.
Communication diagram
Simili ai diagrammi di sequenza, ma evidenziano le interazioni tra le parti, pongono maggior attenzione
-
Riassunti Progettazione del Software
-
Progettazione del Software - parte 1
-
Progettazione dei Sistemi Produttivi
-
Progettazione degli esperimenti