Diagrammi di stato

Post date: Mar 1, 2015 1:15:42 PM

Cosa è e a cosa serve?

Descrive un processo. Il diagramma di stato identifica le variazioni di stato al verificarsi di alcune condizioni legate ad una o più entità.

Cambio di stato

Se un oggetto si trova in uno stato "S1" e si verifica un evento "E" che soddisfa la condizione "C". Allora viene eseguita un azione "A" e l'oggetto passa allo stato "S2".

Individuazione

· Individua gli stati di interesse

· Individua le transizioni

· Individua le attività

· Determina gli stati iniziali e finali

Definizione: evento, stato e transazione

Evento: Avvenimento significativo degno di nota (Ricevitore telefonico alzato "off hook")

Stato: Condizione di un oggetto in un certo intervallo di tempo tra due eventi (Telefono è "Idle" dopo che il ricevitore viene agganciato è "on hook") fino a che non viene sollevato dinuovo

Transizione: è una relazione tra stati che indica che quando si verifica un evento, l'oggetto passa dallo stato precedente al successivo (Quando si verifica "off hook", c'è una transizione del telefono dallo stato "idle" allo stato "active").

Lo stato di un oggetto varia nel tempo, ma in qualsiasi momento è determinato da:

  • i valori dei suoi attributi

  • le relazioni che ha con altri oggetti

  • le attività che sta eseguendo

Lo stato di un processo varia in base a quanto scritto sopra.

Si può variare con:

Messaggio(evento): Richiesta da un oggetto A ad un oggetto B che

invoca uno dei metodi di B; A si blocca in attesa della risposta.

Metodo: Operazione che accede o manipola lo stato interno

dell’oggetto (di solito le variabili di istanza). L’implementazione di

tale operazione è nascosta a chi la invoca.

Esempio